/* Acelera Shake — estilos globais */
*{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{font-family:'Nunito',system-ui,sans-serif;background:#FFF4E6;color:#2A1810;overflow-x:hidden}
  img{max-width:100%;display:block}
  a{color:#E4002B;text-decoration:none}
  a:hover{color:#B4001F}
  ::selection{background:#FFC72C;color:#2A1810}
  @keyframes msFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}
  @keyframes msPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
  @keyframes msMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  @keyframes msSpinDash{to{stroke-dashoffset:-1000}}
  nav{scrollbar-width:none;-ms-overflow-style:none}
  nav::-webkit-scrollbar{display:none}

  /* Transição de navegação entre / , /cadastro e /consulta — só o conteúdo abaixo do
     cabeçalho anima (o cabeçalho fica parado). A classe .conteudo-anim já vem escrita no HTML
     renderizado pelo servidor (não é adicionada só via JS) de propósito: se ela só existisse
     depois do DOMContentLoaded rodar, o navegador pintaria o conteúdo já visível por um instante
     e SÓ DEPOIS sumiria e reanimaria quando o JS adicionasse a classe — um "pisca" bem visível
     logo no primeiro acesso ao site (antes do JS ter chance de rodar), mesmo a navegação interna
     entre páginas ficando sempre suave. Com a classe já no HTML inicial, a animação começa a
     tocar assim que o CSS carrega, sem esperar JS nenhum. js/transicoes.js ainda entra em ação
     pra REINICIAR essa mesma animação a cada navegação "enhanced" do Blazor (CSS sozinho não
     reinicia uma animação num elemento que já existia antes da troca de página). */
  @keyframes conteudoEntrando{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
  .conteudo-anim{animation:conteudoEntrando .45s ease-out}
  @media (prefers-reduced-motion: reduce){
    .conteudo-anim{animation:none}
  }

  /* Header da Home (markup em Home.razor). Fica aqui, e não no <style> inline de Home.razor, de
     propósito: aquele <style> é renderizado no <body>, depois deste <link> no <head> — com a
     mesma especificidade, a regra que vier depois no documento vence. Se a base do .header-nav
     estivesse em Home.razor, ela empataria em especificidade com a media query abaixo e ganharia
     por vir depois, anulando o "display:none" em telas estreitas. */
  .header-inner {
    max-width: 1200px; margin: 0 auto; padding: 12px 20px;
    display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(6px, 2vw, 20px); justify-content: space-between;
  }
  .header-logo { display: flex; align-items: center; gap: 6px; min-width: 0; flex-shrink: 0; }
  .header-nav { display: flex; align-items: center; flex: 1; min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .header-nav-links { display: flex; align-items: center; gap: clamp(0px, 0.4vw, 4px); flex-wrap: nowrap; flex-shrink: 0; margin: 0 auto; }
  .header-actions { display: flex; align-items: center; gap: clamp(3px, 1.2vw, 8px); flex-shrink: 0; }

  /* Abaixo de 860px, logo + botões (Área do cliente/Cadastrar) já preenchem a linha — em vez de
     espremer o menu de âncoras até ficar ilegível, ele some no mobile (a home é uma página só,
     rolável; os mesmos destinos continuam alcançáveis rolando a página). */
  @media (max-width: 860px) {
    .header-nav { display: none; }
  }
