/* Shared storefront rhythm. Themes supply their own colours. */
:root{--browse-gap:16px;--browse-row-gap:20px}
.catalog-grid{gap:var(--browse-row-gap) var(--browse-gap)}
.product-card{background:var(--browse-card);border-color:var(--browse-border)}
.product-card:hover{box-shadow:none}
.new-arrival-card{background:var(--browse-card);border-color:var(--browse-border)}
.section-head{align-items:center}
.section-head p{max-width:52ch;line-height:1.6}
.product-name,.new-arrival-copy h3{overflow-wrap:anywhere}
.product-body{flex:1;display:flex;flex-direction:column;align-items:stretch}
.product-body .price-line{margin-top:auto;padding-top:8px;flex-wrap:wrap}
.product-rail{scroll-padding-inline:2px}
.filter-block select{min-height:44px}
.rail-controls{flex-shrink:0}
:root[data-storefront-theme="light"]{--browse-card:#FFFFFF;--browse-border:#E5E5E5}
:root[data-storefront-theme="dark"]{--browse-card:#101010;--browse-border:#292929}
/* Size cards from the collection's available width, including the sidebar. */
.catalog-wrap{container-type:inline-size;container-name:collection;min-width:0}
.catalog-grid{--catalog-columns:2;grid-template-columns:repeat(var(--catalog-columns),minmax(0,1fr))}
@media(min-width:680px){
 @container collection (min-width:640px){.catalog-grid{--catalog-columns:3}}
 @container collection (min-width:880px){.catalog-grid{--catalog-columns:4}}
 @container collection (min-width:1164px){.catalog-grid{--catalog-columns:5}}
}
@media(min-width:901px){.shop-layout{gap:22px}.filter-panel{background:var(--surface-container-low)}.section{padding-top:44px}.section-head{margin-bottom:16px}}
@media(max-width:679px){:root{--browse-gap:10px;--browse-row-gap:14px}.section-head{gap:12px}.product-body{padding:10px}.price-line{gap:6px}}
@media(max-width:359px){.product-body{padding:10px 8px}.stock{font-size:10px}}

/* Keep the dot controls within the photo area, so every card body starts alike. */
.product-media .product-gallery{padding-bottom:0;background:var(--surface)}


.product-gallery .gallery-dots{display:none}
.product-media .gallery-count{bottom:10px;right:10px}
@media(max-width:900px){body>#mobileBottomNav{position:fixed;top:auto;transform:none;transition:none;will-change:auto}}

/* Desktop categories use the same translucent surface as the mobile dock. */
@media(min-width:901px){
 :where(html[data-storefront-theme]) .desktop-category-sticky{background:var(--surface);border-bottom-color:var(--navigation-edge)}
 @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :where(html[data-storefront-theme]) .desktop-category-sticky{background:var(--navigation-glass);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12)}
 }
}

/* Compact spacing without shrinking photos or touch controls. */
:where(html[data-storefront-theme]) .section-head{gap:14px}
:where(html[data-storefront-theme]) .product-body{padding:12px}
:where(html[data-storefront-theme]) .new-arrival-copy{padding:12px;gap:7px}
:where(html[data-storefront-theme]) .new-arrival-copy p{min-height:0}
:where(html[data-storefront-theme]) .best-seller-section{padding:16px 0;margin:0}
:where(html[data-storefront-theme]) .best-seller-section .section-head{margin-bottom:14px}
:where(html[data-storefront-theme]) .filter-panel{padding:16px}
:where(html[data-storefront-theme]) .filter-block{padding:10px 0}
:where(html[data-storefront-theme]) .catalog-toolbar{margin-bottom:12px}
@media(min-width:901px){
 :where(html[data-storefront-theme]) .brand-row{padding-top:12px;padding-bottom:12px}
 :where(html[data-storefront-theme]) .desktop-category-sticky{padding-top:6px;padding-bottom:6px}
}
@media(max-width:900px){
 :where(html[data-storefront-theme]) .section{padding-top:32px}
 :where(html[data-storefront-theme]) .section-head{margin-bottom:14px}
 :where(html[data-storefront-theme]) .product-body{padding:10px}
}
@media(max-width:359px){:where(html[data-storefront-theme]) .product-body{padding:10px 8px}}

/* Follow the same header state and timing as the desktop category row. */
@media(min-width:901px){
 :where(html[data-storefront-theme]) .filter-panel{top:calc(var(--desktop-header-height,90px) + var(--desktop-categories-height,51px) + 16px);transition:top .22s var(--ease)}
 .site-shell:has(.app-header.is-scroll-hidden) .filter-panel{top:calc(var(--desktop-categories-height,51px) + 16px)}
}
@media(prefers-reduced-motion:reduce){:where(html[data-storefront-theme]) .filter-panel{transition:none}}

/* Reserve an equal title area so brand labels line up without script measurements. */
.catalog-grid .product-name{height:2.8em;min-height:2.8em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(min-width:901px){
 .brand-row .top-actions{gap:8px;align-items:center}
 .brand-row .top-action,.brand-row .cart-action{height:48px;min-height:48px;border-radius:999px;border:0;background:transparent;color:var(--ink);box-shadow:none;padding:8px 12px;gap:9px}
 .brand-row .top-action .icon,.brand-row .cart-icon{width:22px;height:22px;color:var(--ink)}
 .brand-row .top-action .ui-icon,.brand-row .cart-icon .ui-icon{width:22px;height:22px}
 .brand-row .top-action>span:last-child{display:block;text-align:left;line-height:1.25}
 .brand-row .top-action small{font-size:10px;font-weight:600;color:var(--muted)}
 .brand-row .top-action strong{font-size:12px;font-weight:750;color:var(--ink);margin-top:2px}
 .brand-row .cart-action{display:flex;flex-direction:row}
 .brand-row .cart-label{font-size:12px;font-weight:750;order:1}
 .brand-row .cart-bubble{position:static;order:2;border:0;min-width:22px;height:22px;padding:3px 6px;display:grid;place-items:center;background:var(--surface-container-high);color:var(--ink);font-size:11px;line-height:1}
 .brand-row .top-action:hover,.brand-row .cart-action:hover{background:var(--surface-container-high);border-color:transparent;box-shadow:none;transform:none}
}
@media(min-width:901px) and (max-width:1100px){.brand-row .top-action,.brand-row .cart-action{padding:8px}.brand-row .top-action>span:last-child{display:none}.brand-row .cart-label{display:none}}

/* Cover the space above the moving category bar while the header transitions.
   The header paints above this surface; no scroll interception or extra blur. */
@media(min-width:901px){
 .desktop-category-sticky::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--desktop-header-height,90px);background:var(--surface);pointer-events:none}
}

/* In four/five-column collection rows, keep the caption to name and price. */
@media(min-width:680px){
 @container collection (min-width:880px){
  .catalog-grid > .product-card .product-brand,
  .catalog-grid > .product-card .stock,
  .catalog-grid > .product-card .original-price{display:none}
 }
}

/* Keep all three product actions reachable without horizontal panning. */
@media(max-width:600px){
 .product-sheet .sheet-tabs{display:flex;justify-content:safe center;gap:4px;overflow-x:auto;scrollbar-width:none}
 .product-sheet .sheet-tab{min-width:0;flex:0 0 auto;white-space:nowrap;padding:8px 10px;min-height:44px;line-height:1.35;text-align:center}
}

