/* Band24 v1.8.1 — targeted contrast, corrected image placement, responsive touch targets. */
html body.public{--band24-text:#f8f8fb;--band24-subtle:#e1e2e9;--band24-disabled:#bac0ca}
/* Dark surfaces must never inherit a dark-text value from the older light theme. */
html body.public :is(.sp-front,.sp-catalog,.sp-product-detail,.sp-last-cta,.sp-feature-band,.sp-brand-list,.sp-home-faq,.sp-customer-login,.customer-access-copy) :is(h1,h2,h3,h4,h5,h6,summary,legend,strong,dt,dd):not(.sp-discount):not(.sp-featured),
html body.public .sp-front .sp-category h3,
html body.public .sp-front .sp-category h3 a,
html body.public .sp-v16-gallery-card strong,
html body.public .sp-brand-list a,
html body.public .sp-category>span:not(.sp-category-no):not(.sp-category-arrow){color:var(--band24-text)!important;-webkit-text-fill-color:var(--band24-text)!important}
html body.public :is(.sp-front,.sp-catalog,.sp-product-detail,.sp-last-cta,.sp-feature-band,.customer-access-copy) :is(p,small,.muted,.sp-section-head p,.sp-card-label,.sp-product-summary,.sp-sort span,.sp-market-heading p,.sp-category>span,.sp-catalog-heading p){color:var(--band24-subtle)!important;-webkit-text-fill-color:var(--band24-subtle)!important;opacity:1!important}
html body.public .sp-front .sp-category{background:#1b1b24!important;border:1px solid #ffffff33!important;box-shadow:0 9px 26px #0005!important}
html body.public .sp-category h3{font-size:clamp(13px,1.2vw,16px)!important;line-height:1.8!important;text-shadow:0 2px 9px #000b}
html body.public .sp-category:focus-visible{outline:3px solid #ff426e;outline-offset:3px}
html body.public :is(.sp-featured,.sp-nav-highlight,.sp-discount,.sp-product-card .sp-featured,.sp-card-image .sp-featured){background:#e6003a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important}
/* Legacy outline buttons often produced near-white text on opaque white button backgrounds. */
html body.public .sp-btn.transparent,html body.public .sp-btn:not(.primary):not(.dark):not(.ghost){background:#f7f7f8!important;color:#171820!important;-webkit-text-fill-color:#171820!important;border:1px solid #fff!important}
html body.public .sp-btn.transparent :is(span,small,strong){color:#171820!important;-webkit-text-fill-color:#171820!important}
html body.public .sp-front .sp-section-head>a,html body.public .sp-front .sp-section-head>a:visited{color:#ff93aa!important;-webkit-text-fill-color:#ff93aa!important}
html body.public .sp-front .sp-section-head>a:hover{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Two modes: light inputs, dark photographic backgrounds. */
html body.public :is(.sp-search,.sp-market-filter,.sp-filter,.sp-buy-panel,.customer-login-card,.signup-card) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){color:#171820!important;-webkit-text-fill-color:#171820!important;background:#f8f8fb!important}
html body.public .customer-access .customer-access-copy,
html body.public .customer-access .customer-access-copy :is(span,h1,h2,h3,p,small,strong),
html body.public .customer-access-copy .eyebrow,
html body.public .customer-access-copy h1{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 10px #0008;opacity:1!important}
html body.public .customer-access .customer-access-copy p{color:#e0e2eb!important;-webkit-text-fill-color:#e0e2eb!important}
html body.public :is(.signup-card,.customer-login-card,.customer-access .customer-login-card) :is(h1,h2,h3,label,small,p,span,strong){color:#171820!important;-webkit-text-fill-color:#171820!important}
html body.public :is(.signup-card,.customer-login-card) :is(button,input){min-height:46px}
/* Avoid photo/text collisions at editorial section and keep full subject visible. */
html body.public .sp-front .sp-sound-story.sp-v17-open-stage{isolation:isolate;overflow:visible;position:relative;gap:clamp(20px,4vw,60px);padding-inline:clamp(15px,3vw,45px);min-height:clamp(410px,41vw,565px)}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art{right:-2%;left:auto;top:0;width:56%;height:100%;z-index:1;filter:drop-shadow(0 20px 30px #0009)}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy{width:44%;max-width:560px;z-index:5;position:relative;transform:none!important}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art img{width:100%;height:100%;object-fit:contain;object-position:center center;max-width:100%}
html body.public .sp-front .sp-last-cta.band24-final-stage{min-height:350px}
html body.public .sp-front .band24-final-stage .band24-stage-art{max-height:360px;object-position:center}
html body.public .sp-front .band24-cta-copy :is(h2,p,span){color:#fff!important;-webkit-text-fill-color:#fff!important}
/* A11y: desktop + phone. */
html body.public :is(.sp-card-specs span,.sp-feature-copy p,.sp-section-head p){line-height:1.85}
html body.public .sp-nav a:focus-visible,html body.public .sp-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:860px){
 html body.public .sp-front .sp-sound-story.sp-v17-open-stage{min-height:0;display:flex!important;flex-direction:column!important;overflow:hidden;gap:12px;padding-block:25px 15px}
 html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy{width:100%;max-width:none;order:2}
 html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art{position:relative!important;top:auto!important;right:auto!important;left:auto!important;order:1;width:100%!important;height:clamp(210px,55vw,385px)!important}
 html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art img{height:100%!important;width:100%!important;object-fit:contain!important}
 html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy h2{font-size:clamp(22px,5vw,30px)}
 html body.public .customer-access{gap:18px;max-width:100%;min-width:0}
 html body.public .customer-access-copy{padding-inline:0!important}
}
@media(max-width:480px){
 html body.public .sp-front .sp-categories{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px}
 html body.public .sp-category{min-height:160px!important;padding:10px!important}
 html body.public .sp-category img{max-height:95px!important}
 html body.public .sp-category h3{font-size:12px!important;margin:4px 0!important}
 html body.public .sp-front .sp-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 html body.public .sp-product-card .sp-card-price strong{font-size:12px}
 html body.public .sp-header-top{gap:8px!important}
 html body.public .sp-search{min-width:0!important}
 html body.public .customer-login-card{max-width:100%;padding:20px!important}
}
@media(max-width:350px){html body.public .sp-front .sp-products{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){html body.public .sp-sound-story-art img{animation:none!important;transform:none!important}}
/* Some installations use a custom lockup. Keep the Band24 wordmark visible beside it. */
html body.public .sp-header a.brand.brand-image-only{display:inline-flex!important;align-items:center!important;gap:8px!important;max-width:280px!important}
html body.public .sp-header .brand-lockup{max-width:55px!important;max-height:55px!important;object-fit:contain!important}
html body.public .sp-header .brand-lockup-text{display:inline-block!important;font-size:clamp(15px,1.4vw,22px)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;white-space:nowrap}
@media(max-width:760px){html body.public .sp-header a.brand.brand-image-only{max-width:130px!important}html body.public .sp-header .brand-lockup{max-width:35px!important;max-height:35px!important}html body.public .sp-header .brand-lockup-text{font-size:15px!important}}

/* v1.8.2 — visible semantic Band24 wordmark beside every public logo. */
html body.public .sp-header a.brand{display:inline-flex!important;flex-flow:row nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;width:auto!important;min-width:135px!important;max-width:300px!important;overflow:visible!important;flex-shrink:0!important}
html body.public .sp-header a.brand .band24-wordmark{display:inline-block!important;position:relative!important;visibility:visible!important;opacity:1!important;flex:0 0 auto!important;white-space:nowrap!important;font-size:clamp(17px,1.8vw,25px)!important;line-height:1.4!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:900!important;letter-spacing:.1px;text-shadow:0 1px 9px #0007}
html body.public .sp-header a.brand .brand-icon{width:50px!important;min-width:50px!important;height:54px!important;flex-shrink:0!important}
html body.public .sp-header a.brand .brand-icon img{width:46px!important;height:46px!important;object-fit:contain!important}
@media(max-width:760px){html body.public .sp-header a.brand{gap:5px!important;min-width:105px!important;max-width:145px!important}html body.public .sp-header a.brand .band24-wordmark{font-size:15px!important}html body.public .sp-header a.brand .brand-icon{width:36px!important;min-width:36px!important;height:40px!important}html body.public .sp-header a.brand .brand-icon img{width:35px!important;height:35px!important}}
