/* 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;}
  /* submenu de O Instituto no menu: a seta (área de toque de 44px) expande a lista; o texto continua levando à página */
  .navlinks{align-items:stretch;}
  .nav-grupo{flex-wrap:wrap;gap:0;border-top:1px solid var(--linha-leve);}
  .nav-grupo > a{flex:1;border-top:0;}
  .nav-sub-botao{width:44px;height:44px;margin-right:-12px;}
  .nav-sub{position:static;flex-basis:100%;padding:0 0 10px 2px;}
  .nav-sub ul{min-width:0;padding:0 0 0 14px;background:none;border:0;border-left:2px solid var(--nevoa-2);border-radius:0;box-shadow:none;}
  .nav .navlinks .nav-sub a{padding:9px 0;border-top:0;border-radius:0;}
  .nav .navlinks .nav-sub a:hover{background: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;}
  .cookies-aviso-caixa{grid-template-columns:minmax(0,1fr);grid-template-areas:"texto" "links" "acoes";row-gap:14px;padding:20px 22px;}
  .cookies-aviso-links{justify-self:start;margin-top:-6px;}
  .cookies-aviso-acoes{flex-wrap:wrap;}
}

@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;}
  .cookies-aviso{padding:0 10px calc(10px + env(safe-area-inset-bottom));}
  .cookies-aviso-caixa{row-gap:12px;padding:16px 16px 14px;border-radius:18px;}
  .cookies-aviso-texto{font-size:13.5px;line-height:1.5;}
  .cookies-aviso-titulo{font-size:14px;}
  .cookies-aviso-secundario{display:none;}
  .cookies-aviso-links{font-size:13px;margin-top:-4px;}
  .cookies-aviso-acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .cookies-aviso-acoes .btn{min-height:44px;padding:10px 8px;font-size:14px;white-space:normal;}
  .cookies-aviso-acoes [data-cookies="personalizar"]{grid-column:1 / -1;}
  .cookies-painel{width:100%;max-height:92vh;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;}
  .cookies-painel-topo{padding:18px 18px 14px;}
  .cookies-painel-topo h2{font-size:1.2rem;}
  .cookies-painel-corpo{padding:14px 18px 4px;}
  .cookies-painel-intro,.cookies-categoria-texto{font-size:14px;}
  .cookies-painel-acoes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px calc(16px + env(safe-area-inset-bottom));}
  .cookies-painel-acoes .btn{min-height:44px;padding:10px 8px;font-size:14px;white-space:normal;}
  .cookies-painel-acoes [data-cookies="salvar"]{grid-column:1 / -1;}
}

@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;}
  .cookies-aviso-caixa{transform:none;}
}
