/* =============================================
   RESPONSIVE — Mobile-first media queries
   Jaipur Cleaning Services
   ============================================= */

/* ── Max 1024px (Tablet) ── */
@media (max-width: 1024px) {
  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .reviews__grid { grid-template-columns: repeat(2, 1fr); }
  .why__grid { grid-template-columns: repeat(2, 1fr); }
  .areas__grid { grid-template-columns: repeat(3, 1fr); }
  .footer__grid { grid-template-columns: repeat(2, 1fr); }

  .process__timeline {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xl);
    padding-left: 3rem;
  }

  .process__timeline::before {
    top: 0;
    bottom: 0;
    left: 36px;
    right: auto;
    width: 3px;
    height: 100%;
  }

  .process__timeline-fill {
    top: 0;
    left: 36px;
    width: 3px !important;
    height: 0;
  }

  .process__timeline.revealed .process__timeline-fill {
    height: 100%;
    width: 3px !important;
  }

  .process__step {
    flex-direction: row;
    text-align: left;
    gap: var(--space-xl);
  }

  .process__step-num {
    flex-shrink: 0;
    margin-bottom: 0;
    width: 60px;
    height: 60px;
    font-size: 1.25rem;
  }

  .process__step-text { max-width: none; }

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

  .booking-section__inner {
    grid-template-columns: 1fr;
  }

  .booking-form__row {
    grid-template-columns: 1fr;
  }
}

/* ── Max 768px (Mobile landscape) ── */
@media (max-width: 768px) {
  :root {
    --nav-height: 64px;
  }

  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__mobile-toggle { display: flex; }

  .hero__content {
    padding-top: calc(var(--nav-height) + 2rem);
    text-align: center;
  }

  .hero__ctas { justify-content: center; }
  .hero__badges { justify-content: center; }
  .hero__subtitle { margin-left: auto; margin-right: auto; }

  .services__grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .reviews__grid { grid-template-columns: 1fr; }
  .why__grid { grid-template-columns: 1fr; }
  .offers__grid { grid-template-columns: 1fr; }
  .areas__grid { grid-template-columns: repeat(2, 1fr); }
  .gallery__grid { grid-template-columns: repeat(2, 1fr); }

  .reviews__counters {
    flex-direction: row;
    gap: var(--space-xl);
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
  }

  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  .video-carousel > * { width: 220px; }

  .cta-section__title { font-size: var(--fs-h3); }

  /* Show sticky mobile call bar */
  .mobile-call-bar {
    display: flex;
  }

  /* Add bottom padding to body for mobile call bar */
  body {
    padding-bottom: 70px;
  }

  .wa-float {
    bottom: 5rem;
  }
}

/* ── Max 480px (Mobile portrait) ── */
@media (max-width: 480px) {
  .hero__title { font-size: clamp(1.75rem, 8vw, 2.5rem); }

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

  .hero__ctas .btn { width: 100%; }

  .hero__badges {
    flex-direction: column;
    align-items: center;
  }

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

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

  .reviews__counters {
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
  }

  .video-carousel > * { width: 200px; }

  .btn { padding: 0.75rem 1.5rem; font-size: var(--fs-small); }
  .btn--lg { padding: 0.875rem 2rem; font-size: var(--fs-body); }

  .section-header { margin-bottom: var(--space-2xl); }

  .review-form {
    padding: var(--space-xl);
  }

  .booking-form {
    padding: var(--space-xl);
  }
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html { scroll-behavior: auto; }

  .reveal,
  .reveal-left,
  .reveal-right,
  .reveal-scale {
    opacity: 1;
    transform: none;
  }
}
