/* PopShop™ — PS-8885 Dynamic Template Contract Styles
   Generic variants only. No customer/shop-specific selectors or assets. */
.ps-contract-shop{
  --bt-bg:#090a0d;--bt-surface:#111319;--bt-surface2:#1b1e26;--bt-text:#f7f7f8;
  --bt-muted:#a9adb7;--bt-primary:#00e676;--bt-accent:#00cec9;--bt-font-body:DM Sans;
  --bt-font-display:Outfit;--bt-radius:20px;--bt-hero-min:520px;--bt-max:1180px;
  position:relative;isolation:isolate;min-height:100%;overflow:hidden;background:var(--bt-bg);color:var(--bt-text);
  font-family:var(--bt-font-body),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ps-contract-shop *{box-sizing:border-box}
.ps-contract-shop button,.ps-contract-shop a{font:inherit}
.ps-contract-shop button{cursor:pointer}
.ps-contract-shop .bt-backdrop{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--bt-primary) 14%,transparent),transparent 26%),
    radial-gradient(circle at 92% 14%,color-mix(in srgb,var(--bt-accent) 12%,transparent),transparent 25%);
}

/* PS-7426J9J — standard page-background behavior.
   Video/image fills the storefront page and remains behind the content.
   Hero-specific media is still allowed only when explicitly declared by the
   template contract. */
.ps-contract-shop.has-page-background{background:transparent}
.ps-contract-shop.has-page-background .bt-backdrop{
  z-index:-1;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--bt-primary) 10%,transparent),transparent 28%),
    radial-gradient(circle at 92% 14%,color-mix(in srgb,var(--bt-accent) 8%,transparent),transparent 28%);
}
.bt-page-background{position:absolute;inset:0;z-index:-3;overflow:hidden;background:var(--bt-bg)}
.bt-page-background-media,.bt-page-background>img,.bt-page-background>video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block
}
.bt-page-background-shade{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,
      rgb(0 0 0 / calc(var(--bt-page-overlay,.35) * .48)) 0%,
      rgb(0 0 0 / calc(var(--bt-page-overlay,.35) * .72)) 42%,
      rgb(0 0 0 / calc(var(--bt-page-overlay,.35) * 1.10)) 100%),
    linear-gradient(90deg,rgb(0 0 0 / .18),transparent 48%,rgb(0 0 0 / .12));
}
.ps-contract-shop.has-page-background.is-light .bt-page-background-shade{
  background:
    linear-gradient(180deg,
      rgb(255 255 255 / calc(var(--bt-page-overlay,.35) * .58)) 0%,
      rgb(255 255 255 / calc(var(--bt-page-overlay,.35) * .72)) 45%,
      rgb(245 245 242 / calc(var(--bt-page-overlay,.35) * .90)) 100%),
    linear-gradient(90deg,rgb(255 255 255 / .16),transparent 52%,rgb(0 0 0 / .05));
}
/* Header/nav keep intentional glass surfaces for legibility. */
.ps-contract-shop.has-page-background .bt-top{
  background:color-mix(in srgb,var(--bt-bg) 78%,transparent);
  backdrop-filter:blur(18px) saturate(1.08)
}
.ps-contract-shop.has-page-background .bt-nav{
  background:color-mix(in srgb,var(--bt-bg) 84%,transparent);
  backdrop-filter:blur(16px)
}
/* Content remains over the page video. Cards/surfaces only add local contrast. */
.ps-contract-shop.has-page-background .bt-main{position:relative;z-index:1}
.ps-contract-shop.has-page-background .bt-card,
.ps-contract-shop.has-page-background .bt-service-card,
.ps-contract-shop.has-page-background .bt-info-card,
.ps-contract-shop.has-page-background .bt-feature,
.ps-contract-shop.has-page-background .bt-music-release,
.ps-contract-shop.has-page-background .bt-tier,
.ps-contract-shop.has-page-background .bt-contact-grid>div{
  background:color-mix(in srgb,var(--bt-surface) 76%,transparent);
  backdrop-filter:blur(11px) saturate(1.04)
}
.ps-contract-shop.has-page-background .bt-footer{
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bt-bg) 72%,transparent))
}
/* A page background is not a hero media panel. If hero media is absent, the
   hero stays transparent so the same page video remains visible behind it. */
