/* ============================================================
   Responsive overrides — comprehensive mobile-first fixes
   ============================================================ */

/* ── Price table: horizontal scroll on all mobiles ── */
.price-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ── Google Maps iframe: fluid aspect ratio ── */
.contact-info-box iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  min-height: 180px;
  display: block;
}

/* ============================================================
   TABLET  (max 991px)
   ============================================================ */
@media (max-width: 991px) {
  .section { padding: 55px 0; }
  .section-title { margin-bottom: 40px; }
}

/* ============================================================
   MOBILE  (max 767px)
   ============================================================ */
@media (max-width: 767px) {
  /* Sections */
  .section { padding: 44px 0; }
  .section-sm { padding: 32px 0; }
  .section-title { margin-bottom: 30px; }
  .section-title h2 { font-size: 1.55rem; }
  .section-title p { font-size: 0.9rem; }

  /* Stats band */
  .stats-band { padding: 28px 0; }
  .stat-item .stat-num { font-size: 1.7rem; }
  .stat-item .stat-label { font-size: 0.78rem; }

  /* Service cards */
  .service-card-img .sc-img { height: 130px; }
  .sc-body { padding: 16px 14px; }
  .sc-body h4 { font-size: 0.95rem; }
  .sc-body p { font-size: 0.82rem; }

  /* Fleet cards */
  .fleet-img-card { height: 170px; }

  /* About section */
  .info-highlight { padding: 20px 16px; }
  .icon-wrap { width: 60px; height: 60px; min-width: 60px; }

  /* Testimonial quote mark */
  .testimonial-card::before { font-size: 4rem; top: -6px; }

  /* CTA banner */
  .cta-banner { padding: 44px 0; }

  /* Contact */
  .contact-info-box,
  .contact-form-box { padding: 24px 18px; }
}

/* ============================================================
   SMALL MOBILE  (max 575px)
   ============================================================ */
@media (max-width: 575px) {
  /* Sections */
  .section { padding: 36px 0; }
  .section-sm { padding: 26px 0; }
  .section-title { margin-bottom: 24px; }
  .section-title h2 { font-size: 1.38rem; }
  .section-title p { font-size: 0.86rem; }

  /* Stats band */
  .stats-band { padding: 22px 0; }
  .stat-item .stat-num { font-size: 1.5rem; }
  .stat-item .stat-label { font-size: 0.74rem; }

  /* Service cards */
  .service-card-img .sc-img { height: 110px; }
  .sc-body { padding: 12px 10px; }
  .sc-body h4 { font-size: 0.88rem; }

  /* Fleet cards */
  .fleet-img-card { height: 145px; }
  .fleet-img-card .fleet-label { font-size: 0.78rem; padding: 10px 8px 6px; }

  /* Contact info box icons */
  .ci-icon {
    width: 36px; height: 36px;
    min-width: 36px;
    font-size: 0.95rem;
  }
  .contact-info-box,
  .contact-form-box { padding: 18px 14px; }

  /* Why choose us cards */
  .why-card { padding: 16px 14px; gap: 12px; }
  .why-card .icon-box {
    width: 44px; height: 44px;
    min-width: 44px;
    font-size: 1.1rem;
  }

  /* Testimonial cards */
  .testimonial-card { padding: 20px 16px; }
  .testimonial-card::before { font-size: 3rem; top: -4px; left: 14px; }
  .author-avatar { width: 38px; height: 38px; font-size: 0.9rem; }

  /* CTA banner */
  .cta-banner h2 { font-size: 1.35rem; }
  .cta-phone { font-size: 1.2rem; }

  /* Floating action buttons: smaller & tighter */
  .float-whatsapp { bottom: 16px; right: 16px; }
  .float-call { bottom: 76px; right: 16px; }
  .float-whatsapp a,
  .float-call a { width: 48px; height: 48px; }
  .float-whatsapp a { font-size: 1.55rem; }
  .float-call a { font-size: 1.15rem; }

  /* Footer */
  footer .footer-logo img { height: 54px !important; }
  .footer-contact-item { font-size: 0.84rem; }
  .footer-bottom p { font-size: 0.78rem; text-align: center; }

  /* Forms */
  .form-label { font-size: 0.88rem; }
  .form-control, .form-select { font-size: 0.9rem; padding: 9px 12px; }

  /* Route items */
  .route-item { padding: 9px 12px; font-size: 0.84rem; }

  /* FAQ */
  .faq-card { padding: 14px 16px; }
  .faq-card .faq-q { font-size: 0.9rem; }
  .faq-card .faq-a { font-size: 0.85rem; }

  /* Price table text */
  .price-table thead th { font-size: 0.82rem; padding: 10px 12px; white-space: nowrap; }
  .price-table tbody td { font-size: 0.82rem; padding: 9px 12px; }
}

/* ============================================================
   ULTRA-SMALL PHONES  (max 374px — e.g. iPhone SE)
   ============================================================ */
@media (max-width: 374px) {
  .section-title h2 { font-size: 1.25rem; }
  .btn-accent, .btn-outline-w, .btn-primary-c { padding: 9px 16px; font-size: 0.82rem; }
  .float-whatsapp a, .float-call a { width: 44px; height: 44px; }
  .float-call { bottom: 70px; }
  .float-whatsapp a { font-size: 1.4rem; }
  .float-call a { font-size: 1rem; }
  .price-table thead th,
  .price-table tbody td { font-size: 0.76rem; padding: 8px; }
}
