/* Responsividade global — complementa pages-responsive.css */

/* Páginas legais */
@media (max-width: 991px) {
  .legal-page .legal-content {
    padding: 40px 0 60px;
  }

  .legal-page .legal-content h1 {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .legal-page .legal-content {
    padding: 28px 0 48px;
  }

  .legal-page .legal-content h1 {
    font-size: 1.65rem;
  }

  .legal-page .legal-content h2 {
    font-size: 1.2rem;
  }

  .legal-page .legal-content p,
  .legal-page .legal-content li {
    font-size: 0.95rem;
  }
}

/* Blog público */
@media (max-width: 767px) {
  .page-blog .blog-hero,
  .page-blog-article .blog-hero {
    padding-top: 8px;
  }

  .page-casos-clinicos .cases-hero-section {
    padding: 24px 0 56px;
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
  }

  .page-casos-clinicos .cases-hero-content h1 {
    font-size: 1.85rem;
  }

  .page-casos-clinicos .cases-hero-image-wrapper img {
    height: 260px;
  }

  .page-casos-clinicos .cases-reasons-section {
    padding: 48px 0;
  }

  .page-casos-clinicos .cases-reasons-wrapper {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .page-casos-clinicos .cases-reasons-text h2 {
    font-size: 1.5rem;
  }

  .page-casos-clinicos .cases-section {
    padding: 48px 0 32px;
    border-radius: 32px;
    margin-bottom: 40px;
  }

  .page-casos-clinicos .case-card-featured {
    margin-top: 24px;
  }

  .page-casos-clinicos .cases-cta-final {
    padding: 56px 0;
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
  }
}

/* Home — refinamentos mobile */
@media (max-width: 767px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .section-desc {
    font-size: 1rem;
    padding: 0 4px;
  }

  .modern-acc {
    margin-top: 24px;
  }

  .whatsapp-float {
    bottom: max(16px, env(safe-area-inset-bottom));
    right: max(16px, env(safe-area-inset-right));
  }

  body.nav-open .cookie-banner {
    z-index: 999;
  }
}

/* Tablet landscape */
@media (max-width: 991px) and (min-width: 768px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Casos — classes novas (casos-clinicos.php) */
@media (max-width: 991px) {
  .cases-hero-grid,
  .cases-reasons-wrapper,
  .case-card-featured {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .case-card-featured {
    display: flex;
    flex-direction: column;
  }

  .case-image,
  .case-image--placeholder {
    min-height: 220px;
    height: 220px;
  }

  .cases-reasons-grid {
    grid-template-columns: 1fr;
  }

  .cases-hero-section {
    padding: 40px 0 72px;
    border-bottom-left-radius: 48px;
    border-bottom-right-radius: 48px;
  }

  .cases-hero-content h1 {
    font-size: 2.5rem;
  }
}

@media (max-width: 767px) {
  .cases-hero-content h1 {
    font-size: 1.75rem;
  }

  .cases-hero-content p {
    font-size: 1rem;
    margin-bottom: 24px;
  }

  .cases-hero-image-wrapper img {
    height: 240px;
    border-radius: 24px;
    border-top-left-radius: 56px;
  }

  .case-data-grid {
    grid-template-columns: 1fr;
  }

  .case-content {
    padding: 24px 18px;
  }

  .case-content h3 {
    font-size: 1.25rem;
  }

  .case-acc-header {
    padding: 14px 16px;
    font-size: 0.9rem;
  }

  .case-acc-content {
    padding: 16px;
    font-size: 0.88rem;
  }
}

/* Contato / index hero genérico */
@media (max-width: 767px) {
  .hero-section.contato-hero h1,
  .contato-page .hero-content h1 {
    font-size: 1.75rem;
  }
}

/* Overflow em tabelas e grids */
@media (max-width: 479px) {
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-brand {
    grid-column: auto;
  }
}
