/* /shop: two catalogue tabs (plugins, software) inside the same sci-fi monitor frame as /beats; needs base.css + beats.css (checkout window) */
html{--lime:#EDFF00}
.pl.sp{cursor:default;--gap:clamp(28px,4.4vw,88px)}
.sp-wrap{position:relative;z-index:1;min-height:var(--wh);display:flex;flex-direction:column;gap:clamp(14px,2.4vh,26px)}

/* title + tabs */
.sp-top{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.sp-top .pl-h{font-size:clamp(40px,4.6vw,76px)}
.sp-tabs{display:flex;gap:10px;flex-wrap:wrap;font-family:"OffBit Bold",ui-monospace,monospace;text-transform:uppercase}
.sp-tab{height:46px;padding:0 clamp(14px,1.6vw,24px);color:#fff;font-size:clamp(12px,1vw,14px);letter-spacing:.14em;border:1px solid rgba(162,96,255,.32);background:rgba(162,96,255,.04);transition:background .2s,border-color .2s,color .2s;white-space:nowrap}
.sp-tab:hover{border-color:rgba(162,96,255,.85);background:rgba(162,96,255,.12)}
.sp-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sp-tab[aria-selected="true"]{background:var(--violet);border-color:var(--violet);color:#050505;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.sp-tab .sh{display:block}

.sp-panel{flex:1;min-height:0}
.sp-panel[hidden]{display:none}
.sp-stage{height:100%;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:var(--gap);align-items:center}

/* ---- screenshot carousel: the front window is sharp, the one behind is pushed back and out of focus ---- */
.sp-carwrap{min-width:0;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vh,16px)}
.sp-car{--r:15%;position:relative;width:min(100%,calc((var(--wh) - 150px)*1584/1864));aspect-ratio:1584/1864;outline:0;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.sp-car.drag{cursor:grabbing}
.sp-car:focus-visible{outline:2px solid #fff;outline-offset:6px}
.sp-sl{position:absolute;inset:0;margin:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s cubic-bezier(.2,.8,.2,1),opacity .7s;will-change:transform,filter}
.sp-sl img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.sp-sl[data-pos="0"]{z-index:3;transform:translateX(var(--dx,0px));filter:none}
.sp-sl[data-pos="1"],.sp-sl[data-pos="-1"]{z-index:2;filter:blur(6px) brightness(.58) saturate(.8);cursor:pointer}
.sp-sl[data-pos="1"]{transform:translate(var(--r),-3%) scale(.86)}
.sp-sl[data-pos="-1"]{transform:translate(calc(-1*var(--r)),-3%) scale(.86)}
.sp-sl[data-pos="x"]{z-index:1;opacity:0;pointer-events:none;transform:scale(.72);filter:blur(12px)}
.sp-car.drag .sp-sl[data-pos="0"]{transition:none}

.sp-cc{display:flex;align-items:center;gap:18px;font-family:"OffBit Bold",ui-monospace,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.sp-cc b{font-weight:400;color:#fff}
.sp-arr{width:44px;height:36px;display:grid;place-items:center;color:var(--violet);border:1px solid rgba(162,96,255,.45);background:rgba(162,96,255,.04);transition:background .15s,color .15s,border-color .15s}
.sp-arr:hover,.sp-arr:focus-visible{background:var(--violet);color:#050505;border-color:var(--violet);outline:0}
.sp-arr svg{width:18px;height:12px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.sp-dots{display:flex;gap:6px}
.sp-dots i{width:18px;height:3px;background:rgba(162,96,255,.35);transition:background .2s,width .3s}
.sp-dots i.on{background:var(--violet);width:32px}
.sp-cap{margin:0;min-height:1.4em;font-family:"OffBit Bold",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ---- product pane ---- */
.sp-pane{--v:#a260ff;min-width:0;display:flex;flex-direction:column;gap:clamp(14px,2.2vh,24px);font-family:"OffBit Bold",ui-monospace,monospace;color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.sp-pane .pl-h{font-size:clamp(34px,3.8vw,62px)}
.sp-lead{margin:0;max-width:58ch;font-size:clamp(13px,1vw,15px);line-height:1.6;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.78)}
.sp-specs{margin:0;padding:0;list-style:none;border-top:1px solid rgba(162,96,255,.32)}
.sp-specs li{display:grid;grid-template-columns:clamp(92px,8.6vw,128px) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid rgba(162,96,255,.32);font-size:12px;line-height:1.45}
.sp-specs .k{color:var(--v)}
.sp-specs .v{letter-spacing:.08em;text-transform:none;overflow-wrap:anywhere}
.sp-buy{display:grid;gap:12px}
.sp-free{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(60px,8.4vh,76px);background:var(--lime);color:#050505;font-family:"OffBit Bold",ui-monospace,monospace;font-size:clamp(20px,2vw,28px);line-height:1;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;transition:background .15s}
.sp-free:hover,.sp-free:focus-visible{background:#fafafa;outline:0}
.sp-free:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sp-free .sh{display:block}
.sp-buyrow{display:flex;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;font-size:11px;color:rgba(255,255,255,.62)}
.sp-buyrow a{color:var(--violet);transition:color .15s}
.sp-buyrow a:hover,.sp-buyrow a:focus-visible{color:#fff;outline:0}
.sp-pane .pl-foot{margin-top:auto}

/* ---- plugins tab: under construction ---- */
.sp-uc{height:100%;display:grid;place-items:center;padding:clamp(10px,3vh,40px) 0}
.sp-ucb{container-type:inline-size;position:relative;width:min(820px,100%);padding:clamp(30px,6vw,76px) clamp(20px,4.4vw,64px);border:1px solid rgba(162,96,255,.6);background:rgba(162,96,255,.04);font-family:"OffBit Bold",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em;text-align:center}
.sp-ucb .bt-c{width:20px;height:20px}
.sp-ucs{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 16px;background:var(--violet);color:#050505;font-size:12px}
.sp-ucs .pl-led{background:#050505;box-shadow:none;margin:0;animation:pled 1.4s steps(1) infinite}
.sp-uch{margin:clamp(18px,3.6vh,34px) 0 0;font-family:"Neutral Face",system-ui,sans-serif;font-weight:400;font-size:clamp(26px,9vw,96px);font-size:min(96px,10cqi);line-height:1;letter-spacing:-.02em;text-transform:none;overflow-wrap:anywhere}
.sp-stripes{height:12px;margin:clamp(18px,3.4vh,32px) auto;width:min(420px,70%);background:repeating-linear-gradient(135deg,rgba(162,96,255,.9) 0 10px,transparent 10px 20px)}
.sp-ucp{margin:0 auto;max-width:46ch;font-size:clamp(12px,1vw,14px);line-height:1.7;letter-spacing:.08em;text-transform:none;color:rgba(255,255,255,.72)}

/* ---- install guide ---- */
.sp-guide{--v:#a260ff;position:relative;z-index:1;background:#000;padding:clamp(40px,8vh,96px) var(--mx,clamp(44px,7.4vw,150px));border-top:1px solid rgba(162,96,255,.4);font-family:"OffBit Bold",ui-monospace,monospace;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:13px;scroll-margin-top:var(--nav-h)}
.sp-guide *{box-sizing:border-box}
.sp-guide .pl-h{font-size:clamp(34px,4vw,64px);margin-bottom:0}
.sp-guide .pl-ph{margin-bottom:clamp(8px,1.6vh,16px)}
.sp-gl{margin:clamp(14px,2.4vh,22px) 0 0;max-width:72ch;font-size:clamp(12px,1vw,14px);line-height:1.7;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.78)}
.sp-gh{margin:clamp(26px,4.6vh,44px) 0 12px;font-size:12px;color:var(--v);font-weight:400}
.sp-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:s}
.sp-steps li{counter-increment:s;position:relative;padding:18px 18px 18px;min-height:112px;border:1px solid rgba(162,96,255,.32);background:rgba(162,96,255,.04);font-size:12px;line-height:1.6;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.86)}
.sp-steps li::before{content:"0" counter(s);display:block;margin-bottom:10px;font-size:13px;letter-spacing:.14em;color:var(--v)}
.sp-steps b{font-weight:400;color:#fff;letter-spacing:.04em}
.sp-code{position:relative;margin:0 0 10px;padding:16px 108px 16px 18px;border:1px solid rgba(162,96,255,.32);background:rgba(162,96,255,.04);overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(162,96,255,.7) rgba(162,96,255,.12)}
.sp-code code{display:block;white-space:pre;font-family:"OffBit Bold",ui-monospace,monospace;font-size:12px;line-height:1.6;letter-spacing:.04em;text-transform:none;color:#fff}
.sp-copy{position:absolute;right:10px;top:10px;height:30px;padding:0 12px;font-size:11px;letter-spacing:.14em;color:#050505;background:var(--violet);transition:background .15s}
.sp-copy:hover,.sp-copy:focus-visible{background:#fafafa;outline:0}
.sp-copy .sh{display:block}
.sp-codelbl{margin:14px 0 8px;font-size:11px;letter-spacing:.12em;text-transform:none;color:rgba(255,255,255,.62)}
.sp-why{margin:clamp(22px,4vh,36px) 0 0;max-width:72ch;font-size:12px;line-height:1.7;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.62)}

/* ---- checkout window (the /beats licence window, one static option) ---- */
.bt-opt.sp-static{cursor:default}
.bt-opt.sp-static:hover{background:var(--violet);border-color:var(--violet)}
.sp-ok{display:flex;align-items:center;gap:12px;margin-top:clamp(18px,3vh,26px);font-size:12px;color:var(--violet)}
.sp-ok b{font-weight:400;color:#fff}
.sp-ok .pl-led{background:var(--violet);box-shadow:0 0 8px var(--violet);margin:0}
.sp-done p{margin:14px 0 0;font-size:12px;line-height:1.6;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.78)}
.sp-done a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.sp-done a:hover{color:#fff}
.sp-mini{margin:14px 0 0;padding:0;list-style:none;counter-reset:m;display:grid;gap:8px}
.sp-mini li{counter-increment:m;display:grid;grid-template-columns:28px minmax(0,1fr);font-size:12px;line-height:1.5;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.86)}
.sp-mini li::before{content:"0" counter(m);color:var(--violet);letter-spacing:.14em}
.sp-done .bt-go{margin-top:18px}

/* ---- phones and narrow windows ---- */
@media (max-width:900px){
  .pl.sp{margin-top:0;background:#000;padding-top:calc(var(--nav-h) + 28px);--gap:26px}
  .sp-wrap{min-height:0}
  .sp-top{align-items:flex-start}
  .sp-tabs{width:100%}
  .sp-tab{flex:1 1 auto;height:44px;padding:0 12px;font-size:12px}
  .sp-stage{grid-template-columns:minmax(0,1fr);height:auto;align-items:start}
  .sp-car{--r:9%;width:min(100%,520px)}
  .sp-pane{height:auto}
  .sp-pane .pl-foot{display:none}
  .sp-guide{padding:40px 16px 48px}
  .sp-steps{grid-template-columns:minmax(0,1fr)}
  .sp-steps li{min-height:0}
  .sp-code{padding-right:18px;padding-bottom:52px}
  .sp-copy{top:auto;bottom:10px}
}
@media (prefers-reduced-motion:reduce){
  .sp-sl{transition-duration:.01s}
  .sp-ucs .pl-led{animation:none}
}

/* ---- install guide as an accordion ---- */
.sp-guide{padding-top:0;padding-bottom:0}
.sp-acc{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:clamp(24px,4vh,40px) 0;text-align:left;color:#fff;cursor:pointer}
.sp-acc-l{display:flex;align-items:center;gap:clamp(14px,2vw,28px);flex-wrap:wrap;min-width:0}
.sp-acc-h{font-family:"Neutral Face",system-ui,sans-serif;font-size:clamp(30px,4vw,64px);line-height:1;letter-spacing:-.02em;text-transform:none;margin-top:.12em}
.sp-acc-r{display:flex;align-items:center;gap:14px;flex:none;font-size:12px;color:var(--v)}
.sp-acc-i{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(162,96,255,.6);background:rgba(162,96,255,.06);color:var(--violet);transition:background .2s,color .2s,transform .35s}
.sp-acc-i svg{width:20px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.sp-acc:hover .sp-acc-i,.sp-acc:focus-visible .sp-acc-i{background:var(--violet);color:#050505}
.sp-acc:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.sp-acc[aria-expanded="true"] .sp-acc-i{transform:rotate(180deg);background:var(--violet);color:#050505}
.sp-accb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.sp-accb.open{grid-template-rows:1fr}
.sp-accin{overflow:hidden;min-height:0}
.sp-accin>:last-child{margin-bottom:clamp(40px,8vh,96px)}
.sp-accin>.sp-gl:first-child{margin-top:0}
@media (max-width:900px){.sp-acc-t{display:none}.sp-acc-i{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.sp-accb{transition-duration:.01s}}
.sp-guide[hidden]{display:none}

/* prices are always OffBit Dot */
.sp-sum-price,.bt-op{font-family:"OffBit Dot",ui-monospace,monospace}