.ps-contract-shop.has-page-background .bt-hero:not(:has(.bt-hero-media)){background:transparent}
.bt-top{min-height:68px;display:flex;align-items:center;gap:18px;padding:12px clamp(14px,4vw,42px);border-bottom:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);background:color-mix(in srgb,var(--bt-bg) 88%,transparent);backdrop-filter:blur(16px);position:relative;z-index:8}
.bt-brand{display:flex;align-items:center;gap:11px;min-width:0}.bt-brand-logo{display:block;width:46px;height:46px;flex:0 0 46px}.bt-logo{width:100%;height:100%;object-fit:contain;display:block}.bt-brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--bt-font-display),sans-serif;font-size:17px;letter-spacing:.01em}.bt-top-label{margin:auto;color:var(--bt-muted);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.bt-top-actions{display:flex;gap:7px;align-items:center}.bt-top-actions button{border:1px solid color-mix(in srgb,var(--bt-text) 12%,transparent);background:color-mix(in srgb,var(--bt-surface) 85%,transparent);color:var(--bt-text);min-height:40px;padding:0 13px;border-radius:999px;font-weight:800}.bt-top-actions [data-bt-search],.bt-top-actions [data-bt-menu]{width:42px;padding:0}.bt-top-primary{background:var(--bt-primary)!important;color:color-mix(in srgb,var(--bt-bg) 92%,#000)!important;border-color:var(--bt-primary)!important}.bt-live-now{color:var(--bt-primary)!important;border-color:color-mix(in srgb,var(--bt-primary) 45%,transparent)!important}
.bt-nav{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);background:color-mix(in srgb,var(--bt-bg) 94%,transparent);padding:0 clamp(8px,3vw,30px);position:relative;z-index:7}.bt-nav::-webkit-scrollbar{display:none}.bt-nav button{flex:0 0 auto;border:0;background:transparent;color:var(--bt-muted);padding:15px 18px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;position:relative}.bt-nav button.is-active{color:var(--bt-primary)}.bt-nav button.is-active:after{content:"";height:3px;left:18px;right:18px;bottom:0;position:absolute;background:var(--bt-primary)}
.bt-hero{min-height:var(--bt-hero-min);position:relative;display:grid;align-items:center;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--bt-text) 9%,transparent)}
.bt-hero-media{position:absolute;inset:0}.bt-hero-media-el,.bt-hero-media img,.bt-hero-media video{width:100%;height:100%;object-fit:cover;display:block}.bt-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 96%,transparent) 3%,color-mix(in srgb,var(--bt-bg) 76%,transparent) 48%,color-mix(in srgb,var(--bt-bg) 18%,transparent) 82%),linear-gradient(0deg,color-mix(in srgb,var(--bt-bg) 92%,transparent),transparent 55%)}.bt-hero-copy{position:relative;z-index:2;max-width:min(760px,82vw);padding:clamp(38px,8vw,90px) clamp(18px,7vw,78px)}.bt-eyebrow,.bt-hero-badge{display:block;color:var(--bt-primary);font-size:11px;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.bt-hero-badge{display:inline-flex;border:1px solid color-mix(in srgb,var(--bt-primary) 46%,transparent);border-radius:999px;padding:7px 10px;margin-bottom:12px}.bt-hero h1{font-family:var(--bt-font-display),sans-serif;font-size:clamp(44px,8vw,94px);line-height:.92;letter-spacing:-.05em;margin:11px 0 18px;max-width:900px}.bt-hero p{font-size:clamp(15px,2vw,20px);line-height:1.55;color:var(--bt-muted);max-width:650px}.bt-hero-actions,.bt-feature-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.bt-hero-actions button,.bt-feature-actions button,.bt-section-action,.bt-text-section button,.bt-contact>button{border:1px solid var(--bt-primary);background:var(--bt-primary);color:color-mix(in srgb,var(--bt-bg) 90%,#000);border-radius:999px;padding:11px 17px;font-weight:900}.bt-hero-actions button.is-secondary,.bt-feature-actions button.is-secondary{background:color-mix(in srgb,var(--bt-surface) 76%,transparent);color:var(--bt-text);border-color:color-mix(in srgb,var(--bt-text) 20%,transparent)}
.bt-hero-split,.bt-hero-profile{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);padding-right:clamp(16px,5vw,70px)}.bt-hero-split .bt-hero-media,.bt-hero-profile .bt-hero-media{position:relative;grid-column:2;grid-row:1;width:100%;height:calc(var(--bt-hero-min) - 48px);border-radius:var(--bt-radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--bt-text) 12%,transparent);box-shadow:0 25px 80px rgba(0,0,0,.26)}.bt-hero-split .bt-hero-shade,.bt-hero-profile .bt-hero-shade{display:none}.bt-hero-split .bt-hero-copy,.bt-hero-profile .bt-hero-copy{grid-column:1;grid-row:1}
.bt-hero-editorial{min-height:460px}.bt-hero-editorial .bt-hero-copy{max-width:980px}.bt-hero-editorial h1{font-size:clamp(52px,9vw,108px)}
.bt-main{max-width:var(--bt-max);margin:0 auto;width:100%;padding:clamp(14px,3vw,32px)}
.bt-section{padding:clamp(32px,6vw,72px) 0;border-bottom:1px solid color-mix(in srgb,var(--bt-text) 9%,transparent)}.bt-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.bt-section-head>div>span{color:var(--bt-primary);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.bt-section-head h2,.bt-feature h2,.bt-text-section h2{font-family:var(--bt-font-display),sans-serif;font-size:clamp(30px,5vw,56px);line-height:1;margin:5px 0 8px}.bt-section-head p,.bt-feature p,.bt-text-section p{max-width:700px;color:var(--bt-muted);line-height:1.6;margin:0}.bt-section-action{flex:0 0 auto;background:transparent;color:var(--bt-primary)}
.bt-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bt-card{min-width:0;text-align:left;border:1px solid color-mix(in srgb,var(--bt-text) 11%,transparent);background:linear-gradient(150deg,var(--bt-surface),color-mix(in srgb,var(--bt-surface2) 70%,transparent));color:var(--bt-text);padding:0;border-radius:var(--bt-radius);overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.12)}.bt-card-img{display:block;aspect-ratio:1/1;background:var(--bt-surface2);overflow:hidden}.bt-card-img img{width:100%;height:100%;object-fit:cover;display:block}.bt-card-copy{display:block;padding:14px}.bt-card-copy strong,.bt-card-copy small,.bt-card-copy b{display:block}.bt-card-copy strong{font-family:var(--bt-font-display),sans-serif;font-size:17px}.bt-card-copy small{color:var(--bt-muted);margin-top:4px}.bt-card-copy b{color:var(--bt-primary);margin-top:10px}
.bt-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bt-service-grid.bt-layout-list{grid-template-columns:1fr}.bt-service-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;text-align:left;border:1px solid color-mix(in srgb,var(--bt-text) 11%,transparent);background:var(--bt-surface);color:var(--bt-text);border-radius:var(--bt-radius);padding:18px}.bt-service-card>span strong,.bt-service-card>span small{display:block}.bt-service-card>span small{color:var(--bt-muted);margin-top:5px;line-height:1.4}.bt-service-card>b{color:var(--bt-primary)}.bt-service-img{grid-row:1;grid-column:1/-1;height:150px;overflow:hidden;border-radius:calc(var(--bt-radius) - 6px);margin-bottom:2px}.bt-service-img img{width:100%;height:100%;object-fit:cover}
.bt-band{max-width:var(--bt-max);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:18px;overflow:auto;padding:15px clamp(16px,4vw,42px);border-block:1px solid color-mix(in srgb,var(--bt-primary) 26%,transparent);color:var(--bt-primary);font-size:10px;font-weight:950;letter-spacing:.12em;white-space:nowrap}.bt-band i{font-style:normal;color:var(--bt-accent)}
.bt-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bt-info-card{min-width:0;padding:20px;border:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);background:var(--bt-surface);border-radius:var(--bt-radius)}.bt-info-card>span{color:var(--bt-primary);font-size:9px;font-weight:900;letter-spacing:.13em}.bt-info-card h3{font:700 22px/1.05 var(--bt-font-display),sans-serif;margin:7px 0}.bt-info-card p{color:var(--bt-muted);line-height:1.5}.bt-info-card button{border:0;background:transparent;color:var(--bt-primary);padding:0;font-weight:900}.bt-info-media{height:180px;margin:-10px -10px 18px;border-radius:calc(var(--bt-radius) - 7px);overflow:hidden;background:var(--bt-surface2)}.bt-info-media img,.bt-info-media video{width:100%;height:100%;object-fit:cover;display:block}
.bt-feature{max-width:var(--bt-max);margin:clamp(20px,5vw,60px) auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;border:1px solid color-mix(in srgb,var(--bt-text) 11%,transparent);background:var(--bt-surface);border-radius:var(--bt-radius);overflow:hidden}.bt-feature-media{min-height:390px;background:var(--bt-surface2)}.bt-feature-media img,.bt-feature-media video{width:100%;height:100%;object-fit:cover;display:block}.bt-feature-copy{align-self:center;padding:clamp(25px,6vw,58px)}.bt-feature-copy>span{color:var(--bt-primary);font-size:10px;font-weight:900;letter-spacing:.15em}.bt-feature-stack{grid-template-columns:1fr}.bt-feature-stack .bt-feature-media{max-height:580px}
.bt-stats{max-width:var(--bt-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:color-mix(in srgb,var(--bt-text) 10%,transparent)}.bt-stats>div{background:var(--bt-bg);padding:24px;text-align:center}.bt-stats strong,.bt-stats span{display:block}.bt-stats strong{font:800 clamp(27px,5vw,48px)/1 var(--bt-font-display),sans-serif;color:var(--bt-primary)}.bt-stats span{margin-top:7px;color:var(--bt-muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.bt-text-section{max-width:850px}.bt-text-section>p{font-size:17px}
.bt-music-release{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr);gap:30px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--bt-text) 12%,transparent);border-radius:var(--bt-radius);background:var(--bt-surface)}.bt-music-art{aspect-ratio:1/1;background:var(--bt-surface2);overflow:hidden;border-radius:calc(var(--bt-radius) - 7px)}.bt-music-art img{width:100%;height:100%;object-fit:cover}.bt-music-copy h3{font:800 clamp(30px,5vw,56px)/1 var(--bt-font-display),sans-serif;margin:8px 0}.bt-music-copy p{color:var(--bt-muted)}.bt-music-actions{display:flex;gap:9px;margin-top:18px}.bt-music-actions button{border:1px solid var(--bt-primary);background:var(--bt-primary);color:color-mix(in srgb,var(--bt-bg) 92%,#000);border-radius:999px;padding:10px 15px;font-weight:900}.bt-music-actions button+button{background:transparent;color:var(--bt-text);border-color:color-mix(in srgb,var(--bt-text) 18%,transparent)}.bt-wave{height:30px;display:flex;align-items:center;gap:2px;margin-top:20px;overflow:hidden}.bt-wave i{display:block;width:2px;min-width:2px;background:var(--bt-primary);opacity:.8}
.bt-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bt-tier{padding:22px;border:1px solid color-mix(in srgb,var(--bt-primary) 22%,transparent);background:linear-gradient(160deg,var(--bt-surface),color-mix(in srgb,var(--bt-accent) 8%,var(--bt-surface)));border-radius:var(--bt-radius)}.bt-tier>span{color:var(--bt-primary);font-size:9px;font-weight:950;letter-spacing:.13em}.bt-tier h3{font:800 24px/1 var(--bt-font-display),sans-serif;margin:8px 0}.bt-tier p,.bt-tier li{color:var(--bt-muted);line-height:1.45}.bt-tier strong{display:block;margin:14px 0;color:var(--bt-primary)}.bt-tier ul{padding-left:18px}.bt-tier button{width:100%;border:1px solid var(--bt-primary);background:var(--bt-primary);color:color-mix(in srgb,var(--bt-bg) 92%,#000);border-radius:999px;padding:10px;font-weight:900}
.bt-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.bt-contact-grid>div{padding:18px;border:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);background:var(--bt-surface);border-radius:var(--bt-radius)}.bt-contact-grid span,.bt-contact-grid strong{display:block}.bt-contact-grid span{font-size:9px;color:var(--bt-primary);font-weight:900;letter-spacing:.12em}.bt-contact-grid strong{margin-top:7px}
.bt-footer{max-width:var(--bt-max);margin:0 auto;display:flex;align-items:end;justify-content:space-between;gap:20px;padding:30px clamp(16px,4vw,42px);border-top:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);color:var(--bt-muted)}.bt-footer strong,.bt-footer span{display:block}.bt-footer strong{font-family:var(--bt-font-display);color:var(--bt-text);font-size:18px}.bt-footer span{margin-top:5px}.bt-footer button{border:0;background:transparent;color:var(--bt-primary);font-weight:900;margin-left:12px}
.bt-image-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:120px;color:var(--bt-primary);font-size:44px}

/* Generic design variants. These describe visual grammar, never a specific shop. */
.bt-v-noise{background:color-mix(in srgb,var(--bt-bg) 95%,#171119)}.bt-v-noise .bt-backdrop{opacity:.34;background:repeating-linear-gradient(118deg,transparent 0 19px,color-mix(in srgb,var(--bt-text) 3%,transparent) 20px 21px),radial-gradient(circle at 11% 6%,color-mix(in srgb,var(--bt-primary) 20%,transparent),transparent 28%),radial-gradient(circle at 88% 90%,color-mix(in srgb,var(--bt-accent) 15%,transparent),transparent 27%)}.bt-v-noise .bt-brand-name,.bt-v-noise .bt-hero h1{letter-spacing:.01em;text-shadow:3px 3px 0 color-mix(in srgb,var(--bt-primary) 28%,transparent)}.bt-v-noise .bt-card,.bt-v-noise .bt-music-release{border-radius:10px}.bt-v-noise .bt-nav button.is-active{color:var(--bt-primary)}
.bt-v-intel .bt-backdrop{background:radial-gradient(circle at 80% -10%,color-mix(in srgb,var(--bt-accent) 25%,transparent),transparent 32%),radial-gradient(circle at 10% 25%,color-mix(in srgb,var(--bt-primary) 17%,transparent),transparent 28%)}.bt-v-intel .bt-hero h1{font-weight:950}.bt-v-intel .bt-info-card,.bt-v-intel .bt-tier{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bt-primary) 6%,transparent),0 24px 70px rgba(0,0,0,.18)}
.bt-v-cinematic .bt-hero{min-height:min(82vh,850px)}.bt-v-cinematic .bt-hero-shade{background:linear-gradient(0deg,color-mix(in srgb,var(--bt-bg) 98%,transparent),color-mix(in srgb,var(--bt-bg) 15%,transparent) 72%),linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 78%,transparent),transparent 70%)}.bt-v-cinematic .bt-hero-copy{text-align:center;justify-self:center}.bt-v-cinematic .bt-hero-actions{justify-content:center}.bt-v-cinematic .bt-hero h1{letter-spacing:-.025em}.bt-v-cinematic .bt-service-grid.bt-layout-list .bt-service-card{border-width:0 0 1px;border-radius:0;background:transparent;padding-inline:5px}
.bt-v-performance .bt-backdrop{background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--bt-accent) 22%,transparent),transparent 30%)}.bt-v-performance .bt-hero-split .bt-hero-media{border-color:color-mix(in srgb,var(--bt-primary) 35%,transparent)}.bt-v-performance .bt-stats strong{font-style:italic}
.bt-v-utility .bt-backdrop{background:repeating-linear-gradient(0deg,transparent 0 38px,color-mix(in srgb,var(--bt-primary) 4%,transparent) 39px),repeating-linear-gradient(90deg,transparent 0 38px,color-mix(in srgb,var(--bt-primary) 4%,transparent) 39px)}.bt-v-utility .bt-hero{border:1px solid color-mix(in srgb,var(--bt-primary) 26%,transparent);margin:24px auto;max-width:var(--bt-max);border-radius:var(--bt-radius)}.bt-v-utility .bt-service-card{border-left:5px solid var(--bt-primary)}.bt-v-utility .bt-band{background:var(--bt-primary);color:color-mix(in srgb,var(--bt-bg) 92%,#000)}.bt-v-utility .bt-band i{color:inherit}
.bt-v-community{background:linear-gradient(90deg,color-mix(in srgb,var(--bt-primary) 5%,var(--bt-bg)),var(--bt-bg))}.bt-v-community .bt-hero h1,.bt-v-community .bt-section h2,.bt-v-community .bt-feature h2{letter-spacing:-.02em}.bt-v-community .bt-card,.bt-v-community .bt-service-card,.bt-v-community .bt-info-card{box-shadow:none}.bt-v-community .bt-band{font-family:var(--bt-font-display)}
.bt-v-street .bt-hero h1{font-weight:950;text-transform:uppercase}.bt-v-luxury .bt-hero h1,.bt-v-luxury .bt-section h2{font-weight:500}.bt-v-minimal .bt-backdrop{opacity:.45}

/* Live contract replaces only the default customer storefront body. Canonical
   floating tools, customer action dock, PWA/install surfaces and overlays stay. */
body[data-ps-contract-live="true"] #shopApp{max-width:none!important;background:transparent!important}
body[data-ps-contract-live="true"] #shopApp>#shopHeader,
body[data-ps-contract-live="true"] #shopApp>.shop-body,
body[data-ps-contract-live="true"] #shopApp>.powered-footer{display:none!important}
body[data-ps-contract-live="true"] #psBrandTemplateRoot{position:relative;z-index:4;width:100%}

/* Import Review uses exactly the same DOM/CSS. */
.pspkg-review__surface .ps-contract-shop{min-height:100%;border-radius:18px}
.pspkg-review__viewport.is-mobile .bt-top{min-height:52px;padding:7px 9px}.pspkg-review__viewport.is-mobile .bt-brand-logo{width:34px;height:34px;flex-basis:34px}.pspkg-review__viewport.is-mobile .bt-brand-name{font-size:12px}.pspkg-review__viewport.is-mobile .bt-top-label{display:none}.pspkg-review__viewport.is-mobile .bt-top-actions button{min-height:34px;padding:0 9px;font-size:9px}.pspkg-review__viewport.is-mobile .bt-top-actions [data-bt-search],.pspkg-review__viewport.is-mobile .bt-top-actions [data-bt-menu]{width:34px}.pspkg-review__viewport.is-mobile .bt-nav button{padding:9px 10px;font-size:8px}.pspkg-review__viewport.is-mobile .bt-hero{--bt-hero-min:350px}.pspkg-review__viewport.is-mobile .bt-hero-copy{padding:24px 14px;max-width:90vw}.pspkg-review__viewport.is-mobile .bt-hero h1{font-size:42px}.pspkg-review__viewport.is-mobile .bt-hero p{font-size:11px}.pspkg-review__viewport.is-mobile .bt-hero-actions button{padding:8px 10px;font-size:9px}.pspkg-review__viewport.is-mobile .bt-hero-split,.pspkg-review__viewport.is-mobile .bt-hero-profile{grid-template-columns:1fr;padding:0}.pspkg-review__viewport.is-mobile .bt-hero-split .bt-hero-media,.pspkg-review__viewport.is-mobile .bt-hero-profile .bt-hero-media{position:absolute;inset:0;grid-column:auto;grid-row:auto;height:100%;border:0;border-radius:0}.pspkg-review__viewport.is-mobile .bt-hero-split .bt-hero-shade,.pspkg-review__viewport.is-mobile .bt-hero-profile .bt-hero-shade{display:block}.pspkg-review__viewport.is-mobile .bt-hero-split .bt-hero-copy,.pspkg-review__viewport.is-mobile .bt-hero-profile .bt-hero-copy{grid-column:auto;grid-row:auto}.pspkg-review__viewport.is-mobile .bt-main{padding:8px}.pspkg-review__viewport.is-mobile .bt-section{padding:18px 0}.pspkg-review__viewport.is-mobile .bt-section-head h2{font-size:25px}.pspkg-review__viewport.is-mobile .bt-section-head p{font-size:9px}.pspkg-review__viewport.is-mobile .bt-product-grid{grid-template-columns:repeat(2,1fr);gap:6px}.pspkg-review__viewport.is-mobile .bt-card-copy{padding:8px}.pspkg-review__viewport.is-mobile .bt-card-copy strong{font-size:10px}.pspkg-review__viewport.is-mobile .bt-card-copy small,.pspkg-review__viewport.is-mobile .bt-card-copy b{font-size:8px}.pspkg-review__viewport.is-mobile .bt-service-grid{grid-template-columns:1fr;gap:6px}.pspkg-review__viewport.is-mobile .bt-service-card{padding:10px;font-size:9px}.pspkg-review__viewport.is-mobile .bt-info-grid{grid-template-columns:1fr}.pspkg-review__viewport.is-mobile .bt-feature{grid-template-columns:1fr;margin:12px 0}.pspkg-review__viewport.is-mobile .bt-feature-media{min-height:240px}.pspkg-review__viewport.is-mobile .bt-feature-copy{padding:18px}.pspkg-review__viewport.is-mobile .bt-stats{grid-template-columns:repeat(2,1fr)}.pspkg-review__viewport.is-mobile .bt-music-release{grid-template-columns:1fr;gap:10px;padding:10px}.pspkg-review__viewport.is-mobile .bt-tier-grid{grid-template-columns:1fr}.pspkg-review__viewport.is-mobile .bt-contact-grid{grid-template-columns:1fr}.pspkg-review__viewport.is-mobile .bt-footer{font-size:8px;padding:14px 10px}

@media(max-width:700px){
  .bt-top-label{display:none}.bt-top{padding-inline:10px}.bt-brand-name{max-width:140px}.bt-top-actions button{font-size:10px}.bt-nav{padding:0}.bt-nav button{padding:12px 13px;font-size:9px}
  .bt-hero{min-height:520px}.bt-hero-split,.bt-hero-profile{grid-template-columns:1fr;padding:0}.bt-hero-split .bt-hero-media,.bt-hero-profile .bt-hero-media{position:absolute;inset:0;grid-column:auto;grid-row:auto;height:100%;border:0;border-radius:0}.bt-hero-split .bt-hero-shade,.bt-hero-profile .bt-hero-shade{display:block}.bt-hero-split .bt-hero-copy,.bt-hero-profile .bt-hero-copy{grid-column:auto;grid-row:auto}
  .bt-hero-copy{max-width:92vw;padding:36px 20px}.bt-hero h1{font-size:clamp(42px,14vw,68px)}.bt-main{padding:12px}.bt-section{padding:34px 0}.bt-section-head{align-items:start}.bt-section-head h2{font-size:34px}.bt-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bt-service-grid{grid-template-columns:1fr}.bt-info-grid{grid-template-columns:1fr}.bt-feature{grid-template-columns:1fr;margin:20px 12px}.bt-feature-media{min-height:300px}.bt-stats{grid-template-columns:repeat(2,1fr)}.bt-music-release{grid-template-columns:1fr}.bt-tier-grid{grid-template-columns:1fr}.bt-contact-grid{grid-template-columns:1fr}.bt-footer{align-items:start;flex-direction:column}
  .bt-mobile-menu-open .bt-nav{position:absolute;top:68px;left:0;right:0;z-index:20;background:var(--bt-bg);display:grid;grid-template-columns:1fr 1fr}
}

/* PS-7426J9M — Intentional appearance + music presentation contract. */
.ps-contract-shop.is-light{
  color-scheme:light;
  --bt-shadow:0 18px 48px rgba(31,52,39,.10);
}
.ps-contract-shop.is-light .bt-top,
.ps-contract-shop.is-light .bt-nav{
  border-color:color-mix(in srgb,var(--bt-text) 11%,transparent);
  box-shadow:0 8px 28px rgba(28,48,35,.06);
}
.ps-contract-shop.is-light .bt-card,
.ps-contract-shop.is-light .bt-service-card,
.ps-contract-shop.is-light .bt-info-card,
.ps-contract-shop.is-light .bt-tier,
.ps-contract-shop.is-light .bt-contact-grid>div,
.ps-contract-shop.is-light .bt-music-release{
  box-shadow:var(--bt-shadow);
}
.ps-contract-shop.is-light .bt-hero-shade{
  background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 96%,transparent) 2%,color-mix(in srgb,var(--bt-bg) 78%,transparent) 48%,color-mix(in srgb,var(--bt-bg) 12%,transparent) 84%),linear-gradient(0deg,color-mix(in srgb,var(--bt-bg) 88%,transparent),transparent 58%);
}
.ps-contract-shop.is-light .bt-hero-actions button.is-secondary,
.ps-contract-shop.is-light .bt-feature-actions button.is-secondary{
  background:color-mix(in srgb,var(--bt-surface) 92%,transparent);
  border-color:color-mix(in srgb,var(--bt-text) 18%,transparent);
}



