/* V3.2: readable typography, complete product framing, calmer commerce. */
body { min-width:0; font-family: Inter, 'Helvetica Neue', Arial, sans-serif; --muted:#515c68; --sale:#bd2824; --success:#155dfc; }
.motion-ready .reveal { opacity:1 !important; transform:none !important; transition:none !important; }
h1,h2,h3 { font-weight:800; }
.v2-hero .hero-copy h1 { letter-spacing:-.015em !important; }
.v2-hero .hero-product-main figcaption strong { color:var(--sale); font-size:1.375rem; }
.v2-hero .hero-product-main figcaption small { font-size:.875rem; }
.product-photo { isolation:isolate; }
.product-photo > img { z-index:0 !important; border-radius:0 !important; }
.activity-card > div { top:25px; bottom:auto; max-width:calc(100% - 48px); }
.activity-number { display:none; }
.activity-card-featured { background:#fff !important; color:#11151a; border-color:#bdcce0; }
.activity-card-featured::before { display:none; }
.activity-card-featured small { color:#155dfc; }
.activity-card-featured p { color:#535f6d; }
.activity-card-featured > .product-photo { bottom:20px !important; height:62% !important; }
.activity-card-wide > div { max-width:46%; }
.product-media-actions .quick-view-button::before { display:none; }
.checkout-intro h1 { font-size:clamp(2.3rem,4vw,4rem); line-height:1.12; }
h1,h2,h3 { letter-spacing:-.025em; overflow-wrap:normal; word-break:normal; }
.section-heading h2,.sale-heading h2,.contact-hero h1,.contact-form-card h2,.contact-info-card h2,.location-copy h2,.faq-grid h2,.checkout-heading h1 { line-height:1.08; }
.button { font-size:.875rem; line-height:1.4; min-height:46px; }
.eyebrow { font-size:.75rem; letter-spacing:.11em; line-height:1.5; }
.primary-nav a,.header-search input { font-size:.875rem; }
.brand-copy small { font-size:.75rem; letter-spacing:.08em; }
.announcement-inner { font-size:.75rem; letter-spacing:0; line-height:1.4; padding-block:8px; }
.announcement-note { display:block; color:#dae4f6; }
.section { padding-block:80px; }
.section-heading h2 { font-size:clamp(2rem,3.8vw,3.9rem); }
.section-heading { gap:24px; margin-bottom:32px; }
.section-heading .button,.section-heading .text-link { flex-shrink:0; }
.text-link,.text-button { font-size:.875rem; line-height:1.5; }
.hero-shell { min-height:650px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; }
.v2-hero .hero-copy { padding-block:55px; }
.v2-hero .hero-copy h1 { font-size:clamp(3.2rem,5vw,5.25rem); line-height:1.02; letter-spacing:-.04em; }
.v2-hero .hero-copy h1 .hero-line-accent::after { display:none; }
.v2-hero .hero-lead { font-size:1.0625rem; line-height:1.65; max-width:48ch; }
.hero-kicker { margin-bottom:18px; font-size:.75rem; }
.hero-copy > .eyebrow,.hero-word,.hero-grid-lines,.hero-orbit-ring,.hero-product-index,.hero-tech-card,.hero-visual::before { display:none; }
.v2-hero .hero-visual { min-height:490px; background:#f3f4f6; border:1px solid #d7dde4; border-radius:18px; }
.v2-hero .hero-product-main { inset:76px 24px 34px; height:auto; transform:translate3d(calc(var(--depth-x,0px) * .2),calc(var(--depth-y,0px) * .2),0); }
.v2-hero .hero-product-main figcaption { position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; gap:12px; padding:18px 2px 0; background:transparent; color:#11151a; border:0; border-top:1px solid #d3d9df; box-shadow:none; transform:none; }
.hero-product-main figcaption span { margin-right:auto; font-size:1rem; }
.hero-product-main figcaption small { color:#59616c; font-size:.875rem; text-decoration:line-through; }
.hero-product-main figcaption strong { color:var(--sale); font-size:1.375rem; }
.hero-shop-link { top:20px; right:22px; bottom:auto; min-height:44px; background:#fff; color:#10151d; border:1px solid #ccd3dc; font-size:.875rem; border-radius:8px; }
.hero-shortcuts { gap:12px; margin-top:26px; }
.hero-shortcuts a { min-height:44px; font-size:.875rem; }
.hero-shortcuts a span { display:none; }
.hero-trust-rail { gap:12px; }
.hero-trust-rail > span { min-height:54px; font-size:.875rem; line-height:1.4; }
.hero-trust-rail b { display:none; }

/* Framing removes empty margins in the layout, never in the source photo. */
.product-photo { position:relative; display:block; width:100%; height:100%; overflow:hidden; flex:none; background:#fff; border-radius:8px; }
.product-photo > img { position:absolute !important; max-width:none !important; max-height:none !important; padding:0 !important; margin:0 !important; object-fit:fill !important; transform:none !important; filter:none !important; mix-blend-mode:normal !important; transition:opacity .16s ease !important; }
.hero-product-main > .product-photo { width:100%; height:calc(100% - 70px); background:#f4f4f3; }
.product-card-media-wrap,.sale-rail-media,.gallery-main,.quick-view-media { background:#fff; }
.product-card-media { display:block; padding:12px; padding-top:53px; aspect-ratio:1/1; }
.product-card-media > .product-photo { width:100%; height:100%; }
.product-card-media-wrap { overflow:hidden; }
.product-code,.sale-feature-code,.quick-view-code,.gallery-word,.gallery-code,.sale-rail-number { display:none; }
.product-badge-stack { left:12px; top:12px; gap:5px; max-width:calc(100% - 62px); flex-wrap:wrap; }
.product-badge { font-size:.75rem; line-height:1.2; padding:6px 8px; letter-spacing:0; }
.product-media-actions { top:10px; right:10px; left:auto; bottom:auto; display:flex; flex-direction:column; gap:8px; opacity:1; transform:none; }
.product-media-actions .wishlist-button { width:38px; height:38px; min-width:38px; min-height:38px; background:#fff; }
.product-media-actions .quick-view-button { width:38px; height:38px; min-height:38px; padding:0; font-size:0; opacity:1; transform:none; background:#fff; color:#17202a; border:1px solid #cfd6de; }
.product-media-actions .quick-view-button::after { content:'↗'; font-size:1.25rem; }
.product-card-body { display:flex; flex-direction:column; padding:20px; flex:1; }
.product-card { display:flex; flex-direction:column; }
.product-meta { gap:8px; flex-wrap:wrap; align-items:baseline; font-size:.75rem; margin-bottom:10px; }
.product-brand { font-size:.75rem; letter-spacing:.04em; color:#2159b0; }
.product-name { display:block; overflow:visible; -webkit-line-clamp:unset; min-height:2.7em; font-size:1.0625rem; line-height:1.35; letter-spacing:-.015em; margin-bottom:12px; }
.product-rating,.product-rating small,.sale-feature-rating,.detail-rating,.quick-view-rating { font-size:.8125rem; }
.product-card-footer { margin-top:auto; flex-wrap:wrap; gap:8px; }
.product-price-block { flex-wrap:wrap; }
.product-price-block strong { font-size:1.25rem; }
.product-price-block del,.product-price-block span,.product-card-footer > span { font-size:.8125rem; color:#53606e; }
.product-price-block.is-sale strong { color:var(--sale); }
.product-price-block.is-sale span { color:#a12622; }
.product-actions .button { min-height:46px; font-size:.875rem; }
.activity-card { overflow:hidden; }
.activity-card small { font-size:.75rem; line-height:1.4; letter-spacing:.06em; }
.activity-card > .product-photo { position:absolute; right:10px; bottom:8px; width:60%; height:63%; mix-blend-mode:multiply; background:#fff; }
.activity-card-featured > .product-photo { width:77%; height:60%; right:5%; bottom:9%; mix-blend-mode:normal; border-radius:12px; }
.activity-card-wide > .product-photo { width:47%; height:80%; }
.activity-card h3 { line-height:1.15; }
.sale-heading { margin-bottom:30px; align-items:center; }
.sale-heading h2 { font-size:clamp(2.6rem,4.6vw,4.75rem); line-height:1.08; }
.sale-heading-copy > strong { font-size:clamp(1.6rem,2.6vw,2.5rem); line-height:1.2; letter-spacing:-.025em; }
.sale-heading-copy p { font-size:1rem; max-width:40ch; }
.sale-feature-media { min-height:340px; padding:58px 24px 22px; background:#fff; }
.sale-feature-media > .product-photo { height:260px; }
.sale-feature-media::after { display:none; }
.sale-feature-label { font-size:.75rem; letter-spacing:.025em; }
.sale-feature-content h3 { font-size:clamp(1.65rem,2.4vw,2.5rem); line-height:1.15; }
.sale-feature-content > p:not(.product-brand) { font-size:1rem; line-height:1.6; }
.sale-feature-price { flex-wrap:wrap; }
.sale-feature-price del,.sale-feature-price span { font-size:.875rem; }
.sale-rail-item { grid-template-columns:120px minmax(0,1fr) auto; gap:14px; }
.sale-rail-media { height:128px; padding:5px; }
.sale-rail-copy > p { font-size:.75rem; line-height:1.4; }
.sale-rail-copy h3 { font-size:1rem; line-height:1.35; letter-spacing:-.01em; }
.sale-rail-price del,.sale-rail-price span { font-size:.8125rem; }
.sale-rail-price strong { font-size:1.125rem; }
.sale-rail-open { font-size:.875rem; min-height:44px; }
.campaign-copy { width:60%; }
.campaign-copy h2 { font-size:clamp(2.5rem,4.2vw,4.5rem); line-height:1.08; }
.campaign-copy > p:not(.eyebrow) { font-size:1.0625rem; color:#e1e7f0; }
.campaign-facts span { font-size:.875rem; }
.benefit h3 { font-size:1.125rem; line-height:1.3; }
.benefit p { font-size:1rem; color:#596574; }

.catalog-hero { min-height:270px; }
.catalog-hero::after { content:none; }
.catalog-hero-inner { min-height:0; }
.catalog-hero h1 { font-size:clamp(2.6rem,4.7vw,4.7rem); line-height:1.1; }
.catalog-hero p { max-width:55ch; font-size:1rem; }
.catalog-toolbar { align-items:center; flex-wrap:wrap; }
.catalog-search-wrap input,.catalog-toolbar select,.filter-group select,.filter-group label,.category-filter,.sport-filter { font-size:.875rem; line-height:1.4; }
.sale-filter-toggle,.saved-filter-toggle,.results-count { font-size:.875rem; }
.catalog-search-wrap { flex-basis:260px; }
.active-filter-row { flex-wrap:wrap; align-items:flex-start; gap:10px; background:transparent; border:0; padding:0; }
[data-active-filter] { display:flex; flex-wrap:wrap; gap:8px; flex:1 1 260px; min-width:0; }
.active-filter-row .filter-chip { display:flex; align-items:center; gap:10px; min-height:40px; padding:8px 12px; border:1px solid #c7d5ee; border-radius:7px; color:#173e7c; background:#edf3ff; font-size:.875rem; text-decoration:none; text-align:left; max-width:100%; }
.filter-chip span { overflow-wrap:anywhere; }
.active-filter-row > button { min-height:40px; flex-shrink:0; padding:8px 0; white-space:nowrap; font-size:.875rem; color:#34485f; }
.breadcrumb { font-size:.8125rem; line-height:1.6; flex-wrap:wrap; }
.gallery-main { clip-path:none; aspect-ratio:1/1; min-height:0; padding:65px 25px 80px; }
.gallery-main::before,.gallery-main::after { display:none; }
.gallery-main > .product-photo { width:100%; height:100%; min-height:220px; cursor:zoom-in; }
.gallery-main figcaption { font-size:.8125rem; letter-spacing:.025em; }
.gallery-zoom-trigger { font-size:.875rem; min-height:44px; }
.gallery-thumb,.color-choice { overflow:hidden; padding:4px; background:#fff; }
.gallery-thumb > .product-photo,.color-choice > .product-photo { width:100%; height:100%; }
.purchase-panel h1 { font-size:clamp(2rem,3vw,3.1rem); line-height:1.12; }
.detail-brand,.detail-sku,.detail-sport-tags span { font-size:.8125rem; }
.detail-description { font-size:1rem; line-height:1.7; }
.option-label,.size-choice,.size-guide-link,.product-accordions summary { font-size:.9375rem; }
.option-label { flex-wrap:wrap; gap:8px; line-height:1.6; }
.detail-delivery strong { font-size:.9375rem; }
.detail-delivery small,.spec-card small { font-size:.8125rem; line-height:1.5; }
.product-accordions p,.spec-card strong { font-size:1rem; line-height:1.6; }
.quick-view-media { padding:60px 25px 80px; }
.quick-view-media > .product-photo { width:100%; height:100%; min-height:250px; }
.quick-view-content h2 { line-height:1.15; font-size:clamp(1.8rem,3vw,2.9rem); }
.quick-view-description { font-size:1rem; }
.quick-view-benefits span { font-size:.875rem; line-height:1.5; }
.quick-view-zoom { font-size:.875rem; }
.cart-line-image,.checkout-item-image { background:#fff; padding:3px; }
.cart-line h3,.checkout-item-info > strong { font-size:.9375rem; line-height:1.4; letter-spacing:-.01em; }
.cart-line-variant,.cart-remove,.cart-footer > p,.checkout-item-info small { font-size:.8125rem; line-height:1.5; }
.cart-line-top { gap:10px; }
.cart-line-price { flex-shrink:0; }
.cart-line-price strong { font-size:.9375rem; }
.cart-line-price del { font-size:.75rem; }
.cart-savings,.shipping-progress { font-size:.875rem; }
.cart-drawer-head { flex-shrink:0; }
.cart-status { flex-shrink:0; padding:10px 22px; color:#16498d; background:#edf3ff; font-size:.875rem; line-height:1.5; }
.cart-status[hidden] { display:none; }
body:has(.cart-drawer.is-open) .toast-region { display:none; }
.toast p { font-size:.875rem; line-height:1.5; }
.toast { max-width:360px; }
.field label,.radio-card,.checkout-step-label,.order-summary h2 { font-size:1rem; line-height:1.5; }
.field input,.field textarea,.field select { font-size:1rem; }
.field-error,.form-hint,.checkout-error,.promo-status,.checkout-note { font-size:.875rem; line-height:1.5; }
.form-section-head p,.checkout-intro p,.demo-notice p,.form-global-error,.summary-demo-note { font-size:.875rem; line-height:1.6; }
.field .field-hint,.choice-card small { font-size:.8125rem; line-height:1.5; }
.choice-card strong { font-size:.9375rem; line-height:1.4; }
.choice-card b { font-size:.8125rem; white-space:nowrap; }
.contact-status strong,.detail-delivery strong,.spec-card strong { font-size:.9375rem; line-height:1.4; }
.contact-status p { font-size:.8125rem; line-height:1.5; }
.form-hint { color:#596473; }
.contact-hero h1 { font-size:clamp(2.5rem,4.6vw,4.75rem); }
.contact-method small { font-size:.8125rem; color:#b5c0d0; }
.contact-method strong { font-size:1rem; line-height:1.5; }
.contact-method { min-width:0; }
.contact-method-button { width:100%; color:inherit; border:0; text-align:left; cursor:pointer; }
.contact-method-button:hover { background:#202a39; }
.contact-demo-note { font-size:.8125rem; color:#b5c0d0; line-height:1.6; margin:16px 0 0; }
.hours h3 { font-size:1.125rem; }
.hours > div { gap:18px; font-size:.875rem; line-height:1.6; }
.faq-list summary { font-size:1rem; line-height:1.5; }
.faq-list p,.location-copy > p { font-size:1rem; line-height:1.7; }
.site-footer h2 { font-size:1rem; letter-spacing:0; }
.footer-grid a:not(.brand),.footer-grid > div > span,.footer-grid p { font-size:.9375rem; color:#c6d0dc; line-height:1.65; }
.footer-contact > span { font-size:.9375rem; line-height:1.6; }
.footer-contact small { font-size:.8125rem; color:#a6b4c7; }
.footer-bottom p,.footer-topline { font-size:.8125rem; line-height:1.6; color:#b4c0ce; }
.footer-bottom { align-items:flex-start; gap:20px; }
.footer-bottom p:last-child { max-width:66ch; }
.footer-topline > span { letter-spacing:.08em; }

.ss-viewer__viewport { overflow:hidden; }
.ss-viewer__viewport > .product-photo { width:100%; height:100%; max-height:calc(100dvh - 175px); background:#fff; border-radius:12px; transform-origin:center; }
.ss-viewer__title { font-size:.875rem; letter-spacing:.025em; white-space:normal; }
.ss-viewer__count,.ss-viewer__zoom,.ss-viewer__caption,.ss-viewer__hint { font-size:.8125rem; }
.ss-viewer__button--reset { display:inline-flex; font-size:.75rem; }
.announcement-note::after { content:none; }
.ss-viewer__hint { color:#bec9d8; }
.ss-viewer__viewport > .product-photo.is-ready { transition:transform .12s ease; }
.ss-viewer.is-dragging .product-photo { transition:none; }

@media(max-width:1100px) {
 .header-inner { gap:18px; }
 .primary-nav { gap:20px; }
 .hero-shell { gap:24px; }
 .sale-feature { grid-template-columns:1fr 1fr; }
 .sale-rail-item { grid-template-columns:108px minmax(0,1fr); }
 .sale-rail-media { grid-row:1 / span 2; }
 .sale-rail-actions { grid-column:2; display:flex; justify-content:space-between; }
}
@media(max-width:980px) {
 .hero-shell { grid-template-columns:1fr; }
 .v2-hero .hero-copy { padding-block:40px 10px; }
 .v2-hero .hero-visual { min-height:420px; margin-bottom:20px; }
 .hero-trust-rail { grid-template-columns:1fr 1fr; }
 .sale-feature { grid-template-columns:1fr; }
 .sale-rail-media { grid-row:auto; }
 .gallery-main { aspect-ratio:1.2 / 1; }
}
@media(max-width:760px) {
 .announcement-inner { min-height:32px; }
 .announcement-inner > span:first-child { display:none; }
 .announcement-inner .announcement-note { display:block; font-size:.75rem; }
 .header-inner { min-height:70px; grid-template-columns:1fr auto; }
 .brand-copy small { font-size:.75rem; }
 .primary-nav a { font-size:1rem; }
 .campaign-copy { width:100%; }
 .campaign-copy h2 { font-size:2.65rem; }
 .campaign-banner { min-height:600px; }
 .campaign-facts span { font-size:.75rem; }
 .mobile-shop-nav { grid-template-columns:repeat(auto-fit,minmax(3.25rem,1fr)); padding-inline:0; gap:0; }
 .mobile-shop-nav a,.mobile-shop-nav button { padding-inline:0; }
 .mobile-shop-nav a span,.mobile-shop-nav button span { width:100%; font-size:.75rem; line-height:1.25; white-space:normal; overflow-wrap:anywhere; text-align:center; }
 body:has(.mobile-shop-nav) { padding-bottom:max(84px,5rem); }
 .footer-contact { grid-template-columns:1fr 1fr; }
 .contact-methods { grid-template-columns:1fr; }
 .ss-viewer__toolbar { flex-wrap:wrap; gap:12px; }
 .ss-viewer__meta { width:100%; justify-content:space-between; }
 .ss-viewer__controls { width:100%; justify-content:flex-end; }
 .ss-viewer__viewport > .product-photo { max-height:calc(100dvh - 235px); }
}
@media(max-width:640px) {
 .container { width:calc(100% - 32px); }
 .section { padding-block:54px; }
 .section-heading { flex-direction:column; align-items:flex-start; gap:18px; }
 .section-heading h2 { font-size:2.1rem; }
 .v2-hero .hero-copy { padding-top:30px; }
 .v2-hero .hero-copy h1 { font-size:clamp(2.6rem,11.3vw,4.3rem); line-height:1.06; margin-bottom:18px; }
 .v2-hero .hero-lead { font-size:1rem; margin-bottom:22px; }
 .hero-kicker b { display:none; }
 .hero-shortcuts { margin-top:18px; }
 .hero-shortcuts a { padding-inline:10px; font-size:.875rem; }
 .v2-hero .hero-visual { min-height:335px; border-radius:12px; }
 .v2-hero .hero-product-main { inset:65px 15px 18px; height:auto; }
 .v2-hero .hero-product-main figcaption { padding-top:12px; gap:8px; flex-wrap:wrap; }
 .hero-product-main figcaption span { width:100%; font-size:.9375rem; }
 .hero-product-main > .product-photo { height:calc(100% - 75px); }
 .hero-shop-link { top:12px; right:14px; }
 .hero-trust-rail > span { font-size:.8125rem; }
 .activity-card { min-height:245px; }
 .activity-card-featured { min-height:350px; }
 .activity-card h3 { font-size:1.375rem; }
 .activity-card-featured h3 { font-size:2rem; }
 .activity-card > .product-photo { width:78%; height:52%; }
 .activity-card-wide > .product-photo { width:43%; height:68%; }
 .sale-heading h2 { font-size:2.6rem; }
 .sale-heading-copy > strong { font-size:1.9rem; }
 .sale-feature-media { min-height:300px; padding:56px 16px 18px; }
 .sale-feature-media > .product-photo { height:225px; }
 .sale-feature-content h3 { font-size:1.8rem; }
 .sale-rail-item { grid-template-columns:100px minmax(0,1fr); padding:12px; gap:12px; }
 .sale-rail-media { grid-column:1; grid-row:1 / span 2; height:122px; }
 .sale-rail-copy { grid-column:2; grid-row:1; }
 .sale-rail-actions { grid-column:2; grid-row:2; margin:0; }
 .sale-rail-copy h3 { font-size:.9375rem; }
 .sale-rail-open { min-height:44px; }
 .product-grid,#products-list,.product-grid-featured,.product-grid-related { gap:12px; }
 .product-card-media { aspect-ratio:1 / 1.12; padding:46px 6px 8px; }
 .product-badge-stack { left:8px; top:10px; max-width:calc(100% - 52px); }
 .product-badge-popular { display:none; }
 .product-media-actions { top:8px; right:7px; gap:5px; }
 .product-card-body { padding:14px 11px; }
 .product-meta > span { display:none; }
 .product-meta,.product-brand { font-size:.75rem; }
 .product-name { font-size:.9375rem; min-height:3.9em; line-height:1.3; }
 .product-price-block strong { font-size:1.125rem; }
 .product-price-block del,.product-price-block span,.product-card-footer > span { font-size:.75rem; }
 .product-card-footer { align-items:flex-start; flex-direction:column; min-height:70px; }
 .product-actions .button { font-size:.875rem; padding:10px 8px; min-height:48px; }
 .product-actions .button > span { display:none; }
 .catalog-hero { min-height:200px; }
 .catalog-hero-inner { padding-block:26px; }
 .catalog-section { padding-top:32px; }
 .catalog-hero h1 { font-size:2.55rem; }
 .catalog-search-wrap { width:100%; flex-basis:100%; }
 .catalog-search-wrap input { font-size:1rem; }
 .catalog-mobile-tools { flex-wrap:wrap; gap:10px; }
 .catalog-toolbar .sale-filter-toggle,.catalog-toolbar .saved-filter-toggle { flex:1 1 8rem; height:auto; white-space:normal; }
 .catalog-mobile-tools .filter-open,.catalog-mobile-tools .mobile-sort { flex:1 1 8rem; min-width:0; }
 .catalog-mobile-tools > .results-count { width:100%; }
 .active-filter-row { flex-direction:column; gap:6px; }
 [data-active-filter] { flex:auto; }
 .active-filter-row .filter-chip { font-size:.875rem; }
 .gallery-main { aspect-ratio:1 / 1; padding:48px 12px 55px; }
 .gallery-main > .product-photo { min-height:0; }
 .gallery-main figcaption { left:14px; bottom:16px; max-width:44%; font-size:.75rem; line-height:1.5; }
 .gallery-zoom-trigger { right:12px; bottom:12px; font-size:.8125rem; }
 .purchase-panel h1 { font-size:2rem; line-height:1.15; }
 .purchase-row { flex-wrap:wrap; }
 .purchase-row .button { min-height:48px; }
 .quick-view-media { min-height:285px; height:285px; padding:48px 15px 60px; }
 .quick-view-media > .product-photo { min-height:0; }
 .quick-view-content { padding:25px 20px; }
 .quick-view-content h2 { font-size:1.85rem; }
 .quick-view-actions { flex-wrap:wrap; }
 .quick-view-actions .button { min-height:48px; }
 .cart-drawer { width:100%; max-width:100%; }
 .cart-items { padding:0 16px; min-height:110px; }
 .cart-line { gap:12px; grid-template-columns:76px minmax(0,1fr); }
 .cart-line-image { width:76px; height:94px; }
 .cart-line-top { flex-direction:column; gap:6px; }
 .cart-line-price { display:flex; gap:8px; align-items:baseline; }
 .cart-status { padding:9px 16px; }
 .cart-footer { padding:16px; padding-bottom:max(16px,env(safe-area-inset-bottom)); }
 .cart-savings { gap:12px; font-size:.8125rem; }
 .shipping-progress { margin-bottom:10px; }
 .cart-footer > p { margin-bottom:10px; }
 .cart-footer .text-button { min-height:42px; }
 .toast { max-width:none; }
 .checkout-item { gap:10px; }
 .checkout-item-info > strong { font-size:.875rem; }
 .contact-hero h1 { font-size:2.5rem; }
 .contact-form-card h2,.contact-info-card h2,.location-copy h2,.faq-grid h2 { font-size:2rem; line-height:1.12; }
 .contact-method { grid-template-columns:38px minmax(0,1fr); padding:15px 12px; }
 .contact-method strong { font-size:1rem; }
 .footer-grid { gap:32px 20px; }
 .footer-bottom { display:block; }
 .footer-bottom p { margin-bottom:12px; }
 .ss-viewer__dialog { padding:12px; }
 .ss-viewer__stage { grid-template-columns:36px minmax(0,1fr) 36px; gap:4px; }
 .ss-viewer__nav { width:36px; height:48px; }
 .ss-viewer__hint { display:none; }
 .ss-viewer__footer { grid-template-columns:1fr; }
}
@media(max-width:359px) {
 .product-grid,#products-list,.product-grid-featured,.product-grid-related { grid-template-columns:1fr; }
 .product-card-media { aspect-ratio:1.1/1; }
 .product-name { min-height:auto; }
 .product-card-footer { min-height:auto; }
 .sale-rail-item { grid-template-columns:80px minmax(0,1fr); }
 .footer-contact { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
}
