/* extra.css — mobiele verbeteringen. Wordt ná style.css geladen.
   NL style.css blijft hierdoor byte-voor-byte ongewijzigd. */

/* Geen horizontale overflow → de linkermarge blijft altijd staan.
   'clip' i.p.v. 'hidden': voorkomt scrollen zónder position:sticky te breken. */
html, body { overflow-x: clip; }
/* Anker-links (bijv. "Der Aufbau") niet onder de sticky header laten verdwijnen */
html { scroll-padding-top: 70px; }

/* De lespagina heeft geen .wrap-container; geef de inhoud toch marge */
body[data-page="les"] main { padding-left: 16px; padding-right: 16px; }

/* header.hero overschrijft de .wrap-padding (padding:76px 0 30px) → zijmarge herstellen */
header.hero { padding-left: 22px; padding-right: 22px; }

/* Inner-pagina's: H1 op het formaat van de vorige h2 (niet zo groot als de hero-H1) */
h1.ptitle { font-size: clamp(23px, 3.5vw, 32px); line-height: 1.2; letter-spacing: -.4px; margin-bottom: 10px; }

/* Nav mag op krappe desktopbreedtes netjes doorlopen */
#mainNav .nav-links { flex-wrap: wrap; }

/* ── Hamburgermenu (CSS-only, checkbox-hack — werkt zonder JS) ── */
.nav-toggle-cb { position: absolute; opacity: 0; pointer-events: none; }
.nav-burger {
  display: none; align-items: center; justify-content: center;
  width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); color: var(--text); cursor: pointer; flex-shrink: 0;
}
.nav-burger svg { width: 22px; height: 22px; }

@media (max-width: 760px) {
  #mainNav .nav-inner { flex-wrap: wrap; row-gap: 8px; }
  .nav-burger { display: inline-flex; }
  #mainNav .nav-links {
    display: none; flex-basis: 100%; flex-direction: column;
    align-items: stretch; gap: 0; margin-top: 6px;
  }
  #mainNav .nav-links a { padding: 11px 4px; border-top: 1px solid var(--line); }
  #mainNav .nav-links a.active { border-bottom: none; color: var(--accent); }
  #mainNav .nav-toggle-cb:checked ~ .nav-links { display: flex; }
}

/* ── Mobiel-melding: alleen op de typpagina's onder 760px ── */
.mobile-note { display: none; }
@media (max-width: 760px) {
  body[data-page="les"] .mobile-note,
  body[data-page="training"] .mobile-note,
  body[data-page="home"] .mobile-note {
    display: block; margin: 0 0 18px; padding: 16px 18px;
    background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
    color: var(--text); font-size: 14.5px; line-height: 1.55;
  }
  .mobile-note b { font-family: 'Space Grotesk', sans-serif; }
  .mobile-note a { color: var(--accent); font-weight: 700; }
}