/* PS-7426J9W — TEMPLATE-NATIVE MUSIC PRESENTATION
   PSMusicLibrary owns playback. Custom templates own every visible control. */
body[data-ps-contract-live="true"][data-ps-music-presentation="template"] #psShopMusicMount,
body[data-ps-contract-live="true"][data-ps-music-presentation="template"] .psml-store-chip,
body[data-ps-contract-live="true"][data-ps-music-presentation="template"] .ps-music-chip{display:none!important}

.ps-contract-shop [data-bt-music-player="template"]{--bt-music-glow:color-mix(in srgb,var(--bt-primary) 24%,transparent)}
.ps-contract-shop .bt-music-release{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--bt-primary) 26%,color-mix(in srgb,var(--bt-text) 10%,transparent));background:linear-gradient(135deg,color-mix(in srgb,var(--bt-primary) 9%,var(--bt-surface)),color-mix(in srgb,var(--bt-accent) 5%,var(--bt-surface)));box-shadow:0 18px 60px rgba(0,0,0,.22)}
.ps-contract-shop .bt-music-release:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 15%,var(--bt-music-glow),transparent 38%)}
.ps-contract-shop .bt-music-release>*{position:relative;z-index:1}
.ps-contract-shop .bt-music-actions{align-items:center;flex-wrap:wrap}
.ps-contract-shop .bt-music-actions .bt-music-toggle{min-width:116px}
.ps-contract-shop .bt-music-actions .bt-music-skip{width:42px;min-width:42px;height:42px;padding:0;font-size:25px;line-height:1;background:transparent;color:var(--bt-primary);border-color:color-mix(in srgb,var(--bt-primary) 42%,transparent)}
.ps-contract-shop .bt-wave i{background:linear-gradient(180deg,var(--bt-primary),var(--bt-accent));border-radius:999px;opacity:.72;transform-origin:center;transition:opacity .2s}
.ps-contract-shop [data-bt-music-player="template"].is-playing .bt-wave i{animation:btMusicWave .7s ease-in-out infinite alternate;animation-delay:calc(var(--i,0) * -30ms);opacity:1}
.ps-contract-shop .bt-wave i:nth-child(3n){animation-delay:-.18s!important}.ps-contract-shop .bt-wave i:nth-child(4n){animation-delay:-.34s!important}.ps-contract-shop .bt-wave i:nth-child(5n){animation-delay:-.49s!important}
@keyframes btMusicWave{from{transform:scaleY(.48)}to{transform:scaleY(1.08)}}

