/* ============================================
   Responsive breakpoints
   320 / 375 / 390 / 430 / 768 / 1024 / 1440 / 1920
   ============================================ */

@media (min-width: 480px) {
  .trust-strip-inner {
    grid-template-columns: repeat(3, 1fr);
  }

  .city-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 640px) {
  .form-row-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid-plans-sm {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .section {
    padding: 5.5rem 0;
  }

  .hero {
    padding: 1.75rem 0 2rem;
  }

  .hero-grid {
    grid-template-columns: 1.05fr 0.95fr;
    gap: 1.15rem;
    align-items: stretch;
  }

  .hero-form-wrap {
    max-width: none;
    margin-inline: 0;
    height: 100%;
  }

  .hero-form {
    height: 100%;
  }

  .hero-copy {
    min-height: 100%;
  }

  .form-grid--hero .form-row-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-strip-inner {
    grid-template-columns: repeat(5, 1fr);
    padding: 1.15rem 1.25rem;
  }

  .geo-grid,
  .hosp-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-item {
    flex-direction: column;
    text-align: center;
    gap: 0.55rem;
  }

  .plan-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .rede-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .empresa-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .city-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .price-layout {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 2rem;
  }

  .steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .lead-panel {
    grid-template-columns: 0.9fr 1.1fr;
    padding: 2rem;
  }

  .empresa-layout {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .empresa-media img {
    height: 100%;
    min-height: 100%;
    aspect-ratio: auto;
  }

  .photo-mosaic {
    grid-template-columns: repeat(4, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1.4fr repeat(2, 1fr);
  }

  .content-block {
    padding: 2.25rem 2rem;
  }
}

@media (min-width: 1024px) {
  .nav-desktop { display: flex; }
  .header-cta { display: inline-flex; }
  .nav-toggle { display: none; }
  .nav-mobile { display: none !important; }

  .plan-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .audience-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .audience-grid .audience-card:nth-child(4),
  .audience-grid .audience-card:nth-child(5) {
    grid-column: span 1;
  }

  .feature-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .rede-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .empresa-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-media {
    max-width: none;
  }

  .hero-form-wrap {
    max-width: none;
  }

  .hero-media img {
    max-height: 640px;
  }

  .steps {
    grid-template-columns: repeat(4, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1.5fr repeat(4, 1fr);
  }

  .hero-float {
    left: 1.5rem;
    bottom: 1.75rem;
  }

  .geo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .hosp-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fam-row {
    grid-template-columns: repeat(4, 1fr);
  }
  .rede-toolbar {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1200px) {
  .audience-grid {
    grid-template-columns: repeat(5, 1fr);
  }
  .geo-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .hosp-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Mobile compare: cards instead of table */
@media (max-width: 767px) {
  .table-wrap { display: none; }
  .compare-cards {
    display: grid;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .final-cta .btn {
    width: 100%;
    max-width: 320px;
  }

  .media-duo {
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }

  .whatsapp-float {
    right: 1rem;
    bottom: 1rem;
    width: 54px;
    height: 54px;
  }

  .whatsapp-float svg {
    width: 28px;
    height: 28px;
  }
}

/* Very small screens */
@media (max-width: 359px) {
  .container {
    width: min(100% - 1.25rem, var(--container));
  }

  .hero h1 {
    font-size: 1.75rem;
  }

  .btn {
    padding-inline: 1rem;
  }

  .trust-strip-inner {
    grid-template-columns: 1fr;
  }
}

/* Large desktops */
@media (min-width: 1440px) {
  :root {
    --container: 1240px;
  }

  .hero {
    padding-block: 4.5rem;
  }
}

@media (min-width: 1920px) {
  :root {
    --container: 1280px;
  }
}
