/* =========================================================
   APPLIANCE WORKS — Responsive overrides
   Desktop-first stylesheet. Mobile/tablet breakpoints below
   collapse multi-column grids to stacks, tighten padding,
   and scale typography down.
   ========================================================= */

/* Generic image guard */
img { max-width: 100%; height: auto; }

/* Pick up horizontal scroll if anything overflows */
html, body { overflow-x: hidden; }

/* ---------- TABLET & DOWN (<=1024px) ---------- */
@media (max-width: 1024px) {
  /* Hide nav links, show phone + Schedule button only */
  [data-aw="header"] [data-aw="nav-links"] { display: none !important; }
  [data-aw="header"] { padding: 10px 16px !important; }
  [data-aw="header-serving"] { display: none !important; }

  /* Hero padding */
  [data-aw="hero-inner"] { padding: 48px 20px 120px !important; }

  /* Hero contact band -> stacked */
  [data-aw="hero-contact"] {
    grid-template-columns: 1fr !important;
    padding: 20px 20px !important;
    gap: 18px !important;
  }
  [data-aw="hero-contact-patch"] { justify-self: start !important; width: 90px !important; height: 90px !important; }
  [data-aw="hero-contact-badge"] { width: 90px !important; height: 90px !important; }
  [data-aw="hero-contact-badges"] { gap: 10px !important; }

  /* Services: 6 -> 3 cols */
  [data-aw="services-grid"] { grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; }

  /* About: 2 cols -> 1 col */
  [data-aw="about-grid"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  [data-aw="about-photo"] { height: 360px !important; }

  /* CTA band: stack */
  [data-aw="cta-band"] {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 20px 20px !important;
  }
  [data-aw="cta-band-actions"] { justify-content: flex-start !important; }

  /* Footer: 3 cols -> 2 */
  [data-aw="footer-grid"] { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
  [data-aw="footer-bottom"] { flex-direction: column; gap: 6px; text-align: center; }

  /* Reviews Trustindex: wrap summary over cards */
  [data-widget="trustindex"] > div > div { flex-direction: column !important; align-items: stretch !important; }
  [data-widget="trustindex"] > div > div > div:first-child { flex: 0 0 auto !important; margin-bottom: 8px; }

  /* NearbyNow 2-col -> stack */
  [data-widget="nearbynow"] .row > .col-md-8,
  [data-widget="nearbynow"] .row > .col-md-4,
  [data-widget="nearbynow"] .row > .col-md-6,
  [data-widget="nearbynow"] .row > .col-sm-8,
  [data-widget="nearbynow"] .row > .col-sm-4,
  [data-widget="nearbynow"] .row > .col-sm-6 {
    flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
  }

  /* Floating tweaks button lower when nav gets sticky */
  [data-aw="tweaks-fab"] { top: 70px !important; right: 10px !important; font-size: 10px !important; padding: 8px 10px !important; }

  /* Brand + Appliance hero section padding */
  [data-aw="brand-hero-grid"],
  [data-aw="appliance-hero-grid"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  [data-aw="brand-hero-grid"] > div:last-child {
    min-height: 200px !important;
    padding: 32px 24px !important;
  }
  [data-aw="appliance-hero-grid"] > div:last-child {
    min-height: 220px !important;
    height: 220px !important;
    padding: 0 !important;
  }
  [data-aw="appliance-hero-grid"] > div:last-child img {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }
}

/* ---------- MOBILE (<=640px) ---------- */
@media (max-width: 640px) {
  /* Header: logo + phone only */
  [data-aw="header"] { padding: 8px 12px !important; }
  [data-aw="header"] img { height: 36px !important; }
  [data-aw="header-phone"] span,
  [data-aw="header-phone"] { font-size: 13px !important; }
  [data-aw="header-schedule-btn"] { display: none !important; }
  [data-aw="header-nav"] { gap: 6px !important; }

  /* Hero */
  [data-aw="hero-bg"] { min-height: 460px !important; }
  [data-aw="hero-inner"] { padding: 36px 16px 120px !important; }
  [data-aw="hero-inner"] h1 { font-size: 32px !important; }
  [data-aw="hero-eyebrow"] { font-size: 11px !important; }
  [data-aw="hero-sub"] { font-size: 15px !important; }
  [data-aw="hero-actions"] { flex-direction: column !important; align-items: stretch !important; }
  [data-aw="hero-actions"] > * { width: 100% !important; text-align: center !important; }

  [data-aw="hero-contact-wrap"] { margin-top: -70px !important; padding: 0 12px !important; }
  [data-aw="hero-contact"] { padding: 18px 16px !important; }
  [data-aw="hero-contact"] a[href^="tel:"] { font-size: 22px !important; }

  /* Section common */
  section { padding-left: 16px !important; padding-right: 16px !important; }
  [data-aw="services"] { padding: 48px 16px !important; }
  [data-aw="services-grid"] { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  [data-aw="services"] h2,
  [data-aw="about"] h2,
  [data-aw="mapandjobs"] h2,
  [data-aw="neighborhoods"] h2,
  [data-aw="faq"] h2,
  [data-aw="cta-band"] h2 { font-size: 26px !important; }
  [data-aw="services"] p,
  [data-aw="about"] p,
  [data-aw="mapandjobs"] p { font-size: 14px !important; }

  [data-aw="about"] { padding: 48px 16px !important; }
  [data-aw="about-photo"] { height: 300px !important; }
  [data-aw="about-stats"] { grid-template-columns: 1fr 1fr !important; }

  [data-aw="neighborhoods"] { padding: 40px 16px !important; }
  [data-aw="neighborhoods-grid"] { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  [data-aw="neighborhoods-grid"] > div { padding: 10px 12px !important; font-size: 13px !important; }

  [data-aw="mapandjobs"] { padding: 48px 12px !important; }
  [data-aw="faq"] { padding: 48px 16px !important; }
  [data-aw="faq"] button { font-size: 14px !important; padding: 14px 16px !important; }

  [data-aw="cta-band"] { padding: 36px 16px !important; }
  [data-aw="cta-band"] h2 { font-size: 24px !important; }
  [data-aw="cta-band-actions"] { flex-direction: column !important; align-items: stretch !important; }
  [data-aw="cta-band-actions"] > * { width: 100% !important; text-align: center !important; }

  [data-aw="reviews"] { padding: 28px 12px !important; }
  [data-aw="reviews"] h2 { font-size: 22px !important; }

  /* Trustindex fallback cards -> stack */
  [data-widget="trustindex"] > div > div > div:last-child {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Footer */
  [data-aw="footer"] { padding: 40px 16px 24px !important; }
  [data-aw="footer-grid"] { grid-template-columns: 1fr !important; gap: 24px !important; }
  [data-aw="footer-phones"] { grid-template-columns: 1fr !important; }

  /* Schedule modal */
  [data-aw="schedule-modal-inner"] { padding: 20px 18px !important; }

  /* Floating chat button */
  [data-aw="chat-btn"] { right: 12px !important; bottom: 12px !important; padding: 10px 14px !important; font-size: 12px !important; }

  /* Tweaks FAB */
  [data-aw="tweaks-fab"] { top: 60px !important; right: 6px !important; }

  /* Brand + Appliance hero: tighten section padding on mobile */
  [data-aw="brand-hero"],
  [data-aw="appliance-hero"] { padding: 40px 20px 56px !important; }

  /* Brand + Appliance hero: shrink title, tighten padding, smaller image card */
  [data-aw="brand-hero-grid"] h1,
  [data-aw="appliance-hero-grid"] h1 { font-size: 32px !important; }
  [data-aw="brand-hero-grid"] > div:last-child {
    min-height: 160px !important;
    padding: 24px 20px !important;
  }
  [data-aw="appliance-hero-grid"] > div:last-child {
    min-height: 220px !important;
    height: 220px !important;
    padding: 0 !important;
  }
  [data-aw="brand-hero-grid"] > div:last-child img { max-height: 100px !important; }
  [data-aw="appliance-hero-grid"] > div:last-child img {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }
}