/* Inline native player for template contracts that did not intentionally place
   a full music section. It is part of the template chrome, not a new card. */
.ps-contract-shop .bt-music-dock{position:relative;z-index:5;display:grid;grid-template-columns:52px minmax(0,1fr) minmax(84px,.5fr) auto;gap:12px;align-items:center;margin:10px auto 22px;width:min(1120px,calc(100% - 24px));padding:10px 12px;border-top:1px solid color-mix(in srgb,var(--bt-primary) 30%,transparent);border-bottom:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 86%,transparent),color-mix(in srgb,var(--bt-surface) 82%,transparent),color-mix(in srgb,var(--bt-bg) 86%,transparent));backdrop-filter:blur(16px) saturate(1.05)}
.ps-contract-shop .bt-music-dock-art{width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--bt-surface2);display:grid;place-items:center;color:var(--bt-primary);font-size:18px}.ps-contract-shop .bt-music-dock-art img{width:100%;height:100%;object-fit:cover}
.ps-contract-shop .bt-music-dock-copy{min-width:0}.ps-contract-shop .bt-music-dock-copy span,.ps-contract-shop .bt-music-dock-copy strong,.ps-contract-shop .bt-music-dock-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-contract-shop .bt-music-dock-copy span{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--bt-primary)}.ps-contract-shop .bt-music-dock-copy strong{font:800 13px/1.2 var(--bt-font-display),sans-serif;margin-top:3px}.ps-contract-shop .bt-music-dock-copy small{font-size:9px;color:var(--bt-muted);margin-top:2px}
.ps-contract-shop .bt-music-dock-wave{height:26px;display:flex;gap:2px;align-items:center;justify-content:center;overflow:hidden}.ps-contract-shop .bt-music-dock-wave i{width:2px;height:var(--h);background:var(--bt-primary);border-radius:99px;opacity:.45;transform-origin:center}.ps-contract-shop .bt-music-dock.is-playing .bt-music-dock-wave i{animation:btMusicWave .62s ease-in-out infinite alternate}.ps-contract-shop .bt-music-dock-wave i:nth-child(3n){animation-delay:-.15s}.ps-contract-shop .bt-music-dock-wave i:nth-child(4n){animation-delay:-.31s}
.ps-contract-shop .bt-music-dock-controls{display:flex;gap:6px;align-items:center}.ps-contract-shop .bt-music-dock-controls button{width:34px;height:34px;border-radius:50%;border:1px solid color-mix(in srgb,var(--bt-text) 14%,transparent);background:transparent;color:var(--bt-text);font-weight:900}.ps-contract-shop .bt-music-dock-controls .is-main{width:42px;height:42px;background:var(--bt-primary);color:color-mix(in srgb,var(--bt-bg) 94%,#000);border-color:transparent;box-shadow:0 0 24px var(--bt-music-glow)}

/* Noise / music-first contracts get a deliberately bolder deck. */
.ps-contract-shop.bt-v-noise .bt-music-release{border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--bt-primary) 7%,#0a090d),#111016 62%,color-mix(in srgb,var(--bt-accent) 6%,#0a090d));box-shadow:5px 6px 0 color-mix(in srgb,var(--bt-primary) 18%,transparent)}
.ps-contract-shop.bt-v-noise .bt-music-art{border-radius:5px;transform:rotate(-.8deg)}
.ps-contract-shop.bt-v-noise .bt-music-toggle{border-radius:7px!important;text-transform:uppercase;letter-spacing:.04em}
.ps-contract-shop.bt-v-noise .bt-wave i{background:var(--bt-primary)}

/* Performance contracts use a lean training-console strip instead of an
   unrelated soundtrack card. */
.ps-contract-shop.bt-v-performance .bt-music-dock{border-radius:999px;padding:8px 10px 8px 8px;border:1px solid color-mix(in srgb,var(--bt-primary) 23%,transparent);background:color-mix(in srgb,var(--bt-surface) 88%,transparent);box-shadow:0 16px 50px rgba(0,0,0,.18)}
.ps-contract-shop.bt-v-performance .bt-music-dock-art{border-radius:50%}.ps-contract-shop.bt-v-performance .bt-music-dock-copy span{letter-spacing:.12em}.ps-contract-shop.bt-v-performance .bt-music-dock-controls .is-main{box-shadow:0 0 0 5px color-mix(in srgb,var(--bt-primary) 8%,transparent)}

.ps-contract-shop.is-light .bt-music-release,.ps-contract-shop.is-light .bt-music-dock{box-shadow:0 16px 42px rgba(31,52,39,.10)}
.ps-contract-shop.is-light .bt-music-dock{background:color-mix(in srgb,var(--bt-surface) 92%,transparent);border-color:color-mix(in srgb,var(--bt-text) 12%,transparent)}

@media(max-width:700px){
  .ps-contract-shop .bt-music-dock{grid-template-columns:44px minmax(0,1fr) auto;margin:8px 10px 16px;width:calc(100% - 20px);gap:9px}.ps-contract-shop .bt-music-dock-art{width:44px;height:44px}.ps-contract-shop .bt-music-dock-wave{display:none}.ps-contract-shop .bt-music-dock-controls button{width:32px;height:32px}.ps-contract-shop .bt-music-dock-controls .is-main{width:38px;height:38px}
  .ps-contract-shop.bt-v-performance .bt-music-dock{border-radius:20px}
}
@media(prefers-reduced-motion:reduce){.ps-contract-shop [data-bt-music-player="template"].is-playing .bt-wave i,.ps-contract-shop .bt-music-dock.is-playing .bt-music-dock-wave i{animation:none!important}}

/* PS-8846 — Template-aware category icon rail */
.bt-category-rail{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:1px 0 12px;overscroll-behavior-x:contain}
.bt-category-rail::-webkit-scrollbar{display:none}
.bt-category-pill{flex:0 0 auto;min-height:43px;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);border-radius:13px;background:color-mix(in srgb,var(--bt-surface) 90%,transparent);color:var(--bt-muted);font:800 10px/1 var(--bt-font-body),system-ui;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--bt-text) 3%,transparent);transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}
.bt-category-pill.is-active{background:color-mix(in srgb,var(--bt-primary) 18%,var(--bt-surface));border-color:color-mix(in srgb,var(--bt-primary) 42%,transparent);color:var(--bt-text);box-shadow:0 0 22px color-mix(in srgb,var(--bt-primary) 11%,transparent)}
.bt-category-pill:active{transform:scale(.97)}
.bt-category-icon{width:24px;height:24px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:7px}.bt-category-icon img{width:100%;height:100%;object-fit:contain;display:block}
.bt-card[hidden]{display:none!important}
.bt-v-cinematic-retail .bt-category-rail{position:sticky;top:0;z-index:6;margin:0 -4px 11px;padding:8px 4px 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--bt-bg) 92%,transparent),color-mix(in srgb,var(--bt-bg) 72%,transparent),transparent);backdrop-filter:blur(12px)}
.bt-v-cinematic-retail .bt-category-pill{border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--bt-surface) 92%,#000),color-mix(in srgb,var(--bt-surface2) 74%,#000));text-transform:none}
.bt-v-cinematic-retail .bt-category-pill.is-active{background:linear-gradient(145deg,color-mix(in srgb,var(--bt-primary) 24%,var(--bt-surface)),color-mix(in srgb,var(--bt-primary) 12%,var(--bt-surface2)));box-shadow:0 0 20px color-mix(in srgb,var(--bt-primary) 14%,transparent)}
@media(max-width:700px){.bt-category-rail{gap:6px;padding-bottom:9px}.bt-category-pill{min-height:39px;padding:5px 10px;font-size:9px}.bt-category-icon{width:21px;height:21px}}

/* PS-8848 — True Light/Dark reset layer.
   Every mode-owned surface references the current template palette. */
.bt-page-background-media,.bt-page-background>img,.bt-page-background>video{
  filter:brightness(var(--bt-page-brightness,1)) saturate(var(--bt-page-saturation,1));
}
.ps-contract-shop.is-dark{color-scheme:dark;background:var(--bt-bg);color:var(--bt-text)}
.ps-contract-shop.is-light{color-scheme:light;background:var(--bt-bg);color:var(--bt-text)}

.ps-contract-shop.is-dark .bt-main,
.ps-contract-shop.is-light .bt-main{color:var(--bt-text)}

.ps-contract-shop.is-dark .bt-section,
.ps-contract-shop.is-light .bt-section{color:var(--bt-text)}

.ps-contract-shop.is-dark .bt-section-head h2,
.ps-contract-shop.is-dark .bt-feature h2,
.ps-contract-shop.is-dark .bt-text-section h2,
.ps-contract-shop.is-light .bt-section-head h2,
.ps-contract-shop.is-light .bt-feature h2,
.ps-contract-shop.is-light .bt-text-section h2{color:var(--bt-text)}

