/* Tema neutro — link e accento nel blu standard dei link */
:root { --link-blue: #0969da; }

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #ffffff;
  --md-primary-fg-color--light: #ffffff;
  --md-primary-fg-color--dark: #f5f5f5;
  --md-primary-bg-color: #1a1a1a;
  --md-primary-bg-color--light: #555555;
  --md-accent-fg-color: var(--link-blue);
  --md-typeset-a-color: var(--link-blue);
}

/* Header e tab sottili, separati da un filo grigio */
.md-header, .md-tabs { box-shadow: none; border: none; border-bottom: 1px solid var(--md-default-fg-color--lightest); }
.md-header__button.md-logo img { height: 1.9rem; width: auto; }

/* Logo header: nero in chiaro, bianco in scuro */
.md-header__button.md-logo img { content: url("../assets/img/edulabs-cvn-white.png"); }

/* Banner in alto scuro (antracite) in entrambi i temi */
.md-header { background: #1f2329; color: #ffffff; border-bottom: none; }

.md-typeset h1 { font-weight: 700; }

/* Intestazione della guida */
.guide-meta { color: var(--md-default-fg-color--light); font-size: .8rem; margin-top: -.6rem; }

/* Footer */
.md-footer-meta { background: var(--md-default-bg-color); border-top: 1px solid var(--md-default-fg-color--lightest); }
.md-footer-meta, .md-copyright { color: var(--md-default-fg-color--light); }

/* Fascia "Precedente / Successivo" */
.md-footer { background: var(--md-default-bg-color); color: var(--md-default-fg-color); border-top: 1px solid var(--md-default-fg-color--lightest); }
.md-footer__link:hover { color: var(--md-accent-fg-color); }

/* Logo sempre visibile in alto a sinistra */
@media screen and (max-width: 76.234375em) {
  .md-header__button.md-logo { display: block; }
  .md-header__button[for="__drawer"] { order: -1; margin-left: 0; }
}

/* Menu laterale sempre visibile (niente pulsante ☰) da tablet in su,
   con lo stesso aspetto della versione desktop */
@media screen and (min-width: 45em) and (max-width: 76.234375em) {
  .md-header__button[for="__drawer"] { display: none; }
  .md-main__inner { display: flex; }
  .md-content { min-width: 0; }
  .md-sidebar--primary {
    position: sticky; top: 2.4rem; align-self: flex-start;
    left: auto; transform: none; width: 12.1rem; flex-shrink: 0;
    height: calc(100vh - 2.4rem); z-index: 1;
    background: transparent; box-shadow: none;
  }
  .md-sidebar--primary .md-sidebar__scrollwrap {
    position: static; transform: none; height: 100%; overflow-y: auto; background: transparent;
  }
  .md-nav--primary .md-nav__source { display: none; }

  /* Titolo del sito in cima, grassetto e grigio */
  .md-nav--primary > .md-nav__title {
    display: block; position: static; height: auto; padding: .6rem .6rem .2rem;
    background: transparent; color: var(--md-default-fg-color--light);
    font-weight: 700; box-shadow: none;
  }
  .md-nav--primary > .md-nav__title .md-nav__button { display: none; }
  .md-nav--primary .md-nav .md-nav__title { display: none; }

  /* Niente indice della pagina dentro il menu */
  .md-nav--primary label[for="__toc"], .md-nav--primary .md-nav--secondary { display: none !important; }
}

/* Menu laterale: niente separatori, sotto-menu rientrati */
.md-nav--primary .md-nav__item,
.md-nav--primary .md-nav__title,
.md-nav--primary .md-nav__list { border: none !important; box-shadow: none !important; }
.md-nav--primary .md-nav__link { padding: .2rem .6rem; margin: 0; }
.md-nav--primary .md-nav .md-nav__list { padding-left: 1rem; }

/* Menu come lo stile Material desktop: sezioni aperte di default, richiudibili con la freccia */
@media screen and (max-width: 76.234375em) {
  .md-nav--primary .md-nav {
    position: static; transform: none; opacity: 1; visibility: visible;
    background: transparent; display: none;
  }
  .md-nav--primary .md-nav__toggle:checked ~ .md-nav,
  .md-nav--primary .md-toggle--indeterminate ~ .md-nav { display: block; }
  .md-nav--primary .md-nav .md-nav__title { display: none; }
  .md-nav--primary .md-nav__link { display: flex; justify-content: space-between; align-items: center; }
  .md-nav--primary .md-nav__item--nested > .md-nav__link .md-nav__icon { display: inline-block; transition: transform .25s; }
  .md-nav--primary .md-nav__item--nested > .md-nav__toggle:checked ~ .md-nav__link .md-nav__icon,
  .md-nav--primary .md-nav__item--nested > .md-toggle--indeterminate ~ .md-nav__link .md-nav__icon { transform: rotate(90deg); }
  .md-nav--primary label[for="__toc"], .md-nav--primary .md-nav--secondary { display: none !important; }
  .md-nav--primary label[for="__toc"] + a.md-nav__link { display: flex !important; }
}
/* Titolo grigio in grassetto, voci normali, sezione attiva colorata */
.md-nav--primary > .md-nav__title { color: var(--md-default-fg-color--light); font-weight: 700; }
.md-nav--primary .md-nav__link { font-weight: 400; }
.md-nav--primary .md-nav__item--active > .md-nav__link { color: var(--md-accent-fg-color); }

/* Checklist con avanzamento */
.md-typeset .task-list-control { cursor: pointer; }
.checklist-progress { display: flex; align-items: center; gap: .8rem; margin: -.4rem 0 1.4rem; font-size: .7rem; color: var(--md-default-fg-color--light); }
.checklist-track { flex: 1; height: 6px; border-radius: 3px; background: var(--md-default-fg-color--lightest); overflow: hidden; }
.checklist-fill { height: 100%; width: 0; background: var(--md-accent-fg-color); transition: width .25s; }
.checklist-reset { font: inherit; color: inherit; background: none; border: 1px solid var(--md-default-fg-color--lightest); border-radius: 4px; padding: .1rem .5rem; cursor: pointer; }
.checklist-reset:hover { color: var(--md-accent-fg-color); border-color: var(--md-accent-fg-color); }

/* Checklist con avanzamento */
.md-typeset .task-list-control { cursor: pointer; }
.checklist-progress { display: flex; align-items: center; gap: .8rem; margin: -.4rem 0 1.4rem; font-size: .7rem; color: var(--md-default-fg-color--light); }
.checklist-track { flex: 1; height: 6px; border-radius: 3px; background: var(--md-default-fg-color--lightest); overflow: hidden; }
.checklist-fill { height: 100%; width: 0; background: var(--md-accent-fg-color); transition: width .25s; }
.checklist-reset { font: inherit; color: inherit; background: none; border: 1px solid var(--md-default-fg-color--lightest); border-radius: 4px; padding: .1rem .5rem; cursor: pointer; }
.checklist-reset:hover { color: var(--md-accent-fg-color); border-color: var(--md-accent-fg-color); }

/* Barra di avanzamento nella colonna dell'indice (schermi larghi) */
.checklist-progress--side { flex-wrap: wrap; gap: .4rem .6rem; margin: 0 .6rem 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--md-default-fg-color--lightest); }
.checklist-progress--side .checklist-track { flex-basis: 100%; order: 3; }
@media screen and (min-width: 76.25em) { .checklist-progress--top { display: none; } }
@media screen and (max-width: 76.234375em) { .checklist-progress--side { display: none; } }

/* Schermi larghi: menu tutto a sinistra, indice tutto a destra, guida al centro
   con larghezza di lettura comoda; colonne separate da un filo grigio */
@media screen and (min-width: 76.25em) {
  .md-header__inner.md-grid, .md-main__inner.md-grid { max-width: none; }
  .md-main__inner.md-grid { padding: 0 1rem; }
  .md-content { max-width: 52rem; margin: 0 auto; padding: 0 2rem; }
  .md-sidebar--primary { border-right: 1px solid var(--md-default-fg-color--lightest); }
  .md-sidebar--secondary { border-left: 1px solid var(--md-default-fg-color--lightest); }
}
