/* Shared production-theme compatibility, intentionally separate from catalog CSS. */
.site-header .desktop-nav .spp-sf-cart-link { margin: 0; width: auto; }
.site-header .header-inner { gap: 16px; }
@media (min-width: 1281px) {
  .site-header .desktop-nav { gap: 12px; min-width: 0; }
  .site-header .desktop-nav a { white-space: nowrap; font-size: 12px; }
  .site-header .header-contact { display: none; }
  .site-header .brand-name { font-size: 20px; }
  .site-header .header-inner > .button { padding-inline: 14px; }
}
.city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.city-card, .city-card > div { min-width: 0; }
.city-card h3, .city-card p { overflow-wrap: anywhere; }
.city-card > span { flex-shrink: 0; }
@media (max-width: 1280px) {
  .site-header .desktop-nav { max-height: calc(100dvh - 140px); overflow-y: auto; }
  .site-header .desktop-nav .spp-sf-cart-link { justify-content: space-between; }
}
@media (max-width: 760px) {
  .inner-hero-copy { min-width: 0; }
  .inner-hero-copy h1 { font-size: clamp(34px, 10vw, 48px); line-height: 1.08; overflow-wrap: anywhere; }
  .city-grid { grid-template-columns: minmax(0, 1fr); }
  .city-card { padding: 24px 18px; gap: 12px; }
  .city-card h3 { font-size: clamp(24px, 7vw, 30px); }
  .site-header .desktop-nav { top: 66px; }
  .admin-bar .site-header .desktop-nav { top: 112px; }
}
@media (max-width: 420px) {
  .service-content h3 { font-size: 24px; overflow-wrap: anywhere; }
  .site-header .header-inner { gap: 8px; }
  .site-header .brand-name { font-size: clamp(14px, 4.1vw, 17px); }
  .site-header .header-inner > .button { flex: 1 1 112px; min-width: 0; padding-inline: 8px; white-space: normal; text-align: center; }
}