.ps-contract-shop.is-dark .bt-card,
.ps-contract-shop.is-dark .bt-service-card,
.ps-contract-shop.is-dark .bt-info-card,
.ps-contract-shop.is-dark .bt-feature,
.ps-contract-shop.is-dark .bt-tier,
.ps-contract-shop.is-dark .bt-contact-grid>div,
.ps-contract-shop.is-light .bt-card,
.ps-contract-shop.is-light .bt-service-card,
.ps-contract-shop.is-light .bt-info-card,
.ps-contract-shop.is-light .bt-feature,
.ps-contract-shop.is-light .bt-tier,
.ps-contract-shop.is-light .bt-contact-grid>div{
  color:var(--bt-text);
  border-color:color-mix(in srgb,var(--bt-text) 11%,transparent);
}

.ps-contract-shop.is-dark .bt-stats>div,
.ps-contract-shop.is-light .bt-stats>div{
  background:color-mix(in srgb,var(--bt-bg) 97%,var(--bt-surface));
  color:var(--bt-text);
}

.ps-contract-shop.is-dark.has-page-background .bt-card,
.ps-contract-shop.is-dark.has-page-background .bt-service-card,
.ps-contract-shop.is-dark.has-page-background .bt-info-card,
.ps-contract-shop.is-dark.has-page-background .bt-feature,
.ps-contract-shop.is-dark.has-page-background .bt-tier,
.ps-contract-shop.is-dark.has-page-background .bt-contact-grid>div{
  background:color-mix(in srgb,var(--bt-surface) 84%,transparent);
}

.ps-contract-shop.is-light.has-page-background .bt-card,
.ps-contract-shop.is-light.has-page-background .bt-service-card,
.ps-contract-shop.is-light.has-page-background .bt-info-card,
.ps-contract-shop.is-light.has-page-background .bt-feature,
.ps-contract-shop.is-light.has-page-background .bt-tier,
.ps-contract-shop.is-light.has-page-background .bt-contact-grid>div{
  background:color-mix(in srgb,var(--bt-surface) 88%,transparent);
}

.ps-contract-shop.is-dark .bt-top,
.ps-contract-shop.is-dark .bt-nav{
  background:color-mix(in srgb,var(--bt-bg) 90%,transparent);
}
.ps-contract-shop.is-light .bt-top,
.ps-contract-shop.is-light .bt-nav{
  background:color-mix(in srgb,var(--bt-surface) 84%,transparent);
}

.ps-contract-shop.is-dark .bt-footer{
  color:var(--bt-muted);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bt-bg) 86%,transparent));
}
.ps-contract-shop.is-light .bt-footer{
  color:var(--bt-muted);
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bt-bg) 88%,transparent));
}

/* Preview mode is a complete replacement, not a transition between palettes. */
.pspkg-review__surface[data-appearance="dark"],
.pspkg-review__surface[data-appearance="light"]{color-scheme:normal}
.pspkg-review__surface[data-appearance="dark"] .ps-contract-shop{color-scheme:dark}
.pspkg-review__surface[data-appearance="light"] .ps-contract-shop{color-scheme:light}

/* PS-8883 — generic progressive product-focus presentation.
   Contract-only visual behavior: no item, featured, payment, category, cart or
   fulfillment state is owned here. */
.ps-contract-shop{
  --bt-brand-green:#42cf45;--bt-brand-gold:#d7a91e;--bt-brand-purple:#8d39c7;--bt-brand-red:#d52e3d;
  --bt-header-h:68px;--bt-hero-compact-h:84px;--bt-customer-dock-space:76px;
}
.ps-contract-shop.has-sticky-header .bt-top{position:sticky;top:0;z-index:34;min-height:var(--bt-header-h)}
.ps-contract-shop.has-collapsing-hero .bt-hero{
  position:sticky;top:var(--bt-header-h);z-index:24;transition:min-height .28s ease,height .28s ease,box-shadow .28s ease,border-radius .28s ease;
  will-change:min-height,height
}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero{
  min-height:var(--bt-hero-compact-h)!important;height:var(--bt-hero-compact-h);box-shadow:0 18px 42px rgb(0 0 0 / .28);
  background:color-mix(in srgb,var(--bt-bg) 90%,transparent);backdrop-filter:blur(18px) saturate(1.08)
}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-media{opacity:.36;transform:scale(1.03);transition:opacity .25s ease,transform .35s ease}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 96%,transparent),color-mix(in srgb,var(--bt-bg) 78%,transparent))}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy{
  width:min(var(--bt-max),100%);max-width:none;margin:0 auto;padding:8px clamp(10px,3vw,28px);display:flex;align-items:center;gap:10px
}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy>.bt-hero-badge,
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy>.bt-eyebrow,
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy>h1,
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy>p,
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-actions{display:none!important}
.bt-hero-featured{
  width:min(540px,100%);display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:22px;padding:8px 10px 8px 8px;
  border:1px solid color-mix(in srgb,var(--bt-brand-gold) 46%,transparent);border-radius:18px;color:var(--bt-text);text-align:left;
  background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-purple) 22%,var(--bt-surface)),color-mix(in srgb,var(--bt-brand-gold) 10%,var(--bt-surface2)));
  box-shadow:0 16px 46px color-mix(in srgb,var(--bt-brand-purple) 17%,transparent),inset 0 1px color-mix(in srgb,#fff 8%,transparent)
}
.bt-hero-featured-img{width:78px;aspect-ratio:1;overflow:hidden;border-radius:13px;background:var(--bt-surface2);display:block}
.bt-hero-featured-img img{width:100%;height:100%;object-fit:cover;display:block}
.bt-hero-featured-copy{min-width:0;display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:end}
.bt-hero-featured-copy small{grid-column:1/-1;color:var(--bt-brand-gold);font-size:8px;font-weight:950;letter-spacing:.15em}
.bt-hero-featured-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:850 18px/1.05 var(--bt-font-display),sans-serif}
.bt-hero-featured-copy>b{color:var(--bt-brand-gold);font-size:12px}
.bt-hero-featured-copy .bt-variant-row{grid-column:1/-1;margin-top:5px}
.bt-hero-featured>i{font:300 30px/1 system-ui;color:var(--bt-brand-gold)}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured{margin:0;width:100%;max-width:640px;grid-template-columns:52px minmax(0,1fr) auto;border-radius:14px;padding:5px 9px 5px 5px}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-img{width:52px;border-radius:10px}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-copy strong{font-size:14px}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-copy .bt-variant-row{display:none}

.bt-products-toolbar{display:flex;align-items:center;gap:10px;position:relative;z-index:6;margin-bottom:10px}
.bt-products-toolbar .bt-category-rail{flex:1;min-width:0;padding-bottom:0;margin-bottom:0}
.bt-listing-switcher{flex:0 0 auto;display:flex;gap:3px;padding:3px;border:1px solid color-mix(in srgb,var(--bt-text) 10%,transparent);border-radius:13px;background:color-mix(in srgb,var(--bt-surface) 88%,transparent);backdrop-filter:blur(12px)}
.bt-listing-switcher button{min-height:34px;border:0;border-radius:10px;padding:0 10px;background:transparent;color:var(--bt-muted);font-size:9px;font-weight:900;letter-spacing:.03em}
.bt-listing-switcher button.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-purple) 34%,var(--bt-surface2)),color-mix(in srgb,var(--bt-brand-gold) 18%,var(--bt-surface)));color:var(--bt-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bt-brand-gold) 26%,transparent)}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-products-toolbar{position:sticky;top:calc(var(--bt-header-h) + var(--bt-hero-compact-h));z-index:18;padding:7px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--bt-bg) 96%,transparent),color-mix(in srgb,var(--bt-bg) 83%,transparent),transparent);backdrop-filter:blur(12px)}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-v-cinematic-retail .bt-category-rail{top:auto}

.bt-card-img{position:relative}
.bt-card-featured{position:absolute;top:12px;left:12px;z-index:2;padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,var(--bt-brand-gold),color-mix(in srgb,var(--bt-brand-gold) 72%,#fff));color:#1a1000;font-size:8px;font-weight:950;letter-spacing:.12em;box-shadow:0 8px 22px rgb(0 0 0 / .24)}
.bt-card-category{margin:0 0 6px!important;color:var(--bt-brand-gold)!important;font-size:9px!important;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.bt-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:8px;color:var(--bt-muted);font-size:12px;line-height:1.45}
.bt-variant-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.bt-variant-row>span{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--bt-brand-gold) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bt-brand-purple) 11%,var(--bt-surface2));color:var(--bt-text);font-size:9px;font-weight:850;white-space:nowrap}
.bt-card-theme-purple-gold .bt-card{border-color:color-mix(in srgb,var(--bt-brand-gold) 28%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--bt-brand-purple) 23%,var(--bt-surface)),var(--bt-surface) 55%,color-mix(in srgb,var(--bt-brand-gold) 10%,var(--bt-surface2)));box-shadow:0 24px 70px color-mix(in srgb,var(--bt-brand-purple) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--bt-brand-gold) 7%,transparent)}
.bt-card-theme-purple-gold .bt-card-copy>b{color:var(--bt-brand-gold);font-size:17px}
.bt-card-theme-purple-gold .bt-card:focus-visible{outline:3px solid color-mix(in srgb,var(--bt-brand-gold) 72%,#fff);outline-offset:3px}

/* Focus mode intentionally occupies the usable viewport between PopShop's
   sticky template chrome and the canonical customer action dock. */
.bt-products-fullbleed{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%);padding-inline:clamp(10px,3vw,30px)}
.bt-product-grid.is-list-focus-snap{
  display:block;max-height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 62px - env(safe-area-inset-bottom));
  min-height:420px;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;border-radius:calc(var(--bt-radius) + 2px)
}
.bt-product-grid.is-list-focus-snap::-webkit-scrollbar{display:none}
.bt-product-grid.is-list-focus-snap .bt-card{width:min(1080px,100%);min-height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 62px - env(safe-area-inset-bottom));margin:0 auto 10px;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr)}
.bt-product-grid.is-list-focus-snap .bt-card-img{aspect-ratio:auto;min-height:100%;height:100%}
.bt-product-grid.is-list-focus-snap .bt-card-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,4vw,48px);background:linear-gradient(180deg,color-mix(in srgb,var(--bt-brand-purple) 10%,transparent),color-mix(in srgb,var(--bt-bg) 12%,transparent))}
.bt-product-grid.is-list-focus-snap .bt-card-copy strong{font-size:clamp(34px,5vw,64px);line-height:.94;letter-spacing:-.04em}
.bt-product-grid.is-list-focus-snap .bt-card-description{font-size:clamp(13px,1.6vw,17px);-webkit-line-clamp:3;max-width:520px}
.bt-product-grid.is-list-focus-snap .bt-card-copy>b{margin-top:18px;font-size:clamp(20px,3vw,32px)}
.bt-product-grid.is-list-focus-snap .bt-variant-row>span{min-height:30px;padding:6px 10px;font-size:10px}

