/* ==========================================================================
   Fursys Theme — Responsive breakpoints.
   Desktop design width: 1440px. Mobile design width: 390px.
   Tablet (768–1099px) interpolates sensibly between the two per handoff notes.
   ========================================================================== */

/* ---------- Tablet ---------- */
@media (max-width: 1099px) {
  :root { --gutter: 40px; --section-pad: 64px; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .cat-rows-section,
  .how-we-work,
  .about-intro,
  .about-dealer,
  .contact-layout,
  .quote-form-layout { grid-template-columns: 1fr; }
  .cat-feature__image { height: 320px; }
  .hero { height: 560px; }
  .hero__copy h1 { font-size: 48px; }
  .product-detail { grid-template-columns: 1fr; }
}

/* ---------- Mobile (matches Fursys Mobile Prototype, 390px design width) ---------- */
@media (max-width: 767px) {
  :root { --gutter: var(--gutter-mobile); --section-pad: var(--section-pad-mobile); --grid-gap: var(--grid-gap-mobile); }

  .utility-bar { display: none; }

  .site-header { padding: 14px 18px; }
  .brand-lockup { gap: 10px; }
  .brand-lockup__word { font-size: 15px; }
  .brand-lockup__dealer { font-size: 15px; }
  .brand-lockup__sub { font-size: 8px; }
  .brand-lockup__sep { font-size: 15px; }
  .primary-nav { display: none; }
  .mobile-header { display: flex; align-items: center; gap: 6px; }

  .quote-btn { position: relative; width: 44px; height: 44px; padding: 0; border: none; display: grid; place-items: center; }
  .quote-btn span:first-child { display: none; }
  .quote-btn__icon { font-size: 17px; color: #fff; }
  .quote-btn__badge { position: absolute; top: 2px; right: 2px; min-width: 17px; height: 17px; font-size: 10.5px; }

  .hero { height: 520px; }
  .hero__content { left: 20px; right: 20px; bottom: 28px; flex-direction: column; align-items: stretch; gap: 0; }
  .hero__copy { max-width: none; }
  .hero__copy h1 { font-size: 36px; line-height: 1.08; margin-bottom: 12px; }
  .hero__copy p { font-size: 15.5px; max-width: none; margin-bottom: 22px; }
  .hero__rule { width: 44px; margin-bottom: 18px; }
  .hero__ctas .btn { padding: 15px; font-size: 15.5px; }

  .stats-strip { grid-template-columns: repeat(3, 1fr); display: grid; padding: 18px 20px; text-align: center; gap: 8px; }
  .stats-strip__group { display: contents; }
  .stats-strip__stat { display: grid; }
  .stats-strip__stat b { font-size: 19px; }
  .stats-strip__stat span { font-size: 11.5px; margin-left: 0; display: block; }
  .stats-strip__tag { display: none; }

  .grid-3, .grid-4, .grid-2 { grid-template-columns: 1fr 1fr; gap: 14px; }
  .featured-band .grid-4 { grid-template-columns: 1fr 1fr; }

  .cat-rows-section { padding: 44px 20px; gap: 0; }
  .cat-rows-section .cat-feature { display: none; } /* feature image card collapses on mobile per prototype */
  .cat-rows a.cat-row { font-size: 17px; padding: 16px 0; }

  .how-we-work { padding: 44px 20px; }
  .how-we-work h2 { font-size: 28px; }

  .showroom-band { height: auto; padding: 52px 20px; text-align: center; }
  .showroom-band__content h2 { font-size: 26px; }

  .page-hero, .page-hero--wide { padding: 32px 20px 0; }
  .page-hero h1 { font-size: 32px; }
  .page-body { padding: 0 20px var(--section-pad); }

  .category-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .chip-row { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; margin-bottom: 24px; }
  .chip { flex: none; }

  .empty-state { padding: 40px 24px; }

  .product-detail { grid-template-columns: 1fr; gap: 0; }
  .product-gallery__main { height: 300px; }
  .product-actions { display: none; } /* replaced by sticky-add-bar on mobile */
  .sticky-add-bar { display: flex; }
  .single-product-content { padding-bottom: 88px; }

  .related-section .grid-4 { grid-template-columns: 1fr 1fr; }

  .quote-form-layout { gap: 0; }
  .quote-form-card { padding: 28px 20px; }
  .field-row-2 { grid-template-columns: 1fr; }
  .quote-summary { padding: 28px 20px; margin-top: 24px; }

  .thanks-page { padding: 64px 20px; }
  .thanks-page h1 { font-size: 32px; }

  .about-intro { padding: 32px 20px; grid-template-columns: 1fr; gap: 20px; }
  .about-intro h1 { font-size: 30px; }
  .about-intro__photo { height: 220px; order: -1; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .about-stats > div { border-right: 1px solid var(--color-border-card); border-bottom: 1px solid var(--color-border-card); padding: 20px; }
  .about-stats > div:nth-child(2n) { border-right: none; }
  .about-dealer { padding: 32px 20px; grid-template-columns: 1fr; }

  .contact-layout { grid-template-columns: 1fr; gap: 24px; }
  .contact-form-card { padding: 28px 20px; }

  .site-footer { padding: 44px 20px 24px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 32px; }

  .quote-drawer { width: 100%; }

  .projects-cta-band { padding: 32px 24px; flex-direction: column; align-items: flex-start; }
  .mobile-menu__links a { font-size: 22px; }
}
