/* Rip & Ship calculator (/reseller-hub, script /ripship.js). Uses the site's colour variables from index.html and the
   pre-grade scanner's look: cyan scan beam and corner brackets, glass panels. */
.rs{--rip:#3ddc97;--close:#ffcb05;--keep:#ff7a6b;--scan:#7ff0ff;--glass:#0e1424cc}
.rs-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:20px;align-items:center;background:radial-gradient(120% 140% at 0% 0%,#3ddc971f,transparent 55%),radial-gradient(90% 120% at 100% 100%,#6fe3ff1c,transparent 60%),var(--panel);border:1px solid var(--line);border-radius:24px;padding:30px 30px 26px;box-shadow:0 18px 50px #0007;backdrop-filter:blur(10px)}
.rs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--scan);background:#7ff0ff12;border:1px solid #7ff0ff33;border-radius:20px;padding:5px 11px;margin-bottom:14px}
.rs-live,.rs-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rip);box-shadow:0 0 0 0 #3ddc9799;animation:rsPulse 1.6s infinite}
@keyframes rsPulse{70%{box-shadow:0 0 0 9px #3ddc9700}100%{box-shadow:0 0 0 0 #3ddc9700}}
.rs-hero h1{font-size:clamp(26px,4.2vw,40px);line-height:1.08;letter-spacing:-1.2px;margin:0 0 12px}
.rs-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--scan),var(--rip) 45%,var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-hero .lede{font-size:15px;margin-bottom:16px}.rs-hero .lede b{color:#fff}.rs-hero .lede a{color:var(--yellow)}
.rs-stats{display:flex;flex-wrap:wrap;gap:8px}.rs-stats span{border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:8px 13px;font-size:12.5px;color:var(--muted)}.rs-stats b{color:#fff;font-size:15px;margin-right:3px}
.rs-verdicts{display:flex;flex-wrap:wrap;gap:8px}
.rs-vd{--c:var(--keep);display:flex;flex-direction:column;min-width:112px;padding:9px 13px;border-radius:14px;text-decoration:none;color:#fff;background:color-mix(in srgb,var(--c) 12%,#0e1424);border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.rs-vd.rip{--c:var(--rip)}.rs-vd.close{--c:var(--close)}.rs-vd small{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:800}.rs-vd b{color:var(--c);font-size:15px}.rs-vd span{font-size:12px;color:#c3cde0}

/* Hero art: an ETB being scanned, packs flying out */
.rs-art{position:relative;height:210px;display:flex;align-items:center;justify-content:center;perspective:800px}
.rs-etb{position:relative;width:150px;height:118px;border-radius:12px;background:linear-gradient(150deg,#ffcb05,#ff8a4c 55%,#e3350d);box-shadow:0 26px 50px #000a,inset 0 0 0 2px #ffffff30;transform:rotateY(-16deg) rotateX(10deg);animation:rsFloat 6s ease-in-out infinite;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;z-index:2}
.rs-etb .lid{position:absolute;inset:0 0 auto;height:34%;background:linear-gradient(180deg,#ffffff38,#ffffff08);border-bottom:2px solid #0003}
.rs-etb b{position:relative;font-size:24px;font-weight:900;letter-spacing:2px;color:#1b1206;text-shadow:0 1px 0 #ffffff55}
.rs-beam{position:absolute;left:-10%;right:-10%;height:22%;top:-24%;background:linear-gradient(180deg,transparent,#6fe3ff55 45%,#c8f6ff 50%,#6fe3ff55 55%,transparent);mix-blend-mode:screen;pointer-events:none;filter:blur(.6px);opacity:0}
.rs-etb .rs-beam{opacity:1;animation:rsSweep 2.8s cubic-bezier(.6,0,.4,1) infinite}
@keyframes rsSweep{0%{top:-24%}100%{top:104%}}
@keyframes rsFloat{50%{transform:rotateY(12deg) rotateX(-4deg) translateY(-6px)}}
.rs-pk{position:absolute;left:50%;top:50%;width:34px;height:52px;margin:-26px 0 0 -17px;border-radius:5px;background:linear-gradient(160deg,#9fb4ff,#6f2bd9 60%,#2a1b5c);box-shadow:0 8px 18px #0008,inset 0 0 0 1px #ffffff40;opacity:0;animation:rsFly 4.2s cubic-bezier(.2,.7,.2,1) infinite}
.rs-pk::before,.rs-pk::after{content:"";position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,#ffffff55 0 2px,transparent 2px 4px)}.rs-pk::before{top:0}.rs-pk::after{bottom:0}
.rs-pk.p0{--x:-120px;--y:-62px;--r:-24deg;animation-delay:.2s}.rs-pk.p1{--x:-70px;--y:-92px;--r:-10deg;animation-delay:.9s}.rs-pk.p2{--x:0px;--y:-104px;--r:4deg;animation-delay:1.6s}.rs-pk.p3{--x:72px;--y:-88px;--r:14deg;animation-delay:2.3s}.rs-pk.p4{--x:122px;--y:-56px;--r:26deg;animation-delay:3s}
@keyframes rsFly{0%{opacity:0;transform:translate(0,10px) scale(.4)}12%{opacity:1}55%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1)}80%,100%{opacity:0;transform:translate(calc(var(--x)*1.1),calc(var(--y) - 14px)) rotate(var(--r)) scale(.9)}}
.rs-chip-up{position:absolute;right:6%;top:14%;font-weight:900;font-size:14px;color:var(--rip);background:#3ddc971a;border:1px solid #3ddc9755;border-radius:10px;padding:4px 9px;animation:rsBob 3s ease-in-out infinite;z-index:3}
@keyframes rsBob{50%{transform:translateY(-6px)}}

/* Calculator */
.rs-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;margin-top:18px;scroll-margin-top:12px}
.rs-ctl,.rs-scanner{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px 22px;backdrop-filter:blur(8px);box-shadow:0 14px 40px #0006}
.rs-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.rs-row h2{margin:0;font-size:18px}
.rs-cur,.rs-sort,.rs-plat{display:inline-flex;flex-wrap:wrap;background:#0e1424;border:1px solid var(--line);border-radius:20px;padding:3px;gap:2px}
.rs-cur button,.rs-sort button,.rs-plat button,.rs-chips button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;border-radius:16px;padding:6px 12px;cursor:pointer;transition:background .15s,color .15s}
.rs-cur button.on,.rs-sort button.on,.rs-plat button.on{background:var(--blue2);color:#fff;box-shadow:inset 0 0 0 1px #6f8cff66}
.rs-cur button:focus-visible,.rs-sort button:focus-visible,.rs-chips button:focus-visible,.rs-plat button:focus-visible,.rs-chk:focus-visible,.rs-more:focus-visible{outline:2px solid var(--scan);outline-offset:2px}
.rs-big{display:block;font-size:clamp(40px,7vw,58px);font-weight:900;letter-spacing:-2px;line-height:1;margin:16px 0 10px;background:linear-gradient(90deg,#fff,var(--scan));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.rs-range{--v:50%;-webkit-appearance:none;appearance:none;width:100%;height:12px;border-radius:12px;background:linear-gradient(90deg,var(--scan),var(--rip) var(--v),#0e1424 var(--v));border:1px solid var(--line);outline:none;margin:6px 0 4px;cursor:pointer}
.rs-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#c8f6ff 45%,var(--scan));border:3px solid #0b0f1c;box-shadow:0 0 0 2px var(--scan),0 0 22px #7ff0ffaa;transition:transform .15s}
.rs-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#c8f6ff 45%,var(--scan));border:3px solid #0b0f1c;box-shadow:0 0 0 2px var(--scan),0 0 22px #7ff0ffaa}
.rs-range:active::-webkit-slider-thumb{transform:scale(1.15)}
.rs-range:focus-visible{box-shadow:0 0 0 3px #7ff0ff55}
.rs-ticks{position:relative;height:18px;margin:0 14px 14px;font-size:11px;color:#7f91ad}.rs-ticks span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.rs-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.rs-chips button{border:1px solid var(--line);background:#0e1424cc;color:#dbe4f3}.rs-chips button.on{border-color:var(--scan);color:#fff;background:#7ff0ff14}
.rs-costs{border:1px solid var(--line);border-radius:14px;background:#0e142499;padding:0 14px;margin-bottom:10px}
.rs-costs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;font-weight:800;font-size:13.5px}.rs-costs summary::-webkit-details-marker{display:none}
.rs-costs summary span{color:var(--muted);font-weight:600;font-size:12px;text-align:right}.rs-costs summary::after{content:"+";color:var(--scan);font-weight:900}.rs-costs[open] summary::after{content:"–"}
.rs-costs[open]{padding-bottom:12px}.rs-plat{margin-bottom:10px}
.rs-f{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:7px 0;border-top:1px solid #ffffff0d;font-size:13px;color:#c3cde0}
.rs-f span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.rs-f b{color:#fff}
.rs-f input{width:68px;background:#0b0f1c;border:1px solid var(--line);border-radius:9px;color:#fff;font:inherit;font-size:14px;font-weight:700;padding:6px 8px;text-align:right}.rs-f input:focus{outline:none;border-color:var(--scan)}
.rs-small{color:#7f91ad;font-size:12px;line-height:1.5;margin:8px 0 0}

/* Scanner: the best pick */
.rs-scanner{position:relative;overflow:hidden;background:linear-gradient(150deg,#6fe3ff12,var(--panel) 45%);min-height:300px}
.rs-scanner::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#7ff0ff0d 1px,transparent 1px),linear-gradient(90deg,#7ff0ff0d 1px,transparent 1px);background-size:22px 22px;pointer-events:none;opacity:0;transition:opacity .3s}
.rs-scanner.busy::before{opacity:1}
.rs-sc-h{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--scan);margin-bottom:14px}
.rs-sc-h .st{margin-left:auto;color:var(--muted);letter-spacing:.6px;font-variant-numeric:tabular-nums}
.rs-sc{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}
.rs-frame{position:relative;aspect-ratio:1;border-radius:14px;background:#0b0f1c;border:1px solid var(--line);overflow:visible}
.rs-frame img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block}
.rs-frame .rs-beam{top:-24%}.rs-frame{isolation:isolate}.rs-frame>.rs-clip{position:absolute;inset:0;border-radius:14px;overflow:hidden}
.rs-scanner.busy .rs-frame .rs-beam{opacity:1;animation:rsSweep 1s cubic-bezier(.6,0,.4,1) 2}
.rs-frame .c{position:absolute;width:20%;aspect-ratio:1;border:3px solid var(--scan);filter:drop-shadow(0 0 6px #7ff0ffaa);transition:transform .35s}
.rs-frame .c.tl{left:-6px;top:-6px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.rs-frame .c.tr{right:-6px;top:-6px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.rs-frame .c.bl{left:-6px;bottom:-6px;border-right:0;border-top:0;border-radius:0 0 0 10px}.rs-frame .c.br{right:-6px;bottom:-6px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.rs-scanner.busy .rs-frame .c.tl{transform:translate(5px,5px)}.rs-scanner.busy .rs-frame .c.tr{transform:translate(-5px,5px)}.rs-scanner.busy .rs-frame .c.bl{transform:translate(5px,-5px)}.rs-scanner.busy .rs-frame .c.br{transform:translate(-5px,-5px)}
.rs-fan{display:flex;flex-wrap:wrap;gap:3px;margin-top:10px;min-height:20px}
.rs-fan i{width:11px;height:17px;border-radius:2px;background:linear-gradient(160deg,#9fb4ff,#6f2bd9 60%,#2a1b5c);box-shadow:inset 0 0 0 1px #ffffff40;animation:rsDeal .35s cubic-bezier(.2,.8,.3,1.3) backwards}
.rs-fan small{font-size:11px;color:var(--muted);align-self:center;margin-left:3px}
@keyframes rsDeal{0%{opacity:0;transform:translateY(-14px) rotate(-20deg) scale(.5)}100%{opacity:1;transform:none}}
.rs-lines h3{margin:0 0 10px;font-size:16px;line-height:1.3}.rs-lines h3 a{color:#fff;text-decoration:none}.rs-lines h3 a:hover{text-decoration:underline}
.ln{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #ffffff14;font-size:13.5px;color:#c3cde0}
.ln b{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ln.tot{border-bottom:0;font-size:16px;font-weight:800;padding-top:10px}.ln.tot b{font-size:22px;letter-spacing:-.5px}
.ln.tot.rip b{color:var(--rip)}.ln.tot.close b{color:var(--close)}.ln.tot.keep b{color:var(--keep)}
.rs-anim .ln{opacity:0;transform:translateX(-8px);animation:rsIn .35s ease-out forwards}
@keyframes rsIn{to{opacity:1;transform:none}}
.rs-stamp{--c:var(--keep);display:inline-block;margin-top:12px;font-weight:900;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c);border:2.5px solid var(--c);border-radius:10px;padding:6px 12px;transform:rotate(-4deg);box-shadow:0 0 24px color-mix(in srgb,var(--c) 35%,transparent),inset 0 0 12px color-mix(in srgb,var(--c) 25%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}
.rs-stamp.rip{--c:var(--rip)}.rs-stamp.close{--c:var(--close)}
.rs-anim .rs-stamp{animation:rsStamp .45s cubic-bezier(.2,.8,.3,1.4) backwards}
@keyframes rsStamp{0%{opacity:0;transform:rotate(-14deg) scale(2.2)}100%{opacity:1;transform:rotate(-4deg) scale(1)}}
.rs-mix{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.rs-mix h4{margin:0 0 8px;font-size:12px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
.rs-mix ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rs-mix li{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#c3cde0}.rs-mix li b{color:#fff;white-space:nowrap}
.rs-mix .sum{display:flex;justify-content:space-between;margin-top:8px;font-weight:800;font-size:14px}.rs-mix .sum b{color:var(--rip)}
.rs-empty{text-align:center;color:var(--muted);padding:40px 10px;font-size:14px}

/* Product grid */
.rs-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:26px 0 12px}.rs-bar h2{margin:0;font-size:21px;letter-spacing:-.4px}
.rs-sort span{color:var(--muted);font-size:12px;font-weight:700;padding:6px 4px 6px 10px}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.rs-tile{--c:var(--keep);position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;backdrop-filter:blur(8px);transition:opacity .35s,filter .35s,border-color .2s,box-shadow .2s;will-change:transform}
.rs-tile.rip{--c:var(--rip)}.rs-tile.close{--c:var(--close)}
.rs-tile::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--c);z-index:2;box-shadow:0 0 14px var(--c)}
.rs-tile:hover{border-color:color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 16px 36px #0009}
.rs-tile.off{opacity:.42;filter:grayscale(.85)}.rs-tile.off::before{background:#3a4766;box-shadow:none}
.rs-ti{position:relative;aspect-ratio:16/10;background:#0b0f1c;border-bottom:1px solid var(--line);overflow:hidden}.rs-ti img{width:100%;height:100%;object-fit:contain;display:block}
.rs-tile.scan .rs-beam{opacity:1;animation:rsSweep .9s cubic-bezier(.6,0,.4,1)}
.rs-qty{position:absolute;left:10px;bottom:10px;font-size:11px;font-weight:800;letter-spacing:.5px;color:#fff;background:#0b0f1ccc;border:1px solid #7ff0ff55;border-radius:8px;padding:3px 8px;backdrop-filter:blur(4px)}
.rs-tile.off .rs-qty{border-color:var(--line);color:var(--muted)}
.rs-tb{display:flex;flex-direction:column;gap:10px;padding:13px 15px 15px;flex:1}
.rs-tt{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rs-type{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#a9baff}
.rs-badge{font-size:11px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-radius:9px;padding:3px 8px;white-space:nowrap}
.rs-tile h3{margin:0;font-size:14.5px;line-height:1.35}.rs-tile h3 a{color:var(--ink);text-decoration:none}.rs-tile h3 a:hover{color:#fff;text-decoration:underline}
.rs-nums{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.rs-nums div{background:#0e1424b3;border:1px solid var(--line);border-radius:11px;padding:7px 9px}
.rs-nums dt{font-size:10px;font-weight:750;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.rs-nums dd{margin:2px 0 0;font-size:15.5px;font-weight:850;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.rs-nums .pf{border-color:color-mix(in srgb,var(--c) 45%,transparent)}.rs-nums .pf dd{color:var(--c)}
.rs-tf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.rs-tf a{color:var(--yellow);font-size:12.5px}
.rs-chk{display:inline-flex;align-items:center;gap:7px;border:1px solid #7ff0ff55;background:#7ff0ff12;color:#dffaff;font:inherit;font-size:12.5px;font-weight:800;border-radius:11px;padding:7px 12px;cursor:pointer;transition:.15s}
.rs-chk::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--scan);box-shadow:0 0 8px var(--scan)}
.rs-chk:hover{background:#7ff0ff22;border-color:var(--scan)}.rs-chk[disabled]{opacity:.6;cursor:default}.rs-chk.busy::before{animation:rsPulse 1s infinite}
.rs-livebox{border:1px solid #7ff0ff33;background:#7ff0ff0a;border-radius:12px;padding:10px 12px;font-size:12.5px;color:#c3cde0;line-height:1.5}
.rs-livebox b{color:#fff}.rs-livebox a{color:var(--yellow)}.rs-livebox .up{color:var(--rip)}.rs-livebox .dn{color:var(--keep)}
.rs-more{display:block;margin:16px auto 0;border:1px solid var(--line);background:#0e1424;color:#e7ecf6;font:inherit;font-size:14px;font-weight:750;border-radius:14px;padding:11px 22px;cursor:pointer}.rs-more:hover{border-color:#3a4766}

/* Tables, copy, FAQ */
.rs-scroll{overflow-x:auto}
.rs-table{width:100%;border-collapse:collapse;font-size:13.5px}.rs-table th,.rs-table td{padding:9px 8px;border-bottom:1px solid #ffffff10;text-align:right;white-space:nowrap}
.rs-table th:first-child,.rs-table td:first-child{text-align:left;white-space:normal;min-width:170px}.rs-table th{font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:750}
.rs-table td a{color:var(--ink)}.rs-table td small{display:block;color:#7f91ad;font-size:11px}
.rs-table tr.rip .pf{color:var(--rip)}.rs-table tr.close .pf{color:var(--close)}.rs-table tr.keep .pf{color:var(--keep)}.rs-table .pf{font-weight:800}
.rs-v{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.rip .rs-v{color:var(--rip)}.close .rs-v{color:var(--close)}.keep .rs-v{color:var(--keep)}
.rs-copy ol{margin:0;padding-left:20px}.rs-copy li{color:#c3cde0;font-size:14px;line-height:1.6;margin-bottom:6px}.rs-copy b{color:#fff}
.rs-faq details{border-bottom:1px solid #ffffff10;padding:12px 2px}.rs-faq summary{cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;display:flex;justify-content:space-between;gap:10px}.rs-faq summary::-webkit-details-marker{display:none}
.rs-faq summary::after{content:"+";color:var(--scan);font-weight:900}.rs-faq details[open] summary::after{content:"–"}.rs-faq p{margin:8px 0 0;color:#c3cde0;font-size:14px;line-height:1.6}

@media(max-width:860px){.rs-hero{grid-template-columns:1fr}.rs-art{height:170px;order:-1}.rs-app{grid-template-columns:1fr}}
@media(max-width:560px){.rs-hero{padding:22px 18px}.rs-ctl,.rs-scanner{padding:16px}.rs-sc{grid-template-columns:96px minmax(0,1fr);gap:12px}.rs-grid{grid-template-columns:1fr}.rs-art{height:150px}.rs-etb{width:120px;height:94px}.ln{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.rs *,.rs *::before,.rs *::after{animation:none!important;transition:none!important}.rs-pk{opacity:0}}