.bt-product-grid.is-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:visible;max-height:none}
.bt-product-grid.is-list-horizontal-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px}
.bt-product-grid.is-list-horizontal-scroll::-webkit-scrollbar{display:none}
.bt-product-grid.is-list-horizontal-scroll .bt-card{flex:0 0 min(72vw,430px);scroll-snap-align:center}
.bt-product-grid.is-list-horizontal-scroll .bt-card-img{aspect-ratio:4/5}

@media(max-width:700px){
  .ps-contract-shop{--bt-header-h:58px;--bt-hero-compact-h:76px;--bt-customer-dock-space:72px}
  .ps-contract-shop.has-sticky-header .bt-top{min-height:var(--bt-header-h)}
  .bt-hero-featured{grid-template-columns:64px minmax(0,1fr) auto;width:100%;border-radius:16px}.bt-hero-featured-img{width:64px}.bt-hero-featured-copy strong{font-size:15px}
  .bt-products-toolbar{align-items:stretch;flex-direction:column;gap:7px}.bt-listing-switcher{align-self:flex-end}.bt-products-toolbar .bt-category-rail{width:100%}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-products-toolbar{top:calc(var(--bt-header-h) + var(--bt-hero-compact-h));padding:6px 0}
  .bt-products-fullbleed{padding-inline:8px}
  .bt-product-grid.is-list-focus-snap{min-height:390px;max-height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 52px - env(safe-area-inset-bottom))}
  .bt-product-grid.is-list-focus-snap .bt-card{min-height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 52px - env(safe-area-inset-bottom));grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;border-radius:22px}
  .bt-product-grid.is-list-focus-snap .bt-card-img{min-height:0;height:auto;aspect-ratio:auto}.bt-product-grid.is-list-focus-snap .bt-card-img img{object-position:center}
  .bt-product-grid.is-list-focus-snap .bt-card-copy{padding:18px 18px 20px}.bt-product-grid.is-list-focus-snap .bt-card-copy strong{font-size:clamp(31px,10vw,48px)}.bt-product-grid.is-list-focus-snap .bt-card-description{font-size:12px;-webkit-line-clamp:2}.bt-product-grid.is-list-focus-snap .bt-card-copy>b{font-size:20px;margin-top:12px}
  .bt-product-grid.is-list-grid,.pspkg-review__viewport.is-mobile .bt-product-grid.is-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .bt-product-grid.is-list-horizontal-scroll .bt-card{flex-basis:84vw}
  .pspkg-review__viewport.is-mobile .bt-product-grid.is-list-focus-snap{display:block;grid-template-columns:none}
  .pspkg-review__viewport.is-mobile .bt-product-grid.is-list-horizontal-scroll{display:flex;grid-template-columns:none}
  .pspkg-review__viewport.is-mobile .bt-card-description{font-size:8px}
}
@media(max-width:430px){
  .bt-listing-switcher{width:100%}.bt-listing-switcher button{flex:1}
  .bt-product-grid.is-list-grid,.pspkg-review__viewport.is-mobile .bt-product-grid.is-list-grid{grid-template-columns:1fr 1fr}
  .bt-product-grid.is-list-horizontal-scroll .bt-card{flex-basis:90vw}
}
@media(prefers-reduced-motion:reduce){
  .ps-contract-shop.has-collapsing-hero .bt-hero,.ps-contract-shop.has-collapsing-hero .bt-hero-media{transition:none!important}
  .bt-product-grid.is-list-focus-snap,.bt-product-grid.is-list-horizontal-scroll{scroll-behavior:auto}
}


/* PS-8884 — viewport-first storefront presentation repair.
   Generic, contract-controlled presentation only. Canonical shop/item/category
   and commerce authorities remain unchanged. */
.bt-card-price-chip,.bt-card-cat-chip{position:absolute;top:12px;z-index:4;display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:10px;font-size:10px;font-weight:950;letter-spacing:.02em;backdrop-filter:blur(10px) saturate(1.1);box-shadow:0 8px 24px rgb(0 0 0 / .25)}
.bt-card-price-chip{left:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-purple) 88%,#000),color-mix(in srgb,var(--bt-brand-purple) 64%,#000));color:#fff;border:1px solid color-mix(in srgb,#fff 18%,transparent)}
.bt-card-cat-chip{right:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-gold) 94%,#fff),var(--bt-brand-gold));color:#211600;border:1px solid color-mix(in srgb,#fff 34%,transparent);text-transform:uppercase}
.bt-card-featured{top:50px}

/* A collapsed hero is a true compact fixed/sticky information bar, not a
   shrunken poster. The canonical featured item becomes the useful content. */
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero{overflow:hidden;border-bottom-color:color-mix(in srgb,var(--bt-brand-gold) 24%,transparent)}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-media{opacity:0!important;visibility:hidden;transform:none!important;pointer-events:none}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-shade{background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-purple) 13%,var(--bt-bg)),color-mix(in srgb,var(--bt-brand-gold) 8%,var(--bt-bg)))}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured{height:calc(var(--bt-hero-compact-h) - 10px);max-width:none;border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--bt-brand-purple) 21%,var(--bt-surface)),color-mix(in srgb,var(--bt-brand-gold) 9%,var(--bt-surface2)));box-shadow:none}

/* Poster-overlay focus style: a single immersive item uses nearly the entire
   usable viewport, while header/compact hero/customer dock stay reachable. */
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap{height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 12px - env(safe-area-inset-bottom));max-height:none;min-height:500px;border-radius:24px}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card{position:relative;display:block;width:min(1120px,100%);height:100%;min-height:100%;margin:0 auto 10px;border-radius:26px;overflow:hidden;background:#120b18;border:1px solid color-mix(in srgb,var(--bt-brand-gold) 45%,transparent);box-shadow:0 30px 90px color-mix(in srgb,var(--bt-brand-purple) 22%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 7%,transparent)}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;background:#100a16}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-img img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.02)}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,4,9,.06) 0%,rgba(7,4,10,.02) 48%,rgba(16,8,23,.34) 66%,rgba(16,8,23,.94) 100%);pointer-events:none}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy{position:absolute;z-index:5;left:0;right:0;bottom:0;display:block;padding:76px clamp(18px,4vw,34px) clamp(20px,3.2vw,34px);background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bt-brand-purple) 36%,#130a1b) 30%,color-mix(in srgb,#130a1b 92%,var(--bt-brand-gold)) 100%);border-top:1px solid color-mix(in srgb,var(--bt-brand-gold) 24%,transparent);color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .35)}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-category{display:none!important}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy strong{display:block;color:#fff;font-size:clamp(34px,6vw,66px);line-height:.92;letter-spacing:-.045em}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-description{color:rgba(255,255,255,.76);font-size:clamp(12px,1.5vw,16px);line-height:1.42;-webkit-line-clamp:2;max-width:720px;margin-top:9px}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-variant-row{gap:7px;margin-top:12px}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-variant-row>span{min-height:30px;padding:6px 10px;background:rgba(39,18,52,.76);border-color:color-mix(in srgb,var(--bt-brand-gold) 52%,transparent);color:#fff;backdrop-filter:blur(10px)}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy>b{color:var(--bt-brand-gold);font-size:clamp(21px,3vw,34px);margin-top:12px}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-price-chip{font-size:12px;min-height:34px;padding:7px 11px}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-cat-chip{font-size:10px;min-height:34px}

/* Light footer is intentionally light, with no inherited dark gradient. */
.ps-contract-shop.is-light .bt-footer{background:linear-gradient(180deg,color-mix(in srgb,var(--bt-bg) 30%,transparent),var(--bt-surface) 34%,var(--bt-surface));border-top-color:color-mix(in srgb,var(--bt-text) 12%,transparent);color:var(--bt-muted);box-shadow:0 -14px 34px rgba(35,54,42,.05)}
.ps-contract-shop.is-light .bt-footer strong{color:var(--bt-text)}
.ps-contract-shop.is-light .bt-footer button{color:var(--bt-primary)}
.ps-contract-shop.is-dark .bt-footer{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bt-bg) 92%,#000));}

@media(max-width:700px){
  .ps-contract-shop{--bt-hero-compact-h:66px;--bt-customer-dock-space:70px}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy{padding:5px 8px}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured{grid-template-columns:48px minmax(0,1fr) auto;height:56px;padding:4px 8px 4px 4px}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-img{width:48px;height:48px}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-copy small{font-size:7px}.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-copy strong{font-size:13px}.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-copy>b{font-size:10px}
  .bt-products-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:44px;margin-bottom:8px}
  .bt-products-toolbar .bt-category-rail{width:auto;min-width:0;grid-column:1}.bt-listing-switcher{grid-column:2;align-self:center;width:auto;max-width:154px}.bt-listing-switcher button{min-height:32px;padding:0 7px;font-size:8px}
  .ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-products-toolbar{top:calc(var(--bt-header-h) + var(--bt-hero-compact-h));padding:5px 0}
  .bt-focus-style-poster-overlay .bt-section-head{margin-bottom:10px}.bt-focus-style-poster-overlay .bt-section-head h2{font-size:28px}.bt-focus-style-poster-overlay .bt-section-head>div>span{font-size:8px}
  .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap{height:calc(100dvh - var(--bt-header-h) - var(--bt-hero-compact-h) - var(--bt-customer-dock-space) - 6px - env(safe-area-inset-bottom));min-height:520px}
  .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card{height:100%;min-height:100%;border-radius:24px;margin-bottom:8px}
  .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy{padding:64px 16px 18px}.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy strong{font-size:clamp(34px,11vw,50px)}.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-description{font-size:11px}.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy>b{font-size:21px}
  .pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap{height:calc(100dvh - 52px - 62px - 18px);min-height:430px;max-height:none}.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card{height:100%;min-height:100%;width:100%}.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy strong{font-size:26px}.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-description{font-size:8px}.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy>b{font-size:15px}.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap .bt-card-copy{padding:50px 11px 12px}
}