/* Consistent reading hierarchy and spacing; colours come from the active theme. */
:root{--shop-radius:16px;--shop-control-radius:12px}
.section-head h2{font-size:clamp(25px,2.4vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.025em}
.section-head .eyebrow{font-weight:600;letter-spacing:.1em;line-height:1.5}
.catalog-grid .product-name{font-size:14px;font-weight:650;letter-spacing:-.01em}
.catalog-grid .price{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.015em}
.catalog-grid .product-brand{font-size:11px;font-weight:500;letter-spacing:.035em}
.catalog-grid .stock{font-size:11px;line-height:1.5}
.catalog-grid .product-card{border-radius:var(--shop-radius)}
:where(.section,.sheet-body) button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.view-info h2{font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.15;letter-spacing:-.025em;margin-block:8px 14px;overflow-wrap:anywhere}
.view-info>.eyebrow{font-weight:550;letter-spacing:.08em;line-height:1.5}
.view-info>.price-line .price{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.view-info .detail-panel{border-radius:var(--shop-radius);padding:16px;margin-block:16px}
.view-info .size-button{min-height:44px;border-radius:var(--shop-control-radius)}
.view-info .pair-quantity-panel{border:0;padding:0;background:transparent;box-shadow:none}
.view-info .view-actions{gap:10px;margin-block:18px}
.view-info .view-actions button{min-height:44px;border-radius:var(--shop-control-radius);line-height:1.4;white-space:normal}
.pair-detail{border-top:1px solid var(--line);padding:14px 0;line-height:1.65}
.pair-detail summary{font-size:14px;font-weight:600;cursor:pointer;min-height:32px;display:list-item}
.pair-detail .detail-copy{font-size:14px;margin:8px 0 0;line-height:1.7}
.pair-detail summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.catalog-state{grid-column:1/-1;padding:32px 20px;text-align:center;border:1px solid var(--line);border-radius:var(--shop-radius);background:var(--surface);min-height:180px;display:grid;justify-items:center;align-content:center;gap:12px}
.catalog-state h3,.catalog-state p{margin:0}.catalog-state h3{font-size:20px;font-weight:650}.catalog-state p{max-width:42ch;color:var(--muted);line-height:1.6}.catalog-state button{min-height:44px;padding:10px 20px;border-radius:var(--shop-control-radius)}
.catalog-skeleton{border:1px solid var(--line);border-radius:var(--shop-radius);overflow:hidden;min-width:0}
.catalog-skeleton-photo{aspect-ratio:1;background:var(--surface-container-high)}
.catalog-skeleton-copy{padding:14px}.catalog-skeleton-line{height:12px;border-radius:6px;background:var(--surface-container-high);margin-bottom:12px;width:80%}.catalog-skeleton-line:last-child{width:45%;margin-bottom:0}
#catalogGrid[aria-busy=true] .catalog-skeleton{animation:none}
@media(max-width:679px){.catalog-grid .product-name{font-size:13px}.catalog-grid .price{font-size:16px}.view-info .detail-panel{padding:14px}.catalog-state{padding:24px 14px}}

/* Clearly separate the resumed collection from the featured rail. */
.collection-continuation{grid-column:1/-1;margin:8px 0 2px;font-size:clamp(20px,2vw,26px);font-weight:650;line-height:1.25;letter-spacing:-.02em;color:var(--ink)}

#productSheet.is-order{top:var(--order-viewport-top,0px);bottom:auto;height:var(--order-viewport-height,100dvh);max-height:var(--order-viewport-height,100dvh)}
#productSheet .message-composer{border-block:0;box-shadow:none}

#productSheet .sheet-tabs{justify-content:safe center}

#productSheet.is-order .order-scroll{padding-bottom:calc(16px + var(--order-keyboard-cover,0px))}

/* Keep transparent photo controls readable without obscuring the image. */
.product-media .wishlist .ui-icon,.product-gallery .gallery-arrow .ui-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.65)) drop-shadow(0 0 1px rgba(255,255,255,.9))}
.product-media .wishlist:focus-visible,.product-gallery .gallery-arrow:focus-visible{outline:2px solid var(--tsp-instagram-blue,#0095f6);outline-offset:2px}

/* Quiet product action tabs: only the selected action has a pill. */
.search-category-menu{scrollbar-width:none;-ms-overflow-style:none}
.search-category-menu::-webkit-scrollbar{display:none;width:0;height:0}

/* Header actions have no resting box. Interaction uses one soft pill. */
@media(min-width:901px){
 body:has(#accountSheet[open]) #accountBtn,body:has(#savedSheet[open]) #wishlistBtn,body:has(#cartSheet[open]) #cartBtn{background:var(--surface-container-high);border-radius:999px;box-shadow:none}
 .brand-row .top-action:focus-visible,.brand-row .cart-action:focus-visible{background:var(--surface-container-high);outline:2px solid var(--tsp-instagram-blue);outline-offset:2px}
}
@media(hover:hover) and (pointer:fine){
 .product-gallery .gallery-arrow{opacity:0;pointer-events:none}
 .product-card:hover .gallery-arrow,.product-gallery:hover .gallery-arrow,.product-gallery:focus-within .gallery-arrow{opacity:1;pointer-events:auto}
}

@media(min-width:901px){
 #productSheet>.sheet-shell{left:var(--pair-left,280px);right:var(--pair-right,18px);width:auto;max-width:none;top:12px;bottom:12px;border-radius:24px;border:1px solid var(--line);box-shadow:0 16px 48px #0003;container:pair-pane / inline-size}
 #productSheet::backdrop{background:rgba(0,0,0,.64)}
 #productSheet>.sheet-shell{overflow:hidden;isolation:isolate}
 #productSheet .sheet-header{border-radius:23px 23px 0 0}
 #productSheet .sheet-header{padding:20px 24px 16px;border-bottom:1px solid var(--line);margin-bottom:14px;background:var(--surface)}
 #productSheet .sheet-kicker{font-size:14px;font-weight:750;letter-spacing:.08em;color:var(--ink)}
 .help-card .store-contact-actions{display:flex;flex-wrap:nowrap;max-width:none;justify-content:center}
 .help-card .store-contact-actions :is(button,a){white-space:nowrap;flex:0 1 auto;padding-inline:14px}
 .loop-form button{white-space:nowrap}
}
@container pair-pane (max-width:760px){.view-layout{grid-template-columns:minmax(0,1fr)}.view-media{position:relative}.view-info h2{font-size:30px}}

/* Desktop action rows share the same baseline across the two cards. */
@media(min-width:901px){
 .help-grid{align-items:stretch}
 .help-grid>.help-card,.help-grid>.loop-card{padding-bottom:22px}
 .help-grid .store-contact-actions,.help-grid .loop-form{margin-top:auto;padding-top:20px;margin-bottom:0;align-items:center}
 .help-grid .store-contact-actions :is(button,a),.help-grid .loop-form :is(input,button){height:48px;min-height:48px;box-sizing:border-box}
 .help-grid .loop-form{grid-template-columns:minmax(0,1fr) auto}
}
.loop-copy #newsletterMessage{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}
.loop-copy #newsletterMessage:empty{display:none}

/* --------------------------------------------------------------------------
   v467 Ã‚Â· Shoe Plug editorial commerce system
   Original neutral Material 3 palette retained. Layout and hierarchy are
   tailored to Shoe Plug Rwanda; no Nike marks, copy, or layouts are reused.
   -------------------------------------------------------------------------- */
:root[data-storefront-theme="light"] {
  color-scheme: light;
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --surface-container-low:#F7F7F7;
  --surface-container:#F2F2F2;
  --surface-container-high:#E8E8E8;
  --soft:#FFFFFF;
  --muted-surface:#E8E8E8;
  --ink:#000000;
  --ink-soft:#000000;
  --muted:#5F5F5F;
  --nav:#FFFFFF;
  --nav-soft:#E8E8E8;
  --brand:#000000;
  --brand-deep:#1A1A1A;
  --brand-container:#E2E2E2;
  --on-brand:#FFFFFF;
  --md-sys-color-primary:#000000;
  --md-sys-color-on-primary:#FFFFFF;
  --md-sys-color-primary-container:#E2E2E2;
  --md-sys-color-on-primary-container:#1A1A1A;
  --md-sys-color-secondary:#5F5F5F;
  --md-sys-color-on-secondary:#FFFFFF;
  --md-sys-color-secondary-container:#E8E8E8;
  --md-sys-color-on-secondary-container:#1A1A1A;
  --md-sys-color-surface:#FFFFFF;
  --md-sys-color-on-surface:#000000;
  --md-sys-color-on-surface-variant:#5F5F5F;
  --md-sys-color-surface-container-low:#F7F7F7;
  --md-sys-color-surface-container:#F2F2F2;
  --md-sys-color-surface-container-high:#E8E8E8;
  --md-sys-color-outline:#737373;
  --md-sys-color-outline-variant:#C6C6C6;
  --good:#18794E;
  --line:#C6C6C6;
  --line-strong:#737373;
  --glass-border:#C6C6C6;
  --surface-glass:#FFFFFF;
  --surface-glass-soft:#F7F7F7;
  --header-glass:#FFFFFF;
  --card-glass:#FFFFFF;
  --panel-glass:#FFFFFF;
  --body-gradient:#FFFFFF;
  --editorial-gradient:#F7F7F7;
  --trust-intro-gradient:#F7F7F7;
  --help-card-gradient:#F7F7F7;
  --loop-card-gradient:#F7F7F7;
  --surface-hover:#E8E8E8;
  --field-bg:#F7F7F7;
  --success-bg:#F1FAF4;
  --success-border:rgba(24,121,78,.22);
  --success-ink:#14532D;
  --success-muted:#35664A;
  --notice-bg:#FFFCF3;
  --warning-bg:#FFF8F0;
  --warning-border:#F2D1AF;
  --warning-ink:#8A341A;
  --navigation-glass:rgba(255,255,255,.86);
  --navigation-edge:rgba(0,0,0,.12);
  --sheet-edge:rgba(0,0,0,.14);
  --browse-card:#FFFFFF;
  --browse-border:#E5E5E5;
  --tsp-star-gold:#E5A817;
  --tsp-star-outline:#B7B7B7;
  --tsp-instagram-blue:#0095F6;
  --tsp-instagram-blue-hover:#1877F2;
  --tsp-on-instagram-blue:#FFFFFF;
  --shop-radius:18px;
  --shop-control-radius:999px;
}
:root[data-storefront-theme="dark"] {
  color-scheme: dark;
  --bg:#000000;
  --surface:#000000;
  --surface-container-low:#141414;
  --surface-container:#222222;
  --surface-container-high:#303030;
  --soft:#000000;
  --muted-surface:#303030;
  --ink:#F5F5F5;
  --ink-soft:#F5F5F5;
  --muted:#BDBDBD;
  --nav:#000000;
  --nav-soft:#303030;
  --brand:#C6C6C6;
  --brand-deep:#E2E2E2;
  --brand-container:#454545;
  --on-brand:#1A1A1A;
  --md-sys-color-primary:#C6C6C6;
  --md-sys-color-on-primary:#1A1A1A;
  --md-sys-color-primary-container:#454545;
  --md-sys-color-on-primary-container:#E2E2E2;
  --md-sys-color-secondary:#BDBDBD;
  --md-sys-color-on-secondary:#1A1A1A;
  --md-sys-color-secondary-container:#303030;
  --md-sys-color-on-secondary-container:#F5F5F5;
  --md-sys-color-surface:#000000;
  --md-sys-color-on-surface:#F5F5F5;
  --md-sys-color-on-surface-variant:#BDBDBD;
  --md-sys-color-surface-container-low:#141414;
  --md-sys-color-surface-container:#222222;
  --md-sys-color-surface-container-high:#303030;
  --md-sys-color-outline:#9E9E9E;
  --md-sys-color-outline-variant:#494949;
  --good:#55CB8A;
  --line:#494949;
  --line-strong:#9E9E9E;
  --glass-border:#494949;
  --surface-glass:#000000;
  --surface-glass-soft:#141414;
  --header-glass:#000000;
  --card-glass:#101010;
  --panel-glass:#111111;
  --body-gradient:#000000;
  --editorial-gradient:#141414;
  --trust-intro-gradient:#141414;
  --help-card-gradient:#141414;
  --loop-card-gradient:#141414;
  --surface-hover:#303030;
  --field-bg:#141414;
  --success-bg:#102A20;
  --success-border:rgba(85,203,138,.26);
  --success-ink:#B7F3CF;
  --success-muted:#8BD5A8;
  --notice-bg:#2A2416;
  --warning-bg:#2B1C18;
  --warning-border:#754638;
  --warning-ink:#FFC3A9;
  --navigation-glass:rgba(12,12,12,.86);
  --navigation-edge:rgba(255,255,255,.16);
  --sheet-edge:rgba(255,255,255,.18);
  --browse-card:#101010;
  --browse-border:#292929;
  --tsp-star-gold:#E5A817;
  --tsp-star-outline:#B7B7B7;
  --tsp-instagram-blue:#0095F6;
  --tsp-instagram-blue-hover:#1877F2;
  --tsp-on-instagram-blue:#FFFFFF;
  --shop-radius:18px;
  --shop-control-radius:999px;
}

/* Rwanda service ribbon: a small local signal, not a copied brand utility bar. */
.store-service-bar {
  display:flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,2.1vw,30px);
  overflow:hidden;
  padding:7px clamp(16px,3vw,36px);
  border-bottom:1px solid var(--line);
  background:var(--nav);
  color:var(--ink);
  font-size:9px;
  font-weight:800;
  letter-spacing:.105em;
  line-height:1.35;
  text-transform:uppercase;
}
.store-service-bar span { flex:0 0 auto; white-space:nowrap; }
.store-service-bar span+span:before {
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 clamp(10px,1.6vw,22px) 2px 0;
  border-radius:50%;
  background:var(--muted);
  content:"";
}

/* Header: clear wayfinding, search at the centre, and familiar account actions. */
:where(html[data-storefront-theme]) .app-header {
  position:sticky;
  top:0;
  z-index:58;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:var(--header-glass);
  box-shadow:0 2px 14px rgba(0,0,0,.035);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
:where(html[data-storefront-theme]) .brand-row {
  max-width:1560px;
  min-height:76px;
  grid-template-columns:auto minmax(260px,1fr) auto;
  gap:clamp(16px,2.2vw,34px);
  padding:13px clamp(18px,3vw,38px) 11px;
}
:where(html[data-storefront-theme]) .brand { gap:11px; }
:where(html[data-storefront-theme]) .brand-mark {
  width:40px;
  height:40px;
  border-radius:11px;
  object-fit:cover;
}
:where(html[data-storefront-theme]) .brand strong {
  font-size:15px;
  font-weight:850;
  letter-spacing:-.035em;
}
:where(html[data-storefront-theme]) .brand em {
  margin-top:3px;
  font-size:9px;
  letter-spacing:.19em;
}
:where(html[data-storefront-theme]) .search-pill {
  height:48px;
  border-color:var(--line);
  border-radius:999px;
  background:var(--surface-container-low);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .search-pill:focus-within {
  border-color:var(--md-sys-color-outline);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent);
}
:where(html[data-storefront-theme]) .search-pill input { font-size:13px; }
:where(html[data-storefront-theme]) .top-actions { gap:8px; }
:where(html[data-storefront-theme]) .top-action,
:where(html[data-storefront-theme]) .cart-action,
:where(html[data-storefront-theme]) .header-icon {
  min-height:44px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
}
:where(html[data-storefront-theme]) .top-action { padding:7px 10px; }
:where(html[data-storefront-theme]) .top-action:hover,
:where(html[data-storefront-theme]) .cart-action:hover,
:where(html[data-storefront-theme]) .header-icon:hover {
  border-color:var(--line);
  background:var(--surface-container-low);
  transform:none;
}
:where(html[data-storefront-theme]) .top-action small { font-size:9px; }
:where(html[data-storefront-theme]) .top-action strong { font-size:11px; }
:where(html[data-storefront-theme]) .cart-action { min-width:48px; }
:where(html[data-storefront-theme]) .cart-bubble {
  border-color:var(--surface);
  font-variant-numeric:tabular-nums;
}
:where(html[data-storefront-theme]) .nav-row {
  max-width:1560px;
  min-height:45px;
  padding:0 clamp(18px,3vw,38px) 9px;
}
:where(html[data-storefront-theme]) .nav-scroll { gap:5px; }
:where(html[data-storefront-theme]) .nav-link,
:where(html[data-storefront-theme]) .soft-link {
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:750;
}
:where(html[data-storefront-theme]) .nav-link.active,
:where(html[data-storefront-theme]) .nav-link[aria-pressed="true"] {
  border-color:var(--line);
  background:var(--surface-container-high);
  color:var(--ink);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .soft-link { min-height:34px; }
:where(html[data-storefront-theme]) .mobile-category-dock {
  border-color:var(--line);
  background:var(--header-glass);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

/* Hero: wide campaign photography paired with Shoe Plug's own editorial copy. */
:where(html[data-storefront-theme]) .editorial-stage {
  display:grid;
  min-height:560px;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  overflow:hidden;
  margin:18px clamp(16px,2.5vw,30px) 0;
  border:1px solid var(--glass-border);
  border-radius:22px;
  background:var(--surface);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .editorial-media {
  position:relative;
  min-width:0;
  min-height:560px;
  overflow:hidden;
  background:var(--surface-container);
}
:where(html[data-storefront-theme]) .editorial-media picture,
:where(html[data-storefront-theme]) .editorial-media img {
  width:100%;
  height:100%;
}
:where(html[data-storefront-theme]) .editorial-media img {
  object-fit:cover;
  object-position:center;
}
:where(html[data-storefront-theme]) .editorial-media-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.58) 100%);
  pointer-events:none;
}
:where(html[data-storefront-theme]) .editorial-caption {
  right:clamp(18px,3vw,32px);
  bottom:clamp(22px,3vw,34px);
  left:clamp(18px,3vw,32px);
}
:where(html[data-storefront-theme]) .editorial-caption span {
  font-size:9px;
  letter-spacing:.19em;
}
:where(html[data-storefront-theme]) .editorial-caption strong {
  max-width:15ch;
  font-size:clamp(24px,3vw,40px);
  line-height:1.12;
  letter-spacing:-.045em;
}
:where(html[data-storefront-theme]) .editorial-content {
  justify-content:center;
  padding:clamp(32px,4.7vw,68px);
  background:var(--editorial-gradient);
}
:where(html[data-storefront-theme]) .editorial-kicker {
  gap:10px;
  font-size:9px;
  letter-spacing:.16em;
}
:where(html[data-storefront-theme]) .editorial-divider { width:34px; }
:where(html[data-storefront-theme]) .editorial-content h1 {
  max-width:12ch;
  margin:20px 0 16px;
  font-size:clamp(44px,4.5vw,66px);
  font-weight:750;
  line-height:1.06;
  letter-spacing:-.045em;
  text-wrap:balance;
}
:where(html[data-storefront-theme]) .editorial-content h1 span { color:var(--brand); }
:where(html[data-storefront-theme]) .editorial-content>p {
  max-width:46ch;
  font-size:14px;
  line-height:1.75;
}
:where(html[data-storefront-theme]) .editorial-actions { gap:10px; margin-top:26px; }
:where(html[data-storefront-theme]) .editorial-actions :is(.primary,.secondary) {
  min-height:48px;
  padding-inline:23px;
  font-size:12px;
}
:where(html[data-storefront-theme]) .editorial-proof {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}
:where(html[data-storefront-theme]) .editorial-proof span {
  min-width:0;
  padding:13px 0 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
:where(html[data-storefront-theme]) .editorial-proof b { font-size:11px; line-height:1.35; }
:where(html[data-storefront-theme]) .editorial-proof small {
  margin-top:5px;
  font-size:9px;
  line-height:1.45;
}

/* Section rhythm, category discovery and featured arrivals. */
:where(html[data-storefront-theme]) main { max-width:1560px; }
:where(html[data-storefront-theme]) .section {
  padding:clamp(54px,6.2vw,82px) clamp(16px,2.5vw,30px) 0;
}
:where(html[data-storefront-theme]) .section-compact { padding-top:clamp(44px,5vw,66px); }
:where(html[data-storefront-theme]) .section-head {
  align-items:flex-end;
  gap:18px;
  margin-bottom:22px;
}
:where(html[data-storefront-theme]) .section-head .eyebrow,
:where(html[data-storefront-theme]) .eyebrow {
  font-size:11px;
  font-weight:750;
  letter-spacing:.12em;
}
:where(html[data-storefront-theme]) .section-head h2 {
  margin:8px 0 0;
  font-size:clamp(28px,3.3vw,44px);
  font-weight:850;
  line-height:1.12;
  letter-spacing:-.04em;
}
:where(html[data-storefront-theme]) .section-head p {
  margin-top:8px;
  font-size:12px;
  line-height:1.6;
}
:where(html[data-storefront-theme]) .text-button {
  min-height:40px;
  padding:8px 0 8px 12px;
  font-size:11px;
}
:where(html[data-storefront-theme]) .category-grid {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(9px,1.1vw,16px);
}
:where(html[data-storefront-theme]) .category-card {
  position:relative;
  min-width:0;
  aspect-ratio:.86/1;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-container-low);
  text-align:left;
}
:where(html[data-storefront-theme]) .category-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
:where(html[data-storefront-theme]) .category-card:after {
  position:absolute;
  inset:28% 0 0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.68));
  content:"";
  pointer-events:none;
}
:where(html[data-storefront-theme]) .category-card div {
  position:absolute;
  z-index:1;
  right:14px;
  bottom:15px;
  left:14px;
  color:#FFFFFF;
}
:where(html[data-storefront-theme]) .category-card b {
  display:block;
  font-size:clamp(13px,1.25vw,17px);
  font-weight:850;
  line-height:1.15;
}
:where(html[data-storefront-theme]) .category-card span {
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.82);
  font-size:9px;
  line-height:1.35;
}
:where(html[data-storefront-theme]) .category-card.is-active {
  outline:2px solid var(--brand);
  outline-offset:2px;
}
:where(html[data-storefront-theme]) .product-rail { gap:16px; }
:where(html[data-storefront-theme]) .new-arrival-card {
  min-width:0;
  overflow:hidden;
  border:0;
  border-radius:16px;
  background:transparent;
}
:where(html[data-storefront-theme]) .new-arrival-media {
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border:1px solid var(--browse-border);
  border-radius:16px;
  background:var(--surface-container-low);
}
:where(html[data-storefront-theme]) .new-arrival-media img {
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
:where(html[data-storefront-theme]) .new-arrival-badge {
  border:1px solid rgba(255,255,255,.46);
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#FFFFFF;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
}
:where(html[data-storefront-theme]) .new-arrival-copy { padding:12px 2px 6px; gap:2px; }
:where(html[data-storefront-theme]) .new-arrival-copy h3 {
  margin:0;
  font-size:clamp(16px,1.3vw,20px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
}
:where(html[data-storefront-theme]) .new-arrival-copy p {
  margin:2px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
:where(html[data-storefront-theme]) .rail-controls { display:flex; gap:6px; }
:where(html[data-storefront-theme]) .rail-controls button {
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--surface);
  color:var(--ink);
}
:where(html[data-storefront-theme]) .rail-controls button:hover { background:var(--surface-container-high); }

/* Collection: a stable filter column and image-first product tiles. */
:where(html[data-storefront-theme]) .shop-section { padding-top:clamp(64px,7vw,94px); }
:where(html[data-storefront-theme]) .shop-head { margin-bottom:24px; }
:where(html[data-storefront-theme]) .shop-layout {
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  align-items:start;
  gap:clamp(18px,2.4vw,30px);
}
:where(html[data-storefront-theme]) .filter-panel {
  position:sticky;
  top:132px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .filter-top { padding-bottom:14px; }
:where(html[data-storefront-theme]) .filter-top h3 {
  margin:5px 0 0;
  font-size:17px;
  font-weight:850;
  letter-spacing:-.035em;
}
:where(html[data-storefront-theme]) .filter-block { padding:13px 0; }
:where(html[data-storefront-theme]) .filter-block label {
  margin-bottom:8px;
  color:var(--ink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
:where(html[data-storefront-theme]) .filter-block :is(select,input:not([type="range"])) {
  min-height:44px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--field-bg);
  color:var(--ink);
}
:where(html[data-storefront-theme]) .filter-block input[type="range"] { accent-color:var(--brand); }
:where(html[data-storefront-theme]) .filter-value { font-size:10px; }
:where(html[data-storefront-theme]) .catalog-toolbar {
  min-height:42px;
  margin-bottom:14px;
}
:where(html[data-storefront-theme]) .results { gap:7px; }
:where(html[data-storefront-theme]) .results strong { font-size:14px; font-weight:850; }
:where(html[data-storefront-theme]) .results span { font-size:11px; }
:where(html[data-storefront-theme]) .sort-chip,
:where(html[data-storefront-theme]) .filter-button {
  min-height:40px;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:none;
  font-size:11px;
  font-weight:800;
}
:where(html[data-storefront-theme]) .catalog-wrap { min-width:0; }
:where(html[data-storefront-theme]) .catalog-grid {
  display:grid;
  grid-template-columns:repeat(var(--catalog-columns),minmax(0,1fr));
  gap:clamp(16px,1.6vw,24px) clamp(10px,1.15vw,17px);
}
:where(html[data-storefront-theme]) .product-card {
  min-width:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
:where(html[data-storefront-theme]) .product-media {
  position:relative;
  overflow:hidden;
  padding:0;
  border:1px solid var(--browse-border);
  border-radius:14px;
  background:var(--surface-container-low);
}
:where(html[data-storefront-theme]) .product-gallery {
  overflow:hidden;
  border-radius:inherit;
  background:var(--surface-container-low);
}
:where(html[data-storefront-theme]) .product-gallery-track {
  display:flex;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y pinch-zoom;
  border-radius:inherit;
  background:var(--surface-container-low);
}
:where(html[data-storefront-theme]) .product-gallery-track::-webkit-scrollbar { display:none; }
:where(html[data-storefront-theme]) .product-gallery .gallery-slide {
  display:flex;
  aspect-ratio:1/1;
  align-items:center;
  justify-content:center;
  background:var(--surface-container-low);
}
:where(html[data-storefront-theme]) .product-gallery .gallery-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
}
:where(html[data-storefront-theme]) .wishlist {
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#000000;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
:where(html[data-storefront-theme]) .wishlist .ui-icon { width:17px; height:17px; }
:where(html[data-storefront-theme]) .wishlist[aria-pressed="true"] { color:#000000; }
:where(html[data-storefront-theme]) .product-body {
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  align-items:stretch;
  padding:12px 2px 3px;
}
:where(html[data-storefront-theme]) .product-name {
  display:-webkit-box;
  min-height:2.7em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:13px;
  font-weight:780;
  line-height:1.35;
  letter-spacing:-.02em;
}
:where(html[data-storefront-theme]) .product-brand {
  margin-top:2px;
  color:var(--muted);
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}
:where(html[data-storefront-theme]) .price-line {
  justify-content:flex-start;
  gap:8px;
  margin-top:auto;
  padding-top:9px;
}
:where(html[data-storefront-theme]) .price {
  color:var(--ink);
  font-size:clamp(14px,1.3vw,18px);
  font-weight:850;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
}
:where(html[data-storefront-theme]) .original-price { font-size:10px; }
:where(html[data-storefront-theme]) .stock {
  margin-top:5px;
  font-size:10px;
  line-height:1.4;
}
:where(html[data-storefront-theme]) .catalog-loading,
:where(html[data-storefront-theme]) .catalog-end {
  padding:28px 0;
  color:var(--muted);
  font-size:11px;
}
:where(html[data-storefront-theme]) .catalog-state {
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-container-low);
}

/* Checkout confidence and support: clear information, quiet surfaces. */
:where(html[data-storefront-theme]) .trust-section,
:where(html[data-storefront-theme]) .process-section,
:where(html[data-storefront-theme]) .help-section {
  /* Keep these short sections measured so the page height stays stable. */
  content-visibility:visible;
}
:where(html[data-storefront-theme]) .trust-head,
:where(html[data-storefront-theme]) .process-head {
  margin-bottom:19px;
}
:where(html[data-storefront-theme]) .trust-head h2,
:where(html[data-storefront-theme]) .process-head h2 {
  margin:8px 0 0;
  font-size:clamp(30px,4vw,48px);
  font-weight:850;
  line-height:1;
  letter-spacing:-.04em;
}
:where(html[data-storefront-theme]) .trust-shell,
:where(html[data-storefront-theme]) .process-shell {
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-container-low);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .trust-shell { padding:12px; }
:where(html[data-storefront-theme]) .trust-intro {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
:where(html[data-storefront-theme]) .trust-number,
:where(html[data-storefront-theme]) .process-index {
  border-radius:12px;
  background:var(--surface-container-high);
  color:var(--ink);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .trust-item,
:where(html[data-storefront-theme]) .process-step {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
}
:where(html[data-storefront-theme]) .process-shell { padding:14px; }
:where(html[data-storefront-theme]) .process-step { min-height:154px; }
:where(html[data-storefront-theme]) .process-bar {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-container-high);
  color:var(--ink);
}
:where(html[data-storefront-theme]) .process-label { color:var(--muted); }
:where(html[data-storefront-theme]) .help-grid {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:14px;
}
:where(html[data-storefront-theme]) .help-card,
:where(html[data-storefront-theme]) .loop-card {
  min-width:0;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-container-low);
  box-shadow:none;
}
:where(html[data-storefront-theme]) .help-card h2,
:where(html[data-storefront-theme]) .loop-card h2 {
  font-size:clamp(24px,2.8vw,34px);
  font-weight:850;
  line-height:1.05;
  letter-spacing:-.035em;
}
:where(html[data-storefront-theme]) .store-contact-actions { gap:8px; }
:where(html[data-storefront-theme]) .store-contact-actions :is(a,button) {
  min-height:48px;
  border-radius:12px;
  font-size:12px;
  font-weight:750;
}
:where(html[data-storefront-theme]) .store-contact-actions #supportBtn {
  border:1px solid #111111!important;
  background:#111111!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}
:where(html[data-storefront-theme]) .store-contact-actions #supportBtn:hover {
  border-color:#303030!important;
  background:#303030!important;
  color:#FFFFFF!important;
  transform:none;
  box-shadow:none;
}
:where(html[data-storefront-theme]) .loop-form input {
  min-height:48px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:var(--ink);
}
:where(html[data-storefront-theme]) .site-footer {
  margin-top:clamp(54px,7vw,88px);
  border-top:1px solid var(--line);
  background:var(--surface);
}
:where(html[data-storefront-theme]) .footer-main {
  max-width:1560px;
  margin-inline:auto;
  padding:42px clamp(16px,2.5vw,30px) 36px;
}
:where(html[data-storefront-theme]) .footer-grid h4 {
  font-size:12px;
  font-weight:750;
  letter-spacing:.1em;
  text-transform:uppercase;
}
:where(html[data-storefront-theme]) .footer-grid :is(p,span,button,a),
:where(html[data-storefront-theme]) .footer-legal-links a {
  font-size:13px;
  line-height:1.7;
}
:where(html[data-storefront-theme]) .footer-bottom {
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.12em;
}

/* Native-feeling panels, dialogs and account surfaces. */
:where(html[data-storefront-theme]) :is(.sheet-shell,.cart-shell,.saved-shell,.account-shell) {
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 24px 80px rgba(0,0,0,.18);
}
:where(html[data-storefront-theme]) .sheet-header {
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
:where(html[data-storefront-theme]) .sheet-kicker { color:var(--muted); }
:where(html[data-storefront-theme]) .sheet-tab.active {
  border-color:var(--brand);
  background:var(--brand);
  color:var(--on-brand);
}
:where(html[data-storefront-theme]) .account-card {
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface-container-low);
  box-shadow:none;
}
:where(html[data-storefront-theme]) :is(.field input,.field select,.field textarea,.account-form-field input,.message-input) {
  min-height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--field-bg);
  color:var(--ink);
}
:where(html[data-storefront-theme]) .toast {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--ink);
  box-shadow:0 14px 40px rgba(0,0,0,.16);
}
:where(html[data-storefront-theme]) .go-up-button {
  border-color:var(--navigation-edge);
  background:var(--navigation-glass);
  box-shadow:0 5px 20px rgba(0,0,0,.12);
}

/* Product ratings remain gold; this does not change the store's brand colours. */
:where(html[data-storefront-theme]) .rating-star-wrap .rating-star,
:where(html[data-storefront-theme]) .rating .rating-star,
:where(html[data-storefront-theme]) .product-review-stars .rating-star {
  stroke:var(--tsp-star-gold,#E5A817);
}
:where(html[data-storefront-theme]) .rating-star-wrap.full .rating-star,
:where(html[data-storefront-theme]) .rating-star-wrap .rating-star-fill .rating-star,
:where(html[data-storefront-theme]) .product-review-stars .rating-star-fill .rating-star {
  fill:var(--tsp-star-gold,#E5A817);
}

/* Desktop hover is restrained; touch devices keep native scrolling and no hover dependency. */
@media (hover:hover) and (pointer:fine) {
  :where(html[data-storefront-theme]) .category-card:hover img,
  :where(html[data-storefront-theme]) .new-arrival-media:hover img { transform:scale(1.035); }
  :where(html[data-storefront-theme]) .product-card:hover .product-gallery img { transform:scale(1.015); }
  :where(html[data-storefront-theme]) .product-card .product-gallery img { transition:transform .25s ease; }
}

/* Tablet and phone layouts: keep every control in reach, without sideways page scroll. */
@media (max-width:1100px) {
  :where(html[data-storefront-theme]) .brand-row { gap:12px; }
  :where(html[data-storefront-theme]) .editorial-stage {
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
    min-height:510px;
  }
  :where(html[data-storefront-theme]) .editorial-media { min-height:510px; }
  :where(html[data-storefront-theme]) .editorial-content { padding:clamp(24px,3.4vw,42px); }
  :where(html[data-storefront-theme]) .editorial-content h1 { font-size:clamp(42px,5.6vw,62px); }
  :where(html[data-storefront-theme]) .shop-layout { grid-template-columns:205px minmax(0,1fr); gap:18px; }
  :where(html[data-storefront-theme]) .catalog-grid { --catalog-columns:3; }
}
@media (max-width:900px) {
  :where(html[data-storefront-theme]) .store-service-bar {
    justify-content:flex-start;
    gap:8px;
    overflow-x:auto;
    padding-inline:14px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  :where(html[data-storefront-theme]) .store-service-bar::-webkit-scrollbar { display:none; }
  :where(html[data-storefront-theme]) .store-service-bar span+span:before { margin-right:10px; }
  :where(html[data-storefront-theme]) .brand-row {
    display:flex;
    flex-wrap:wrap;
    gap:10px 8px;
    padding:10px 14px 12px;
  }
  :where(html[data-storefront-theme]) .brand { flex:1 1 120px; min-width:0; }
  :where(html[data-storefront-theme]) .brand-mark { width:36px; height:36px; }
  :where(html[data-storefront-theme]) .brand strong { font-size:14px; }
  :where(html[data-storefront-theme]) .top-actions { display:contents; }
  :where(html[data-storefront-theme]) .top-action { display:none; }
  :where(html[data-storefront-theme]) .mobile-only,
  :where(html[data-storefront-theme]) .cart-action {
    display:inline-flex!important;
    width:42px;
    min-width:42px;
    height:42px;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    padding:0;
  }
  :where(html[data-storefront-theme]) .cart-label,
  :where(html[data-storefront-theme]) .nav-row { display:none; }
  :where(html[data-storefront-theme]) .desktop-search {
    display:block;
    position:static;
    order:5;
    flex:0 0 100%;
    width:100%;
    min-width:0;
    padding:0;
  }
  :where(html[data-storefront-theme]) .search-pill {
    height:46px;
    grid-template-columns:76px minmax(0,1fr) 46px;
    border-radius:14px;
    background:var(--surface-container-low);
  }
  :where(html[data-storefront-theme]) .search-pill input {
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:16px;
  }
  :where(html[data-storefront-theme]) .search-pill select { padding-inline:8px; font-size:11px; }
  :where(html[data-storefront-theme]) .mobile-category-dock {
    position:sticky;
    top:calc(104px + env(safe-area-inset-top));
    z-index:56;
    display:block;
    padding:6px 12px;
    border-top:0;
    border-bottom:1px solid var(--line);
  }
  :where(html[data-storefront-theme]) .mobile-category-dock .nav-scroll { gap:6px; }
  :where(html[data-storefront-theme]) .mobile-category-dock .nav-link {
    min-height:36px;
    padding:7px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface);
    font-size:10px;
  }
  :where(html[data-storefront-theme]) .mobile-category-dock .nav-link[aria-pressed="true"] {
    border-color:var(--brand);
    background:var(--brand-container);
    color:var(--ink);
  }
  :where(html[data-storefront-theme]) .editorial-stage {
    width:calc(100% - 28px);
    min-height:0;
    grid-template-columns:1fr;
    margin-top:14px;
    border-radius:18px;
  }
  :where(html[data-storefront-theme]) .editorial-media {
    width:100%;
    min-height:0;
    aspect-ratio:16/10;
  }
  :where(html[data-storefront-theme]) .editorial-content { padding:26px clamp(20px,4vw,34px); }
  :where(html[data-storefront-theme]) .editorial-content h1 {
    max-width:11ch;
    margin:14px 0 12px;
    font-size:clamp(42px,7.5vw,62px);
  }
  :where(html[data-storefront-theme]) .editorial-content>p { font-size:13px; }
  :where(html[data-storefront-theme]) .editorial-actions { display:flex; flex-wrap:wrap; }
  :where(html[data-storefront-theme]) .editorial-actions :is(.primary,.secondary) { flex:1 1 180px; }
  :where(html[data-storefront-theme]) .editorial-proof { gap:10px; margin-top:22px; }
  :where(html[data-storefront-theme]) .section { padding-top:48px; }
  :where(html[data-storefront-theme]) .section-compact { padding-top:42px; }
  :where(html[data-storefront-theme]) .shop-layout { grid-template-columns:minmax(0,1fr); }
  :where(html[data-storefront-theme]) .filter-panel {
    position:fixed;
    top:12px;
    right:12px;
    bottom:12px;
    left:12px;
    z-index:120;
    display:none;
    overflow:auto;
    max-height:calc(100dvh - 24px);
    background:var(--surface);
    box-shadow:0 18px 60px rgba(0,0,0,.22);
  }
  :where(html[data-storefront-theme]) .filter-panel.open { display:block; }
  :where(html[data-storefront-theme]) .close-filter { display:grid; }
  :where(html[data-storefront-theme]) .filter-button { display:inline-flex; align-items:center; gap:7px; }
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock {
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:70;
    height:auto;
    min-height:66px;
    padding:7px 8px max(7px,env(safe-area-inset-bottom));
    border:0;
    border-top:1px solid var(--navigation-edge);
    border-radius:16px 16px 0 0;
    background:var(--navigation-glass);
    box-shadow:0 -5px 24px rgba(0,0,0,.08);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transform:none;
    transition:none;
    will-change:auto;
  }
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock button {
    min-height:48px;
    border-radius:13px;
  }
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock button.active { color:var(--brand); }
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock button.active>span {
    background:var(--brand-container);
    color:var(--brand-deep);
  }
  :where(html[data-storefront-theme]) body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  :where(html[data-storefront-theme]) .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  :where(html[data-storefront-theme]) .trust-head,
  :where(html[data-storefront-theme]) .process-head { grid-template-columns:1fr; gap:8px; }
  :where(html[data-storefront-theme]) .trust-head>p { justify-self:start; }
  :where(html[data-storefront-theme]) .trust-shell { grid-template-columns:1fr; }
  :where(html[data-storefront-theme]) .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  :where(html[data-storefront-theme]) .process-grid:before { display:none; }
  :where(html[data-storefront-theme]) .help-grid { grid-template-columns:1fr; }
  :where(html[data-storefront-theme]) :is(.sheet-shell,.cart-shell,.saved-shell,.account-shell) {
    top:10px;
    right:10px;
    bottom:10px;
    left:10px;
    width:auto;
    border-radius:20px;
  }
}
@media (max-width:680px) {
  :where(html[data-storefront-theme]) .store-service-bar {
    display:none;
    min-height:30px;
    justify-content:flex-start;
    font-size:8px;
    letter-spacing:.08em;
  }
  :where(html[data-storefront-theme]) .editorial-stage { width:100%; margin-inline:0; border-inline:0; border-radius:0; }
  :where(html[data-storefront-theme]) .editorial-media { aspect-ratio:3/4; }
  :where(html[data-storefront-theme]) .editorial-content { padding:22px 18px 20px; }
  :where(html[data-storefront-theme]) .editorial-content h1 {
    max-width:11ch;
    font-size:clamp(38px,10vw,52px);
    letter-spacing:-.07em;
  }
  :where(html[data-storefront-theme]) .editorial-actions { display:grid; grid-template-columns:1fr; }
  :where(html[data-storefront-theme]) .editorial-actions :is(.primary,.secondary) { width:100%; }
  :where(html[data-storefront-theme]) .editorial-proof { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  :where(html[data-storefront-theme]) .editorial-proof b { font-size:12px; line-height:1.4; }
  :where(html[data-storefront-theme]) .editorial-proof small { font-size:11px; line-height:1.45; }
  :where(html[data-storefront-theme]) .section { padding-right:12px; padding-left:12px; padding-top:40px; }
  :where(html[data-storefront-theme]) .section-compact { padding-top:34px; }
  :where(html[data-storefront-theme]) .section-head { gap:10px; margin-bottom:16px; }
  :where(html[data-storefront-theme]) .section-head h2 { font-size:clamp(25px,7vw,32px); }
  :where(html[data-storefront-theme]) .section-head p { font-size:13px; }
  /* Native horizontal scrolling keeps category tiles at their familiar proportions. */
  :where(html[data-storefront-theme]) .category-grid {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 10px)/2);
    gap:10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scroll-padding-inline:2px;
    padding-block:4px;
    scrollbar-width:none;
  }
  :where(html[data-storefront-theme]) .category-grid::-webkit-scrollbar { display:none; }
  :where(html[data-storefront-theme]) .category-card { scroll-snap-align:start; }
  .mobile-best-seller {
    grid-column:1/-1;
    min-width:0;
    margin-inline:-12px;
  }
  .mobile-best-seller-media {
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:1;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:0;
    background:var(--surface-container);
    text-align:left;
    isolation:isolate;
  }
  .mobile-best-seller-media img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .mobile-best-seller-media .new-arrival-badge {
    position:absolute;
    top:16px;
    left:16px;
    z-index:1;
  }
  .mobile-best-seller-copy {
    position:absolute;
    inset:auto 0 0;
    display:grid;
    gap:8px;
    padding:64px 20px 24px;
    background:linear-gradient(transparent,rgba(0,0,0,.82));
    color:#fff;
    pointer-events:none;
  }
  .mobile-best-seller-copy strong { font-size:clamp(23px,6vw,32px); line-height:1.15; }
  .mobile-best-seller-copy>span { font-size:13px; }
  .mobile-best-seller-copy b { font-size:18px; font-variant-numeric:tabular-nums; }
  .mobile-best-seller-media:focus-visible { outline:3px solid var(--brand); outline-offset:-3px; }
  :where(html[data-storefront-theme]) .category-card { aspect-ratio:1/.92; border-radius:16px; }
  :where(html[data-storefront-theme]) .category-card div { right:12px; bottom:12px; left:12px; }
  :where(html[data-storefront-theme]) .category-card b { font-size:16px; }
  :where(html[data-storefront-theme]) .category-card span { font-size:11px; }
  :where(html[data-storefront-theme]) .product-rail { gap:11px; }
  :where(html[data-storefront-theme]) .new-arrival-rail { grid-auto-columns:minmax(225px,78vw); }
  :where(html[data-storefront-theme]) .catalog-grid {
    --catalog-columns:2;
    gap:18px 10px;
  }
  :where(html[data-storefront-theme]) .product-media { border-radius:14px; }
  :where(html[data-storefront-theme]) .product-gallery .gallery-slide { aspect-ratio:1/1; }
  :where(html[data-storefront-theme]) .product-name { min-height:2.7em; font-size:12px; }
  :where(html[data-storefront-theme]) .product-brand { font-size:8px; }
  :where(html[data-storefront-theme]) .price { font-size:14px; }
  :where(html[data-storefront-theme]) .stock { font-size:9px; }
  :where(html[data-storefront-theme]) .wishlist { top:8px; right:8px; width:34px; height:34px; }
  :where(html[data-storefront-theme]) .product-body { padding:9px 1px 2px; }
  :where(html[data-storefront-theme]) .process-shell { padding:10px; }
  :where(html[data-storefront-theme]) .process-step { min-height:142px; padding:12px; }
  :where(html[data-storefront-theme]) .help-card,
  :where(html[data-storefront-theme]) .loop-card { min-height:205px; padding:18px; }
  :where(html[data-storefront-theme]) .store-contact-actions { grid-template-columns:1fr 1fr; }
  :where(html[data-storefront-theme]) .store-contact-actions #supportBtn { grid-column:1/-1; }
  :where(html[data-storefront-theme]) .site-footer { margin-top:48px; padding-inline:12px; }
  :where(html[data-storefront-theme]) .footer-main { padding-top:28px; padding-bottom:24px; }
  :where(html[data-storefront-theme]) .footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 8px; align-items:stretch; }
  .site-footer .footer-column { display:grid; grid-row:span 7; grid-template-rows:subgrid; align-items:center; justify-items:center; row-gap:4px; }
  .site-footer .footer-column > * { text-align:center; line-height:1.35; margin:0; padding-block:5px; }
  .site-footer .footer-column h4 { font-size:11px; letter-spacing:.04em; }
  .site-footer .footer-column :is(a,span,button) { font-size:12px; }
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock { border-radius:15px 15px 0 0; }
}
@media (max-width:380px) {
  :where(html[data-storefront-theme]) .brand strong { font-size:13px; }
  :where(html[data-storefront-theme]) .brand em { display:none; }
  :where(html[data-storefront-theme]) .brand-mark { width:34px; height:34px; }
  :where(html[data-storefront-theme]) .mobile-only,
  :where(html[data-storefront-theme]) .cart-action { width:38px; min-width:38px; height:40px; }
  :where(html[data-storefront-theme]) .search-pill { grid-template-columns:62px minmax(0,1fr) 40px; }
  :where(html[data-storefront-theme]) .search-pill input { padding-inline:8px; }
  :where(html[data-storefront-theme]) .editorial-content h1 { font-size:37px; }
  :where(html[data-storefront-theme]) .editorial-proof { gap:6px; }
  :where(html[data-storefront-theme]) .editorial-proof small { overflow-wrap:anywhere; }
  :where(html[data-storefront-theme]) .product-name { font-size:11px; }
  :where(html[data-storefront-theme]) .price { font-size:13px; }
}
@media (hover:none) {
  :where(html[data-storefront-theme]) .category-card img,
  :where(html[data-storefront-theme]) .new-arrival-media img,
  :where(html[data-storefront-theme]) .product-card .product-gallery img { transition:none; }
}
@media (prefers-reduced-motion:reduce) {
  :where(html[data-storefront-theme]) *,
  :where(html[data-storefront-theme]) *::before,
  :where(html[data-storefront-theme]) *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
@media (prefers-reduced-transparency:reduce) {
  :where(html[data-storefront-theme]) .mobile-bottom.material3-nav-dock,
  :where(html[data-storefront-theme]) .app-header,
  :where(html[data-storefront-theme]) .go-up-button {
    background:var(--surface)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

/* Keep the support action black and the blue action/message roles unchanged. */
 :where(html[data-storefront-theme]) .store-contact-actions #supportBtn {
  border:1px solid #111111!important;
  background:#111111!important;
  color:#FFFFFF!important;
}
:where(html[data-storefront-theme]) .bubble.customer {
  background:var(--tsp-instagram-blue)!important;
  border-color:var(--tsp-instagram-blue)!important;
  color:var(--tsp-on-instagram-blue)!important;
}


/* The product panel fills the phone viewport in each shopping step. */
@media (max-width:680px) {
  #productSheet[open] { inset:0; margin:0; padding:0; width:100%; max-width:none; border:0; }
  #productSheet[open]:not(.is-order):not(.chat-viewport-active) { height:100dvh; max-height:none; }
  #productSheet[open] > .sheet-shell { inset:0; width:100%; height:100%; max-height:none; border:0; border-radius:0; box-shadow:none; }
  .mobile-best-seller-media { border-radius:0; }
}
html[data-storefront-theme="dark"] .store-contact-actions #supportBtn {
  background:var(--ink)!important;
  color:var(--surface)!important;
  border-color:var(--ink)!important;
}

/* Give media one clipping edge and use the same spacing for browsing and product details. */
.catalog-grid .product-media { border-radius:16px; }
.catalog-grid .product-gallery, .catalog-grid .product-gallery-track { border-radius:0; }
.catalog-grid .product-name { font-weight:650; font-size:clamp(14px,1.1vw,17px); }
.catalog-grid .product-body { padding-inline:3px; }
.category-card img,.new-arrival-media img { display:block; }
.sheet-header .icon-button { flex-shrink:0; }
#productSheet .sheet-tabs { padding-block:8px; }
#productSheet .sheet-tab { min-height:44px; }
.view-info .pair-detail summary { padding-block:8px; }
