/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

@media (max-width: 1100px) {
  .problem-grid {
    grid-template-columns: 1fr;
  }

  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .how-steps {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .brands-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

@media (max-width: 980px) {
  .main-nav {
    display: none;
  }

  .header-actions .phone-link {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }

  .header-row {
    gap: 1rem;
  }

  .c-grid {
    grid-template-columns: 1fr;
  }

  .gallery-masonry {
    column-count: 3;
  }

  .testi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

  /* Book Service pill in the header no longer fits next to the logo and
     hamburger without wrapping/overlapping — it's already offered in the
     mobile nav drawer, so drop it here instead of squeezing it in. */
  .header-actions {
    display: none;
  }
}

@media (max-width: 720px) {
  .features-grid {
    grid-template-columns: 1fr;
  }

  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .gallery-masonry {
    column-count: 2;
  }

  .c-info {
    grid-template-columns: 1fr;
  }

  .c-map-frame {
    padding-top: 65%;
  }
}

@media (max-width: 560px) {

  /* 2 columns of brand tiles clip long names ("Hyundai" -> "Hyun") once
     the tile gets this narrow, so drop to a single column. */
  .brands-grid {
    grid-template-columns: 1fr;
  }

  .container {
    padding: 0 1.25rem;
  }

  .hero-title {
    font-size: 2.1rem;
  }

  .hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .hero-ctas .btn {
    width: 100%;
    justify-content: center;
  }

  .gallery-masonry {
    column-count: 2;
    column-gap: 0.6rem;
  }

  .g-item {
    margin-bottom: 0.6rem;
  }

  .wa-float {
    width: 48px;
    height: 48px;
    bottom: 1.2rem;
    right: 1.2rem;
  }

  .wa-float svg {
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 400px) {

  /* Extra safety margin for very narrow phones (~320-390px) so the logo
     + brand name never wrap or push the hamburger button off-screen. */
  .header-row {
    padding: 0.5rem 0.6rem 0.5rem 0.9rem;
    gap: 0.6rem;
  }

  .brand {
    gap: 0.5rem;
  }

  .brand img {
    height: 34px;
  }

  .brand-name {
    font-size: 0.92rem;
  }
}

@media (max-width: 768px) {
  body {
    padding-bottom: 4.6rem;
  }

  .mobile-cta-bar {
    display: flex;
  }

  .wa-float {
    display: none;
  }
}