/* PS-8885 — canonical featured-row collapse + true focus-card enforcement. */
.bt-hero-featured-row{display:flex;gap:8px;width:min(760px,100%);margin-top:18px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 1px 4px}.bt-hero-featured-row::-webkit-scrollbar{display:none}
.bt-hero-featured-row .bt-hero-featured{flex:0 0 min(320px,88%);margin-top:0;scroll-snap-align:start}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-copy{max-width:none!important;width:100%!important;padding:5px 8px!important}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row{width:100%;max-width:none;margin:0;gap:6px;padding:0;overflow-x:auto}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-hero-featured{flex:0 0 min(300px,82vw);height:56px;grid-template-columns:48px minmax(0,1fr) auto;padding:4px 7px 4px 4px}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-hero-featured-img{width:48px;height:48px}
.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-hero-featured-copy small{font-size:7px}.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-hero-featured-copy strong{font-size:13px}.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-hero-featured-copy>b{font-size:10px}.ps-contract-shop.has-collapsing-hero.is-hero-compact .bt-hero-featured-row .bt-variant-row{display:none!important}
.bt-category-icon{width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--bt-brand-purple) 10%,transparent)}
.bt-category-pill:has(.bt-category-icon){padding-left:6px}
/* Focus is one item per viewport by contract. These rules intentionally outrank generic grids in Import Review and live storefront. */
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap,.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap{display:block!important;grid-template-columns:none!important;overflow-y:auto!important;scroll-snap-type:y mandatory!important}
.bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap>.bt-card,.pspkg-review__viewport.is-mobile .bt-focus-style-poster-overlay .bt-product-grid.is-list-focus-snap>.bt-card{display:block!important;width:100%!important;max-width:none!important;scroll-snap-align:start!important;scroll-snap-stop:always!important}
.ps-contract-shop.is-light .bt-card-theme-purple-gold .bt-card{background:linear-gradient(155deg,#fff,color-mix(in srgb,var(--bt-brand-purple) 7%,#fff) 58%,color-mix(in srgb,var(--bt-brand-gold) 10%,#fff));border-color:color-mix(in srgb,var(--bt-brand-gold) 38%,#c9b97a);box-shadow:0 20px 48px rgba(48,31,70,.10)}
.ps-contract-shop.is-light .bt-products-toolbar{color:var(--bt-text)}
.ps-contract-shop.is-light .bt-category-pill{background:#fff;color:var(--bt-muted);border-color:color-mix(in srgb,var(--bt-text) 12%,transparent)}
.ps-contract-shop.is-light .bt-category-pill.is-active{background:color-mix(in srgb,var(--bt-primary) 12%,#fff);color:var(--bt-text);border-color:color-mix(in srgb,var(--bt-primary) 42%,transparent)}

/* PS-8886 — compact hero exclusivity repair.
   The hero's canonical featured rail transforms in place into the compact bar.
   Product cards remain the canonical product feed, but never present a second
   FEATURED chrome layer while that compact featured bar is active. */
.ps-contract-shop[data-bt-hero-state="compact"] .bt-hero-copy>.bt-hero-featured-row{display:flex!important}
.ps-contract-shop[data-bt-hero-state="compact"] .bt-hero-copy>.bt-hero-featured-row~.bt-hero-featured-row{display:none!important}
.ps-contract-shop[data-bt-hero-state="compact"] .bt-product-grid .bt-card-featured{display:none!important}
.ps-contract-shop[data-bt-hero-state="compact"] .bt-product-grid [data-bt-featured-label]{display:none!important}
.ps-contract-shop[data-bt-hero-state="compact"] .bt-product-grid>.bt-card[data-bt-featured-product="true"]{scroll-margin-top:calc(var(--bt-header-h) + var(--bt-hero-compact-h) + 8px)}


/* ═══════════════════════════════════════════════════════════════════════
   PS-8938 — POPSHOP STANDARD NEXT
   Merchant palette authority: ONLY --bt-primary + --bt-accent drive brand color.
   Both appearances are intentionally authored; no automatic inversion.
   ═══════════════════════════════════════════════════════════════════════ */
.bt-v-standard-next{
  --bt-brand-green:var(--bt-primary);--bt-brand-gold:var(--bt-accent);--bt-brand-purple:var(--bt-primary);--bt-brand-red:var(--bt-accent);
  --bt-hero-compact-h:0px;
  background:var(--bt-bg);
}
.bt-v-standard-next .bt-backdrop{
  background:radial-gradient(circle at 8% 2%,color-mix(in srgb,var(--bt-primary) 15%,transparent),transparent 30%),radial-gradient(circle at 94% 8%,color-mix(in srgb,var(--bt-accent) 12%,transparent),transparent 28%);
}
.bt-v-standard-next .bt-top{background:color-mix(in srgb,var(--bt-bg) 82%,transparent);backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)}
.bt-v-standard-next .bt-hero{min-height:clamp(520px,70vh,820px);overflow:hidden}
.bt-v-standard-next .bt-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,color-mix(in srgb,var(--bt-primary) 18%,transparent),transparent 44%,color-mix(in srgb,var(--bt-accent) 14%,transparent));mix-blend-mode:soft-light;pointer-events:none}
.bt-v-standard-next .bt-hero-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 97%,transparent) 0%,color-mix(in srgb,var(--bt-bg) 78%,transparent) 46%,color-mix(in srgb,var(--bt-bg) 18%,transparent) 84%),linear-gradient(0deg,var(--bt-bg) 0%,color-mix(in srgb,var(--bt-bg) 64%,transparent) 22%,transparent 62%)}
.bt-v-standard-next .bt-hero-copy{max-width:min(800px,88vw)}
.bt-v-standard-next .bt-hero h1{font-size:clamp(48px,8vw,102px);letter-spacing:-.055em;text-wrap:balance}
.bt-v-standard-next .bt-hero-featured{border-color:color-mix(in srgb,var(--bt-accent) 44%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--bt-primary) 18%,var(--bt-surface)),color-mix(in srgb,var(--bt-accent) 11%,var(--bt-surface2)));box-shadow:0 20px 60px color-mix(in srgb,var(--bt-primary) 14%,transparent),inset 0 1px color-mix(in srgb,#fff 8%,transparent)}
.bt-v-standard-next .bt-hero-featured-copy small,.bt-v-standard-next .bt-hero-featured-copy>b,.bt-v-standard-next .bt-hero-featured>i,.bt-v-standard-next .bt-card-category,.bt-v-standard-next .bt-card-copy>b{color:var(--bt-accent)!important}
.bt-v-standard-next .bt-card-featured{background:linear-gradient(135deg,var(--bt-accent),color-mix(in srgb,var(--bt-accent) 72%,#fff));color:color-mix(in srgb,var(--bt-bg) 88%,#000)}
.bt-v-standard-next .bt-variant-row>span{border-color:color-mix(in srgb,var(--bt-accent) 28%,transparent);background:color-mix(in srgb,var(--bt-primary) 10%,var(--bt-surface2))}
.bt-v-standard-next .bt-listing-switcher button.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--bt-primary) 26%,var(--bt-surface2)),color-mix(in srgb,var(--bt-accent) 16%,var(--bt-surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bt-accent) 30%,transparent)}
.bt-v-standard-next .bt-category-icon{background:color-mix(in srgb,var(--bt-primary) 10%,transparent)}
.bt-v-standard-next .bt-product-grid.is-list-list{display:grid;grid-template-columns:1fr;gap:8px;max-height:none;overflow:visible}
.bt-v-standard-next .bt-product-grid.is-list-list .bt-card{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:stretch;min-height:104px}
.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-img{aspect-ratio:1;width:104px;height:104px;border-radius:0}
.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-copy{display:flex;flex-direction:column;justify-content:center;padding:12px 14px}
.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-copy strong{font-size:16px}.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-description{font-size:11px;-webkit-line-clamp:1}.bt-v-standard-next .bt-product-grid.is-list-list .bt-variant-row{display:none}
.bt-v-standard-next.has-collapsing-hero.is-hero-compact .bt-hero{height:0!important;min-height:0!important;overflow:hidden;box-shadow:none;border:0;opacity:0;pointer-events:none}
.bt-v-standard-next.has-collapsing-hero.is-hero-compact .bt-products-toolbar{top:var(--bt-header-h);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px clamp(8px,2vw,16px);margin-inline:calc(clamp(8px,2vw,16px) * -1);background:linear-gradient(180deg,color-mix(in srgb,var(--bt-bg) 96%,transparent),color-mix(in srgb,var(--bt-bg) 88%,transparent));border-bottom:1px solid color-mix(in srgb,var(--bt-text) 9%,transparent);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"]{grid-column:1/-1;grid-row:1;width:100%;max-width:none;margin:0;padding:0 0 4px;order:-1}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"] .bt-hero-featured{flex-basis:min(290px,82vw);height:54px;grid-template-columns:46px minmax(0,1fr) auto;padding:4px 7px 4px 4px;border-radius:14px}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"] .bt-hero-featured-img{width:46px;height:46px;border-radius:10px}.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"] .bt-hero-featured-copy strong{font-size:13px}.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"] .bt-variant-row{display:none!important}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"]+.bt-category-rail{grid-column:1;grid-row:2}.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"]~.bt-listing-switcher{grid-column:2;grid-row:2}
.bt-v-standard-next.is-light{background:#f7faf8}.bt-v-standard-next.is-light .bt-backdrop{background:radial-gradient(circle at 6% 0%,color-mix(in srgb,var(--bt-primary) 10%,transparent),transparent 32%),radial-gradient(circle at 96% 12%,color-mix(in srgb,var(--bt-accent) 8%,transparent),transparent 30%)}
.bt-v-standard-next.is-light .bt-hero-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--bt-bg) 98%,transparent) 0%,color-mix(in srgb,var(--bt-bg) 84%,transparent) 48%,color-mix(in srgb,var(--bt-bg) 22%,transparent) 84%),linear-gradient(0deg,var(--bt-bg) 0%,color-mix(in srgb,var(--bt-bg) 68%,transparent) 24%,transparent 64%)}
.bt-v-standard-next.is-light .bt-card,.bt-v-standard-next.is-light .bt-service-card{background:linear-gradient(150deg,#fff,color-mix(in srgb,var(--bt-primary) 3%,#fff));border-color:color-mix(in srgb,var(--bt-text) 10%,transparent);box-shadow:0 14px 38px rgba(34,55,42,.08)}
.bt-v-standard-next.is-light .bt-hero-featured{background:linear-gradient(135deg,color-mix(in srgb,var(--bt-primary) 8%,#fff),color-mix(in srgb,var(--bt-accent) 7%,#fff));box-shadow:0 16px 44px rgba(42,62,48,.10)}
.bt-v-standard-next.is-dark .bt-card,.bt-v-standard-next.is-dark .bt-service-card{box-shadow:0 18px 48px rgba(0,0,0,.22)}
@media(max-width:700px){.bt-v-standard-next .bt-hero{min-height:560px}.bt-v-standard-next .bt-hero-copy{padding:40px 18px;max-width:94vw}.bt-v-standard-next .bt-hero h1{font-size:clamp(44px,15vw,68px)}.bt-v-standard-next .bt-products-toolbar{grid-template-columns:minmax(0,1fr) auto}.bt-v-standard-next .bt-product-grid.is-list-list .bt-card{grid-template-columns:88px minmax(0,1fr);min-height:88px}.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-img{width:88px;height:88px}.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-copy{padding:9px 10px}.bt-v-standard-next .bt-product-grid.is-list-list .bt-card-copy strong{font-size:14px}}


/* PS-9472 — ScrapShop/Car Partout diagram is a product-feed view, not front-page content. */
.bt-scrap-diagram-host{width:100%;min-width:0}.bt-scrap-diagram-host[hidden]{display:none!important}.bt-product-grid[hidden]{display:none!important}
.bt-listing-switcher [data-bt-listing-style="diagram"]{order:-10}


/* PS-9670 — private-access presentation + true mobile full bleed. */
.ps-contract-shop{width:100%;max-width:none;}
body[data-ps-contract-live="true"]{margin:0!important;padding:0!important;overflow-x:clip!important;}
body[data-ps-contract-live="true"] #shopApp,
body[data-ps-contract-live="true"] #psBrandTemplateRoot,
body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop{
  width:100%!important;min-width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
.bt-card-img,.bt-service-img,.bt-hero-featured-img{position:relative;overflow:hidden;}
.bt-access-lock{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:12px;background:linear-gradient(180deg,rgb(5 8 10 / .18),rgb(5 8 10 / .76));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.bt-access-lock b{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--bt-bg) 88%,transparent);border:1px solid color-mix(in srgb,var(--bt-text) 18%,transparent);color:var(--bt-text);font-size:10px;line-height:1.1;letter-spacing:.01em;box-shadow:0 8px 24px rgb(0 0 0 / .28);}
.bt-access-lock i{font-style:normal;margin-right:5px;}
.bt-price-locked{color:var(--bt-muted)!important;letter-spacing:0!important;white-space:nowrap;}
.bt-card.is-access-locked,.bt-service-card.is-access-locked,.bt-hero-featured.is-access-locked{cursor:pointer;}
@media(max-width:700px){
  html,body{width:100vw!important;min-width:100vw!important;max-width:100vw!important;overflow-x:clip!important;}
  body[data-ps-contract-live="true"] #shopApp,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop{
    width:100vw!important;min-width:100vw!important;max-width:100vw!important;
    margin:0!important;padding-inline:0;left:0!important;right:auto!important;
  }
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-top,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-nav,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-hero{
    width:100vw!important;max-width:100vw!important;
  }
  .bt-top{display:flex!important;width:100%!important;align-items:center!important;}
  .bt-brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 62px);}
  .bt-top-label{display:none!important;margin:0!important;}
  .bt-top-actions{margin-left:auto!important;flex:0 0 auto!important;justify-content:flex-end!important;}
  .bt-top-actions [data-bt-menu]{margin-left:auto!important;}
}

/* PS-9671 — Android mobile viewport + far-right header action guard. */
@media(max-width:700px){
  html[data-ps-contract-live="true"],
  body[data-ps-contract-live="true"],
  body[data-ps-contract-live="true"] #shopApp,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop{
    box-sizing:border-box!important;
    inline-size:100vw!important;
    min-inline-size:100vw!important;
    max-inline-size:100vw!important;
  }
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop{overflow-x:clip!important;}
  body[data-ps-contract-live="true"] .ps-contract-shop .bt-top-actions{margin-inline-start:auto!important;}
  body[data-ps-contract-live="true"] .ps-contract-shop .bt-top>[class~="bt-brand"]{min-width:0!important;}
}


/* PS-9672 — mobile edge, category-icon, compact-toolbar and item-media closure. */
.bt-category-icon{background:transparent!important;overflow:hidden;}
.bt-category-icon[data-bt-category-icon-pending="true"]{display:none!important;}
.bt-category-icon img{width:100%;height:100%;display:block;object-fit:contain;}
.bt-card-img>.bt-item-media-el,.bt-hero-featured-img>.bt-item-media-el,.bt-service-img>.bt-item-media-el{
  width:100%;height:100%;display:block;object-fit:cover;
}
.bt-card-img>video.bt-item-media-el,.bt-hero-featured-img>video.bt-item-media-el,.bt-service-img>video.bt-item-media-el{background:#000;}

/* The compact products toolbar may be sticky, but it must not become an opaque
   rectangle that clips/covers the featured rail. Controls own their surfaces. */
.bt-v-standard-next.has-collapsing-hero.is-hero-compact .bt-products-toolbar{
  margin-inline:0!important;padding-inline:0!important;background:transparent!important;
  border-bottom:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"]{
  overflow-x:auto!important;overflow-y:visible!important;padding-inline:0!important;
}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"] .bt-hero-featured:first-child{margin-inline-start:0!important;}

/* Use the layout viewport, not 100vw, for Android Chrome. 100vw can include a
   reserved scroll gutter and was leaving the page-background visible as a
   persistent right-edge strip on some devices. */
@media(max-width:700px){
  html[data-ps-contract-live="true"]{width:100%!important;max-width:100%!important;overflow-x:clip!important;}
  body[data-ps-contract-live="true"]{
    width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
    overflow-x:clip!important;overflow-y:visible!important;
  }
  body[data-ps-contract-live="true"] #shopApp,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop{
    position:relative!important;left:auto!important;right:auto!important;
    inline-size:100%!important;min-inline-size:0!important;max-inline-size:none!important;
    width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;
  }
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-top,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-nav,
  body[data-ps-contract-live="true"] #psBrandTemplateRoot>.ps-contract-shop>.bt-hero{
    inline-size:100%!important;width:100%!important;max-width:none!important;
  }
  .bt-products-fullbleed{width:auto!important;max-width:none!important;margin-left:0!important;transform:none!important;}
}


