/* Menu do topo (2026-11-06). Até 999 px os links ficam num painel aberto por um botão; de 1000 px para cima o menu segue em linha, agora com os 7 links. */
.s-burger, .s-menu-mais, .s-fundo { display: none; }
html { scroll-padding-top: 72px; }   /* o link do menu leva o título da seção para baixo do cabeçalho fixo (antes ele ficava escondido atrás) */
/* de 1000 a 1100 px o menu em linha aperta o espaço entre os 7 links para caber */
@media (min-width: 1000px) and (max-width: 1100px) { .s-links { gap: 18px; } }

@media (max-width: 999px) {
  .s-nav-dir .s-entrar, .s-nav-dir .s-lang { display: none; }          /* passam para dentro do painel */
  .s-burger { display: inline-flex; position: relative; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; background: none; color: var(--fg); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .s-burger span { position: absolute; left: 13px; right: 13px; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform .28s cubic-bezier(.4, 0, .2, 1), top .28s cubic-bezier(.4, 0, .2, 1); }
  .s-burger span:first-child { top: 19px; }
  .s-burger span:last-child { top: 25px; }
  .s-nav.aberto .s-burger span:first-child { top: 22px; transform: rotate(45deg); }
  .s-nav.aberto .s-burger span:last-child { top: 22px; transform: rotate(-45deg); }
  .s-burger:focus-visible { outline: 2px solid var(--blue-text); outline-offset: 1px; border-radius: 10px; }

  .s-links { position: absolute; top: 100%; left: 0; right: 0; display: flex; flex-direction: column; gap: 0; max-height: calc(100vh - 56px - env(safe-area-inset-top, 0px)); max-height: calc(100dvh - 56px - env(safe-area-inset-top, 0px)); overflow-y: auto; overscroll-behavior: contain;
    padding: 6px clamp(16px, 4vw, 40px) calc(22px + env(safe-area-inset-bottom, 0px)); background: #0a0a0d; border-bottom: 1px solid var(--line2); font-size: 21px;
    visibility: hidden; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
  .s-nav.aberto .s-links { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
  .s-links > a { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding-block: 4px; font-weight: 600; letter-spacing: -.015em; color: var(--fg); border-bottom: 1px solid var(--line); }
  .s-links > a::after { content: ''; flex: none; width: 8px; height: 8px; margin-right: 4px; border-top: 1.5px solid var(--fg3); border-right: 1.5px solid var(--fg3); transform: rotate(45deg); }
  .s-links > a:active { color: var(--blue-text); }
  .s-menu-mais { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; }
  .s-menu-mais .s-entrar-m { display: inline-flex; align-items: center; min-height: 44px; padding: 0 24px; border: 1px solid var(--line2); border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--fg); text-decoration: none; }
  .s-menu-mais .s-lang-m { display: inline-flex; border: 1px solid var(--line2); border-radius: 999px; overflow: hidden; }
  .s-lang-m a { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; min-height: 42px; font-size: 14px; font-weight: 600; color: var(--fg2); text-decoration: none; }
  .s-lang-m a[aria-current] { color: var(--fg); background: rgba(255,255,255,.1); }

  .s-fundo { display: block; position: fixed; inset: 0; z-index: 29; background: rgba(0,0,0,.55); visibility: hidden; opacity: 0; transition: opacity .22s ease, visibility 0s linear .22s; }
  html.menu-aberto .s-fundo { visibility: visible; opacity: 1; transition-delay: 0s; }
  html.menu-aberto { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { .s-links, .s-fundo, .s-burger span { transition: none; } }
