/* Original premium compositions. Keep this after the base presentation sheets
   and before design-studio-storefront.css so deliberate merchant overrides win.
   No rules change the saved column count, cart behavior or product contents.
   The repeated [class] balances legacy theme specificity; explicit Studio
   overrides have the same specificity and intentionally load after this file. */
/* Additional compositions use only existing media and transform/opacity motion.
   No extra fonts, image downloads, timers or layout scripts are introduced. */
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop){--theme-line:color-mix(in srgb,var(--on-paper) 16%,transparent);--theme-muted:color-mix(in srgb,var(--on-paper) 65%,var(--paper));--theme-soft:color-mix(in srgb,var(--paper) 95%,var(--primary));color:var(--on-paper);background:var(--paper)}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) :is(.shop-hero>div,.shop-card>div,.shop-products>header>div){min-width:0}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) .shop-hero h1{overflow-wrap:anywhere;text-wrap:balance}

/* AURA — a shallow panoramic photograph with a floating paper title panel. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-nav{padding-block:12px;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero{width:calc(100% - 56px);margin:24px 28px 0;padding:40px;min-height:480px;height:auto;align-items:flex-end;border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero>div{width:min(480px,52%);margin:0;padding:30px 34px;background:var(--paper);color:var(--on-paper);text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero h1{font-size:clamp(32px,3.4vw,52px);font-weight:400;line-height:1.4;margin:16px 0 24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero a{background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;border-radius:0;padding:10px 0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-products>header{border-bottom:1px solid var(--theme-line);padding-bottom:24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-card{border:0;box-shadow:none;background:transparent}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-card-media{background:var(--theme-soft);border:1px solid var(--theme-line);border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-story{background:var(--paper);color:var(--on-paper);border-top:1px solid var(--theme-line);padding:64px 7vw}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura .shop-story p{max-width:42ch;font-size:clamp(24px,2.8vw,38px);line-height:1.65}
html body:is(.store-page,.product-page)[class][class].presentation-theme-aura :is(.product-main-image,.cp-image-text img){border-radius:0}

/* DUNE — an inset architectural image and a quiet fashion-gallery rhythm. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-nav{padding-block:16px;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero{width:100%;margin:0;min-height:650px;height:auto;padding:76px 7vw;align-items:center;background:var(--paper)!important;color:var(--on-paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero-video{inset:28px 5% 28px auto;inset-inline-start:53%;inset-inline-end:5%;width:42%;height:calc(100% - 56px);border-radius:48% 48% 0 0;transform:none;animation:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero>div{width:43%;max-width:580px;margin:0;margin-inline-end:auto;text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero h1{font-size:clamp(38px,4.6vw,66px);font-weight:400;line-height:1.45;margin-block:22px 32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero a{border:1px solid currentColor;color:inherit;background:transparent;border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-products>header{border-top:1px solid var(--theme-line);padding-top:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-card-media{border-radius:0;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-card footer{border-top:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-story{width:calc(100% - 48px);margin:24px;padding:70px 8vw;border:1px solid var(--theme-line);background:var(--paper);color:var(--on-paper);text-align:center;align-items:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune .shop-story p{max-width:29ch;font-size:clamp(27px,3.1vw,42px);line-height:1.7}
html body:is(.store-page,.product-page)[class][class].presentation-theme-dune :is(.product-main-image,.cp-image-text img){border-radius:120px 120px 0 0}

/* FOLIO — a framed spread, with a dividing rule rather than ornamental layers. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-nav{border-bottom:1px solid var(--primary);padding-block:14px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero{width:calc(100% - 48px);margin:24px;min-height:520px;height:auto;border:1px solid var(--theme-line);padding:44px 4vw;align-items:center;background:var(--paper)!important;color:var(--on-paper);border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero-video{inset:0;inset-inline-start:50%;width:50%;height:100%;border-radius:0;transform:none;animation:none;border-inline-start:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero>div{width:43%;margin:0;margin-inline-end:auto;max-width:620px;text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero h1{font-size:clamp(36px,4vw,60px);font-weight:500;line-height:1.4;margin:18px 0 28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio:where(.hero-display-split) .shop-hero a{border-radius:0;background:var(--primary);color:var(--on-primary)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-products>header{border-block:1px solid var(--theme-line);padding-block:24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-card{border:1px solid var(--theme-line);box-shadow:none;border-radius:0;background:var(--paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-card-media{border-radius:0;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-story{padding:64px 7vw;background:var(--paper);color:var(--on-paper);border-block:1px solid var(--primary)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio .shop-story p{max-width:34ch;font-size:clamp(26px,3vw,40px);line-height:1.65}
html body:is(.store-page,.product-page)[class][class].presentation-theme-folio :is(.product-main-image,.cp-image-text img){border-radius:0;border:1px solid var(--theme-line)}

/* POP — generous curved framing and soft cards; movement stays purposeful. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop{--studio-radius:28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop .shop-nav{padding-block:14px;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero{width:calc(100% - 48px);margin:24px;min-height:530px;height:auto;padding:70px 7vw;border-radius:40px;align-items:center;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero::after{background:linear-gradient(0deg,color-mix(in srgb,#291622 var(--hero-strength,55%),transparent),#29162233)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero>div{width:100%;max-width:680px;margin:auto}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero h1{font-size:clamp(36px,4.4vw,64px);font-weight:600;line-height:1.4}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero a{border-radius:99px;background:var(--accent);color:var(--on-accent);padding-inline:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop .shop-card{border-radius:28px;border:1px solid var(--theme-line);box-shadow:0 5px 16px #00000005}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop .shop-card-media{border-radius:26px 26px 14px 14px;background:color-mix(in srgb,var(--accent) 15%,var(--paper))}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop .shop-story{width:calc(100% - 48px);margin:24px;padding:66px 8vw;border-radius:40px;background:var(--primary);color:var(--on-primary);align-items:center;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop .shop-story p{max-width:32ch;font-size:clamp(25px,3vw,40px);line-height:1.7}
html body:is(.store-page,.product-page)[class][class].presentation-theme-pop :is(.product-main-image,.cp-image-text img){border-radius:32px}

@media(max-width:780px){
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-dune,.presentation-theme-folio):where(.hero-display-split) .shop-hero{width:calc(100% - 24px);margin:12px;min-height:0;padding:352px 24px 36px;align-items:start}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-dune,.presentation-theme-folio):where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-dune,.presentation-theme-folio):where(.hero-display-split) .shop-hero-video{inset:0;inset-inline-start:0;inset-inline-end:0;width:100%;height:320px;border:0}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-dune:where(.hero-display-split) .shop-hero-video{inset:12px 24px auto;width:calc(100% - 48px);height:312px;border-radius:48% 48% 0 0}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-dune,.presentation-theme-folio):where(.hero-display-split) .shop-hero>div{width:100%;max-width:none}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-pop):where(.hero-display-framed) .shop-hero{width:calc(100% - 24px);margin:12px;min-height:470px;padding:20px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-aura:where(.hero-display-framed) .shop-hero>div{width:100%;padding:24px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-pop:where(.hero-display-framed) .shop-hero{padding:48px 24px;border-radius:26px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) .shop-hero h1{font-size:clamp(30px,8vw,44px);line-height:1.5}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-dune,.presentation-theme-pop) .shop-story{width:calc(100% - 24px);margin:12px;padding:42px 24px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-folio) .shop-story{padding:42px 24px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) .shop-story p{font-size:clamp(23px,5.5vw,30px)}
}
@media(prefers-reduced-motion:reduce){
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-aura,.presentation-theme-dune,.presentation-theme-folio,.presentation-theme-pop) :is(.shop-card,.shop-card-media img){animation:none;transition:none}
}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) {
  --theme-line: color-mix(in srgb,var(--on-paper) 16%,transparent);
  --theme-muted: color-mix(in srgb,var(--on-paper) 65%,var(--paper));
  --theme-soft: color-mix(in srgb,var(--paper) 95%,var(--primary));
  color: var(--on-paper);
  background: var(--paper);
}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) :is(.shop-hero > div,.shop-products > header > div,.shop-card > div,.cp-hero > div) { min-width: 0; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) .shop-hero h1 { overflow-wrap: anywhere; text-wrap: balance; }

/* MAISON — a quiet fashion spread. The photograph has one half of the page;
   the typography and shopping action have the other. RTL mirrors the spread. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison { --studio-radius: 0px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-nav { border-bottom: 1px solid var(--theme-line); padding-block: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero {
  min-height: 650px;
  height: auto;
  margin: 0;
  width: 100%;
  padding: 76px 6vw;
  align-items: center;
  color: var(--on-paper);
  background: var(--paper) !important;
}
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero-video { inset: 0; inset-inline-start: 52%; width: 48%; height: 100%; transform: none; animation: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero::after { display: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero > div { width: 44%; max-width: 650px; margin: 0; margin-inline-end: auto; text-align: start; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero h1 { font-size: clamp(42px,5vw,76px); font-weight: 400; line-height: 1.3; margin-block: 24px 34px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison:where(.hero-display-split) .shop-hero a { border: 1px solid currentColor; border-radius: 0; background: transparent; color: inherit; padding: 15px 25px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-products > header { align-items: center; padding-block-end: 26px; border-bottom: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-card-media { border-radius: 0; background: var(--theme-soft); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-card footer { border-top: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-story { background: var(--paper); color: var(--on-paper); border-block: 1px solid var(--theme-line); padding: 72px 8vw; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .shop-story p { max-width: 27ch; font-size: clamp(26px,3.2vw,44px); font-weight: 400; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison :is(.product-main-image,.cp-image-text img) { border-radius: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .product-detail-copy { border-inline-start: 1px solid var(--theme-line); padding-inline-start: clamp(24px,4vw,64px); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .cp-hero { min-height: 560px; }

/* COCOA — a framed confectionery cover and warm, carefully wrapped cards. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa { --studio-radius: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-nav { padding-block: 15px; border-bottom-color: var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero {
  width: calc(100% - 48px);
  margin: 16px 24px 0;
  min-height: 510px;
  height: auto;
  border-radius: 28px;
  padding: 72px 8vw;
  align-items: center;
  justify-content: center;
  text-align: center;
}
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero::after { background: linear-gradient(180deg,#21130920,color-mix(in srgb,#211309 var(--hero-strength,65%),transparent)); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero > div { width: 100%; max-width: 680px; margin: 0 auto; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero h1 { font-size: clamp(40px,4.7vw,66px); line-height: 1.4; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero a { padding-inline: 28px; border-radius: 99px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-products > header { justify-content: center; text-align: center; flex-direction: column; align-items: center; gap: 10px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-products > header p { max-width: 52ch; margin-inline: auto; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-card-media { border-bottom: 1px solid var(--theme-line); background: color-mix(in srgb,var(--paper) 85%,white); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-card-media img { padding: 14px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-card footer button { border-radius: 99px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-story { border-radius: 28px; width: calc(100% - 48px); margin: 0 24px 24px; padding: 64px 8vw; text-align: center; align-items: center; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-story p { max-width: 35ch; font-size: clamp(25px,3vw,40px); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa :is(.product-main-image,.cp-image-text img) { border-radius: 24px; background: color-mix(in srgb,var(--paper) 86%,white); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .cp-main > section { border-bottom: 1px solid var(--theme-line); }

/* BLOOM — light space, an arched photograph and a rounded collection. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom { --studio-radius: 28px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-nav { border: 0; padding-block: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero { width: 100%; margin: 0; height: auto; min-height: 680px; padding: 72px 7vw; align-items: center; color: var(--on-paper); background: var(--paper) !important; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero-video { inset: 28px; inset-inline-start: 54%; width: calc(46% - 28px); height: calc(100% - 56px); border-radius: 260px 260px 36px 36px; transform: none; animation: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero::after { display: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero > div { width: 44%; max-width: 560px; margin: 0; margin-inline-end: auto; text-align: start; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero h1 { font-size: clamp(40px,4.6vw,66px); font-weight: 500; line-height: 1.45; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero a { border-radius: 99px; padding-inline: 30px; background: var(--primary); color: var(--on-primary); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-products { padding-top: 40px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-card { border-radius: 28px; overflow: hidden; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-card-media { border-radius: 26px 26px 10px 10px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-story { background: color-mix(in srgb,var(--accent) 18%,var(--paper)); color: var(--on-paper); border-radius: 120px 120px 0 0; padding: 88px 10vw; align-items: center; text-align: center; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-story p { max-width: 30ch; font-size: clamp(25px,3vw,40px); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom :is(.product-main-image,.cp-image-text img) { border-radius: 140px 140px 28px 28px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .cp-contact { border-radius: 32px; margin: 20px; }

/* MONO — sharp divisions, precise image treatment and a technical rhythm. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono { --studio-radius: 2px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-nav { border-bottom: 2px solid var(--primary); padding-block: 12px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero { min-height: 450px; height: auto; margin: 0; width: 100%; padding: 54px 6vw; align-items: center; background: var(--primary) !important; color: var(--on-primary); border-bottom: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero-video { inset: 0; inset-inline-start: 55%; width: 45%; height: 100%; transform: none; animation: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero::after { display: none; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero > div { width: 46%; max-width: 620px; margin: 0; margin-inline-end: auto; text-align: start; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero h1 { font-size: clamp(36px,4.3vw,60px); font-weight: 600; line-height: 1.3; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono:where(.hero-display-split) .shop-hero a { border: 1px solid currentColor; background: transparent; color: inherit; border-radius: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .catalog-tools { border-block: 2px solid var(--primary); padding-block: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-card { border-radius: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-card-media { background: color-mix(in srgb,var(--paper) 60%,white); border-bottom: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-card-media img { padding: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-card footer { border-top: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-story { background: var(--paper); color: var(--on-paper); border-block: 2px solid var(--primary); padding: 58px 6vw; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .shop-story p { max-width: 40ch; font-size: clamp(24px,2.6vw,36px); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono :is(.product-main-image,.cp-image-text img,.cp-product,.cp-gallery img) { border-radius: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .product-facts { border-block: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-mono .cp-main > section { border-bottom: 1px solid var(--theme-line); }

/* NOIR — a full photographic opening and restrained dark gallery. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir { --studio-radius: 0px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero { margin: 0; width: 100%; min-height: min(800px,88svh); height: auto; padding: 160px 7vw 84px; align-items: flex-end; color: white; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero::after { background: linear-gradient(0deg,color-mix(in srgb,#080D0B var(--hero-strength,65%),transparent) 0%,#080D0B24 75%); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero > div { max-width: 780px; width: 100%; margin: 0; text-align: start; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero h1 { max-width: 17ch; font-size: clamp(42px,5.6vw,80px); font-weight: 400; line-height: 1.35; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero a { border: 1px solid #FFFFFFB3; background: transparent; color: white; border-radius: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .shop-products > header { border-bottom: 1px solid var(--theme-line); padding-bottom: 28px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .shop-card-media { background: color-mix(in srgb,var(--paper) 90%,white); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .shop-story { background: var(--paper); color: var(--on-paper); border-block: 1px solid var(--theme-line); padding: 76px 9vw; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .shop-story p { max-width: 30ch; font-size: clamp(27px,3.2vw,44px); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .shop-footer { background: var(--paper); color: var(--on-paper); border-top: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .cp-hero { min-height: 70svh; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-noir .cp-hero:not(.has-image) { background: var(--paper); color: var(--on-paper); border-bottom: 1px solid var(--theme-line); }

/* MARKET — the collection is the destination, so the cover stays concise. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-market { --studio-radius: 10px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-nav { padding-block: 10px; border-bottom: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero { width: calc(100% - 40px); margin: 20px; min-height: 330px; height: auto; border-radius: 14px; padding: 46px 6vw; align-items: center; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero::after { background: linear-gradient(0deg,color-mix(in srgb,#10281B var(--hero-strength,65%),transparent),#10281B33); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero > div { max-width: 620px; width: 72%; margin: 0; text-align: start; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero h1 { font-size: clamp(32px,3.6vw,52px); line-height: 1.35; margin-block: 14px 24px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-products { padding-top: 32px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-products > header { margin-bottom: 20px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .catalog-tools { background: var(--theme-soft); border: 1px solid var(--theme-line); border-radius: 12px; padding: 18px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .sdisplay-search-field { background: var(--paper); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-card-media { background: color-mix(in srgb,var(--paper) 55%,white); border-bottom: 1px solid var(--theme-line); }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-card-media img { padding: 12px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-story { padding: 46px 6vw; min-height: 0; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .shop-story p { font-size: clamp(22px,2.6vw,34px); max-width: 45ch; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .product-detail-copy { padding: 24px; border: 1px solid var(--theme-line); border-radius: 14px; }
html body:is(.store-page,.product-page)[class][class].presentation-theme-market .cp-main > section { padding-block: 48px; }

/* Keep the existing alignment and height controls meaningful after a preset.
   Fine-grained design options can still override these values in the next sheet. */
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market):where(.hero-layout-center) .shop-hero > div { text-align: center; }
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market):where(.hero-layout-start) .shop-hero > div { text-align: start; }
@media (min-width: 781px) {
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom):where(.hero-height-compact) .shop-hero { min-height: 480px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-cocoa,.presentation-theme-mono,.presentation-theme-market):where(.hero-height-full) .shop-hero { min-height: 650px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-height-compact) .shop-hero { min-height: 540px; }
}