/* PS-9674 — private-access header affordance + single-feature rail closure. */
.bt-access-entry{
  flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;
  border:1px solid color-mix(in srgb,var(--bt-text) 14%,transparent);border-radius:999px;
  background:color-mix(in srgb,var(--bt-surface) 88%,transparent);color:var(--bt-text);
  font:850 10px/1 var(--bt-font-body),system-ui;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent);
}
.bt-access-entry:active{transform:scale(.97)}
.bt-hero-featured-row.is-single{width:min(760px,100%);max-width:100%;overflow:visible!important;}
.bt-hero-featured-row.is-single .bt-hero-featured{flex:1 1 100%!important;width:100%!important;max-width:100%!important;}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"].is-single{
  width:100%!important;max-width:100%!important;justify-self:stretch!important;overflow:visible!important;background:transparent!important;
}
.bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"].is-single .bt-hero-featured{
  width:100%!important;max-width:none!important;flex:1 1 100%!important;
}
.bt-v-standard-next.has-collapsing-hero.is-hero-compact .bt-products-toolbar,
.bt-v-standard-next .bt-products-toolbar,
.bt-v-standard-next .bt-products-toolbar::before,
.bt-v-standard-next .bt-products-toolbar::after{
  background:transparent!important;box-shadow:none!important;
}
@media(max-width:700px){
  .bt-access-entry{min-height:38px;padding:0 9px;font-size:9px;max-width:132px;white-space:nowrap;}
  .bt-access-entry span{overflow:hidden;text-overflow:ellipsis;}
  .bt-top-actions{gap:6px!important;}
  .bt-v-standard-next .bt-products-toolbar>[data-bt-compact-featured="true"].is-single{grid-column:1/-1!important;}
}


/* PS-9676 — generic template-contract footer end fade.
   Activated only by templateContract.footer.endFade; no shop-specific selector. */
.bt-footer.has-end-fade{
  --bt-footer-fade-height:clamp(90px,14vh,170px);
  position:relative;
  max-width:none;
  width:100%;
  padding-bottom:calc(30px + var(--bt-footer-fade-height));
  border-top-color:color-mix(in srgb,var(--bt-text) 7%,transparent);
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--bt-bg) 96%,transparent) 0%,
    color-mix(in srgb,var(--bt-bg) 78%,transparent) 40%,
    color-mix(in srgb,var(--bt-bg) 38%,transparent) 72%,
    transparent 100%)!important;
}
.ps-contract-shop.has-page-background .bt-footer.has-end-fade{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:700px){.bt-footer.has-end-fade{padding-bottom:calc(20px + var(--bt-footer-fade-height))}}
