/* v1.7: seamless dark concert-stage visual system, no new generated imagery. */
:root{--stage-night:#111318;--stage-red:#e6003a;--stage-white:#f7f7f8;--stage-silver:#d6d4db}
html body.public.public.public.public:not(.solo){
 background-color:var(--stage-night)!important;
 background-image:radial-gradient(ellipse 65% 33% at 76% 0%,rgba(230,0,58,.17),transparent 70%),radial-gradient(ellipse 62% 27% at 8% 45%,rgba(230,0,58,.09),transparent 74%),radial-gradient(ellipse 48% 34% at 92% 80%,rgba(230,0,58,.11),transparent 73%),linear-gradient(180deg,#131017,#111318 50%,#171117 100%)!important;
 color:var(--stage-white)!important;
}
/* The hero is part of the same stage/background as the rest of the storefront. */
html body.public .sp-front .sp-hero{background:radial-gradient(ellipse 60% 53% at 71% 44%,rgba(230,0,58,.12),transparent 75%),transparent!important}
html body.public .sp-front .sp-hero:before{opacity:.13;mask-image:linear-gradient(90deg,transparent,#000 82%);background-image:linear-gradient(#ffffff1d 1px,transparent 1px),linear-gradient(90deg,#ffffff1d 1px,transparent 1px)}
html body.public .sp-front .sp-hero:after{background:radial-gradient(ellipse,#e6003a34,transparent 70%);filter:blur(65px)}
html body.public .sp-front :is(.sp-v17-open-stage,.sp-v17-open-gallery){
 position:relative;isolation:isolate;background:transparent!important;border:0!important;
 border-radius:0!important;box-shadow:none!important;overflow:visible;
}
/* Image stage: open air, light fields and floating speaker cutouts (not boxed). */
html body.public .sp-front .sp-v17-open-stage{min-height:610px;margin-block:clamp(80px,10vw,165px);padding:clamp(20px,4vw,65px) 0;gap:20px}
html body.public .sp-v17-open-stage:before{content:'';position:absolute;z-index:-1;left:-9%;right:-9%;top:-12%;bottom:-15%;pointer-events:none;background:radial-gradient(ellipse 33% 42% at 78% 47%,rgba(230,0,58,.22),transparent 85%),radial-gradient(ellipse 27% 36% at 58% 72%,rgba(247,247,248,.065),transparent 85%);filter:blur(20px)}
html body.public .sp-v17-open-stage .sp-v16-showroom-scene{height:clamp(400px,47vw,690px);min-height:400px;overflow:visible!important;isolation:isolate;filter:none}
html body.public .sp-v17-open-stage .sp-v16-showroom-scene:before{content:'';position:absolute;z-index:-1;inset:6% 2% 2%;border-radius:50%;background:radial-gradient(ellipse,rgba(230,0,58,.27),rgba(230,0,58,.055) 46%,transparent 74%);filter:blur(49px);animation:v17-aura 8s ease-in-out infinite alternate}
html body.public .sp-v17-open-stage .sp-v16-layer{width:112%;height:107%;object-fit:contain;inset:-3% auto auto -5%;filter:drop-shadow(0 36px 40px rgba(0,0,0,.62));transform-origin:60% 62%}
html body.public .sp-v17-open-stage .sp-v16-layer-one{animation:v17-breath 8.5s ease-in-out infinite alternate}
html body.public .sp-v17-open-stage .sp-v16-layer-two{width:85%;height:77%;inset:19% auto auto 3%;opacity:.13;mix-blend-mode:screen;filter:blur(1px) drop-shadow(0 20px 30px #0009);animation:v17-orbit 12s ease-in-out infinite alternate}
html body.public .sp-v17-open-stage .sp-v16-showroom-text{max-width:570px}
html body.public .sp-v17-open-stage .sp-v16-showroom-text h2{line-height:1.55;color:#fff!important}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage{background:transparent!important;margin-block:clamp(80px,10vw,140px);min-height:520px;box-shadow:none!important;padding:clamp(35px,4vw,65px) clamp(12px,4vw,60px)}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage:after{display:none}
html body.public .sp-v17-open-stage .sp-sound-story-art{overflow:visible;left:-7%;top:-24%;height:145%;width:67%;opacity:1;filter:drop-shadow(0 30px 32px #0008)}
html body.public .sp-v17-open-stage .sp-sound-story-halo{border-color:#e6003a3a;box-shadow:0 0 0 35px #e6003a0e,0 0 0 82px #e6003a08,0 0 70px #e6003a2c}
html body.public .sp-v17-open-stage .sp-feature-copy{z-index:3}
/* Gallery is an offset editorial gallery rather than one large rectangular container. */
html body.public .sp-front .sp-v17-open-gallery{padding:clamp(20px,4vw,55px) 0;margin-block:clamp(70px,9vw,135px)}
html body.public .sp-v17-open-gallery:before{content:'';position:absolute;z-index:-1;left:0;right:0;top:5%;bottom:0;background:radial-gradient(ellipse 55% 64% at 48% 50%,#e6003a18,transparent 78%);filter:blur(34px)}
html body.public .sp-v17-open-gallery .sp-v16-gallery-grid{align-items:stretch;gap:clamp(16px,2.4vw,35px)}
html body.public .sp-v17-open-gallery .sp-v16-gallery-card{min-height:360px;background:radial-gradient(ellipse at 52% 42%,#42202b65,transparent 63%),linear-gradient(180deg,#1b1b22bb,#121319dd);border:1px solid #ffffff22;box-shadow:0 24px 35px #0004;border-radius:28px}
html body.public .sp-v17-open-gallery .sp-v16-gallery-card:nth-child(2){transform:translateY(25px)}
html body.public .sp-v17-open-gallery .sp-v16-gallery-card:nth-child(2):hover{transform:translateY(13px) scale(1.014)}
html body.public .sp-v17-open-gallery .sp-v16-gallery-card:hover{transform:translateY(-12px) scale(1.014);box-shadow:0 23px 50px #0009,0 0 60px #e6003a22}
html body.public .sp-v17-open-gallery .sp-v16-gallery-card img{height:73%;top:0;filter:drop-shadow(0 27px 24px #000c)}
/* Product cards: specifications remain readable on a dark background, without white badges or harsh dividing lines. */
html body.public .sp-product-card .sp-card-main{gap:0;padding:clamp(16px,1.9vw,23px)}
html body.public .sp-product-card .sp-card-main h3{margin-block:9px 14px;min-height:56px;line-height:1.85}
html body.public .sp-product-card .sp-card-specs{display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-height:0;margin:0 0 18px;padding:0;overflow:visible;border:0;background:transparent}
html body.public .sp-product-card .sp-card-specs span{
 display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;
 background:#ffffff0e!important;border:1px solid #ffffff23;color:#e7e6eb!important;
 font-size:clamp(10px,.8vw,12px);line-height:1.7;border-radius:11px;
 white-space:normal;overflow-wrap:anywhere;text-align:center;box-shadow:none;
}
html body.public .sp-product-card .sp-card-specs span:first-child{background:#e6003a18!important;border-color:#e6003a44;color:#ffdce5!important}
html body.public .sp-product-card .sp-card-end{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:16px;gap:9px;align-items:center}
html body.public .sp-product-card .sp-card-price strong{color:#fff!important;font-size:clamp(14px,1.15vw,18px)}
html body.public .sp-product-card .sp-add{flex:0 0 auto;background:#e6003a!important;color:#fff!important;border:1px solid #f82f64!important;box-shadow:0 9px 20px #e6003a36}
html body.public .sp-product-card:hover .sp-card-specs span{border-color:#ffffff39}
html body.public .sp-product-card .sp-card-label{color:#ff718f!important}
/* Editor: a single concrete value for a fixed attribute; variable values are individually editable. */
body.cms .speaker-product-form .speaker-attribute-row{padding:clamp(17px,2vw,25px);border:1px solid #b8c1d1;border-radius:18px;background:#f5f7fb;box-shadow:0 10px 24px #0d15200b;margin:15px 0}
body.cms .speaker-product-form .speaker-value-editor{margin-top:18px;display:flex;flex-direction:column;gap:10px}
body.cms .speaker-product-form .speaker-value-editor>strong{color:#111318!important;font-size:13px}
body.cms .speaker-product-form .speaker-value-line{display:flex;gap:9px;margin-top:5px;align-items:center}
body.cms .speaker-product-form .speaker-value-line input{flex:1;min-width:0;padding:12px 15px;border:1px solid #aeb8c9;border-radius:12px;color:#111318!important;background:white!important;line-height:1.8}
body.cms .speaker-product-form .speaker-value-line input:focus{outline:2px solid #e6003a;outline-offset:1px}
body.cms .speaker-product-form [data-add-speaker-attribute]{margin:16px 0 8px;min-height:44px;background:#111318;color:#fff;border:1px solid #e6003a;border-radius:13px}
body.cms .speaker-product-form [data-add-attribute-value]{align-self:flex-start}
body.cms .speaker-product-form [data-remove-attribute-value][hidden]{display:none!important}
/* Focus and motion accessibility. */
@keyframes v17-breath{from{transform:translate3d(-1%,1%,0) rotate(-.4deg) scale(.985)}to{transform:translate3d(1.5%,-2%,0) rotate(.7deg) scale(1.025)}}
@keyframes v17-orbit{from{transform:translate(-8%,1%) rotate(-1deg) scale(.82);opacity:.11}to{transform:translate(-3%,-4%) rotate(1deg) scale(.92);opacity:.23}}
@keyframes v17-aura{to{transform:scale(1.14);opacity:.63}}
@media(max-width:1050px){html body.public .sp-v17-open-stage{grid-template-columns:1fr;min-height:0}html body.public .sp-v17-open-stage .sp-v16-showroom-scene{height:53vw;min-height:310px;max-height:550px}}
@media(max-width:680px){html body.public .sp-v17-open-stage{margin-block:55px;padding-block:25px}html body.public .sp-v17-open-stage .sp-v16-showroom-scene{min-height:260px;height:62vw}html body.public .sp-v17-open-stage .sp-v16-layer{height:107%;width:116%}html body.public .sp-v17-open-stage .sp-v16-layer-two{width:85%;height:75%}html body.public .sp-front .sp-sound-story.sp-v17-open-stage{min-height:480px;padding:24px 14px}html body.public .sp-v17-open-gallery .sp-v16-gallery-card:nth-child(2){transform:none}html body.public .sp-v17-open-gallery .sp-v16-gallery-card:nth-child(2):hover{transform:translateY(-8px)}html body.public .sp-product-card .sp-card-specs{gap:6px}html body.public .sp-product-card .sp-card-specs span{padding:5px 8px;font-size:10px}html body.public .sp-product-card .sp-card-main{padding:13px}}
@media(prefers-reduced-motion:reduce){html body.public .sp-v17-open-stage .sp-v16-layer,html body.public .sp-v17-open-stage .sp-v16-showroom-scene:before{animation:none!important}html body.public .sp-v17-open-gallery .sp-v16-gallery-card{transition:none!important}}
