/* Menu de toque do cabeçalho de Cascabel (site novo, 28/10/2026). Usa os tokens de cascabel.css. Só vale com o menu.js
   (html.topo-menu-js): sem o script, a faixa de links rola de lado como antes. */
.topo-menu { display: none; }
.topo-entrar { flex: none; margin-left: 4px; padding: 8px 4px; color: var(--texto) !important; font: 600 15px/1.2 var(--rotulo); text-decoration: none; }
.topo-entrar:hover { color: var(--latao-alto) !important; }
.topo-nav .topo-nav-entrar, .topo-nav .topo-nav-criar { display: none; }
.topo-nav a[hidden] { display: none !important; }

@media (max-width: 900px) {
  html.topo-menu-js .topo-faixa { flex-wrap: nowrap; gap: 10px; padding-bottom: 12px; min-height: 64px; }
  html.topo-menu-js .topo-acao { margin-left: auto; }
  html.topo-menu-js.topo-na-capa .topo-acao { visibility: hidden; }
  .topo-entrar { display: none; }
  html.topo-menu-js .topo--aberto .topo-nav .topo-nav-entrar { display: flex; color: var(--latao-alto); }
  html.topo-menu-js .topo--aberto .topo-nav a.topo-nav-criar { display: flex; justify-content: center; margin-top: 18px; min-height: 52px; border: 1px solid var(--latao); border-radius: 4px; color: var(--latao-tinta); font: 700 17px/1.2 var(--rotulo); }
  html.topo-menu-js .topo-menu {
    display: inline-flex; align-items: center; gap: 8px; flex: none; min-height: 44px; min-width: 44px; padding: 8px 12px;
    border: 1px solid var(--linha-forte); border-radius: 4px; background: rgba(16, 12, 9, .6); color: var(--texto);
    font: 700 14px/1 var(--rotulo); cursor: pointer;
  }
  html.topo-menu-js .topo-menu:hover { border-color: var(--latao); }
  html.topo-menu-js .topo-menu:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; }
  .topo-menu-icone { display: inline-flex; flex-direction: column; justify-content: space-between; width: 18px; height: 12px; }
  .topo-menu-icone span { display: block; height: 2px; border-radius: 1px; background: var(--latao-alto); transition: transform .2s, opacity .2s; }
  .topo--aberto .topo-menu-icone span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
  .topo--aberto .topo-menu-icone span:nth-child(2) { opacity: 0; }
  .topo--aberto .topo-menu-icone span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

  html.topo-menu-js .topo-nav { display: none; }
  html.topo-menu-js .topo--aberto .topo-nav {
    position: absolute; left: 0; right: 0; top: 100%; z-index: 25; display: flex; flex-direction: column; gap: 0; width: auto; margin: 0;
    height: calc(100vh - 64px); height: calc(100dvh - 64px); overflow-y: auto;
    padding: 8px var(--respiro) 20px; overflow: visible; -webkit-mask-image: none; mask-image: none;
    background: var(--couro); border-bottom: 1px solid var(--linha-forte); box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
  }
  html.topo-menu-js .topo--aberto .topo-nav a {
    display: flex; align-items: center; min-height: 54px; padding: 0 4px; border-bottom: 1px solid var(--linha);
    color: var(--texto); font: 700 19px/1.2 var(--rotulo); letter-spacing: 0;
  }
  html.topo-menu-js .topo--aberto .topo-nav a:hover { color: var(--latao-alto); border-bottom-color: var(--linha); }
  html.topo-menu-aberto { overflow: hidden; }
}

@media (max-width: 720px) { .rodape nav a, .murmura-legal-footer a { display: inline-block; padding: 8px 0; } }

@media (max-width: 420px) {
  html.topo-menu-js .marca { font-size: 15px; letter-spacing: .14em; gap: 8px; }
  html.topo-menu-js .topo-acao { padding: 8px 12px; font-size: 14px; }
  html.topo-menu-js .topo-menu-texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) { .topo-menu-icone span { transition: none; } }
