/* ===================================================================
   MaxRooter Theme — Responsive CSS (Mobile-First)
=================================================================== */

/* ─── TABLET (≤1024px) ──────────────────────────────────────────── */
@media (max-width:1024px) {
  .mr-hero-inner { grid-template-columns: 1fr; }
  .mr-hero-form-box { max-width: 540px; margin: 0 auto; }
  .mr-why-grid { grid-template-columns: 1fr; }
  .mr-why-image { order: -1; }
  .mr-why-image img { max-height: 400px; width: 100%; object-fit: cover; }
  .mr-footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px; }
  .mr-footer-brand { grid-column: 1 / -1; }
  .mr-blog-archive-grid { grid-template-columns: 1fr; }
  .mr-blog-sidebar { display: none; }
  .mr-single-grid { grid-template-columns: 1fr; }
  .mr-blog-grid { grid-template-columns: repeat(2,1fr); }
  .mr-service-areas-grid { grid-template-columns: repeat(2,1fr); }
  .mr-stats-grid { grid-template-columns: repeat(2,1fr); }
  .mr-testimonials-grid { grid-template-columns: repeat(2,1fr); }
  .mr-about-grid { grid-template-columns: 1fr; }
  .mr-about-image { order: -1; }
  .mr-contact-grid { grid-template-columns: 1fr; }
  .mr-regions-grid { grid-template-columns: 1fr 1fr; }
  .mr-nearby-grid { grid-template-columns: repeat(3,1fr); }
}

/* ─── MOBILE (≤768px) ───────────────────────────────────────────── */
@media (max-width:768px) {
  :root {
    --mr-topbar-h: 36px;
    --mr-header-h: 62px;
  }
  section { padding: 56px 0; }
  .mr-container { padding: 0 16px; }

  /* Hide desktop topbar text, show only phone */
  .mr-topbar-left { display: none; }
  .mr-topbar-right { flex: 1; justify-content: center; }
  .mr-topbar-hours { display: none; }

  /* Header */
  .mr-nav { display: none; }
  .mr-header-cta { display: none; }
  .mr-nav-toggle { display: flex; }
  .mr-logo-brand { font-size: 1.2rem; }

  /* Hero */
  .mr-hero { min-height: 520px; }
  .mr-hero-home { min-height: 580px; }
  .mr-hero-inner { padding: 60px 16px 40px; }
  .mr-hero-title { font-size: clamp(1.6rem,7vw,2.4rem); }
  .mr-hero-subtitle { font-size: 0.95rem; }
  .mr-hero-actions { flex-direction: column; gap: 10px; }
  .mr-hero-actions .mr-btn { text-align: center; }
  .mr-hero-cta { font-size: 1rem; padding: 15px 28px; }
  .mr-hero-trust { font-size: 0.8rem; gap: 12px; }
  .mr-hero-trust-item { gap: 4px; }
  .mr-hero-inner-content { padding: 56px 16px 40px; }
  .mr-hero-inner-actions { flex-direction: column; align-items: center; gap: 10px; }
  .mr-hero-scroll { display: none; }
  .mr-breadcrumbs li { font-size: 0.75rem; }

  /* Form */
  .mr-form-row { flex-direction: column; gap: 10px; }
  .mr-hero-form-box { padding: 24px 20px; }

  /* Section */
  .mr-section-header { margin-bottom: 36px; }
  .mr-section-title { font-size: clamp(1.4rem,5vw,2rem); }

  /* Services */
  .mr-grid-4 { grid-template-columns: repeat(2,1fr); }
  .mr-grid-3 { grid-template-columns: 1fr; }
  .mr-service-card-img { height: 160px; }

  /* Stats */
  .mr-stats-grid { grid-template-columns: repeat(2,1fr); gap: 0; }
  .mr-stat-item { padding: 24px 16px; }
  .mr-stat-number { font-size: 2.2rem; }

  /* Why us */
  .mr-why-features { grid-template-columns: 1fr; }

  /* Process */
  .mr-process-step { flex-direction: column; gap: 12px; padding: 20px 0; }
  .mr-process-step-num { font-size: 1.8rem; min-width: auto; }

  /* Regions */
  .mr-regions-grid { grid-template-columns: 1fr; }

  /* Testimonials */
  .mr-testimonials-grid { grid-template-columns: 1fr; }

  /* FAQ */
  .mr-faq-question { font-size: 0.95rem; }

  /* CTA banner */
  .mr-cta-banner { padding: 52px 0; }
  .mr-cta-banner-inner { flex-direction: column; text-align: center; }
  .mr-cta-banner-actions { justify-content: center; flex-direction: column; width: 100%; }
  .mr-cta-trust-row { gap: 12px; }
  .mr-cta-trust-row span { font-size: 0.78rem; }
  .mr-pre-footer-inner { flex-direction: column; text-align: center; }
  .mr-pre-footer-actions { justify-content: center; }

  /* Footer */
  .mr-footer-grid { grid-template-columns: 1fr; gap: 24px; padding: 40px 0 32px; }
  .mr-footer-brand { grid-column: auto; }
  .mr-footer-col:nth-child(3), .mr-footer-col:nth-child(4) { display: none; }

  /* Blog */
  .mr-blog-grid { grid-template-columns: 1fr; }
  .mr-blog-list-item { grid-template-columns: 1fr; }
  .mr-blog-list-img { height: 200px; }
  .mr-blog-list-content { padding: 20px; }

  /* Service + Location */
  .mr-service-intro-grid { grid-template-columns: 1fr; }
  .mr-service-sidebar { order: -1; }
  .mr-service-areas-grid { grid-template-columns: 1fr; }
  .mr-nearby-grid { grid-template-columns: repeat(2,1fr); }

  /* About, Contact */
  .mr-about-grid { grid-template-columns: 1fr; }
  .mr-contact-grid { grid-template-columns: 1fr; }
  .mr-about-badges { grid-template-columns: repeat(2,1fr); }

  /* Archive */
  .mr-archive-grid { grid-template-columns: 1fr; }

  /* Sticky CTA */
  .mr-sticky-mobile-cta { display: grid; }
  body { padding-bottom: 58px; }

  /* Back to top */
  .mr-back-to-top { bottom: 70px; right: 16px; width: 38px; height: 38px; font-size: 1rem; }

  /* 404 */
  .mr-404-actions { flex-direction: column; align-items: center; }

  /* Inline CTA */
  .mr-inline-cta { flex-direction: column; }
  .mr-inline-cta .mr-btn { text-align: center; }

  /* Why CTA */
  .mr-why-cta { flex-direction: column; align-items: center; }

  /* Alignments */
  .alignwide { margin-left: 0; margin-right: 0; }
  .alignfull { margin-left: -16px; margin-right: -16px; width: calc(100% + 32px); }
}

