/* Four contemporary storefront compositions. Load after the presentation
   sheets and before explicit design-studio-storefront.css merchant overrides.
   Everything is scoped to the new presentation IDs; old stores stay intact.
   Real catalog imagery and merchant colours supply the visual identity. */

html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) {
  --modern-line: color-mix(in srgb,var(--on-paper) 14%,transparent);
  --modern-muted: color-mix(in srgb,var(--on-paper) 70%,var(--paper));
  --modern-surface: color-mix(in srgb,var(--paper) 96%,var(--on-paper));
  --modern-ease: cubic-bezier(.22,.8,.22,1);
  --modern-gutter: clamp(20px,4.8vw,76px);
  --modern-radius: 24px;
  --studio-gutter: var(--modern-gutter);
  color: var(--on-paper);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.shop-hero,.shop-card,.shop-nav,.shop-story p) { animation:none; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.shop-card,.modern-edit,.modern-hero-copy) { opacity:1; transform:none; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(a,button,input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:5px; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.shop-hero>div,.shop-card>div,.modern-edit,.modern-edit-copy,.modern-collections-heading>div) { min-width:0; }

/* Navigation is a consistent, compact app bar. Explicit logo settings still
   win in the following sheet. Overlay is a separate option for Vogue. */
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-nav {
  position:sticky;
  top:0;
  width:100%;
  height:auto;
  min-height:86px;
  padding:14px var(--modern-gutter);
  gap:24px;
  border-bottom:1px solid var(--modern-line);
  background:var(--paper);
  color:var(--on-paper);
  box-shadow:none;
  transition:none;
  z-index:20;
}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-logo { max-width:32%; gap:12px; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-logo>b { font-size:18px; font-weight:750; letter-spacing:-.025em; line-height:1.5; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-nav nav { gap:28px; font-size:13px; font-weight:600; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-nav>div { gap:18px; font-size:12px; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .cart-open {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 17px;
  background:var(--on-paper);
  color:var(--paper)!important;
  border:1px solid var(--on-paper);
  border-radius:99px;
  font-size:12px;
  font-weight:650;
}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) [data-cart-count] { min-width:21px; height:21px; font-size:11px; background:color-mix(in srgb,currentColor 15%,transparent); }

/* Shared hero rhythm and catalog edit. All content is present in server HTML;
   loading JS never hides the page or waits for a reveal observer. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero {
  height:auto;
  width:100%;
  margin:0;
  position:relative;
  isolation:isolate;
}
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero h1 {
  font-family:inherit;
  font-weight:750;
  letter-spacing:-.045em;
  line-height:1.16;
  margin:22px 0 30px;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
html:where([dir="rtl"]) body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero h1 { line-height:1.48; letter-spacing:-.03em; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero-brand {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  gap:9px;
  font-size:11px;
  font-weight:650;
  letter-spacing:.1em;
  line-height:1.8;
}
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero-brand::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero>.modern-hero-copy>a {
  min-height:54px;
  padding:16px 24px;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  border:1px solid transparent;
  background:var(--primary);
  color:var(--on-primary);
  font-size:14px;
  font-weight:650;
  border-radius:99px;
  box-shadow:none;
  transition:transform .22s var(--modern-ease);
}
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit { z-index:2; color:var(--on-paper); background:var(--paper); border:1px solid var(--modern-line); border-radius:20px; padding:16px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-label { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-label>span { font-family:inherit; font-size:11px; font-weight:650; line-height:1.8; letter-spacing:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-label>a { display:inline-flex; align-items:center; min-height:32px; font-size:11px; font-weight:600; padding:0; color:var(--modern-muted); background:none; border:0; border-radius:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-item {
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  min-height:0;
  gap:0;
  padding:0;
  background:var(--modern-surface);
  color:var(--on-paper);
  border:0;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  text-align:start;
  box-shadow:none;
  transition:transform .25s var(--modern-ease);
}
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-item>img { display:block; width:100%; height:142px; object-fit:var(--product-image-fit,cover); aspect-ratio:1; background:var(--modern-surface); border-radius:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy { display:flex; flex-direction:column; gap:4px; padding:12px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy :is(small,b,strong,span) { font-family:inherit; font-size:11px; letter-spacing:0; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy small { color:var(--modern-muted); font-size:10px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy b { font-size:12px; font-weight:650; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy b { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy span { direction:ltr; unicode-bidi:isolate; align-self:flex-start; font-variant-numeric:tabular-nums; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-copy i { display:none; }

/* NOVA — a precise split, photograph frame and floating catalog bento. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-nova { --modern-radius:26px; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero { min-height:670px; padding:72px var(--modern-gutter); align-items:center; justify-content:start; background:var(--paper)!important; color:var(--on-paper); }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero::before,
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero-video { inset:24px var(--modern-gutter) 24px auto; inset-inline-start:53%; inset-inline-end:var(--modern-gutter); width:auto; height:calc(100% - 48px); border-radius:32px; transform:none; animation:none; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero::after { display:none; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero>.modern-hero-copy { width:46%; max-width:690px; margin:0; margin-inline-end:auto; text-align:start; }
html body.store-page[class][class].presentation-theme-nova .shop-hero h1 { font-size:clamp(42px,5.2vw,78px); }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit { position:absolute; inset-inline-start:55%; inset-inline-end:calc(var(--modern-gutter) + 24px); bottom:48px; padding:14px; border-radius:24px; box-shadow:0 12px 35px #00000014; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-track { grid-template-columns:1.2fr 1fr; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:first-child { grid-row:span 2; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:first-child>img { height:218px; flex:1; min-height:180px; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child) { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child)>img { width:64px; height:100%; min-height:112px; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child) .modern-edit-copy { padding:10px; }
html body.store-page[class][class].presentation-theme-nova .shop-card { border-radius:24px; padding:9px; background:var(--paper); border:1px solid var(--modern-line); box-shadow:none; }
html body.store-page[class][class].presentation-theme-nova .shop-card .shop-card-media { border-radius:18px; background:var(--modern-surface); }
html body.store-page[class][class].presentation-theme-nova .shop-card>div:not(.shop-card-media) { padding:16px 9px 9px; }
html body.store-page[class][class].presentation-theme-nova .modern-collection { border-radius:20px; background:var(--modern-surface); }

/* VOGUE — a full-bleed fashion cover, oversized type and a magazine strip. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-vogue { --modern-radius:0px; }
html body.store-page[class][class].presentation-theme-vogue:where(.nav-overlay) .shop-nav { position:absolute; top:0; background:transparent; color:#fff; border-color:#ffffff40; }
html body.store-page[class][class].presentation-theme-vogue:where(.nav-overlay) .cart-open { background:#fff; color:#171719!important; border-color:#fff; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero { min-height:850px; padding:180px var(--modern-gutter) 245px; display:flex; justify-content:start; align-items:center; color:#fff; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero::before,
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero-video { inset:0; width:100%; height:100%; transform:none; animation:none; border-radius:0; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero::after { inset:0; width:100%; background:linear-gradient(0deg,color-mix(in srgb,#000 var(--hero-strength,55%),transparent) 0%,color-mix(in srgb,#000 calc(var(--hero-strength,55%) * .55),transparent) 58%,color-mix(in srgb,#000 calc(var(--hero-strength,55%) * .7),transparent) 100%); }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero>.modern-hero-copy { width:100%; max-width:1060px; margin:0; text-align:start; }
html body.store-page[class][class].presentation-theme-vogue .shop-hero h1 { font-size:clamp(56px,7.6vw,116px); line-height:1.02; font-weight:750; letter-spacing:-.055em; }
html:where([dir="rtl"]) body.store-page[class][class].presentation-theme-vogue .shop-hero h1 { line-height:1.42; font-size:clamp(50px,6vw,92px); }
html body.store-page[class][class].presentation-theme-vogue .shop-hero>.modern-hero-copy>a { background:var(--accent); color:var(--on-accent); border-radius:0; min-width:230px; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .modern-edit { position:absolute; inset-inline:0; bottom:0; padding:20px var(--modern-gutter); border:0; border-radius:0; background:var(--paper); }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-label { margin-bottom:8px; }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-item { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:center; background:none; border-radius:0; border-inline-end:1px solid var(--modern-line); }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-item:last-child { border-inline-end:0; }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-item>img { height:94px; width:78px; object-fit:cover; }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-copy { padding-inline:20px; }
html body.store-page[class][class].presentation-theme-vogue .modern-edit-copy b { font-size:15px; }
html body.store-page[class][class].presentation-theme-vogue .shop-card { background:none; border:0; border-radius:0; box-shadow:none; margin-top:0; }
html body.store-page[class][class].presentation-theme-vogue .shop-card .shop-card-media { border-radius:0; }
html body.store-page[class][class].presentation-theme-vogue .shop-card h3 { font-size:22px; font-weight:650; }
html body.store-page[class][class].presentation-theme-vogue .shop-card>div:not(.shop-card-media) { padding:20px 0 0; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection { background:none; border-radius:0; padding:0; border:0; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection>img { border-radius:0; height:160px; aspect-ratio:1.4; object-fit:cover; width:100%; }
html body.store-page[class][class].presentation-theme-vogue .modern-collections-heading { border-top:1px solid var(--modern-line); padding-top:32px; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection-track { grid-auto-columns:minmax(180px,23%); }

/* PULSE — playful hospitality, a rounded asymmetric cover and tactile menus. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-pulse { --modern-radius:28px; }
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero { min-height:710px; padding:54px var(--modern-gutter) 242px; align-items:center; background:var(--paper)!important; color:var(--on-paper); }
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero::before,
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero-video { inset:24px var(--modern-gutter) 215px auto; inset-inline-start:54%; inset-inline-end:var(--modern-gutter); width:auto; height:calc(100% - 239px); border-radius:32px 100px 32px 32px; transform:none; animation:none; }
html:where([dir="rtl"]) body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero::before,
html:where([dir="rtl"]) body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero-video { border-radius:100px 32px 32px 32px; }
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero::after { display:none; }
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero>.modern-hero-copy { width:45%; max-width:620px; margin:0; margin-inline-end:auto; text-align:start; }
html body.store-page[class][class].presentation-theme-pulse .shop-hero h1 { font-size:clamp(40px,4.9vw,74px); }
html body.store-page[class][class].presentation-theme-pulse .shop-hero>.modern-hero-copy>a { background:var(--accent); color:var(--on-accent); }
html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .modern-edit { position:absolute; bottom:24px; inset-inline:var(--modern-gutter); padding:20px; border-radius:24px; background:color-mix(in srgb,var(--accent) 8%,var(--paper)); }
html body.store-page[class][class].presentation-theme-pulse .modern-edit-item { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; border-radius:16px; background:var(--paper); }
html body.store-page[class][class].presentation-theme-pulse .modern-edit-item>img { width:96px; height:112px; object-fit:cover; }
html body.store-page[class][class].presentation-theme-pulse .modern-edit-copy b { font-size:14px; }
html body.store-page[class][class].presentation-theme-pulse .shop-card { border:1px solid var(--modern-line); border-radius:28px; box-shadow:none; padding:12px; background:var(--paper); }
html body.store-page[class][class].presentation-theme-pulse .shop-card .shop-card-media { border-radius:20px; }
html body.store-page[class][class].presentation-theme-pulse .shop-card>div:not(.shop-card-media) { padding:18px 8px 8px; }
html body.store-page[class][class].presentation-theme-pulse .shop-card footer button { background:var(--accent); color:var(--on-accent); border-color:var(--accent); box-shadow:none; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection-track { grid-auto-columns:minmax(126px,15%); gap:20px; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection { display:flex; flex-direction:column; align-items:center; text-align:center; border:0; padding:0 0 10px; background:none; border-radius:0; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection>img { width:104px; height:104px; aspect-ratio:1; border-radius:50%; border:6px solid color-mix(in srgb,var(--accent) 12%,var(--paper)); object-fit:cover; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection>span { align-items:center; }

/* ORBIT — a digital gallery: central type, panoramic stage, focused inventory. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-orbit { --modern-radius:20px; --modern-surface:color-mix(in srgb,var(--paper) 91%,var(--on-paper)); }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero { display:flex; flex-direction:column; align-items:center; justify-content:start; min-height:820px; padding:52px var(--modern-gutter) 420px; background:var(--paper)!important; color:var(--on-paper); }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero::before,
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero-video { inset:390px var(--modern-gutter) 26px; width:calc(100% - 2 * var(--modern-gutter)); height:calc(100% - 416px); border-radius:28px; transform:none; animation:none; }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero::after { inset:0; width:100%; height:390px; border:0; background:radial-gradient(ellipse at 50% 12%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 68%); }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero>.modern-hero-copy { width:100%; max-width:1040px; margin:0; text-align:center; }
html body.store-page[class][class].presentation-theme-orbit .shop-hero h1 { font-size:clamp(46px,5.3vw,82px); margin:16px 0 24px; }
html:where([dir="rtl"]) body.store-page[class][class].presentation-theme-orbit .shop-hero h1 { font-size:clamp(42px,4.6vw,70px); line-height:1.45; }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .modern-edit { position:absolute; width:min(360px,38%); inset-inline-end:calc(var(--modern-gutter) + 26px); bottom:52px; background:var(--paper); border-radius:20px; }
html body.store-page[class][class].presentation-theme-orbit .modern-edit-track { grid-template-columns:1fr; gap:8px; }
html body.store-page[class][class].presentation-theme-orbit .modern-edit-item { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; border-radius:12px; }
html body.store-page[class][class].presentation-theme-orbit .modern-edit-item>img { height:78px; width:76px; }
html body.store-page[class][class].presentation-theme-orbit .shop-card { background:var(--modern-surface); border:1px solid var(--modern-line); border-radius:20px; box-shadow:none; }
html body.store-page[class][class].presentation-theme-orbit .shop-card .shop-card-media { border-radius:18px 18px 0 0; background:color-mix(in srgb,var(--paper) 95%,var(--on-paper)); }
html body.store-page[class][class].presentation-theme-orbit .modern-collection { background:var(--modern-surface); border-radius:18px; }
html body.store-page[class][class].presentation-theme-orbit .shop-story { background:color-mix(in srgb,var(--accent) 7%,var(--paper)); }

/* New category discovery is a native, touch-scrollable shelf. Content is real
   catalog content; no trust badges, invented stock, timers or ratings. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections { width:100%; max-width:1536px; margin-inline:auto; padding:46px var(--modern-gutter) 10px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading h2 { font-size:clamp(23px,2.6vw,38px); font-weight:700; letter-spacing:-.025em; line-height:1.5; margin:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading :is(small,p) { font-size:12px; line-height:1.8; margin:4px 0 0; color:var(--modern-muted); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-actions :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:10px; border:1px solid var(--modern-line); border-radius:50%; color:var(--on-paper); background:var(--paper); font-size:13px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(162px,20%); gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:var(--modern-line) transparent; padding:5px 5px 16px; margin-inline:-5px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection { min-width:0; min-height:44px; display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:13px; padding:14px; color:var(--on-paper); background:var(--modern-surface); border:1px solid var(--modern-line); border-radius:18px; text-decoration:none; text-align:start; scroll-snap-align:start; transition:transform .25s var(--modern-ease); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection>img { display:block; width:64px; height:64px; aspect-ratio:1; object-fit:cover; border-radius:12px; background:var(--modern-surface); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection>span { display:flex; flex-direction:column; gap:5px; min-width:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection b { font-size:13px; font-weight:650; line-height:1.6; overflow-wrap:anywhere; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection small { font-size:11px; line-height:1.6; color:var(--modern-muted); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection i { font-size:15px; font-style:normal; color:var(--modern-muted); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading>div>span { font-size:10px; letter-spacing:.06em; font-weight:600; line-height:1.8; color:var(--modern-muted); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-actions>a { border-radius:99px; padding-inline:16px; white-space:nowrap; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-actions [hidden] { display:none!important; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-actions button:disabled { opacity:.4; cursor:default; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection[aria-current="true"] { border-color:var(--primary); }

/* Catalog and detail pages share deliberate typography and useful controls. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products { max-width:1536px; padding:66px var(--modern-gutter) 76px; background:var(--paper); border:0; margin-inline:auto; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products>header { transform:none; gap:24px; margin-bottom:28px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products>header h2 { font-size:clamp(29px,3.2vw,48px); font-family:inherit; font-weight:700; line-height:1.45; letter-spacing:-.035em; margin-top:8px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products>header p { color:var(--modern-muted); font-size:13px; line-height:1.9; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .catalog-tools { border:0; padding:18px; background:var(--modern-surface); border-radius:20px; gap:20px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .catalog-tools [data-product-search] { border:1px solid var(--modern-line); background:var(--paper); border-radius:12px; min-height:50px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .category-filters button { border-color:var(--modern-line); min-height:44px; padding:10px 17px; font-size:13px; border-radius:99px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .category-filters button.active { color:var(--on-primary); background:var(--primary); border-color:var(--primary); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-grid { gap:28px 20px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card { transition:transform .3s var(--modern-ease); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card .shop-card-media>img { transition:transform .5s var(--modern-ease),opacity .2s; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card>div>small { font-size:10px; letter-spacing:.035em; color:var(--modern-muted); line-height:1.7; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card h3 { font-family:inherit; font-size:19px; line-height:1.55; font-weight:650; letter-spacing:-.015em; margin:8px 0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card>div>p { font-size:13px; line-height:1.8; color:var(--modern-muted); min-height:0; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card footer { border-color:var(--modern-line); gap:10px; margin-top:auto; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card footer [data-product-price] { font-size:16px; font-weight:750; direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card footer button { min-height:46px; height:46px; min-width:46px; border-radius:99px; font-size:20px; box-shadow:none; transition:transform .2s var(--modern-ease); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-card-link { font-size:12px; min-height:44px; border-color:var(--modern-line); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.sdisplay-stock,.sdisplay-favorite,.sexp-quick-open) { box-shadow:none; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .sdisplay-stock { background:var(--paper); color:var(--on-paper); border:1px solid var(--modern-line); border-radius:99px; font-size:10px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-story { min-height:0; padding:76px var(--modern-gutter); border-block:1px solid var(--modern-line); display:grid; grid-template-columns:minmax(110px,.35fr) minmax(0,1fr); gap:32px; background:var(--paper); color:var(--on-paper); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-story>span { font-size:11px; line-height:1.8; padding-top:9px; letter-spacing:.08em; color:var(--modern-muted); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-story p { font-family:inherit; font-size:clamp(26px,3.4vw,48px); line-height:1.7; font-weight:550; margin:0; max-width:38ch; text-wrap:pretty; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer { padding:60px var(--modern-gutter); border-top:1px solid var(--modern-line); background:var(--paper); color:var(--on-paper); gap:32px; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer h2 { font-family:inherit; font-size:clamp(30px,4.2vw,64px); font-weight:750; line-height:1.5; letter-spacing:-.04em; overflow-wrap:anywhere; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer>div { flex-wrap:wrap; gap:12px 20px; font-size:12px; line-height:1.8; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer a { min-height:44px; display:inline-flex; align-items:center; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-page-main { max-width:1536px; margin-inline:auto; padding:36px var(--modern-gutter) 72px; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-detail { gap:clamp(30px,5vw,80px); }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-main-image { border:1px solid var(--modern-line); border-radius:var(--modern-radius); background:var(--modern-surface); }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-detail-copy h1 { font-family:inherit; font-size:clamp(30px,3.3vw,52px); font-weight:750; line-height:1.5; letter-spacing:-.035em; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-purchase { border-color:var(--modern-line); gap:18px; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-purchase>.cta { min-height:54px; border-radius:99px; font-size:15px; font-weight:650; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-purchase>[data-product-price] { font-size:clamp(24px,2.5vw,38px); font-weight:650; direction:ltr; unicode-bidi:isolate; }
html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-thumbs button { border-radius:12px; background:var(--modern-surface); }

/* Category shelf variations follow the shared primitives so every composition
   retains its own shape without requiring stronger merchant-size selectors. */
html body.store-page[class][class].presentation-theme-nova .modern-collection { border-radius:20px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-orbit) .modern-edit-item>img { object-fit:contain; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection { display:flex; flex-direction:column; align-items:stretch; background:none; border-radius:0; padding:0; border:0; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection>img { border-radius:0; height:160px; width:100%; object-fit:cover; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection>span { padding-block:13px; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection>i { display:none; }
html body.store-page[class][class].presentation-theme-vogue .modern-collection-track { grid-auto-columns:minmax(180px,23%); }
html body.store-page[class][class].presentation-theme-pulse .modern-collection { display:flex; flex-direction:column; align-items:center; text-align:center; border:0; padding:0 0 10px; background:none; border-radius:0; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection>img { width:104px; height:104px; border-radius:50%; border:6px solid color-mix(in srgb,var(--accent) 12%,var(--paper)); object-fit:cover; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection>span { align-items:center; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection>i { display:none; }
html body.store-page[class][class].presentation-theme-pulse .modern-collection-track { grid-auto-columns:minmax(126px,15%); gap:20px; }
html body.store-page[class][class].presentation-theme-orbit .modern-collection { border-radius:18px; }
html body.store-page[class][class].presentation-theme-orbit .shop-story { background:color-mix(in srgb,var(--accent) 7%,var(--paper)); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-edit-track:where(:has(>.modern-edit-item:only-child)) { grid-template-columns:1fr; }
html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-track:where(:has(>.modern-edit-item:nth-child(2):last-child)) .modern-edit-item:first-child { grid-row:auto; }

/* Presentation presets are starting points. The merchant can still switch
   alignment, navigation, cover format and compact/full height deliberately. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse,.presentation-theme-orbit):where(.nav-overlay) .shop-nav { position:absolute; background:transparent; color:var(--on-paper); }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse,.presentation-theme-orbit):where(.nav-overlay) .shop-hero { padding-block-start:130px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.hero-layout-center) .shop-hero>.modern-hero-copy { text-align:center; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.hero-layout-start) .shop-hero>.modern-hero-copy { text-align:start; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse):where(.hero-height-full) .shop-hero { min-height:max(760px,calc(100svh - 86px)); }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-height-full) .shop-hero { min-height:max(820px,calc(100svh - 86px)); }
html body.store-page[class][class].presentation-theme-nova:where(.hero-height-compact) .shop-hero { min-height:580px; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-height-compact) .shop-hero { min-height:720px; }
html body.store-page[class][class].presentation-theme-orbit:where(.hero-height-compact) .shop-hero { min-height:720px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.hero-display-framed) .shop-hero { width:calc(100% - 48px); margin:24px; border-radius:var(--modern-radius); }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero { color:var(--on-paper); background:var(--paper)!important; align-items:center; padding-block:70px; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero::before,
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero-video { inset:0; inset-inline-start:52%; width:48%; height:100%; transform:none; animation:none; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero::after { display:none; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero>.modern-hero-copy { width:44%; }

/* Pointer polish avoids changing touch gestures. Motion is only transform and
   opacity, never a perpetual animation or a prerequisite for rendering. */
@media (hover:hover) and (pointer:fine) {
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card:hover { transform:translateY(-4px); }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.product-hover-zoom) .shop-card:hover .shop-card-media>img { transform:scale(1.03); }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.product-hover-none,.product-hover-swap) .shop-card:hover .shop-card-media>img { transform:none; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.modern-edit-item,.modern-collection,.shop-hero>.modern-hero-copy>a):hover { transform:translateY(-3px); }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-card footer button:not(:disabled):hover { transform:scale(1.05); box-shadow:none; }
}

/* The complete composition still fits tablets; shelf overflow belongs to its
   own scroller instead of the document. Saved grid counts remain unchanged. */
@media (max-width:1100px) {
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) { --modern-gutter:28px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child) { grid-template-columns:48px minmax(0,1fr); }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child)>img { width:48px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-copy { padding:8px; }
  html body.store-page[class][class].presentation-theme-pulse .modern-edit-item { grid-template-columns:72px minmax(0,1fr); }
  html body.store-page[class][class].presentation-theme-pulse .modern-edit-item>img { width:72px; height:104px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-track { grid-auto-columns:200px; }
  html body.store-page[class][class].presentation-theme-pulse .modern-collection-track { grid-auto-columns:128px; }
  html body.store-page[class][class].presentation-theme-vogue .modern-collection-track { grid-auto-columns:210px; }
}
@media (max-width:780px) {
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) { --modern-gutter:20px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-nav { min-height:76px; padding:12px var(--modern-gutter); gap:12px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-logo { max-width:100%; min-width:0; gap:8px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-logo>b { font-size:14px; max-width:none; min-width:0; flex:1; white-space:normal; overflow-wrap:normal; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-nav>div { gap:9px; font-size:11px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .cart-open { padding:10px 12px; font-size:11px; gap:6px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero h1 { font-size:clamp(36px,8.8vw,58px); line-height:1.23; margin:16px 0 22px; }
  html:where([dir="rtl"]) body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-hero h1 { line-height:1.5; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse):where(.hero-display-split) .shop-hero { display:flex; flex-direction:column; align-items:start; min-height:0; padding:34px var(--modern-gutter) 340px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse):where(.hero-display-split) .shop-hero>.modern-hero-copy { width:100%; max-width:650px; margin:0; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse):where(.hero-display-split) .shop-hero::before,
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse):where(.hero-display-split) .shop-hero-video { inset:auto var(--modern-gutter) 20px; inset-inline-start:var(--modern-gutter); width:calc(100% - 2 * var(--modern-gutter)); height:294px; border-radius:24px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit { inset-inline:calc(var(--modern-gutter) + 12px); bottom:34px; padding:10px; border-radius:18px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-track { grid-template-columns:1.1fr 1fr; gap:8px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:first-child>img { height:150px; min-height:112px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child) { grid-template-columns:50px minmax(0,1fr); }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit-item:not(:first-child)>img { width:50px; min-height:86px; }
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero { padding-bottom:400px; }
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero::before,
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .shop-hero-video { bottom:160px; height:214px; }
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split) .modern-edit { inset-inline:var(--modern-gutter); bottom:20px; padding:12px; }
  html body.store-page[class][class].presentation-theme-pulse .modern-edit-track { display:flex; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:4px; gap:10px; }
  html body.store-page[class][class].presentation-theme-pulse .modern-edit-item { flex:0 0 230px; grid-template-columns:74px minmax(0,1fr); scroll-snap-align:start; }
  html body.store-page[class][class].presentation-theme-pulse .modern-edit-item>img { width:74px; height:88px; }
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .shop-hero { min-height:720px; padding:148px var(--modern-gutter) 220px; }
  html body.store-page[class][class].presentation-theme-vogue .shop-hero h1 { font-size:clamp(42px,10.6vw,76px); }
  html:where([dir="rtl"]) body.store-page[class][class].presentation-theme-vogue .shop-hero h1 { font-size:clamp(38px,9vw,64px); }
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background) .modern-edit { padding:14px var(--modern-gutter); }
  html body.store-page[class][class].presentation-theme-vogue .modern-edit-track { display:flex; overflow-x:auto; gap:16px; padding-bottom:6px; scroll-snap-type:x proximity; }
  html body.store-page[class][class].presentation-theme-vogue .modern-edit-item { flex:0 0 248px; grid-template-columns:68px minmax(0,1fr); scroll-snap-align:start; }
  html body.store-page[class][class].presentation-theme-vogue .modern-edit-item>img { width:68px; height:86px; }
  html body.store-page[class][class].presentation-theme-vogue .modern-edit-copy { padding-inline:14px; }
  html body.store-page[class][class].presentation-theme-vogue .modern-edit-copy b { font-size:13px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero { min-height:0; padding:38px var(--modern-gutter) 364px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero::before,
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero-video { inset:auto var(--modern-gutter) 20px; width:calc(100% - 2 * var(--modern-gutter)); height:308px; border-radius:24px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .shop-hero::after { height:330px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split) .modern-edit { width:auto; inset-inline:calc(var(--modern-gutter) + 14px); bottom:36px; padding:12px; }
  html body.store-page[class][class].presentation-theme-orbit .modern-edit-track { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html body.store-page[class][class].presentation-theme-orbit .modern-edit-item { display:flex; flex-direction:column; }
  html body.store-page[class][class].presentation-theme-orbit .modern-edit-item>img { width:100%; height:96px; }
  html body.store-page[class][class].presentation-theme-orbit .modern-edit-copy { padding:9px; }
  html body.store-page[class][class].presentation-theme-orbit .modern-edit-copy b { font-size:11px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections { padding-top:30px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading { gap:14px; margin-bottom:16px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collections-heading h2 { font-size:25px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .modern-collection-track { grid-auto-columns:192px; }
  html body.store-page[class][class].presentation-theme-pulse .modern-collection-track { grid-auto-columns:124px; gap:14px; }
  html body.store-page[class][class].presentation-theme-vogue .modern-collection-track { grid-auto-columns:180px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products { padding-block:42px 50px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products>header { flex-direction:column; align-items:start; gap:12px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-products>header h2 { font-size:31px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .catalog-tools { padding:14px; border-radius:18px; gap:14px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-grid { gap:28px 16px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-story { grid-template-columns:1fr; gap:16px; padding-block:46px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-story p { font-size:28px; line-height:1.75; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer { padding-block:40px; display:flex; flex-direction:column; align-items:start; gap:20px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .shop-footer>div { margin-top:0; }
  html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-page-main { padding-top:24px; }
  html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-purchase { flex-wrap:wrap; }
  html body.product-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) .product-purchase>.cta { flex:1 1 180px; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.hero-height-full) .shop-hero { min-height:calc(100svh - 76px); }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(.hero-display-framed) .shop-hero { width:calc(100% - 24px); margin:12px; }
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero { padding-top:330px; }
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero::before,
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero-video { inset:0; width:100%; height:300px; }
  html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-split) .shop-hero>.modern-hero-copy { width:100%; }
  /* A custom minimum cover height never clips actual text or product panes.
     Put the pane in flow when its merchant changes the minimum height. */
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse,.presentation-theme-orbit):where(.design-hero-mobile-height) .modern-edit { position:relative; inset:auto; width:100%; margin-top:180px; }
  html body.store-page[class][class].presentation-theme-pulse:where(.design-hero-mobile-height) .modern-edit { margin-top:240px; }
  /* Nova's photograph gets its own real flow row on a phone. The product pane
     overlaps just its lower edge, and never conceals the complete cover. */
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero { padding-block-end:24px; justify-content:flex-start; gap:0; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero>.modern-hero-copy { order:0; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero::before,
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero-video { position:relative; inset:auto; width:100%; height:220px; flex:0 0 220px; order:1; margin-block:24px 0; border-radius:24px; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero:where(:has(>.shop-hero-video))::before { display:none; }
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .modern-edit { position:relative; inset:auto; width:calc(100% - 24px); order:2; margin:-34px 12px 0; }
}

/* A deliberate change of hero display keeps its original behavior. The edit
   simply follows the copy rather than retaining a split-specific position. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse,.presentation-theme-orbit):where(:not(.hero-display-split)) .modern-edit,
html body.store-page[class][class].presentation-theme-vogue:where(:not(.hero-display-background)) .modern-edit { position:relative; inset:auto; width:min(520px,100%); max-width:100%; margin-top:26px; }
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-pulse,.presentation-theme-orbit):where(:not(.hero-display-split)) .shop-hero,
html body.store-page[class][class].presentation-theme-vogue:where(:not(.hero-display-background)) .shop-hero { flex-wrap:wrap; gap:24px; }

/* A merchant's cover height is a minimum, including long headline content.
   Keep Vogue's collection strip in flow when that minimum is overridden. */
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background):where(.design-hero-height,.design-hero-mobile-height) .shop-hero { flex-direction:column; align-items:flex-start; justify-content:flex-start; }
html body.store-page[class][class].presentation-theme-vogue:where(.hero-display-background):where(.design-hero-height,.design-hero-mobile-height) .modern-edit { position:relative; inset:auto; width:calc(100% + 2 * var(--modern-gutter)); max-width:none; margin-block-start:32px; margin-inline:calc(-1 * var(--modern-gutter)); }

/* A merchant's shorter desktop minimum must still accommodate the full copy.
   Pulse follows the copy; Orbit shares a real media row with its focus pane. */
@media (min-width:781px) {
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split.design-hero-height) .shop-hero { flex-direction:column; align-items:flex-start; justify-content:flex-start; }
  html body.store-page[class][class].presentation-theme-pulse:where(.hero-display-split.design-hero-height) .modern-edit { position:relative; inset:auto; width:100%; margin-top:32px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split.design-hero-height) .shop-hero { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(360px,auto); gap:32px; align-items:center; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split.design-hero-height) .modern-hero-copy { grid-area:1/1; justify-self:center; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split.design-hero-height) .shop-hero::before,
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split.design-hero-height) .shop-hero-video { position:relative; grid-area:2/1; inset:auto; width:100%; height:100%; min-height:360px; }
  html body.store-page[class][class].presentation-theme-orbit:where(.hero-display-split.design-hero-height) .modern-edit { position:relative; grid-area:2/1; justify-self:end; align-self:center; inset:auto; width:min(360px,38%); margin:26px; }
}

/* The wardrobe stays an abaya-only alternate entrance. Its existing controller
   and image layers remain untouched, including the hidden standard hero. */
html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit):where(:has(.wardrobe-showcase)) .shop-hero { display:none; }

@media (prefers-reduced-motion:reduce) {
  html body.store-page[class][class].presentation-theme-nova:where(.hero-display-split) .shop-hero::before { display:block; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.shop-card,.shop-card-media>img,.shop-card footer button,.modern-edit-item,.modern-collection,.shop-hero>.modern-hero-copy>a) { animation:none; transition:none; transform:none; }
  html body.store-page[class][class]:is(.presentation-theme-nova,.presentation-theme-vogue,.presentation-theme-pulse,.presentation-theme-orbit) :is(.modern-edit-track,.modern-collection-track) { scroll-behavior:auto; }
}
