/* sage-mobile.css — phone layout (Oct 23 2026). Desktop is untouched: every rule sits under max-width:767px. */
@media (max-width:767px){
  /* ---------- readable minimums ---------- */
  .section-tag,.eyebrow,.hp-blog-tag,.cond-group-label{font-size:12.5px!important;letter-spacing:.14em}
  .stag{font-size:12.5px!important}
  .info-label,.find-us-info-label{font-size:12.5px!important}
  .hero-eyebrow{font-size:12px!important;line-height:1.5}
  .reserve-now-eyebrow{font-size:10.5px!important}
  .stat-cap{font-size:14px!important}
  .pay-note{font-size:13.5px!important}
  .sage-rv-meta,.sage-rv-tag{font-size:13px!important}
  .sage-ab-sub{font-size:10.5px!important}
  .logo-sub{font-size:10.5px!important}

  /* ---------- hero: one clear path ---------- */
  .hero-desc{font-size:16px!important;line-height:1.6}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  .hero-actions .btn-primary,.hero-actions .btn-outline{width:100%!important;min-height:52px;justify-content:center;padding:0 12px!important;border-radius:14px!important;font-size:15px!important}
  .hero-actions a[href="/services"]{display:none!important}
  .hero-trust{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:18px!important}
  .hero-trust li{font-size:13.5px!important;line-height:1.35;padding:10px 12px!important;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);align-items:flex-start}
  /* visit card: hours, address, phone only */
  .hero-card{padding:20px 20px 16px!important;border-radius:20px!important}
  .hero-card .info-row:nth-of-type(4),.hero-card .card-cta{display:none!important}
  .hero-card .info-row{padding:10px 0!important}
  /* photo tour becomes a swipeable strip */
  .hero-photos{margin-top:6px!important}
  .hero-photos-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding:2px 16px 14px!important;margin:0 -16px!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hero-photos-grid::-webkit-scrollbar{display:none}
  .hero-photo{flex:0 0 78%!important;scroll-snap-align:center;position:relative;border-radius:16px!important;overflow:hidden;margin:0!important;aspect-ratio:4/3;height:auto!important}
  .hero-photo img{width:100%!important;height:100%!important;object-fit:cover}
  .hero-photo figcaption{position:absolute!important;left:0;right:0;bottom:0;padding:22px 14px 10px!important;margin:0!important;font-size:14px!important;font-weight:600;color:#fff!important;background:linear-gradient(transparent,rgba(0,0,0,.62));text-align:left!important}

  /* ---------- stat band: tight 2x2 ---------- */
  .stat-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:18px 12px!important}

  /* ---------- services: compact tile grid ---------- */
  .services-section{padding-top:56px!important;padding-bottom:56px!important}
  .services-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .service-card{padding:16px 14px!important;border-radius:16px!important;min-height:0!important;display:flex!important;flex-direction:column;align-items:flex-start;gap:10px}
  .service-card p,.service-card .service-tags,.service-card .service-arrow{display:none!important}
  .service-card .service-icon{width:40px!important;height:40px!important;margin:0!important;border-radius:12px!important}
  .service-card .service-icon svg{width:20px!important;height:20px!important}
  .service-card h3{font-size:15.5px!important;line-height:1.25!important;margin:0!important}
  .services-section .emergency-bar{font-size:13.5px!important;padding:12px 14px!important;margin-bottom:16px!important}

  /* ---------- conditions: one swipeable row per group ---------- */
  .conditions-section{padding-top:56px!important;padding-bottom:56px!important}
  .cond-group{margin-bottom:18px!important;text-align:left}
  .cond-group-list{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important;grid-template-columns:none!important}
  .condition-chip{width:auto!important;flex:0 0 auto!important;white-space:nowrap;font-size:14px!important;padding:9px 14px!important;min-height:40px;border-radius:999px!important;margin:0!important}
  .cond-group-label{padding-bottom:10px!important;margin-bottom:12px!important}

  /* ---------- why / steps / blog: lighter ---------- */
  .why-visual{display:none!important}
  .why-section{padding-top:56px!important;padding-bottom:56px!important}
  .steps-section{padding-top:56px!important;padding-bottom:56px!important}
  .steps-grid{gap:12px!important}
  .step-card{padding:18px!important}
  .hp-blog-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;padding:2px 16px 12px!important;margin:0 -16px!important;scrollbar-width:none}
  .hp-blog-grid::-webkit-scrollbar{display:none}
  .hp-blog-card{flex:0 0 82%!important;scroll-snap-align:center}

  /* steps: number beside text */
  .step-card{display:grid!important;grid-template-columns:44px 1fr;column-gap:14px;align-items:start;text-align:left!important}
  .step-card .step-num{grid-row:1 / span 2;width:40px!important;height:40px!important;margin:0!important;font-size:16px!important}
  .step-card h3{margin:2px 0 6px!important;font-size:18px!important}
  .step-card p{margin:0!important;font-size:14.5px!important}
  /* map: shorter */
  .find-us iframe,.find-us .map-wrap,.find-us [class*="map"]:not(a){max-height:240px}
  /* ---------- router: bigger tap targets ---------- */
  .router-section{padding-top:48px!important}

  /* ---------- town pages ---------- */
  .town-why{border-radius:18px!important}
  .town-why li{font-size:15.5px;line-height:1.5;margin-bottom:8px}
}