/* ─── SMALL MOBILE (≤480px) ─────────────────────────────────────── */
@media (max-width:480px) {
  :root {
    --mr-topbar-h: 0px;
  }
  .mr-topbar { display: none; }

  .mr-grid-4 { grid-template-columns: 1fr; }
  .mr-stats-grid { grid-template-columns: 1fr 1fr; }
  .mr-hero-badge { font-size: 0.75rem; padding: 6px 12px; }
  .mr-hero-form-box { padding: 20px 16px; }
  .mr-footer-grid { padding: 32px 0 24px; }
  .mr-testimonials-grid { grid-template-columns: 1fr; }
  .mr-nearby-grid { grid-template-columns: 1fr; }
  .mr-about-badges { grid-template-columns: 1fr 1fr; }
  .mr-contact-trust-badges { flex-direction: column; }
  .mr-cta-banner-actions .mr-btn { width: 100%; }
  .mr-pre-footer-actions .mr-btn { width: 100%; }
}

/* ─── PRINT STYLES ──────────────────────────────────────────────── */
@media print {
  .mr-header, .mr-topbar, .mr-sticky-mobile-cta, .mr-back-to-top,
  .mr-mobile-nav, .mr-hero-form-box, .mr-sidebar-cta { display: none !important; }
  body { padding-top: 0 !important; color: black; }
  a { color: black; text-decoration: underline; }
}

/* ─── PREFERS REDUCED MOTION ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  html { scroll-behavior: auto; }
  [data-animate], [data-animate="stagger"] > * { opacity: 1; transform: none; transition: none; }
}
