/* =========================================================================
 * responsive.css — ajustes mobile-first do site público
 * Bootstrap 5 já resolve o grid; aqui ficam apenas os refinamentos.
 * ========================================================================= */

/* ------------------------ Tablet (até 991px) --------------------------- */
@media (max-width: 991.98px) {
  :root { --altura-navbar: 68px; }

  .secao { padding: 56px 0; }

  .navbar-site .navbar-collapse {
    background: var(--cor-primaria-escura);
    margin-top: 12px;
    padding: 14px;
    border-radius: var(--raio);
    box-shadow: var(--sombra);
  }

  .navbar-site .nav-link {
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .navbar-site .nav-link.active::after { display: none; }
  .navbar-site .nav-link.active { color: #fff; }
  .navbar-site .btn-principal { display: block; width: 100%; margin: 14px 0 4px; }

  .hero { min-height: 62vh; }
  .hero__overlay {
    background: linear-gradient(180deg, rgba(15, 27, 45, 0.75) 0%, rgba(15, 27, 45, 0.92) 100%);
  }
}

/* ------------------------ Celular (até 767px) -------------------------- */
@media (max-width: 767.98px) {
  .secao { padding: 44px 0; }
  .secao__cabecalho { margin-bottom: 28px; }

  .hero { min-height: 78vh; background-position: center top; }
  .hero__conteudo { padding: 40px 0; }
  .hero__titulo { font-size: 2rem; }
  .hero__acoes .btn { width: 100%; }

  .carousel-control-prev, .carousel-control-next { display: none; }

  .pagina-cabecalho { padding: 40px 0 32px; }

  .bandeira-card { padding: 26px 20px 22px; }
  .bandeira-card__numero { font-size: 3rem; }

  .card-noticia .card-img-top, .card-img-placeholder { height: 180px; }

  .agenda-card { flex-direction: row; padding: 16px; gap: 14px; }
  .agenda-card__data { flex-basis: 62px; height: 68px; }
  .agenda-card__data strong { font-size: 1.4rem; }

  .cta-contato { padding: 36px 18px; }

  .lightbox-nav--prev { left: 2px; }
  .lightbox-nav--next { right: 2px; }
  .lightbox-fechar { top: -30px; right: 4px; }

  .whatsapp-flutuante { right: 12px; bottom: 12px; padding: 12px 16px; font-size: 0.9rem; }

  .rodape { text-align: left; padding: 40px 0 24px; }
  .rodape__legal a { margin: 0 12px 0 0; }
}

/* ------------------------ Celular pequeno (até 400px) ------------------ */
@media (max-width: 400px) {
  .hero__titulo { font-size: 1.75rem; }
  .navbar-marca { font-size: 1.05rem; }
  .galeria-item__legenda { font-size: 0.75rem; }
}

/* --------------------------- Telas grandes ----------------------------- */
@media (min-width: 1400px) {
  .container { max-width: 1240px; }
}

/* ------------------------- Preferências do usuário --------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ------------------------------ Impressão ------------------------------ */
@media print {
  .navbar-site, .whatsapp-flutuante, .rodape, .carousel-control-prev, .carousel-control-next {
    display: none !important;
  }
  body { padding-top: 0; }
}
