/* Shared responsive improvements; loaded in head before first paint. */
html { scroll-padding-top: 88px; }
body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #087f75;
  outline-offset: 3px;
}
@media (max-width: 767px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body .trust-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 20px 16px !important;
    width: auto !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  body .trust-bar-item { min-width: 0; max-width: 100%; justify-content: flex-start; }
  body .trust-bar-item > svg { flex-shrink: 0; }
  body .trust-bar-item > span { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
  body .trust-bar-item:hover { transform: none; }
  body #hero { padding-top: 32px !important; padding-bottom: 56px !important; }
  body #hero .hero-eyebrow { margin-bottom: 20px !important; white-space: normal; }
  body #hero h1 { font-size: clamp(28px, 7.7vw, 38px) !important; line-height: 1.12 !important; }
  body #hero .hero-actions { margin-bottom: 16px !important; }
  body #hero .hero-rating { flex-wrap: wrap; margin-bottom: 20px !important; }
  body .jq-btn { max-width: 100%; white-space: normal; min-height: 44px; }
  body .jq-btn > span { min-width: 0; }
  body .jq-btn > span[style*="width:36px"] { flex-shrink: 0; }
  body .maps-hub .jq-btn { padding-left: 16px !important; padding-right: 16px !important; }
  body .catalog-category { font-size: 13px !important; line-height: 1.5; }
  body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body select, body textarea { font-size: 16px !important; }
  body :is(input[type="search"], input[type="email"], input[type="tel"], select) { min-height: 44px; }
  body .cart-note, body .cart-item-meta { font-size: 13px; line-height: 1.5; }
  body .breadcrumb-nav ol { flex-wrap: wrap; overflow-wrap: anywhere; }
  #orderModal > div[role="dialog"] { max-height: 94vh; max-height: 94dvh !important; }
}
@media (min-width: 480px) and (max-width: 767px) {
  body .trust-bar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 1199px) {
  #siteHeader #mobileMenu { max-height: calc(100vh - 68px); max-height: calc(100dvh - 68px); }
  #siteHeader #mobileMenu > nav { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body .jq-ticker-track { animation: none !important; transform: none !important; }
  body .jq-ticker { overflow-x: auto; }
  body .jq-blob { animation: none !important; }
  #siteHeader .sh-sheet, #siteHeader .sh-item { transition: none !important; }
}
