/* Speaker Shop v1.7.1: alternate editorial section, unified real-image fallbacks,
   readable neutral text on dark surfaces.  Loaded after the existing skins. */

/* Alternating composition: photo on the RIGHT, copy on the LEFT (desktop RTL). */
html body.public .sp-front .sp-feature-band.sp-sound-story.sp-v17-open-stage {
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(24px,4vw,72px);
  min-height:clamp(490px,44vw,630px);
}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy {
  width:46%;max-width:560px;min-width:0;margin:0;
  text-align:right;position:relative;z-index:4;
}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art {
  left:auto;right:-7%;top:-17%;width:65%;height:135%;
  opacity:1;pointer-events:none;
}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art img {
  width:100%;height:100%;object-fit:contain;
}
html body.public .sp-front .sp-sound-story.sp-v17-open-stage:before {
  background:radial-gradient(ellipse 40% 53% at 76% 48%,rgba(230,0,58,.23),transparent 77%);
}

/* Category and sample-product thumbnails use a supplied product photograph,
   not the temporary vector silhouettes; preserve authentic uploaded media. */
html body.public .sp-card-image:has(img[src*="speaker-product-default.png"]),
html body.public .sp-category:has(img[src*="speaker-product-default.png"]),
html body.public .sp-category-thumb:has(img[src*="speaker-product-default.png"]) {
  background:radial-gradient(ellipse at 55% 42%,rgba(113,121,136,.21),transparent 70%),#1d1d24!important;
}
html body.public .sp-card-image img[src*="speaker-product-default.png"] {
  object-fit:contain;object-position:center;
  width:100%;height:100%;padding:clamp(12px,1.5vw,20px);
  box-sizing:border-box;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.55));
}
html body.public .sp-category img[src*="speaker-product-default.png"],
html body.public .sp-category-thumb img[src*="speaker-product-default.png"] {
  background:transparent!important;object-fit:contain;
  filter:drop-shadow(0 9px 14px rgba(0,0,0,.5));
}

/* Public-facing muted text: ensure a legible foreground against dark cards. */
html body.public .sp-catalog .sp-market-filter summary,
html body.public .sp-catalog .sp-market-filter summary::after,
html body.public .sp-catalog .sp-filters-form label,
html body.public .sp-catalog .sp-filter-check,
html body.public .sp-catalog .sp-sort b,
html body.public .sp-catalog .sp-sort>span,
html body.public .sp-catalog .sp-result-count,
html body.public .sp-catalog .sp-pages>span,
html body.public .sp-catalog .sp-taxonomy-parent>span {
  color:#f3f1f5!important;
  -webkit-text-fill-color:#f3f1f5!important;
}
html body.public .sp-catalog .sp-market-filter summary>span,
html body.public .sp-catalog .sp-filters-form .sp-filter-buttons a,
html body.public .sp-catalog .sp-market-heading p,
html body.public .sp-catalog .sp-section-head p,
html body.public .sp-catalog .sp-sort nav a:not(.active),
html body.public .sp-catalog .sp-pages a,
html body.public .sp-catalog .sp-breadcrumb,
html body.public .sp-catalog .sp-breadcrumb a {
  color:#d9d8e1!important;
  -webkit-text-fill-color:#d9d8e1!important;
}
html body.public .sp-catalog .sp-market-filter summary {
  border-color:rgba(255,255,255,.19)!important;
}
html body.public .sp-catalog .sp-filters-form .sp-filter-check {
  border-color:rgba(255,255,255,.15)!important;
}
html body.public .sp-catalog .sp-filter-buttons a:hover,
html body.public .sp-catalog .sp-sort nav a.active {
  color:#ff6d90!important;
  -webkit-text-fill-color:#ff6d90!important;
}
html body.public .sp-catalog :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]) {
  color:#111318!important;
  -webkit-text-fill-color:#111318!important;
  background:#f7f7f8!important;
}
html body.public .sp-catalog :is(input,textarea)::placeholder {
  color:#545a65!important;
  -webkit-text-fill-color:#545a65!important;
  opacity:1;
}
/* Other supporting text should never disappear into the graphite surfaces. */
html body.public .sp-front :is(.sp-benefits small,.sp-section-head p,.sp-category>span:not(.sp-category-arrow):not(.sp-category-no)),
html body.public .sp-product-detail :is(.sp-product-summary,.sp-spec-guidance,.sp-product-service-points,.sp-shop-owner small),
html body.public .sp-product-card .sp-card-price del,
html body.public .sp-product-card .sp-card-label {
  color:#d9d8e1!important;
}
html body.public .sp-front .sp-overline,
html body.public .sp-catalog .sp-overline {color:#ff7596!important;}

@media(max-width:980px){
  html body.public .sp-front .sp-feature-band.sp-sound-story.sp-v17-open-stage{
    min-height:450px;padding-inline:clamp(18px,3vw,40px);
  }
  html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy{width:52%;}
  html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art{
    right:-13%;width:68%;height:118%;top:-5%;
  }
}
@media(max-width:680px){
  html body.public .sp-front .sp-feature-band.sp-sound-story.sp-v17-open-stage {
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    min-height:535px;padding:26px 20px 285px!important;gap:0;
  }
  html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-feature-copy {
    width:100%;max-width:none;text-align:right;
  }
  html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art {
    left:auto;right:-12%;top:auto;bottom:-55px;
    width:112%;height:360px;opacity:.9;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.public .sp-front .sp-sound-story.sp-v17-open-stage .sp-sound-story-art img{animation:none!important;}
}