/* On narrow screens split compositions become a photograph followed by text.
   A background or video remains visible, and neither overlaps shopping actions. */
@media (max-width: 780px) {
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom,.presentation-theme-mono):where(.hero-display-split) .shop-hero { min-height: 0; padding: 360px 24px 42px; align-items: start; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom,.presentation-theme-mono):where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom,.presentation-theme-mono):where(.hero-display-split) .shop-hero-video { inset: 0; inset-inline-start: 0; width: 100%; height: 320px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom,.presentation-theme-mono):where(.hero-display-split) .shop-hero > div { width: 100%; max-width: none; margin: 0; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-bloom,.presentation-theme-mono):where(.hero-display-split) .shop-hero h1 { font-size: clamp(32px,8.6vw,46px); line-height: 1.45; margin-block: 18px 24px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero { padding-top: 358px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom:where(.hero-display-split) .shop-hero-video { inset: 12px 24px auto; width: calc(100% - 48px); height: 312px; border-radius: 180px 180px 24px 24px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero { width: calc(100% - 24px); margin: 12px; min-height: 460px; border-radius: 20px; padding: 56px 24px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa:where(.hero-display-framed) .shop-hero h1 { font-size: clamp(32px,8.8vw,46px); }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-cocoa .shop-story { width: calc(100% - 24px); margin: 12px; padding: 44px 24px; border-radius: 20px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-bloom .shop-story { border-radius: 54px 54px 0 0; padding: 58px 24px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero { min-height: 600px; padding: 158px 24px 56px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-noir:where(.hero-display-background) .shop-hero h1 { font-size: clamp(34px,9vw,48px); max-width: 15ch; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero { width: calc(100% - 24px); margin: 12px; min-height: 290px; padding: 34px 24px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero > div { width: 100%; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-market:where(.hero-display-framed) .shop-hero h1 { font-size: clamp(30px,8vw,40px); }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-market .catalog-tools { padding: 14px; }
  html body:is(.store-page,.product-page)[class][class].presentation-theme-maison .product-detail-copy { border-inline-start: 0; padding-inline-start: 0; border-top: 1px solid var(--theme-line); padding-top: 24px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-mono,.presentation-theme-noir) .shop-story { padding: 48px 24px; }
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) .shop-story p { font-size: clamp(22px,5.8vw,30px); line-height: 1.7; }
}
@media (prefers-reduced-motion: reduce) {
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-maison,.presentation-theme-cocoa,.presentation-theme-bloom,.presentation-theme-mono,.presentation-theme-noir,.presentation-theme-market) :is(.shop-card,.shop-card-media img) { animation: none; transition: none; }
}

/* Six further original compositions. These are a visual layer on the existing
   catalog, media and navigation. Crop/fit, saved columns, and detailed Studio
   options keep their existing ownership and later-sheet precedence. */
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor){--theme-line:color-mix(in srgb,var(--on-paper) 16%,transparent);--theme-muted:color-mix(in srgb,var(--on-paper) 65%,var(--paper));--theme-soft:color-mix(in srgb,var(--paper) 94%,var(--primary));color:var(--on-paper);background:var(--paper)}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) :is(.shop-hero>div,.shop-products>header>div,.shop-card>div,.product-detail-copy,.cp-hero>div){min-width:0}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) .shop-hero h1{overflow-wrap:anywhere;text-wrap:balance}

/* RIVIERA — floating navigation, an open panorama, wide gallery photography. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera{--studio-radius:18px}
html body.store-page[class][class].presentation-theme-riviera:where(:not(.nav-solid)) .shop-nav{width:calc(100% - 48px);margin:18px 24px 0;padding-block:12px;border-radius:18px;background:var(--paper)!important;color:var(--on-paper)!important;border:1px solid var(--theme-line);text-shadow:none}
html body.store-page[class][class].presentation-theme-riviera:where(:not(.nav-solid)) .cart-open{background:var(--theme-soft);color:var(--on-paper);border-color:var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-nav nav{gap:28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .cart-open{border-radius:99px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero{width:100%;margin:0;height:auto;min-height:760px;padding:180px 7vw 80px;align-items:flex-end;justify-content:center;border-radius:0 0 44px 44px;color:white}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero::after{background:linear-gradient(180deg,transparent 20%,color-mix(in srgb,#10252B var(--hero-strength,60%),transparent))}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero>div{width:100%;max-width:970px;margin-inline:auto;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero h1{font-size:clamp(44px,5.8vw,84px);font-weight:400;line-height:1.28;margin-block:24px 32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero a{border-radius:99px;background:var(--paper);color:var(--on-paper);border:1px solid var(--paper);padding-inline:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-products>header{padding-block:12px 28px;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .catalog-tools{border:0;border-bottom:1px solid var(--theme-line);padding-block:18px 24px;background:transparent}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-card{background:transparent;border:0;box-shadow:none;border-radius:0;margin-block-start:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-card-media{border-radius:18px;overflow:hidden;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-card footer{border-top:1px solid var(--theme-line);padding-block-start:18px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-story{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);align-items:start;gap:32px;padding:76px 8vw;border-block:1px solid var(--theme-line);background:var(--paper);color:var(--on-paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-story>span{padding-block-start:10px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-story p{max-width:38ch;font-size:clamp(28px,3vw,42px);line-height:1.65}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera :is(.product-main-image,.cp-image-text img,.cp-gallery img){border-radius:18px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera .shop-footer{border-top:1px solid var(--theme-line);background:var(--paper);color:var(--on-paper)}

/* EMBER — a robust divided cover and a generous restaurant menu rhythm. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-nav{padding-block:12px;border-bottom:3px solid var(--accent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .cart-open{border-radius:0;border-width:1px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero{width:100%;margin:0;min-height:560px;height:auto;padding:64px 6vw;align-items:center;background:var(--paper)!important;color:var(--on-paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero-video{inset:0;inset-block:40px;inset-inline-start:54%;inset-inline-end:4%;width:42%;height:calc(100% - 80px);transform:none;animation:none;border-radius:0;box-shadow:12px 12px 0 var(--accent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero>div{width:44%;max-width:640px;margin:0;margin-inline-end:auto;text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero h1{font-size:clamp(42px,5.5vw,76px);font-weight:650;line-height:1.25;margin-block:22px 30px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero a{background:var(--primary);color:var(--on-primary);border-radius:0;border:1px solid var(--primary);padding-inline:28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-products>header{border-block:2px solid var(--primary);padding-block:26px;align-items:center;transform:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-card{background:transparent;border:0;border-bottom:1px solid var(--theme-line);border-radius:0;box-shadow:none;padding-block:24px;transform:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-card-media{border-radius:0;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-card footer{border:0;padding-block-start:18px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-story{padding:70px 7vw;background:var(--primary);color:var(--on-primary);border-block:8px solid var(--accent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-story p{max-width:34ch;font-size:clamp(30px,3.4vw,48px);font-weight:600;line-height:1.55}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember :is(.product-main-image,.cp-image-text img,.cp-gallery img){border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .product-detail-copy{border-block:2px solid var(--primary);padding-block:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-footer{border-top:3px solid var(--accent)}

/* PETAL — an organic photograph and rounded, quietly tactile surfaces. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal{--studio-radius:30px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-nav{padding-block:18px;border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .cart-open{border-radius:99px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero{width:calc(100% - 40px);margin:20px;min-height:690px;height:auto;padding:70px 6vw;border-radius:40px;background:color-mix(in srgb,var(--accent) 13%,var(--paper))!important;color:var(--on-paper);align-items:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero-video{inset:0;inset-block:44px;inset-inline-start:53%;inset-inline-end:4%;width:43%;height:calc(100% - 88px);border-radius:48% 48% 16% 48%;transform:none;animation:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero>div{width:43%;max-width:620px;margin:0;margin-inline-end:auto;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero h1{font-size:clamp(38px,4.9vw,68px);font-weight:500;line-height:1.4;margin-block:24px 32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero a{border:1px solid var(--primary);border-radius:99px;background:var(--primary);color:var(--on-primary);padding-inline:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-products>header{flex-direction:column;align-items:center;text-align:center;gap:14px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-card{border:1px solid var(--theme-line);border-radius:30px;background:var(--paper);box-shadow:0 8px 20px color-mix(in srgb,var(--on-paper) 4%,transparent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-card-media{overflow:hidden;border-radius:28px 28px 8px 28px;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-card footer button{border-radius:99px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-story{width:calc(100% - 64px);margin:32px;padding:72px 9vw;border-radius:60px;border:1px solid var(--theme-line);background:color-mix(in srgb,var(--primary) 7%,var(--paper));color:var(--on-paper);align-items:center;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-story p{max-width:31ch;font-size:clamp(26px,3.1vw,42px);line-height:1.7}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal :is(.product-main-image,.cp-image-text img){border-radius:36px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-footer{border-top:1px solid var(--theme-line);background:var(--paper);color:var(--on-paper)}

/* VAULT — a picture frame, an independent title plaque and precise metal lines. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-nav{padding-block:16px;border-bottom:3px double var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .cart-open{border-radius:0;background:transparent}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero{width:calc(100% - 64px);margin:32px;min-height:730px;height:auto;padding:76px 6vw 38px;border:1px solid var(--primary);border-radius:0;align-items:flex-end;justify-content:center;color:var(--on-paper);background:var(--paper)!important}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero-video{inset:18px;inset-block-end:130px;width:calc(100% - 36px);height:calc(100% - 148px);transform:none;animation:none;border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero::after{inset:18px;inset-block-end:130px;background:linear-gradient(0deg,color-mix(in srgb,#101410 var(--hero-strength,35%),transparent),transparent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero>div{width:min(850px,90%);max-width:850px;margin:0 auto;padding:32px 42px;border:1px solid var(--primary);background:var(--paper);color:var(--on-paper);text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero h1{font-size:clamp(38px,4.2vw,62px);font-weight:400;line-height:1.4;margin-block:16px 28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero a{border:1px solid var(--primary);color:var(--primary);background:transparent;border-radius:0;padding-inline:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-products>header{flex-direction:column;align-items:center;text-align:center;border-bottom:1px solid var(--primary);padding-block-end:30px;gap:12px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card{background:transparent;border:1px solid var(--theme-line);border-radius:0;box-shadow:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card-media{margin:12px;border:1px solid var(--theme-line);border-radius:0;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card-media img{padding:18px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card footer{border-top:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-story{width:calc(100% - 64px);margin:32px;padding:78px 8vw;background:var(--paper);color:var(--on-paper);border-block:1px solid var(--primary);align-items:center;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-story p{max-width:28ch;font-size:clamp(28px,3.3vw,46px);line-height:1.65}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault :is(.product-main-image,.cp-image-text img){border-radius:0;border:1px solid var(--primary);padding:12px;background:var(--paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-footer{border-top:3px double var(--theme-line);background:var(--paper);color:var(--on-paper)}

/* CANVAS — oversize typography, a structural image frame, staggered lookbook. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas{--studio-radius:0px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-nav{padding-block:16px;border-bottom:6px solid var(--primary)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .cart-open{border-radius:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero{width:100%;margin:0;min-height:620px;height:auto;padding:64px 6vw;align-items:center;background:var(--paper)!important;color:var(--on-paper);border-bottom:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero-video{inset:0;inset-block:40px;inset-inline-start:55%;inset-inline-end:5%;width:40%;height:calc(100% - 80px);transform:none;animation:none;border:12px solid var(--accent);border-radius:0;box-sizing:border-box}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero>div{width:45%;max-width:680px;margin:0;margin-inline-end:auto;text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero h1{font-size:clamp(44px,6.1vw,88px);font-weight:650;line-height:1.19;margin-block:20px 30px;letter-spacing:-.025em}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero a{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);border-radius:0;padding-inline:30px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-products>header{align-items:center;border-bottom:6px solid var(--primary);padding-block-end:28px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-card{background:transparent;border:0;box-shadow:none;border-radius:0;margin-block-start:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-card-media{border:1px solid var(--theme-line);border-radius:0;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-card footer{border-top:1px solid var(--primary)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-story{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:40px;padding:80px 7vw;border-block:6px solid var(--primary);background:var(--paper);color:var(--on-paper)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-story>span{align-self:start;padding-block-start:12px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-story p{max-width:34ch;font-size:clamp(30px,3.6vw,50px);font-weight:500;line-height:1.6}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas :is(.product-main-image,.cp-image-text img){border-radius:0;border:8px solid var(--accent)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .product-detail-copy{border-inline-start:1px solid var(--theme-line);padding-inline-start:32px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .shop-footer{border-top:6px solid var(--primary)}

/* SAVOR — a photograph above a separate ordering band, rounded menu cards. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor{--studio-radius:24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-nav{border-top:4px solid var(--accent);border-bottom:1px solid var(--theme-line);padding-block:14px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .cart-open{border-radius:99px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero{width:calc(100% - 48px);margin:24px;min-height:0;height:auto;padding:410px 5vw 38px;background:var(--paper)!important;color:var(--on-paper);border:1px solid var(--theme-line);border-radius:28px;align-items:flex-end}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero::before,
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero-video{inset:0;inset-block-end:auto;width:100%;height:370px;border-radius:26px 26px 0 0;transform:none;animation:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero::after{display:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 36px;width:100%;max-width:none;margin:0;text-align:start}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero>div>span{grid-column:1/-1}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero h1{font-size:clamp(32px,3.7vw,54px);font-weight:500;line-height:1.4;margin:0}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero a{background:var(--primary);color:var(--on-primary);border-radius:99px;border:1px solid var(--primary);padding-inline:28px;justify-self:end}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-products>header{align-items:center;border-bottom:1px solid var(--theme-line);padding-block-end:24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .catalog-tools{padding:20px;border:1px solid var(--theme-line);border-radius:24px;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-card{border:1px solid var(--theme-line);border-radius:24px;background:var(--paper);box-shadow:none}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-card-media{border-radius:22px 22px 8px 8px;overflow:hidden;background:var(--theme-soft)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-card footer button{border-radius:99px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-story{width:calc(100% - 48px);margin:24px;padding:60px 8vw;border-radius:28px;background:var(--primary);color:var(--on-primary);align-items:center;text-align:center}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-story p{max-width:36ch;font-size:clamp(26px,2.9vw,40px);line-height:1.75}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor :is(.product-main-image,.cp-image-text img){border-radius:24px}
html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .shop-footer{border-top:1px solid var(--theme-line)}

/* Catalog sizing owns density, flex structure and dimensions. Match its scoped
   card selectors only for these default decorations; changing the saved card
   style still returns control to the shared card presentation. */
html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.cards-framed) .shop-grid.sdisplay-grid>.shop-card:not([hidden]){background:transparent;border:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.cards-elevated) .shop-grid.sdisplay-grid>.shop-card:not([hidden]){background:var(--paper);border:1px solid var(--theme-line)}
html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.cards-clean) .shop-grid.sdisplay-grid>.shop-card:not([hidden]){background:transparent;border:0;border-bottom:1px solid var(--theme-line)}

/* Alignment and height selectors add no specificity. Explicit Studio classes
   still win in the next sheet, including very large logos and title settings. */
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor):where(.hero-layout-center) .shop-hero>div{text-align:center}
html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor):where(.hero-layout-start) .shop-hero>div{text-align:start}
@media(min-width:781px){
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-vault):where(.hero-height-compact) .shop-hero{min-height:580px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-ember,.presentation-theme-canvas):where(.hero-height-full) .shop-hero{min-height:740px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-height-compact) .shop-hero{min-height:550px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-height-full) .shop-hero{min-height:740px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.catalog-layout-lookbook) .shop-grid:not(.sdisplay-compact)>.shop-card:nth-child(even){margin-block-start:50px}
}
@media(max-width:780px){
  html body.store-page[class][class].presentation-theme-riviera:where(:not(.nav-solid)) .shop-nav{width:calc(100% - 24px);margin:12px 12px 0;border-radius:14px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-riviera:where(.hero-display-background) .shop-hero{min-height:620px;padding:170px 24px 54px;border-radius:0 0 28px 28px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-canvas):where(.hero-display-split) .shop-hero{min-height:0;height:auto;width:calc(100% - 24px);margin:12px;padding:352px 24px 38px;align-items:start}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-canvas):where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-canvas):where(.hero-display-split) .shop-hero-video{inset:12px;inset-block-end:auto;inset-inline-start:12px;inset-inline-end:12px;width:calc(100% - 24px);height:310px;box-shadow:none}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-ember:where(.hero-display-split) .shop-hero-video{border:5px solid var(--accent);box-sizing:border-box}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero{border-radius:28px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-petal:where(.hero-display-split) .shop-hero-video{border-radius:46% 46% 14% 46%}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas:where(.hero-display-split) .shop-hero-video{border-width:8px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-canvas):where(.hero-display-split) .shop-hero>div{width:100%;max-width:none;margin:0}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero{width:calc(100% - 24px);margin:12px;min-height:560px;padding:300px 20px 24px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero-video{inset:10px;inset-block-end:auto;width:calc(100% - 20px);height:340px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero::after{inset:10px;inset-block-end:auto;height:340px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault:where(.hero-display-framed) .shop-hero>div{width:100%;padding:26px 22px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero{width:calc(100% - 24px);margin:12px;padding:280px 24px 30px;border-radius:22px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero-video{height:250px;border-radius:20px 20px 0 0}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed) .shop-hero>div{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor:where(.hero-display-framed):where(.hero-layout-center) .shop-hero>div{align-items:center}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) .shop-hero h1{font-size:clamp(30px,8.3vw,46px);line-height:1.4;margin-block:16px 24px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-canvas) .shop-story{display:flex;flex-direction:column;gap:20px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-canvas) .shop-story{padding:46px 24px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-savor) .shop-story{width:calc(100% - 24px);margin:12px;padding:44px 24px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-petal .shop-story{border-radius:30px}
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) .shop-story p{font-size:clamp(23px,6vw,31px);line-height:1.75}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-ember .shop-products>header{padding-block:22px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-savor .catalog-tools{padding:14px;border-radius:18px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card-media{margin:8px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-vault .shop-card-media img{padding:8px}
  html body:is(.store-page,.product-page)[class][class].presentation-theme-canvas .product-detail-copy{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--theme-line);padding-top:24px}
}
@media(prefers-reduced-motion:reduce){
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) .shop-hero::before,
  html body:is(.store-page,.product-page)[class][class]:is(.presentation-theme-riviera,.presentation-theme-ember,.presentation-theme-petal,.presentation-theme-vault,.presentation-theme-canvas,.presentation-theme-savor) :is(.shop-card,.shop-card-media img,.shop-hero a,.shop-nav){animation:none;transition:none;scroll-behavior:auto}
}
