/* Regras responsivas e de movimento reduzido dos arquivos base, layout e components. Carregado antes do CSS da página, que pode sobrescrever. */

@media (max-width:1140px){

  /* menu em hambúrguer até 1140px, o que inclui tablets em paisagem */
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--branco);border-bottom:1px solid var(--linha);padding:8px 28px 16px;}
  .navlinks a{padding:12px 0;border-top:1px solid var(--linha-leve);}
  header.aberto .navlinks{display:flex;}
  .menu-btn{display:block;}
  .nav > .btn{display:none;}
  .cta-menu{display:inline-flex;align-self:flex-start;margin-top:16px;padding:12px 24px;border-top:none;}
}

@media (max-width:920px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px;padding:46px 0 38px;}
  .foot-marca,.foot-esp{grid-column:1 / -1;}
  .form-grid,.contato-grid{grid-template-columns:1fr;}
  .passos{grid-template-columns:1fr;gap:32px;}
  .dep-grid{grid-template-columns:1fr;gap:48px;}
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--branco);border-top:1px solid var(--linha);padding:12px 20px;gap:10px;}
  .sticky-cta a{flex:1;padding:12px 16px;font-size:14px;}
}

@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr;}
  .foot-baixo .wrap{flex-direction:column;align-items:flex-start;gap:12px;}
  .video-modal{padding:14px;}
}

@media (max-width:420px){
  .foot-esp ul{columns:1;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none !important;}
  .entrada-suave{opacity:1;transform:none;}
}