/* topbar: two clean centered lines on phones (Oct 23 2026) */
@media (max-width:767px){
  .topbar{padding:7px 0!important}
  .topbar-inner{gap:3px!important}
  .topbar-hours{display:flex!important;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0 5px!important;white-space:nowrap;font-size:12px!important;line-height:1.5;letter-spacing:0!important}
  .topbar-hours::before{display:none!important}
  .topbar-hours > span:first-child{font-size:0!important}
  .topbar-hours > span:first-child::after{content:"Open 8 AM\2013 8 PM daily";font-size:12px;letter-spacing:0}
  .topbar-hours .sage-wait{display:inline-flex;align-items:center;gap:5px}
  .topbar-inner > div:last-child{font-size:12.5px!important;line-height:1.5}
}
@media (max-width:374px){.topbar-hours,.topbar-hours > span:first-child::after,.topbar-inner > div:last-child{font-size:11px!important}}
/* inner-page hours bar + contact strip on phones (Oct 23 2026) */
@media (max-width:767px){
  .hours-bar{font-size:0!important;padding:8px 12px!important;line-height:1.5;text-align:center;white-space:nowrap}
  .hours-bar strong{font-size:0!important}
  .hours-bar::before{content:"Open 8 AM\2013 8 PM daily \00b7";font-size:12px;letter-spacing:0}
  .hours-bar .sage-wait{font-size:12px!important;display:inline-flex;align-items:center;gap:5px;margin-left:5px}
  .hours-bar .sage-wait strong,.hours-bar .sage-wait .sage-wait-label{font-size:12px!important}
  .contact-strip{padding:6px 12px!important}
  .contact-strip-inner{display:flex!important;flex-wrap:nowrap!important;justify-content:center;gap:6px!important;font-size:12.5px!important;white-space:nowrap}
  .contact-strip-inner span:last-child{font-size:0!important}
  .contact-strip-inner span:last-child::after{content:"Berkeley Heights, NJ";font-size:12.5px}
}
@media (max-width:374px){.hours-bar::before,.hours-bar .sage-wait,.hours-bar .sage-wait strong{font-size:11px!important}}
/* hero: full-width Reserve, then one aligned "Current wait" row on phones (Oct 23 2026) */
@media (max-width:767px){
  .hero .reserve-stack{display:flex!important;flex-direction:column!important;gap:8px!important;align-items:stretch!important;max-width:none!important;width:100%!important}
  .hero .reserve-stack .reserve-now{min-height:60px;padding:10px 16px!important;border-radius:14px!important;margin:0!important;justify-content:flex-start}
  .hero .reserve-stack .reserve-now-label{font-size:18px!important;line-height:1.2;white-space:nowrap}
  .hero .reserve-stack .wait-banner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:44px;padding:8px 14px!important;border-radius:12px!important;margin:0!important;text-align:left!important}
  .hero .reserve-stack .wait-banner-label{font-size:11px!important;letter-spacing:.14em;margin:0!important;white-space:nowrap}
  .hero .reserve-stack .wait-banner-value{margin:0!important;font-size:16px!important;line-height:1.2;white-space:nowrap}
}
@media (max-width:767px){.hero-eyebrow{font-size:11px!important;letter-spacing:.06em!important;white-space:nowrap;justify-content:center}}
