/* ============================================================
   JMD CLEANING SERVICES — responsive.css
   Mobile-first breakpoint refinements
   ============================================================ */

/* ---------- ≤ 1199px ---------- */
@media (max-width: 1199.98px) {
  .main-nav .nav-link { padding: 0.5rem .75rem !important; }
  .main-nav .nav-link::after { left: .75rem; right: .75rem; bottom: .1rem; }
  .hero-contact-card { width: 290px; right: 24px; }
}

/* ---------- ≤ 991px (tablet) ---------- */
@media (max-width: 991.98px) {
  .section { padding: 84px 0; }
  .hero { height: 80vh; min-height: 560px; }
  .hero-title { font-size: clamp(2rem, 6vw, 3.2rem); }

  /* push the fixed header below the mobile contact strip so both stay visible */
  .site-header:not(.scrolled) { top: 36px; }
  .site-header.scrolled { top: 0; }

  /* contact card moves below content */
  .hero-contact-card {
    position: static; width: 100%; max-width: 460px;
    margin: 1.6rem 0 0; animation: none;
  }
  .scroll-indicator, .hero .swiper-button-prev, .hero .swiper-button-next { display: none; }

  .hero-features { margin-top: -48px; }

  .why-visual { max-width: 480px; margin: 0 auto; }
  .why-visual .wv-badge { left: 8px; }
  .why-cta { justify-content: center; text-align: center; }
  .why-cta .btn-lux { margin-left: 0; }

  .process-row::before { display: none; }
  .process-step { margin-bottom: 2rem; }

  .counter-band { background-attachment: scroll; }

  .about-collage { max-width: 520px; margin-inline: auto; }

  .contact-info-pane { border-radius: 0; }
}

/* ---------- ≤ 767px (mobile) ---------- */
@media (max-width: 767.98px) {
  :root { --header-h: 72px; }
  .section { padding: 68px 0; }

  .topbar .topbar-right { display: none !important; }

  .hero { height: 75vh; height: 82svh; min-height: 540px; } /* svh: stable on mobile URL-bar show/hide */
  .hero-content { text-align: center; padding-top: 92px; padding-bottom: 56px; }
  .hero-title { margin-inline: auto; font-size: clamp(1.9rem, 8vw, 2.6rem); line-height: 1.15; }
  .hero-typed-line { text-align: center; font-size: .95rem; min-height: 1.8rem; }
  .hero-text { margin-inline: auto; font-size: .92rem; max-width: 34ch; }
  .hero-btns { flex-direction: column; align-items: stretch; width: 100%; max-width: 320px; margin-inline: auto; }
  .hero-btns .btn-lux { justify-content: center; }
  .hero-badge { font-size: .68rem; }
  .hero-contact-card { margin-inline: auto; text-align: left; }
  .hero .swiper-pagination { bottom: 14px !important; }

  .site-header .navbar-brand img { height: 44px; }
  .site-header.scrolled .navbar-brand img { height: 38px; }

  .hero-features { margin-top: 40px; }

  .sec-title { font-size: 1.75rem; }

  .about-collage .exp-badge { left: 0; padding: .85rem 1rem; }
  .about-collage .exp-badge .n { font-size: 1.7rem; }
  .play-btn { width: 60px; height: 60px; font-size: 1.25rem; }

  .gallery-grid { columns: 2 150px; }

  .cta-glass { text-align: center; }
  .cta-glass .cta-actions { justify-content: center !important; }

  .footer .footer-cta { margin-top: -50px; text-align: center; }
  .footer-cta__actions { justify-content: center !important; margin-top: 1.2rem; }
  .footer-cta__actions .btn-lux { flex: 1 1 auto; justify-content: center; }

  .ba-slider { aspect-ratio: 4/3; }

  .back-to-top { right: 14px; bottom: 14px; }

  .mobile-contact-strip .mcs-item { font-size: .7rem; gap: .3rem; padding: .55rem .3rem; }
  .mobile-quote-card { padding: 1.2rem 1rem; }

  .social-float a { width: 36px; height: 36px; font-size: .92rem; }
}

/* ---------- ≤ 420px ---------- */
@media (max-width: 420px) {
  .hero-title { font-size: 1.9rem; }
  .btn-lux { padding: .85rem 1.6rem; font-size: .88rem; }
  .stat-item .num { font-size: 1.9rem; }

  .mobile-contact-strip .mcs-item span { max-width: 118px; text-overflow: ellipsis; overflow: hidden; }
  .social-float a { width: 32px; height: 32px; font-size: .82rem; }
}
