/* ==========================================================================
   AZ — Gabarit
   ========================================================================== */

.az-shell { display: grid; grid-template-columns: var(--az-sidebar) 1fr; min-height: 100vh; }

/* --- Barre latérale ------------------------------------------------------- */

.az-sidebar {
  background: #050505; border-right: 1px solid #262626;
  padding: var(--az-s6) var(--az-s4);
  display: flex; flex-direction: column; gap: var(--az-s6);
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
}

.az-logo { display: block; text-decoration: none; line-height: 1.05; }
.az-logo__top { display: block; font-family: var(--az-font-heading); font-size: 11px; font-weight: var(--az-fw-bold); letter-spacing: .18em; color: #DCDADB; }
.az-logo__bottom { display: block; font-family: var(--az-font-heading); font-size: var(--az-fs-xl); font-weight: var(--az-fw-black); letter-spacing: -.02em; color: #FFFFFF; }
.az-logo__bottom em { font-style: normal; color: var(--az-p500); }
.az-sidebar__brand .custom-logo-link { display: block; }
.az-sidebar__brand .custom-logo { display: block; width: auto; max-width: 172px; max-height: 72px; }

.az-cohorte { background: #151515; border: 1px solid #303030; border-radius: var(--az-r-md); padding: var(--az-s3) var(--az-s4); }
.az-cohorte__label { display: block; font-family: var(--az-font-heading); font-size: 9.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--az-p400); font-weight: var(--az-fw-bold); }
.az-cohorte__semaine { display: block; font-size: var(--az-fs-sm); margin: 3px 0 var(--az-s2); }
.az-cohorte__semaine { color: #FFFFFF; }
.az-cohorte__barre { height: 5px; background: #4A4A4A; border-radius: var(--az-r-full); overflow: hidden; }
.az-cohorte__barre i { display: block; height: 100%; background: var(--az-p500); }

.az-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.az-nav a {
  display: flex; align-items: center; gap: var(--az-s3);
  padding: var(--az-s3) var(--az-s3); border-radius: var(--az-r-md);
  color: #DCDADB; text-decoration: none;
  font-family: var(--az-font-heading);
  font-size: var(--az-fs-sm); font-weight: var(--az-fw-semi);
  transition: background var(--az-t-base), color var(--az-t-base);
}
.az-nav a:hover { background: #1C1C1C; color: #FFFFFF; }
.az-nav .is-active > a,
.az-nav .current-menu-item > a { background: rgb(38 147 173 / .18); color: var(--az-p400); }
.az-nav__icon { display: inline-flex; width: 20px; height: 20px; flex: none; }
.az-nav__icon svg { width: 20px; height: 20px; }

.az-sidebar__membre { margin-top: auto; display: flex; gap: var(--az-s3); align-items: center; padding-top: var(--az-s4); border-top: 1px solid #303030; }
.az-sidebar__membre img { border-radius: var(--az-r-full); }
.az-sidebar__membre strong { display: block; font-family: var(--az-font-heading); font-size: var(--az-fs-sm); color: #FFFFFF; }
.az-sidebar__membre a { font-size: 12.5px; color: #A4A5A6; }

/* --- Colonne principale --------------------------------------------------- */

.az-main { display: flex; flex-direction: column; min-width: 0; }

.az-topbar {
  min-height: var(--az-topbar);
  display: flex; align-items: center; gap: var(--az-s4);
  padding: 0 var(--az-gutter);
  background: linear-gradient(105deg, #101010 0%, #151515 72%, #0D3944 100%); border-bottom: 1px solid #262626;
  position: sticky; top: 0; z-index: var(--az-z-sticky);
}
.az-topbar__statut { margin: 0; font-size: 12.5px; font-weight: var(--az-fw-semi); color: #DCDADB; }

.az-burger { display: none; background: none; border: 0; cursor: pointer; padding: var(--az-s2); }
.az-burger span { display: block; width: 20px; height: 2px; background: #FFFFFF; border-radius: 2px; margin: 3px 0; }

.az-page, .az-cockpit { padding: var(--az-s8) var(--az-gutter); max-width: calc(var(--az-content-max) + var(--az-gutter) * 2); width: 100%; }
.az-cockpit { max-width: 1080px; }

.az-footer {
  margin-top: auto; padding: var(--az-s6) var(--az-gutter);
  border-top: 1px solid var(--az-n200);
  display: flex; gap: var(--az-s5); align-items: center; flex-wrap: wrap;
  font-size: 12.5px; color: var(--az-n500);
}

body.home .az-footer { background: #050505; border-top-color: #262626; color: #A4A5A6; }
.az-footer__menu { list-style: none; display: flex; gap: var(--az-s4); margin: 0; padding: 0; }

.az-overlay { position: fixed; inset: 0; background: rgb(15 23 42 / .4); z-index: var(--az-z-overlay); }

/* --- Cockpit -------------------------------------------------------------- */

.az-bonjour { font-size: var(--az-fs-lg); color: var(--az-n600); margin-bottom: var(--az-s5); }

.az-action {
  background: #fff; border: 1px solid var(--az-n200); border-top: 4px solid var(--az-p500);
  border-radius: var(--az-r-lg); padding: var(--az-s8);
  margin-bottom: var(--az-s10);
}
.az-action__kicker { font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; font-weight: var(--az-fw-bold); color: var(--az-p500); margin-bottom: var(--az-s3); }
.az-action__titre { font-size: clamp(26px, 3.5vw, 38px); margin-bottom: var(--az-s2); }
.az-action__sous { color: var(--az-n600); margin-bottom: var(--az-s6); }

.az-section { margin-bottom: var(--az-s10); }
.az-section__tete { display: flex; align-items: baseline; justify-content: space-between; gap: var(--az-s4); margin-bottom: var(--az-s4); }
.az-section__tete h2 { margin: 0; font-size: var(--az-fs-xl); }
.az-section__tete a { font-size: 13px; font-weight: var(--az-fw-semi); }

.az-cours { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--az-s4); }
.az-cours__carte {
  display: block; background: #fff; border: 1px solid var(--az-n200);
  border-radius: var(--az-r-md); padding: var(--az-s5); text-decoration: none; color: inherit;
  transition: border-color var(--az-t-base), box-shadow var(--az-t-base);
}
.az-cours__carte:hover { border-color: var(--az-p300); box-shadow: var(--az-sh-sm); color: inherit; }
.az-cours__carte h3 { font-size: var(--az-fs-base); margin-bottom: var(--az-s3); }
.az-cours__carte.est-a-commencer { border-left: 3px solid var(--az-p500); }
.az-cours__etat { margin: var(--az-s2) 0 0; font-size: 12.5px; color: var(--az-n500); font-weight: var(--az-fw-semi); }

.az-message { background: #fff; border: 1px solid var(--az-n200); border-radius: var(--az-r-lg); padding: var(--az-s6); max-width: 420px; }
.az-message__lien { position: relative; display: block; border-radius: var(--az-r-md); overflow: hidden; }
.az-message__play { position: absolute; inset: 0; display: grid; place-items: center; font-size: 34px; color: #fff; background: rgb(15 23 42 / .28); }

.az-article__titre { margin-bottom: var(--az-s5); }
.az-article__corps > * { max-width: var(--az-content-max); }

/* --- Mobile --------------------------------------------------------------- */

@media (max-width: 900px) {
  .az-shell { grid-template-columns: 1fr; }
  .az-burger { display: block; }
  .az-sidebar {
    position: fixed; inset: 0 auto 0 0; width: var(--az-sidebar);
    z-index: var(--az-z-modal); transform: translateX(-100%);
    transition: transform var(--az-t-base);
  }
  .az-sidebar.est-ouverte { transform: none; }
  .az-page, .az-cockpit { padding: var(--az-s6) var(--az-s4); }
  .az-action { padding: var(--az-s6); }
}
