/* SONOFPOLLUX SHOP V9.0 */
:root{
  --shop-bg:#050509;--shop-panel:#0c0c12;--shop-ink:#f4f0f7;--shop-muted:#8f8997;
  --shop-line:rgba(255,255,255,.11);--shop-hot:#ff5fba;--shop-cold:#75a8ff;--shop-silver:#d9dce5;
  --shop-room:var(--shop-hot);--shop-radius:22px
}
*{box-sizing:border-box}
html{background:var(--shop-bg);color:var(--shop-ink);scroll-behavior:smooth}
body.shopPage{margin:0;min-height:100vh;background:
 radial-gradient(900px 520px at 75% -5%,rgba(255,95,186,.12),transparent 60%),
 radial-gradient(800px 520px at 0 20%,rgba(117,168,255,.09),transparent 60%),var(--shop-bg);
 color:var(--shop-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
.shopTop{position:sticky;top:0;z-index:90;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,5,9,.82);backdrop-filter:blur(18px)}
.shopTop__inner{width:min(1440px,calc(100% - 32px));margin:auto;height:70px;display:flex;align-items:center;gap:18px}
.shopBrand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:.11em;font-size:12px}
.shopBrand i{width:27px;height:27px;border:1px solid var(--shop-line);border-radius:50%;display:grid;place-items:center;font-style:normal;box-shadow:inset 0 0 20px rgba(255,255,255,.04)}
.shopBrand small{color:var(--shop-muted);font-size:9px;letter-spacing:.18em}
.shopNav{display:flex;gap:16px;margin-left:auto;align-items:center}
.shopNav a{text-decoration:none;color:var(--shop-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.shopNav a:hover{color:#fff}
.shopCart{position:relative;padding:9px 12px;border:1px solid var(--shop-line);border-radius:999px!important;color:#fff!important}
.shopCart b{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#fff;color:#050509;display:inline-grid;place-items:center;font-size:9px;margin-left:6px}
.shopShell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:46px 0 100px}
.shopMarquee{overflow:hidden;border:1px solid var(--shop-line);border-radius:999px;margin-bottom:28px;background:rgba(255,255,255,.025)}
.shopMarquee__track{display:flex;width:max-content;gap:50px;padding:9px 24px;animation:shopMarquee 28s linear infinite;font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.55)}
@keyframes shopMarquee{to{transform:translateX(-50%)}}
.shopHero{min-height:62vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:end;padding:54px 0 64px}
.shopHero__copy{max-width:880px}
.shopKicker{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--shop-muted);font-weight:900}
.shopKicker:before{content:"";width:34px;height:1px;background:currentColor}
.shopHero h1{font-size:clamp(68px,11vw,170px);line-height:.77;letter-spacing:-.075em;margin:20px 0 24px;font-weight:900}
.shopHero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.shopHero p{max-width:700px;color:#aaa3b0;font-size:clamp(16px,2vw,22px);line-height:1.5}
.shopHero__portal{aspect-ratio:1/1;justify-self:end;width:min(470px,100%);position:relative;border-radius:50%;display:grid;place-items:center}
.shopHero__portal:before,.shopHero__portal:after{content:"";position:absolute;border-radius:50%;inset:7%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 90px rgba(255,95,186,.11),inset 0 0 90px rgba(117,168,255,.08);animation:portalSpin 16s linear infinite}
.shopHero__portal:after{inset:21%;border-style:dashed;animation-direction:reverse;animation-duration:24s}
@keyframes portalSpin{to{transform:rotate(360deg)}}
.shopHero__portal span{font-size:9px;letter-spacing:.22em;text-align:center;color:var(--shop-muted);width:120px;line-height:1.9}
.shopSection{padding:42px 0}
.shopSectionHead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.shopSectionHead h2{font-size:clamp(34px,5vw,68px);line-height:.9;letter-spacing:-.055em;margin:6px 0 0}
.shopSectionHead p{color:var(--shop-muted);max-width:460px;margin:0;line-height:1.6;font-size:13px}
.shopFilters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.shopFilter{appearance:none;border:1px solid var(--shop-line);background:transparent;color:var(--shop-muted);padding:9px 12px;border-radius:99px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.shopFilter.is-active{background:#fff;color:#07070a;border-color:#fff}
.shopGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.shopCard{grid-column:span 4;min-height:520px;position:relative;overflow:hidden;border:1px solid var(--shop-line);border-radius:var(--shop-radius);background:var(--shop-panel);text-decoration:none;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s}
.shopCard:nth-of-type(5n+1){grid-column:span 6}
.shopCard:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.25)}
.shopCard__media{height:68%;min-height:310px;background:linear-gradient(145deg,#101019,#06060a);position:relative;overflow:hidden}
.shopCard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s}
.shopCard:hover .shopCard__media img{transform:scale(1.035);filter:saturate(1.1)}
.shopCard__fallback{height:100%;display:grid;place-items:center;background:
 radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--room-color) 28%,transparent),transparent 38%),
 linear-gradient(145deg,#111119,#060608)}
.shopCard__fallback:before{content:"✶";font-size:70px;color:rgba(255,255,255,.17)}
.shopCard__scan{position:absolute;inset:0;background:linear-gradient(transparent 49%,rgba(255,255,255,.05) 50%,transparent 51%);background-size:100% 7px;mix-blend-mode:screen;opacity:.4;pointer-events:none}
.shopCard__meta{height:32%;min-height:170px;padding:18px;display:flex;flex-direction:column}
.shopCard__top{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--shop-muted)}
.shopCard h3{font-size:clamp(22px,2.4vw,36px);letter-spacing:-.045em;line-height:.95;margin:12px 0 7px}
.shopCard__sub{font-size:12px;color:var(--shop-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shopCard__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:12px}
.shopPrice{font-size:14px;font-weight:900;letter-spacing:-.02em}
.shopEnter{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--shop-muted)}
.shopBadge{position:absolute;top:14px;left:14px;z-index:3;padding:7px 9px;border-radius:99px;background:rgba(5,5,9,.78);backdrop-filter:blur(12px);font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12)}
.shopBadge--limited{left:auto;right:14px}
.shopEvents{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.shopEvent{border:1px solid var(--shop-line);border-radius:20px;padding:22px;background:rgba(255,255,255,.025);min-height:210px;display:flex;flex-direction:column}
.shopEvent small{font-size:9px;letter-spacing:.16em;color:var(--shop-muted);text-transform:uppercase}
.shopEvent h3{font-size:26px;letter-spacing:-.04em;margin:12px 0 10px}
.shopEvent p{font-size:12px;line-height:1.6;color:var(--shop-muted);margin:0}
.shopEvent footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.shopEvent a{text-decoration:none}
.shopEmpty{border:1px dashed var(--shop-line);border-radius:22px;padding:48px;color:var(--shop-muted);text-align:center;grid-column:1/-1}
.shopPortal{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0;display:grid;place-items:center;background:#030305;clip-path:circle(0 at var(--portal-x,50%) var(--portal-y,50%));transition:clip-path .82s cubic-bezier(.7,0,.2,1),opacity .12s}
.shopPortal.is-open{opacity:1;clip-path:circle(150vmax at var(--portal-x,50%) var(--portal-y,50%))}
.shopPortal__rings{width:min(65vw,760px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;box-shadow:0 0 120px rgba(255,95,186,.13),inset 0 0 100px rgba(117,168,255,.08)}
.shopPortal__rings:before{content:"";width:66%;height:66%;border-radius:50%;border:1px dashed rgba(255,255,255,.17);animation:portalSpin 3s linear infinite}
.shopPortal__label{position:absolute;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#fff}
.shopProduct{--room-color:#ff5fba}
.shopProductHero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px;align-items:start}
.shopProductVisual{position:sticky;top:92px;min-height:680px;border-radius:28px;overflow:hidden;border:1px solid var(--shop-line);background:#0b0b10}
.shopProductVisual img{width:100%;height:100%;min-height:680px;position:absolute;inset:0;object-fit:cover}
.shopProductVisual .shopCard__fallback{position:absolute;inset:0}
.shopProductVisual__mark{position:absolute;z-index:3;left:18px;bottom:18px;font-size:9px;letter-spacing:.2em;background:rgba(5,5,9,.72);backdrop-filter:blur(12px);padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:99px}
.shopProductCopy{padding:32px 12px 40px 20px}
.shopProductCopy h1{font-size:clamp(54px,8vw,112px);letter-spacing:-.07em;line-height:.82;margin:18px 0}
.shopProductCopy .shopSub{font-size:18px;color:#b2abb8;line-height:1.55;margin:0 0 28px}
.shopProductCopy .shopDescription{font-size:14px;color:#aaa3b0;line-height:1.75;white-space:pre-line}
.shopFacts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--shop-line);border-left:1px solid var(--shop-line);margin:28px 0}
.shopFact{padding:14px;border-right:1px solid var(--shop-line);border-bottom:1px solid var(--shop-line)}
.shopFact small{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--shop-muted);margin-bottom:5px}
.shopFact b{font-size:12px}
.shopBuyBox{border:1px solid var(--shop-line);border-radius:20px;padding:16px;background:rgba(255,255,255,.028);display:grid;gap:10px}
.shopBuyBox__row{display:flex;justify-content:space-between;align-items:center;gap:16px}
.shopBuyBox .shopPrice{font-size:28px;letter-spacing:-.04em}
.shopButton{appearance:none;border:1px solid var(--shop-line);border-radius:14px;background:transparent;color:#fff;padding:13px 16px;min-height:46px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.shopButton--primary{background:#fff;color:#050509;border-color:#fff}
.shopButton--room{background:var(--room-color);color:#09070b;border-color:transparent}
.shopButton:disabled{opacity:.42;cursor:not-allowed}
.shopBuyActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.shopOwned{padding:14px;border-radius:14px;border:1px solid rgba(152,255,198,.22);background:rgba(87,255,165,.055);font-size:11px;line-height:1.5}
.shopGallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:36px}
.shopGallery img{width:100%;border-radius:18px;border:1px solid var(--shop-line);display:block}
.shopPreview{border-top:1px solid var(--shop-line);padding:16px 0}
.shopPreview small{font-size:9px;color:var(--shop-muted);letter-spacing:.12em;text-transform:uppercase}
.shopPreview audio,.shopPreview video{width:100%;margin-top:8px}
.shopCartPage{max-width:1180px;margin:0 auto}
.shopCartLayout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}
.shopCartList,.shopCheckoutBox{border:1px solid var(--shop-line);border-radius:24px;background:rgba(255,255,255,.025)}
.shopCartList{overflow:hidden}
.shopCartRow{display:grid;grid-template-columns:88px 1fr auto;gap:14px;padding:14px;border-bottom:1px solid var(--shop-line);align-items:center}
.shopCartRow:last-child{border-bottom:0}
.shopCartThumb{width:88px;height:88px;border-radius:14px;object-fit:cover;background:#111}
.shopCartRow h3{font-size:18px;margin:0 0 6px}
.shopCartRow p{font-size:10px;color:var(--shop-muted);margin:0}
.shopQty{display:flex;align-items:center;gap:5px;margin-top:10px}
.shopQty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--shop-line);background:transparent;color:#fff;cursor:pointer}
.shopQty span{min-width:28px;text-align:center;font-size:11px}
.shopCartRemove{background:none;border:0;color:var(--shop-muted);font-size:10px;text-decoration:underline;cursor:pointer;padding:0}
.shopCheckoutBox{position:sticky;top:92px;padding:18px}
.shopCheckoutBox h2{font-size:27px;margin:0 0 18px}
.shopTotalLine{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--shop-line);font-size:12px}
.shopTotalLine--grand{font-size:19px;font-weight:900}
.shopNotice{font-size:10px;line-height:1.55;color:var(--shop-muted);padding:10px 0}
.shopError{padding:12px;border:1px solid rgba(255,95,130,.25);background:rgba(255,95,130,.06);border-radius:12px;font-size:11px;line-height:1.5}
.shopReceipt{max-width:820px;margin:20px auto;border:1px solid var(--shop-line);border-radius:28px;padding:30px;background:rgba(255,255,255,.025)}
.shopReceipt h1{font-size:clamp(42px,7vw,78px);letter-spacing:-.06em;margin:8px 0 20px}
.shopReceiptItem{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--shop-line);font-size:12px}
.shopFooter{padding:55px 0 24px;border-top:1px solid var(--shop-line);display:flex;justify-content:space-between;gap:20px;color:var(--shop-muted);font-size:9px;letter-spacing:.11em;text-transform:uppercase}
[data-room="pink"]{--room-color:#ff5fba}[data-room="blue"]{--room-color:#78a7ff}[data-room="red"]{--room-color:#ff5e62}[data-room="green"]{--room-color:#62d894}[data-room="white"]{--room-color:#f4f1f7}[data-room="black"]{--room-color:#76717d}[data-room="silver"]{--room-color:#d5d7df}[data-room="purple"]{--room-color:#b07bff}[data-room="yellow"]{--room-color:#ffd462}[data-room="unassigned"]{--room-color:#ff5fba}
@media(max-width:980px){
 .shopHero{grid-template-columns:1fr;min-height:auto}.shopHero__portal{width:300px;justify-self:start}
 .shopCard,.shopCard:nth-of-type(5n+1){grid-column:span 6}.shopEvents{grid-template-columns:1fr 1fr}
 .shopProductHero{grid-template-columns:1fr}.shopProductVisual{position:relative;top:auto;min-height:72vw}.shopProductVisual img{min-height:72vw}
 .shopCartLayout{grid-template-columns:1fr}.shopCheckoutBox{position:static}
}
@media(max-width:680px){
 .shopTop__inner{width:calc(100% - 20px);height:62px}.shopBrand small,.shopNav a:not(.shopCart){display:none}
 .shopShell{width:calc(100% - 20px);padding-top:26px}.shopHero{padding-top:24px}.shopHero h1{font-size:19vw}
 .shopHero__portal{display:none}.shopSectionHead{align-items:start;flex-direction:column}.shopGrid{gap:9px}
 .shopCard,.shopCard:nth-of-type(5n+1){grid-column:span 12;min-height:450px}.shopCard__media{min-height:290px}
 .shopEvents{grid-template-columns:1fr}.shopProductCopy{padding:24px 2px}.shopProductCopy h1{font-size:16vw}.shopFacts{grid-template-columns:1fr}
 .shopBuyActions{grid-template-columns:1fr}.shopGallery{grid-template-columns:1fr}.shopCartRow{grid-template-columns:68px 1fr}.shopCartThumb{width:68px;height:68px}.shopCartRow>strong{grid-column:2}
 .shopFooter{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
 .shopPortal{clip-path:none!important}
}
