/* Menu public « Clair et dépliable ». Chargé après app.css, sans toucher aux zones privées. */
.nav-link-icon, .nav-forward, .nav-mobile-heading, .nav-mobile-brand, .nav-cat-btn { display: none; }

@media (max-width: 900px) {
  .site-header .header-inner.has-mobile-nav {
    display: grid; grid-template-columns: minmax(0, 1fr) 54px; align-items: center; gap: 0 12px;
    padding-top: 16px; padding-bottom: 16px;
  }
  .site-header .header-inner.has-mobile-nav .header-brand { min-width: 0; gap: 10px; }
  .site-header .header-inner.has-mobile-nav .header-logo {
    width: 34px; min-height: 49px; background: none; box-shadow: none; border-radius: 0;
  }
  .site-header .header-inner.has-mobile-nav .header-logo img { width: 34px; height: 49px; filter: none; }
  .site-header .header-inner.has-mobile-nav .header-titles { min-width: 0; gap: 3px; }
  .site-header .header-inner.has-mobile-nav .header-titles > .eyebrow { display: none; }
  .site-header .header-inner.has-mobile-nav .nav-mobile-brand {
    display: block; color: #a6e4df; font-size: 12px; line-height: 1.35; font-weight: 650; letter-spacing: .02em;
  }
  .site-header .header-inner.has-mobile-nav .header-title,
  .site-header .header-inner.has-mobile-nav .header-titles h1 {
    margin: 0; font-size: 17px; line-height: 1.25; font-weight: 700; letter-spacing: -.02em;
    overflow-wrap: anywhere; text-wrap: initial;
  }
  .site-header .header-inner > .nav-toggle { display: none; }
  .site-header .header-inner.has-mobile-nav > .nav-toggle {
    display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
    width: 54px; min-height: 54px; padding: 7px 4px; border-radius: 12px;
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.3);
    color: var(--primary-foreground); font-size: 11px; line-height: 1.2;
  }
  #nav-toggle .nav-toggle-bars { position: relative; display: block; width: 20px; height: 18px; }
  #nav-toggle .nav-toggle-bars span { position: absolute; left: 0; right: 0; height: 2px; transition: transform .15s ease, opacity .15s ease; }
  #nav-toggle .nav-toggle-bars span:nth-child(1) { top: 2px; }
  #nav-toggle .nav-toggle-bars span:nth-child(2) { top: 8px; }
  #nav-toggle .nav-toggle-bars span:nth-child(3) { top: 14px; }
  #nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  #nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2) { opacity: 0; }
  #nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  #site-nav.site-nav-collapsible {
    grid-column: 1 / -1; display: flex; flex-direction: column; align-items: stretch; gap: 3px;
    width: 100%; min-width: 0; margin: 16px 0 0; padding: 16px 10px 10px;
    color: var(--primary); background: var(--surface); border: 1px solid var(--border); border-radius: 14px;
    box-shadow: 0 10px 24px rgba(9, 29, 52, .12);
  }
  #site-nav.nav-enhanced:not(.is-visible) { display: none; }
  #site-nav .nav-mobile-heading {
    display: block; padding: 0 10px 7px; color: var(--muted-foreground);
    font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .1em;
  }
  #site-nav > a, #site-nav .nav-group > .nav-group-toggle {
    display: flex; gap: 11px; align-items: center; width: 100%; min-height: 52px; padding: 11px 10px;
    color: var(--primary); font-size: 15px; line-height: 1.35; font-weight: 550; border-radius: 10px;
    white-space: normal; overflow-wrap: anywhere; box-shadow: none;
  }
  #site-nav .nav-link-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; color: var(--accent); }
  #site-nav .nav-link-label { flex: 1; min-width: 0; }
  #site-nav .nav-forward { display: block; margin-left: auto; color: var(--muted-foreground); font-size: 22px; line-height: 1; }
  #site-nav > a:hover, #site-nav .nav-group > .nav-group-toggle:hover { background: var(--secondary); color: var(--primary); }
  #site-nav > a[aria-current="page"],
  #site-nav .nav-group.is-active > .nav-group-toggle,
  #site-nav .nav-group > .nav-group-toggle[aria-current="page"] { background: var(--accent-soft); color: var(--accent-strong); box-shadow: none; }
  #site-nav .nav-group { display: block; width: 100%; min-width: 0; }
  #site-nav .nav-group > .nav-group-toggle { padding-right: 56px; }
  #site-nav .nav-group-btn, #site-nav .nav-cat-btn {
    position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 52px; min-width: 48px; min-height: 52px; margin: 0; padding: 0;
    background: transparent; border: 0; border-radius: 10px; color: var(--muted-foreground); cursor: pointer;
  }
  #site-nav .nav-group-btn:hover, #site-nav .nav-cat-btn:hover { background: rgba(11,123,120,.08); color: var(--accent); }
  #site-nav .nav-caret { font-size: 15px; transform: none; }
  #site-nav .nav-group.is-open > .nav-group-btn .nav-caret { transform: rotate(180deg); }
  #site-nav:not(.nav-enhanced) .nav-group-btn, #site-nav:not(.nav-enhanced) .nav-cat-btn { display: none; }
  #site-nav .nav-sub {
    display: block; position: static; min-width: 0; width: auto; margin: 6px 0 8px 19px; padding: 0 0 0 12px;
    background: transparent; border: 0; border-left: 2px solid var(--border); border-radius: 0; box-shadow: none;
  }
  #site-nav.nav-enhanced .nav-group:not(.is-open) > .nav-sub { display: none; }
  #site-nav .nav-sub::before, #site-nav .nav-sub a::before { display: none; }
  #site-nav .nav-sub a {
    display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 8px; border-radius: 7px;
    color: var(--muted-foreground); font-size: 14px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; box-shadow: none;
  }
  #site-nav .nav-sub a:hover { background: var(--secondary); color: var(--primary); }
  #site-nav .nav-sub a[aria-current="page"] { background: var(--accent-soft); color: var(--accent-strong); }
  #site-nav .nav-sub .nav-catgroup { position: relative; margin: 3px 0; border: 0; border-radius: 0; background: none; }
  #site-nav .nav-sub .nav-cattoggle { padding-right: 52px; min-height: 52px; color: var(--primary); font-weight: 550; background: none; }
  #site-nav .nav-catsub { display: block; margin: 0 0 7px 11px; padding: 0 0 0 11px; border: 0; border-left: 1px solid var(--border); border-radius: 0; background: none; }
  #site-nav.nav-enhanced .nav-catgroup:not(.is-open) > .nav-catsub { display: none; }
  #site-nav .nav-catgroup.is-open > .nav-cat-btn .nav-caret { transform: rotate(180deg); }
  #site-nav .nav-group-member, #site-nav > .nav-member-login {
    margin-top: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--background);
  }
  #site-nav .nav-group-member > .nav-member { border: 0; background: transparent; font-weight: 600; }
  #site-nav .nav-group-member > .nav-member > svg, #site-nav > .nav-member-login > svg { flex-shrink: 0; width: 20px; height: 20px; color: var(--accent); }
  #site-nav .nav-member-count { flex-shrink: 0; white-space: nowrap; }
  #site-nav .nav-group-member .nav-sub { margin-bottom: 10px; }
  #site-nav a:focus-visible, #site-nav button:focus-visible, #nav-toggle:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
}
@media (max-width: 400px) {
  .site-header .header-inner.has-mobile-nav { gap: 0 9px; }
  .site-header .header-inner.has-mobile-nav .header-brand { gap: 8px; }
  .site-header .header-inner.has-mobile-nav .header-logo { width: 30px; min-height: 43px; }
  .site-header .header-inner.has-mobile-nav .header-logo img { width: 30px; height: 43px; }
  .site-header .header-inner.has-mobile-nav .header-title,
  .site-header .header-inner.has-mobile-nav .header-titles h1 { font-size: 15px; }
  #site-nav > a, #site-nav .nav-group > .nav-group-toggle { font-size: 14px; gap: 9px; }
}
