/* Cabeçalho retrátil comum: mantém o espaço original no fluxo, sem saltos na página. */
html{scroll-padding-top:5rem}
.site-header.scroll-header{
  position:sticky;top:0;z-index:100;width:100%;max-width:none;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:72px;padding:1rem 5vw;border-bottom:1px solid var(--line,rgba(255,255,255,.1));
  background:rgba(9,11,16,.94);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .24s ease;
}
.site-header.scroll-header .logo{flex:0 0 auto;font-size:1.15rem;font-weight:900;letter-spacing:.08em}
.site-header.scroll-header > nav{display:flex;align-items:center;gap:1.1rem}
.site-header.scroll-header > nav > a:not(.account-access){color:var(--muted,#a8adb8);font-size:.92rem}
.site-header.scroll-header > nav > a:hover{color:var(--text,#f4f5f7)}
.site-header.scroll-header.is-hidden{transform:translateY(calc(-100% - 2px));pointer-events:none}
.site-header.scroll-header .mobile-nav-toggle{display:none}
.site-header.scroll-header a:focus-visible,.site-header.scroll-header button:focus-visible{
  outline:3px solid #7dd3fc;outline-offset:3px;
}
.site-header.scroll-header nav a[aria-current="page"]{color:var(--text,#f4f5f7);font-weight:800}
.site-header.scroll-header nav a[aria-current="page"]::after{
  content:"";display:block;height:2px;margin-top:.2rem;border-radius:2px;background:var(--accent,#e63946)
}
/* O menu compacto evita transbordamento em notebooks estreitos. */
@media(max-width:1100px){
  .site-header.scroll-header{min-height:68px;flex-wrap:nowrap;gap:1rem;justify-content:space-between}
  .site-header.scroll-header .mobile-nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
    flex:0 0 auto;min-width:86px;min-height:44px;padding:.45rem .7rem;
    border:1px solid rgba(255,255,255,.22);border-radius:9px;
    background:#171c26;color:#f4f5f7;font:inherit;font-weight:750;cursor:pointer;
  }
  .site-header.scroll-header .mobile-nav-toggle::before{content:'☰';font-size:1.15rem;line-height:1}
  .site-header.scroll-header.menu-open .mobile-nav-toggle::before{content:'×';font-size:1.45rem}
  .site-header.scroll-header > nav{
    position:absolute;top:100%;left:0;right:0;z-index:101;
    display:none;flex-direction:column;align-items:stretch;gap:0;
    max-height:calc(100dvh - 68px);overflow-y:auto;
    padding:.45rem max(5vw,1rem) 1rem;
    background:#11151d;border:1px solid rgba(255,255,255,.18);
    border-top:0;border-radius:0 0 14px 14px;
    box-shadow:0 18px 30px rgba(0,0,0,.45);
  }
  .site-header.scroll-header.menu-open > nav{display:flex}
  .site-header.scroll-header.menu-open > nav > a{
    display:block;min-height:44px;padding:.6rem .35rem;
    color:#f4f5f7;border-bottom:1px solid rgba(255,255,255,.08);
  }
  .site-header.scroll-header.menu-open > nav > a[aria-current="page"]{border-bottom-color:var(--accent,#e63946)}
  .site-header.scroll-header.menu-open > nav > a[aria-current="page"]::after{display:none}
  .site-header.scroll-header.menu-open .language-picker{width:100%;flex:0 0 auto;align-self:stretch;margin-top:.5rem}
  .site-header.scroll-header.menu-open .language-picker > .lang-btn{min-height:44px}
  /* Dentro do menu rolável, a lista de idiomas entra no fluxo e não fica cortada. */
  .site-header.scroll-header.menu-open .language-picker > [role='group']{
    position:static!important;right:auto!important;top:auto!important;
    box-shadow:none!important;margin-top:.5rem;width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .site-header.scroll-header{transition:none}
}

/* Avoid flashing the guest label before Supabase checks an existing session.
   visibility:hidden preserves the link's layout space until its final state is ready.
   If scripts fail entirely, restore the original usable link after five seconds. */
.site-header nav a.account-access:not(.account-badge-ready){
  visibility:hidden;
  animation:account-badge-fallback 0s 5s forwards;
}
@keyframes account-badge-fallback{to{visibility:visible}}
