/*
Theme Name: Space Rocket
Theme URI: https://www.spacerocketjerky.com
Author: Space Rocket Brands
Description: Custom WooCommerce theme for Space Rocket Jerky — animated galaxy, 3D flavor orbit, endless partner marquee.
Version: 2.25.1
Requires PHP: 7.4
Text Domain: space-rocket
WC requires at least: 7.0
*/

:root {
  --bg: #010104;
  --panel: rgba(13, 10, 36, .72);
  --panel-solid: #0d0a24;
  --line: rgba(170, 150, 255, .22);
  --line-strong: rgba(170, 150, 255, .5);
  --text: #eef0ff;
  --muted: #a3a8d4;
  --red: #ff3b5c;
  --cyan: #38d6ff;
  --violet: #8b5cff;
  --gold: #ffd23f;
  --glow: #38d6ff;
  --display: 'Orbitron', 'Space Grotesk', sans-serif;
  --body: 'Space Grotesk', system-ui, -apple-system, sans-serif;
  --wrap: 1240px;
}

*, *::before, *::after { box-sizing: border-box; border-radius: 0 !important; }
html { scroll-behavior: smooth; overflow-x: clip; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--body); font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cyan); text-decoration: none; }
a:hover { color: #fff; }
h1, h2, h3, h4 { font-family: var(--display); letter-spacing: .02em; line-height: 1.15; margin: 0 0 .5em; }
.srj-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---------- galaxy canvas ---------- */
#srj-galaxy { position: fixed; inset: 0; z-index: -1; display: block; pointer-events: none; }
.srj-grain { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .06;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* ---------- buttons ---------- */
.srj-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .wc-block-components-button, .woocommerce-page .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--display); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
  padding: 15px 26px; border: 1px solid var(--red); background: var(--red); color: #fff !important;
  cursor: pointer; position: relative; overflow: hidden; transition: transform .2s, box-shadow .2s, background .2s;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.srj-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover {
  background: #ff5a77; box-shadow: 0 0 28px rgba(255, 59, 92, .7); transform: translateY(-2px); color: #fff;
}
.srj-btn--ghost { background: transparent; border-color: var(--line-strong); }
.srj-btn--ghost:hover { background: rgba(56, 214, 255, .12); border-color: var(--cyan); box-shadow: 0 0 24px rgba(56, 214, 255, .35); }
.srj-btn--cyan { background: var(--cyan); border-color: var(--cyan); color: #04030c !important; }
.srj-btn--cyan:hover { background: #7ae6ff; box-shadow: 0 0 28px rgba(56,214,255,.7); }

/* ---------- announcement + header ---------- */
.srj-announce { background: linear-gradient(90deg, #ff3b5c, #8b5cff, #38d6ff); color: #fff; font-family: var(--display);
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase; overflow: hidden; white-space: nowrap; }
.srj-announce__track { display: inline-flex; animation: srj-marquee 28s linear infinite; padding: 9px 0; }
.srj-announce__track span { padding: 0 34px; }
.srj-announce__track span::before { content: '✦'; margin-right: 34px; opacity: .7; }

.srj-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); }
.srj-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(4, 3, 12, .55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: background .3s; }
.srj-header.is-scrolled::before { background: rgba(4, 3, 12, .9); }
.srj-header__in { display: flex; align-items: center; gap: 28px; height: 72px; }
.srj-logo img { height: 46px; width: auto; }
.srj-logo { display: flex; align-items: center; gap: 12px; color: #fff; font-family: var(--display); font-weight: 900; font-size: 15px; letter-spacing: .12em; }
.srj-logo small { display: block; font-size: 9px; letter-spacing: .3em; color: var(--muted); font-weight: 500; }
.srj-nav { margin-left: auto; }
.srj-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.srj-nav a { display: block; padding: 10px 14px; color: var(--text); font-family: var(--display); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; position: relative; }
.srj-nav a::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; background: var(--cyan); transform: scaleX(0); transition: transform .25s; box-shadow: 0 0 10px var(--cyan); }
.srj-nav a:hover::after, .srj-nav .current-menu-item a::after { transform: scaleX(1); }
.srj-header__icons { display: flex; align-items: center; gap: 6px; }
.srj-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--text); border: 1px solid transparent; position: relative; }
.srj-icon:hover { border-color: var(--line-strong); color: var(--cyan); }
.srj-icon svg { width: 20px; height: 20px; }
.srj-cart-count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--red);
  color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; font-family: var(--body); }
.srj-burger { display: none; }

/* ---------- hero / orbit ---------- */
.srj-hero { position: relative; height: calc(100vh - 106px); min-height: 640px; max-height: 1100px; display: flex; flex-direction: column; overflow: hidden; }
.srj-hero::after { content: ''; position: absolute; left: -20%; right: -20%; bottom: -78%; height: 100%; border-radius: 50% !important; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(139,92,255,.16), rgba(1,1,4,0) 60%);
  box-shadow: 0 -2px 0 rgba(56,214,255,.55), 0 -18px 60px rgba(56,214,255,.25), inset 0 30px 80px rgba(139,92,255,.25); }
.srj-hero__title { text-align: center; padding: 3.2vh 20px 0; position: relative; z-index: 3; pointer-events: none; }
.srj-hero__kicker { font-family: var(--display); font-size: 11px; letter-spacing: .5em; color: var(--cyan); text-transform: uppercase; }
.srj-hero__title h1 { font-size: clamp(28px, min(4.6vw, 7vh), 66px); font-weight: 900; margin: 6px 0 0; text-transform: uppercase;
  background: linear-gradient(180deg, #fff 30%, #b9a8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 0 40px rgba(139, 92, 255, .35); }

.srj-orbit { position: relative; flex: 1; min-height: 300px; perspective: 1600px; perspective-origin: 50% 40%; cursor: grab; user-select: none; touch-action: pan-y; z-index: 2; }
.srj-orbit__stage { position: absolute; left: 50%; top: 47%; width: 0; height: 0; transform-style: preserve-3d; }
.srj-bag { position: absolute; --bw: clamp(140px, min(15.5vw, 28vh), 240px); width: var(--bw); aspect-ratio: 520 / 664; left: 0; top: 0;
  margin-left: calc(var(--bw) / -2); margin-top: calc(var(--bw) * 664 / 520 / -2);
  transform-style: preserve-3d; will-change: transform; display: block; outline: none; }
.srj-bag img { width: 100%; height: 100%; object-fit: cover; pointer-events: none;
  box-shadow: 0 30px 50px rgba(0,0,0,.6), 0 0 calc(var(--front, 0) * 60px) color-mix(in srgb, var(--glow) 70%, transparent);
  transition: box-shadow .4s; -webkit-box-reflect: below 6px linear-gradient(transparent 70%, rgba(255,255,255,.18)); }
.srj-bag::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 45%, transparent 60%);
  background-size: 250% 100%; background-position: 120% 0; mix-blend-mode: screen; opacity: var(--front, 0); }
.srj-bag.is-front::after { animation: srj-shine 3.2s ease-in-out infinite; }
.srj-bag.is-front { cursor: pointer; }
.srj-bag.is-front::before { content: 'TAP TO LAUNCH'; position: absolute; left: 50%; bottom: -38px; transform: translateX(-50%);
  font-family: var(--display); font-size: 10px; letter-spacing: .3em; color: var(--glow); white-space: nowrap; opacity: .9; }
.srj-bag.is-launching { transition: transform .75s cubic-bezier(.6,-0.2,.7,1), opacity .75s; transform: translate3d(0,-60px,900px) rotateX(-8deg) scale(1.4) !important; opacity: 0 !important; }
body.srj-warping .srj-hero__info, body.srj-warping .srj-hero__title { opacity: 0; transition: opacity .3s; }

/* launch pad ring under the front bag */
.srj-pad { position: absolute; left: 50%; top: 47%; width: min(560px, 80vw); height: 120px; transform: translate(-50%, calc(clamp(140px, min(15.5vw, 28vh), 240px) * .72)) rotateX(75deg); pointer-events: none; z-index: 1;
  border: 1px solid rgba(56, 214, 255, .5); border-radius: 50% !important; box-shadow: 0 0 40px rgba(56,214,255,.35), inset 0 0 40px rgba(139,92,255,.4); animation: srj-pulse 3s ease-in-out infinite; }
.srj-pad::after { content: ''; position: absolute; inset: 18px 60px; border: 1px dashed rgba(255,255,255,.25); border-radius: 50% !important; }

.srj-hero__info { position: relative; z-index: 4; display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 24px; padding: 0 28px 3vh; }
.srj-hero__info.is-in .srj-info__main > *:not(.srj-info__cta) { animation: srj-rise .35s both; }
.srj-hero__info.is-in .srj-info__main > *:nth-child(2) { animation-delay: .05s; }
.srj-hero__info.is-in .srj-info__main > *:nth-child(3) { animation-delay: .1s; }
.srj-info__main { grid-column: 2; text-align: center; min-width: min(520px, 90vw); }
.srj-info__code { font-family: var(--display); font-weight: 900; font-size: clamp(26px, 3.4vw, 44px); text-transform: uppercase; margin: 0;
  color: #fff; text-shadow: 0 0 22px var(--glow), 0 0 2px var(--glow); }
.srj-info__name { font-size: 17px; color: var(--muted); margin: 2px 0 10px; }
.srj-info__name b { color: #fff; font-weight: 600; }
.srj-info__row { display: flex; align-items: center; justify-content: center; gap: 22px; flex-wrap: wrap; }
.srj-info__price { font-family: var(--display); font-size: 22px; font-weight: 700; }
.srj-info__price del { color: var(--muted); font-size: 15px; margin-right: 6px; }
.srj-heat { display: inline-flex; align-items: center; gap: 4px; }
.srj-heat i { width: 16px; height: 8px; background: rgba(255,255,255,.12); transform: skewX(-20deg); }
.srj-heat i.on:nth-child(1) { background: #00c8ff; } .srj-heat i.on:nth-child(2) { background: #6eeb50; }
.srj-heat i.on:nth-child(3) { background: #ffaa00; } .srj-heat i.on:nth-child(4) { background: #eb141e; }
.srj-heat i.on:nth-child(5) { background: #ff005a; } .srj-heat i.on:nth-child(6) { background: #ffffff; box-shadow: 0 0 10px #ffffff; }
.srj-heat b { font-family: var(--display); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; margin-left: 8px; }
.srj-info__num { font-family: var(--display); font-size: 11px; letter-spacing: .3em; color: var(--muted); }
.srj-info__cta { margin-top: 14px; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.srj-hero__side { display: flex; align-items: center; gap: 14px; white-space: nowrap; font-family: var(--display); font-size: 10px; letter-spacing: .25em; color: var(--muted); text-transform: uppercase; }
.srj-hero__side--r { justify-content: flex-end; }
.srj-arrow { width: 52px; height: 52px; border: 1px solid var(--line-strong); background: rgba(4,3,12,.4); color: #fff; display: grid; place-items: center; cursor: pointer; transition: .2s; }
.srj-arrow:hover { border-color: var(--cyan); color: var(--cyan); box-shadow: 0 0 18px rgba(56,214,255,.4); }
.srj-hint { display: inline-flex; align-items: center; gap: 10px; }
.srj-hint__mouse { width: 18px; height: 28px; border: 1.5px solid var(--muted); border-radius: 9px !important; position: relative; }
.srj-hint__mouse::after { content: ''; position: absolute; top: 9px; left: 50%; width: 4px; height: 4px; margin-left: -2px; background: var(--cyan); animation: srj-sway 1.6s ease-in-out infinite; }

/* flavor index overlay */
.srj-index { position: fixed; inset: 0; z-index: 200; background: rgba(4,3,12,.92); backdrop-filter: blur(10px); display: none; overflow-y: auto; padding: 90px 20px 40px; }
.srj-index.is-open { display: block; animation: srj-fade .3s; }
.srj-index__close { position: fixed; top: 20px; right: 24px; }
.srj-index__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.srj-index__item { display: flex; gap: 10px; align-items: center; padding: 8px; border: 1px solid var(--line); background: var(--panel); color: var(--text); transition: .2s; }
.srj-index__item:hover { border-color: var(--glow); box-shadow: 0 0 18px color-mix(in srgb, var(--glow) 50%, transparent); color: #fff; transform: translateY(-2px); }
.srj-index__item img { width: 44px; height: 56px; object-fit: cover; }
.srj-index__item b { display: block; font-family: var(--display); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.srj-index__item span { font-size: 12px; color: var(--muted); }

/* ---------- sections ---------- */
.srj-section { position: relative; padding: 110px 0; }
.srj-eyebrow { font-family: var(--display); font-size: 11px; letter-spacing: .45em; color: var(--cyan); text-transform: uppercase; display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.srj-eyebrow::before { content: ''; width: 34px; height: 1px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.srj-h2 { font-size: clamp(28px, 4vw, 52px); font-weight: 900; text-transform: uppercase; }
.srj-h2 em { font-style: normal; color: var(--red); text-shadow: 0 0 24px rgba(255,59,92,.6); }
.srj-lead { color: var(--muted); max-width: 640px; font-size: 18px; }
.srj-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 48px; flex-wrap: wrap; }

/* heat selector */
.srj-heatgrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; border: 1px solid var(--line); }
.srj-heatcard { position: relative; padding: 30px 20px 26px; border-right: 1px solid var(--line); background: var(--panel); color: var(--text); overflow: hidden; transition: background .3s; }
.srj-heatcard:last-child { border-right: 0; }
.srj-heatcard::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--lvl) * 16%); background: linear-gradient(0deg, var(--c), transparent); opacity: .25; transition: height .4s, opacity .3s; }
.srj-heatcard:hover::before { height: 100%; opacity: .35; }
.srj-heatcard:hover { color: #fff; }
.srj-heatcard b { display: block; font-family: var(--display); font-size: 20px; font-weight: 900; text-transform: uppercase; position: relative; }
.srj-heatcard span { position: relative; font-size: 13px; color: var(--muted); }
.srj-heatcard .srj-flames { position: relative; font-size: 13px; letter-spacing: 2px; color: var(--c); margin-bottom: 26px; display: block; font-family: var(--display); }

/* product cards */
.srj-grid, .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .srj-card { width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important;
  position: relative; background: var(--panel); border: 1px solid var(--line); transition: transform .35s, border-color .35s, box-shadow .35s; display: flex; flex-direction: column; }
.woocommerce ul.products li.product:hover, .srj-card:hover { transform: translateY(-6px); border-color: var(--line-strong); box-shadow: 0 20px 50px rgba(0,0,0,.5), 0 0 30px rgba(139,92,255,.25); }
.srj-card__media, .woocommerce ul.products li.product a img { position: relative; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--text); }
.woocommerce ul.products li.product a img { margin: 0 !important; aspect-ratio: 1 / 1; object-fit: contain; padding: 22px;
  background: radial-gradient(circle at 50% 60%, rgba(139,92,255,.35), transparent 60%), radial-gradient(circle at 50% 120%, rgba(56,214,255,.25), transparent 50%);
  transition: transform .5s; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.05) rotate(-2deg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--display); font-size: 13px !important; letter-spacing: .04em; text-transform: uppercase; padding: 14px 18px 4px !important; margin: 0; line-height: 1.35; color: #fff; }
.woocommerce ul.products li.product .price { color: #fff !important; font-family: var(--display); font-size: 16px !important; padding: 0 18px 14px; margin: 0 !important; }
.woocommerce ul.products li.product .price del { color: var(--muted); opacity: 1; font-size: 13px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--gold); }
.woocommerce ul.products li.product .button { margin: auto 18px 18px !important; padding: 12px 16px; font-size: 11px; }
.woocommerce span.onsale { min-height: 0; min-width: 0; line-height: 1; padding: 7px 10px; background: var(--gold); color: #04030c; font-family: var(--display); font-size: 10px; letter-spacing: .15em; top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important; z-index: 2; }
.srj-tag { position: absolute; top: 12px; right: 12px; z-index: 2; font-family: var(--display); font-size: 9px; letter-spacing: .2em; padding: 5px 8px; border: 1px solid var(--c, var(--cyan)); color: var(--c, var(--cyan)); background: rgba(4,3,12,.6); text-transform: uppercase; }
.srj-codename { display: block; padding: 0 18px; font-size: 12px; color: var(--muted); }

/* specs strip */
.srj-specs { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(13,10,36,.5); }
.srj-spec { padding: 34px 18px; text-align: center; border-right: 1px solid var(--line); }
.srj-spec:last-child { border-right: 0; }
.srj-spec svg { width: 34px; height: 34px; color: var(--cyan); margin: 0 auto 12px; filter: drop-shadow(0 0 8px rgba(56,214,255,.6)); }
.srj-spec b { display: block; font-family: var(--display); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.srj-spec span { font-size: 13px; color: var(--muted); }

/* mission story */
.srj-story { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.srj-story__visual { position: relative; aspect-ratio: 1 / 1; display: grid; place-items: center; }
.srj-planet { position: absolute; inset: 12%; border-radius: 50% !important; background: radial-gradient(circle at 35% 30%, #ff9a6b, #b3264f 45%, #2b0838 75%); box-shadow: 0 0 80px rgba(255,59,92,.45), inset -30px -40px 80px rgba(0,0,0,.6); }
.srj-ring { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 50% !important; transform: rotateX(72deg) rotateZ(-14deg); }
.srj-ring--2 { inset: -8%; border-style: dashed; animation: srj-spin 60s linear infinite; }
.srj-story__bags { position: relative; display: flex; gap: 0; }
.srj-story__bags img { width: 38%; box-shadow: 0 30px 60px rgba(0,0,0,.6); }
.srj-story__bags img:nth-child(1) { transform: rotate(-12deg) translate(30%, 8%); }
.srj-story__bags img:nth-child(2) { transform: translateY(-8%); z-index: 2; position: relative; }
.srj-story__bags img:nth-child(3) { transform: rotate(12deg) translate(-30%, 8%); }
.srj-floaty { animation: srj-float 6s ease-in-out infinite; }
.srj-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 34px 0; border: 1px solid var(--line); }
.srj-stat { padding: 20px; border-right: 1px solid var(--line); }
.srj-stat:last-child { border-right: 0; }
.srj-stat b { display: block; font-family: var(--display); font-size: 34px; font-weight: 900; color: #fff; text-shadow: 0 0 18px var(--violet); }
.srj-stat span { font-size: 12px; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }

/* endless partner marquee */
.srj-partners { padding: 90px 0 100px; overflow: hidden; }
.srj-marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.srj-marquee + .srj-marquee { margin-top: 18px; }
.srj-marquee__track { display: flex; width: max-content; animation: srj-marquee var(--dur, 60s) linear infinite; }
.srj-marquee--rev .srj-marquee__track { animation-direction: reverse; }
.srj-marquee:hover .srj-marquee__track { animation-play-state: paused; }
.srj-marquee__set { display: flex; gap: 18px; padding-right: 18px; }
.srj-partner { width: 190px; height: 96px; flex: 0 0 auto; background: #fff; display: grid; place-items: center; padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.7); box-shadow: 0 0 0 1px rgba(56,214,255,.0); transition: transform .3s, box-shadow .3s; filter: grayscale(.15); }
.srj-partner:hover { transform: translateY(-4px); box-shadow: 0 0 26px rgba(56,214,255,.55); filter: none; }
.srj-partner img { max-height: 70px; width: auto; object-fit: contain; }

/* CTA */
.srj-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.srj-cta__box { position: relative; padding: 50px 44px; border: 1px solid var(--line); background: var(--panel); overflow: hidden; }
.srj-cta__box::after { content: ''; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50% !important; background: radial-gradient(circle, var(--c), transparent 70%); opacity: .35; }
.srj-cta__box h3 { font-size: 28px; text-transform: uppercase; font-weight: 900; }
.srj-cta__box p { color: var(--muted); max-width: 420px; }

/* ---------- footer ---------- */
.srj-footer { border-top: 1px solid var(--line); background: rgba(4,3,12,.85); padding: 70px 0 30px; margin-top: 40px; }
.srj-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.srj-footer h4 { font-size: 12px; letter-spacing: .25em; text-transform: uppercase; color: var(--cyan); }
.srj-footer ul { list-style: none; margin: 0; padding: 0; }
.srj-footer li { margin: 8px 0; }
.srj-footer a { color: var(--muted); }
.srj-footer a:hover { color: #fff; }
.srj-footer__base { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 60px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.srj-countdown { font-family: var(--display); letter-spacing: .3em; font-size: 11px; color: var(--muted); }

/* ---------- inner pages / WooCommerce ---------- */
.srj-page { padding-top: 60px; padding-bottom: 100px; min-height: 60vh; }
.srj-page__head { padding: 70px 0 40px; text-align: center; }
.srj-page__head h1 { font-size: clamp(32px, 5vw, 60px); font-weight: 900; text-transform: uppercase; }
.srj-content { background: var(--panel); border: 1px solid var(--line); padding: 44px; }
.srj-content p, .srj-content li { color: #d7daf5; }
.woocommerce-breadcrumb { font-family: var(--display); font-size: 11px !important; letter-spacing: .2em; text-transform: uppercase; color: var(--muted) !important; margin-bottom: 30px !important; }
.woocommerce-breadcrumb a { color: var(--cyan) !important; }
.woocommerce .woocommerce-result-count { color: var(--muted); }
.woocommerce .woocommerce-ordering select, .woocommerce select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce form .form-row input.input-text, .select2-container--default .select2-selection--single, input[type=text], input[type=email], input[type=tel], input[type=search], input[type=password], input[type=number], input[type=url], input[type=date], textarea, select {
  background: rgba(4,3,12,.7); color: var(--text); border: 1px solid var(--line-strong); padding: 12px 14px; font-family: var(--body); font-size: 15px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 4px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--line); color: var(--text); padding: 10px 14px; font-family: var(--display); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--red); color: #fff; }
.srj-shopbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; }
.srj-chip { padding: 9px 16px; border: 1px solid var(--line); color: var(--text); font-family: var(--display); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: rgba(13,10,36,.6); }
.srj-chip:hover, .srj-chip.is-on { border-color: var(--cyan); color: #fff; box-shadow: 0 0 14px rgba(56,214,255,.35); background: rgba(56,214,255,.12); }

/* single product */
.woocommerce div.product { display: grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { position: sticky; top: 100px; }
.woocommerce div.product .woocommerce-product-gallery { position: relative; background: radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--glow) 40%, transparent), transparent 58%); padding: 30px; border: 1px solid var(--line); }
.woocommerce div.product .woocommerce-product-gallery::before { content: ''; position: absolute; left: 10%; right: 10%; bottom: 8%; height: 60px; border: 1px solid color-mix(in srgb, var(--glow) 60%, transparent); border-radius: 50% !important; transform: rotateX(70deg); box-shadow: 0 0 40px color-mix(in srgb, var(--glow) 50%, transparent); pointer-events: none; }
.woocommerce div.product .woocommerce-product-gallery__image img { animation: srj-float 7s ease-in-out infinite; filter: drop-shadow(0 30px 40px rgba(0,0,0,.6)); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 16px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 74px !important; border: 1px solid var(--line); }
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .product_title { font-size: clamp(26px, 3vw, 40px); font-weight: 900; text-transform: uppercase; color: #fff; }
.srj-pcode { font-family: var(--display); font-size: 12px; letter-spacing: .4em; color: var(--glow); text-transform: uppercase; text-shadow: 0 0 12px var(--glow); margin-bottom: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #fff !important; font-family: var(--display); font-size: 30px !important; font-weight: 700; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--gold); }
.woocommerce div.product p.price del { color: var(--muted); font-size: 18px; }
.srj-mission { border: 1px solid var(--line); background: var(--panel); margin: 24px 0; }
.srj-mission__row { display: grid; grid-template-columns: 140px 1fr; border-bottom: 1px solid var(--line); }
.srj-mission__row:last-child { border-bottom: 0; }
.srj-mission__row > * { padding: 13px 16px; }
.srj-mission__row dt { font-family: var(--display); font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: var(--muted); border-right: 1px solid var(--line); display: flex; align-items: center; }
.srj-mission__row dd { margin: 0; font-weight: 600; }
.woocommerce div.product form.cart { display: flex; gap: 12px; align-items: stretch; margin: 26px 0 !important; }
.woocommerce .quantity .qty { width: 80px; height: 100%; text-align: center; font-family: var(--display); }
.woocommerce div.product form.cart .button { flex: 1; font-size: 14px; padding: 18px; }
.woocommerce div.product .woocommerce-product-details__short-description, .woocommerce div.product .woocommerce-tabs .panel { color: #d7daf5; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 -1px !important; display: flex; flex-wrap: wrap; gap: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent !important; border: 1px solid var(--line) !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--muted) !important; font-family: var(--display); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; padding: 14px 24px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--panel) !important; border-bottom-color: transparent !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs .panel { background: var(--panel); border: 1px solid var(--line); padding: 34px 40px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { display: none; }
.woocommerce table.shop_attributes, .woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--line) !important; color: var(--text); background: transparent !important; }
.woocommerce .related, .woocommerce .upsells { grid-column: 1 / -1; margin-top: 60px; }
.woocommerce .related > h2, .woocommerce .upsells > h2 { font-size: 28px; text-transform: uppercase; font-weight: 900; margin-bottom: 26px; }
.product_meta { font-size: 13px; color: var(--muted); }
.product_meta a { color: var(--cyan); }

/* notices, cart, checkout */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { background: var(--panel) !important; color: var(--text) !important; border: 1px solid var(--line-strong) !important; border-top: 3px solid var(--cyan) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--cyan) !important; }
.woocommerce table.shop_table { border: 1px solid var(--line) !important; background: var(--panel); color: var(--text); border-collapse: collapse !important; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--line) !important; }
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--text); }
.wc-block-components-totals-wrapper, .wc-block-components-sidebar-layout .wc-block-components-main { border-color: var(--line) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { background: rgba(4,3,12,.7) !important; color: var(--text) !important; border-color: var(--line-strong) !important; }
.wc-block-components-text-input label, .wc-block-components-combobox label { color: var(--muted) !important; }

/* contact form */
.srj-form { display: grid; gap: 14px; }
.srj-form label { font-family: var(--display); font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 6px; }
.srj-form input:not([type=checkbox]):not([type=radio]), .srj-form textarea, .srj-form select { width: 100%; }
.srj-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- animations ---------- */
@keyframes srj-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes srj-shine { 0% { background-position: 120% 0; } 60%, 100% { background-position: -120% 0; } }
@keyframes srj-pulse { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes srj-rise { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes srj-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes srj-spin { to { transform: rotateX(72deg) rotateZ(346deg); } }
@keyframes srj-sway { 0%, 100% { transform: translateX(-5px); } 50% { transform: translateX(5px); } }
@keyframes srj-fade { from { opacity: 0; } to { opacity: 1; } }
.srj-reveal { opacity: 0; transform: translateY(40px); transition: opacity .9s, transform .9s cubic-bezier(.2,.7,.2,1); }
.srj-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .srj-reveal { opacity: 1; transform: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .srj-grid, .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
  .srj-heatgrid { grid-template-columns: repeat(3, 1fr); }
  .srj-heatcard:nth-child(3) { border-right: 0; }
  .srj-heatcard:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .srj-specs { grid-template-columns: repeat(3, 1fr); }
  .srj-spec:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .srj-spec:nth-child(3) { border-right: 0; }
  .srj-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .srj-nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(320px, 85vw); background: rgba(4,3,12,.97); border-left: 1px solid var(--line); transform: translateX(100%); transition: transform .35s; padding: 90px 24px; z-index: 60; }
  .srj-nav.is-open { transform: none; }
  .srj-nav ul { flex-direction: column; }
  .srj-nav a { font-size: 15px; padding: 14px 6px; }
  .srj-burger { display: grid; }
  .srj-header__icons { margin-left: auto; }
  .srj-hero__info { grid-template-columns: 1fr; padding: 0 16px 24px; }
  .srj-info__main { grid-column: 1; min-width: 0; }
  .srj-hero__side { display: none; }
  .srj-orbit { min-height: 420px; }
  .srj-story { grid-template-columns: 1fr; gap: 40px; }
  .srj-cta { grid-template-columns: 1fr; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 30px; }
  .woocommerce div.product div.images { position: relative; top: 0; }
  .srj-section { padding: 70px 0; }
}
@media (max-width: 600px) {
  .srj-grid, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 11px !important; padding: 10px 12px 4px !important; }
  .woocommerce ul.products li.product .price { padding: 0 12px 10px; font-size: 14px !important; }
  .woocommerce ul.products li.product .button { margin: auto 12px 12px !important; font-size: 10px; padding: 10px; letter-spacing: .08em; }
  .srj-heatgrid { grid-template-columns: repeat(2, 1fr); }
  .srj-heatcard { border-bottom: 1px solid var(--line); }
  .srj-heatcard:nth-child(3) { border-right: 1px solid var(--line); }
  .srj-heatcard:nth-child(2n) { border-right: 0; }
  .srj-specs { grid-template-columns: repeat(2, 1fr); }
  .srj-spec { border-bottom: 1px solid var(--line); }
  .srj-spec:nth-child(3) { border-right: 1px solid var(--line); }
  .srj-spec:nth-child(2n) { border-right: 0; }
  .srj-stats { grid-template-columns: 1fr; }
  .srj-stat { border-right: 0; border-bottom: 1px solid var(--line); }
  .srj-footer__grid { grid-template-columns: 1fr; }
  .srj-partner { width: 150px; height: 78px; }
  .srj-cta__box { padding: 36px 24px; }
  .srj-content { padding: 26px 20px; }
  .srj-logo span { display: none; }
  .srj-mission__row { grid-template-columns: 110px 1fr; }
}

/* ---------- v1.0.1 refinements ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title small { display: block; font-family: var(--body); font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--muted); font-weight: 400; margin-top: 4px; }
.woocommerce ul.products li.product .srj-codename { color: var(--cyan); font-family: var(--display); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 6px; }
.srj-psub { color: var(--muted); font-size: 16px; margin: -6px 0 14px; }
.woocommerce div.product { position: relative; }
.woocommerce div.product > * { min-width: 0; }
.woocommerce div.product > span.onsale { position: absolute; top: 14px !important; left: 14px !important; z-index: 9; }
.woocommerce div.product div.images .flex-viewport { max-width: 100%; }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: rgba(4,3,12,.7); border: 1px solid var(--line-strong); }
@media (max-width: 860px) {
  .srj-hero { height: auto; min-height: 0; max-height: none; }
  .srj-hero__title { padding-top: 22px; }
  .srj-hero__kicker { font-size: 9px; letter-spacing: .3em; }
  .srj-orbit { flex: none; height: 360px; min-height: 0; }
  .srj-orbit__stage, .srj-pad { top: 50%; }
  .srj-pad { display: none; }
  .srj-bag { --bw: 150px; }
  .srj-bag.is-front::before { bottom: -30px; }
  .srj-info__code { font-size: 26px; }
  .srj-info__row { gap: 12px; }
  .srj-info__cta .srj-btn { padding: 13px 18px; font-size: 11px; }
  .srj-hero::after { bottom: -88%; }
  .woocommerce div.product .woocommerce-product-gallery { padding: 16px; }
}

@media (max-width: 600px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px !important; font-size: 10px; letter-spacing: .12em; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 22px 18px; }
  .srj-story__visual { overflow: hidden; }
}
.wc-block-grid__products { margin: 0 !important; } .wc-block-grid__product { border-color: var(--line) !important; }

/* ---------- v1.1: card meta + space sale badge ---------- */
.srj-tag { display: none; }
.srj-cardmeta { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding: 6px 18px 10px; }
.srj-cardmeta .srj-heat i { width: 12px; height: 6px; }
.srj-cardmeta .srj-heat b { font-size: 10px; letter-spacing: .16em; margin-left: 6px; }
.woocommerce ul.products li.product .srj-cardmeta .srj-codename { padding: 0; margin: 0; font-size: 9px; letter-spacing: .14em; color: var(--muted); }
.woocommerce span.onsale.srj-sale, .srj-sale { display: inline-flex !important; align-items: center; gap: 6px; padding: 7px 12px 7px 9px !important; min-height: 0; min-width: 0; line-height: 1;
  background: linear-gradient(100deg, #ff3b5c 0%, #8b5cff 55%, #38d6ff 100%) !important; color: #fff !important; font-family: var(--display); font-size: 10px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%); box-shadow: 0 0 22px rgba(139,92,255,.6); overflow: hidden; z-index: 3; }
.srj-sale svg { width: 14px; height: 14px; color: #fff; filter: drop-shadow(0 0 4px #fff); transform: rotate(45deg); animation: srj-wobble 2.4s ease-in-out infinite; }
.srj-sale b { font-weight: 900; }
.srj-sale i { font-style: normal; padding-left: 7px; margin-left: 1px; border-left: 1px solid rgba(255,255,255,.55); color: #fff7c2; }
.srj-sale::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%); background-size: 250% 100%; animation: srj-shine 3.5s linear infinite; mix-blend-mode: overlay; }
.woocommerce ul.products li.product .onsale.srj-sale { top: 14px !important; left: 14px !important; }
@keyframes srj-wobble { 0%, 100% { transform: rotate(45deg) translateY(0); } 50% { transform: rotate(45deg) translateY(-2px); } }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; }
.woocommerce div.product > span.onsale { top: 0 !important; left: 0 !important; }
.woocommerce div.product div.images { margin-top: 0 !important; }
.srj-cardmeta { flex-direction: column; align-items: flex-start; gap: 7px; }
.woocommerce ul.products li.product .srj-cardmeta .srj-codename { color: var(--cyan); }

/* ======================================================================
   v1.2 — MY ACCOUNT: spaceship cockpit
   ====================================================================== */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 300px 1fr; gap: 28px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.srj-panel, .srj-console, .woocommerce-account .woocommerce-MyAccount-content, #customer_login > div, .woocommerce-form-login, .woocommerce-ResetPassword {
  position: relative; background: linear-gradient(180deg, rgba(26,22,60,.92), rgba(10,8,28,.92));
  border: 1px solid rgba(170,150,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 0 0 4px rgba(4,3,12,.6), inset 0 0 0 5px rgba(170,150,255,.12), 0 30px 60px rgba(0,0,0,.45);
}
/* corner screws */
.srj-console::before, .woocommerce-account .woocommerce-MyAccount-content::before, #customer_login > div::before {
  content: ''; position: absolute; inset: 8px; pointer-events: none;
  background:
    radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 0 0 / 10px 10px no-repeat,
    radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 100% 0 / 10px 10px no-repeat,
    radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 0 100% / 10px 10px no-repeat,
    radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 100% 100% / 10px 10px no-repeat;
}
.srj-console { padding: 26px 20px 22px; }
.srj-console__head { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-size: 10px; letter-spacing: .35em; text-transform: uppercase; color: var(--muted); padding: 0 6px 16px; margin-bottom: 14px; border-bottom: 1px dashed rgba(170,150,255,.25); }
.srj-console ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.srj-led { width: 9px; height: 9px; border-radius: 50% !important; background: #2b2a44; box-shadow: inset 0 1px 2px rgba(0,0,0,.8); flex: 0 0 auto; transition: .2s; }
.srj-led.is-on { background: #5dff9a; box-shadow: 0 0 8px #5dff9a, 0 0 2px #fff inset; animation: srj-blink 2.4s infinite; }
@keyframes srj-blink { 0%, 92%, 100% { opacity: 1; } 95% { opacity: .3; } }
/* keycap buttons */
.srj-key { display: flex; align-items: center; gap: 14px; padding: 13px 14px; color: var(--text) !important; text-decoration: none;
  background: linear-gradient(180deg, #2c2858 0%, #1b1840 100%); border: 1px solid rgba(170,150,255,.3);
  box-shadow: 0 5px 0 #0b0920, 0 6px 14px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.14);
  transform: translateY(0); transition: transform .08s, box-shadow .08s, background .2s, border-color .2s; }
.srj-key:hover { border-color: var(--cyan); background: linear-gradient(180deg, #343072 0%, #211d4e 100%); color: #fff !important; }
.srj-key:hover .srj-led { background: #ffd23f; box-shadow: 0 0 8px #ffd23f; }
.srj-key:active { transform: translateY(5px); box-shadow: 0 0 0 #0b0920, 0 1px 4px rgba(0,0,0,.5), inset 0 2px 6px rgba(0,0,0,.5); }
.srj-key .srj-led { margin-left: auto; }
.srj-key__icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(56,214,255,.35); background: rgba(4,3,12,.55); color: var(--cyan); box-shadow: inset 0 0 12px rgba(56,214,255,.15); }
.srj-key__icon svg { width: 18px; height: 18px; }
.srj-key__label { display: flex; flex-direction: column; font-family: var(--display); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; line-height: 1.3; }
.srj-key__label small { font-size: 8px; letter-spacing: .3em; color: var(--muted); }
.srj-console li.is-active .srj-key { background: linear-gradient(180deg, #ff3b5c 0%, #b81d45 100%); border-color: #ff8098; transform: translateY(5px);
  box-shadow: 0 0 0 #0b0920, 0 0 26px rgba(255,59,92,.55), inset 0 2px 6px rgba(0,0,0,.35); }
.srj-console li.is-active .srj-key__icon { color: #fff; border-color: rgba(255,255,255,.5); }
.srj-console li.is-active .srj-key__label small { color: #ffd0da; }
.srj-console li.is-active .srj-led { background: #fff; box-shadow: 0 0 10px #fff; }
.srj-console li.woocommerce-MyAccount-navigation-link--customer-logout .srj-key__icon { color: #ff8a1f; border-color: rgba(255,138,31,.4); }

/* content screen */
.woocommerce-account .woocommerce-MyAccount-content { padding: 40px; min-height: 420px; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px); }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-MyAccount-content legend { font-family: var(--display); text-transform: uppercase; letter-spacing: .06em; color: #fff; }
.srj-cockpit__hello h2 { font-size: clamp(26px, 3vw, 40px); font-weight: 900; margin: 4px 0 6px; text-shadow: 0 0 22px rgba(139,92,255,.6); }
.srj-cockpit__hello p { color: var(--muted); margin: 0 0 26px; }
.srj-readouts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 26px; }
.srj-readout { padding: 16px 18px; background: #030b10; border: 1px solid rgba(56,214,255,.3); box-shadow: inset 0 0 24px rgba(56,214,255,.12); }
.srj-readout small { display: block; font-family: var(--display); font-size: 9px; letter-spacing: .3em; text-transform: uppercase; color: rgba(56,214,255,.7); }
.srj-readout b { display: block; margin-top: 6px; font-family: var(--display); font-size: 26px; color: #7dffb0; text-shadow: 0 0 10px rgba(93,255,154,.7); font-weight: 700; }
.srj-readout b .woocommerce-Price-amount { color: inherit; }
.srj-pads { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.srj-pad-btn { position: relative; display: block; text-decoration: none; padding: 0 0 7px; color: var(--text) !important; background: #0b0920; }
.srj-pad-btn__cap { display: flex; flex-direction: column; gap: 6px; padding: 22px 22px 20px; position: relative;
  background: linear-gradient(160deg, #2d2960 0%, #1a173e 60%, #141233 100%); border: 1px solid color-mix(in srgb, var(--c) 45%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), inset 0 -20px 40px rgba(0,0,0,.25), 0 0 0 rgba(0,0,0,0);
  transform: translateY(-7px); transition: transform .08s, box-shadow .25s, border-color .25s; }
.srj-pad-btn__cap::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); box-shadow: 0 0 14px var(--c); }
.srj-pad-btn .srj-key__icon { color: var(--c); border-color: color-mix(in srgb, var(--c) 50%, transparent); width: 42px; height: 42px; margin-bottom: 8px; }
.srj-pad-btn .srj-key__icon svg { width: 22px; height: 22px; }
.srj-pad-btn b { font-family: var(--display); font-size: 16px; letter-spacing: .1em; text-transform: uppercase; }
.srj-pad-btn small { color: var(--muted); font-size: 13px; }
.srj-pad-btn .srj-led { position: absolute; top: 16px; right: 16px; background: var(--c); box-shadow: 0 0 10px var(--c); }
.srj-pad-btn:hover .srj-pad-btn__cap { border-color: var(--c); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 30px color-mix(in srgb, var(--c) 35%, transparent); }
.srj-pad-btn:active .srj-pad-btn__cap { transform: translateY(0); box-shadow: inset 0 3px 10px rgba(0,0,0,.6), 0 0 18px color-mix(in srgb, var(--c) 45%, transparent); }
.srj-eject { display: flex; align-items: center; gap: 16px; margin-top: 22px; padding: 14px 18px; border: 1px solid rgba(255,138,31,.5); color: #ffb36b !important; font-family: var(--display); font-size: 12px; letter-spacing: .25em; text-transform: uppercase; background: rgba(40,16,4,.5); transition: .2s; }
.srj-eject__stripes { width: 46px; height: 16px; background: repeating-linear-gradient(-45deg, #ff8a1f 0 6px, #1a0d03 6px 12px); }
.srj-eject:hover { background: rgba(255,138,31,.15); box-shadow: 0 0 22px rgba(255,138,31,.35); color: #fff !important; }

/* tables, addresses, forms inside the screen */
.woocommerce-account table.shop_table, .woocommerce-account table.woocommerce-orders-table { background: rgba(3,11,16,.6) !important; border: 1px solid rgba(56,214,255,.25) !important; }
.woocommerce-account table.shop_table th { font-family: var(--display); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(56,214,255,.8); }
.woocommerce-account table.shop_table td, .woocommerce-account table.shop_table th { border-top: 1px solid rgba(56,214,255,.15) !important; padding: 14px 16px !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-status { color: #7dffb0; font-family: var(--display); font-weight: 700; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Address { width: auto !important; float: none !important; padding: 22px; background: rgba(3,11,16,.55); border: 1px solid rgba(56,214,255,.25); }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 16px; margin: 0; }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: #d7daf5; margin-top: 12px; line-height: 1.7; }
.woocommerce-account fieldset { border: 1px solid rgba(170,150,255,.25); padding: 20px; margin: 26px 0 10px; }
.woocommerce form .form-row label, .woocommerce-account label { font-family: var(--display); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, #customer_login input.input-text, .woocommerce-account input.input-text {
  background: #030b10 !important; border: 1px solid rgba(56,214,255,.35) !important; color: #e8fbff !important; font-family: var(--display); font-size: 14px; letter-spacing: .04em; padding: 13px 14px !important;
  box-shadow: inset 0 0 14px rgba(56,214,255,.08); transition: border-color .2s, box-shadow .2s; }
.woocommerce form .form-row input.input-text:focus, #customer_login input.input-text:focus, .woocommerce-account input.input-text:focus { outline: none; border-color: var(--cyan) !important; box-shadow: 0 0 0 1px var(--cyan), 0 0 18px rgba(56,214,255,.35), inset 0 0 14px rgba(56,214,255,.15); }
.woocommerce-account .woocommerce-MyAccount-content p { color: #d7daf5; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child a { color: var(--cyan); }

/* login / register airlock */
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
#customer_login { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 980px; margin: 0 auto; }
#customer_login::before, #customer_login::after { display: none !important; }
#customer_login > div { width: auto !important; float: none !important; padding: 40px 36px 34px; }
#customer_login > div > h2 { display: flex; align-items: center; gap: 12px; font-size: 20px; text-transform: uppercase; margin-bottom: 22px; }
#customer_login > .u-column1 > h2::before { content: 'Airlock A · '; color: var(--cyan); font-size: 11px; letter-spacing: .3em; }
#customer_login > .u-column2 > h2::before { content: 'Airlock B · '; color: var(--red); font-size: 11px; letter-spacing: .3em; }
#customer_login form { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none; box-shadow: none; }
#customer_login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; }
#customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button { width: 100%; padding: 17px; font-size: 13px; box-shadow: 0 5px 0 #7a1129, 0 0 20px rgba(255,59,92,.35); clip-path: none; }
#customer_login button.button:active, .woocommerce-account .woocommerce-MyAccount-content button.button:active { transform: translateY(5px); box-shadow: 0 0 0 #7a1129; }
.woocommerce-LostPassword a { font-size: 13px; }
@media (max-width: 860px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .srj-console ul { grid-template-columns: 1fr 1fr; }
  .srj-readouts { grid-template-columns: 1fr; }
  .srj-pads { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-content { padding: 26px 18px; }
  #customer_login { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .srj-console ul { grid-template-columns: 1fr; } }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; }

/* ======================================================================
   v1.2 — CART & CHECKOUT (blocks): cargo bay + launch checklist consoles
   ====================================================================== */
.wp-block-woocommerce-cart .wc-block-components-main, .wp-block-woocommerce-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-checkout-step, .wp-block-woocommerce-checkout-order-summary-block {
  position: relative; background: linear-gradient(180deg, rgba(26,22,60,.92), rgba(10,8,28,.92)) !important; border: 1px solid rgba(170,150,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 0 0 4px rgba(4,3,12,.6), inset 0 0 0 5px rgba(170,150,255,.12), 0 30px 60px rgba(0,0,0,.45); }
.wp-block-woocommerce-cart .wc-block-components-main { padding: 26px 28px !important; }
.wp-block-woocommerce-cart .wc-block-components-sidebar { padding: 26px 24px !important; }
.wc-block-cart-items { border: 0 !important; }
.wc-block-cart-items th, .wc-block-components-totals-wrapper .wc-block-components-title, .wp-block-woocommerce-cart-order-summary-heading-block, .wc-block-cart__totals-title {
  font-family: var(--display) !important; font-size: 10px !important; letter-spacing: .3em !important; text-transform: uppercase !important; color: rgba(56,214,255,.85) !important; }
.wc-block-cart-items td { border-top: 1px dashed rgba(170,150,255,.22) !important; }
.wc-block-cart-item__image img { background: radial-gradient(circle, rgba(139,92,255,.35), transparent 70%); box-shadow: 0 10px 20px rgba(0,0,0,.5); }
.wc-block-components-product-name { font-family: var(--display) !important; font-size: 13px !important; letter-spacing: .04em; text-transform: uppercase; color: #fff !important; text-decoration: none !important; }
.wc-block-components-product-metadata__description { display: none !important; }
.wc-block-components-product-badge { background: rgba(255,210,63,.12) !important; border: 1px solid rgba(255,210,63,.5) !important; color: var(--gold) !important; font-family: var(--display); font-size: 9px !important; letter-spacing: .12em; }
.wc-block-components-quantity-selector { border: 1px solid rgba(56,214,255,.35) !important; background: #030b10 !important; }
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector input { color: #7dffb0 !important; font-family: var(--display) !important; font-weight: 700; background: transparent !important; }
.wc-block-components-quantity-selector button { color: var(--cyan) !important; background: rgba(56,214,255,.08) !important; }
.wc-block-components-quantity-selector button:hover { background: rgba(56,214,255,.2) !important; }
.wc-block-cart-item__remove-link { color: var(--red) !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--display); letter-spacing: .08em; text-transform: uppercase; font-size: 12px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--display); color: #7dffb0; font-size: 26px !important; text-shadow: 0 0 10px rgba(93,255,154,.5); }
.wc-block-components-totals-wrapper { border-top: 1px dashed rgba(170,150,255,.22) !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  min-height: 62px; font-size: 14px !important; letter-spacing: .25em !important; box-shadow: 0 6px 0 #7a1129, 0 0 28px rgba(255,59,92,.45) !important; clip-path: none !important; }
.wc-block-cart__submit-button:active, .wc-block-components-checkout-place-order-button:active { transform: translateY(6px) !important; box-shadow: 0 0 0 #7a1129 !important; }


/* checkout steps as numbered checklist */
.wc-block-checkout__form { counter-reset: srjstep; }
.wc-block-checkout .wc-block-components-checkout-step { padding: 26px 28px 22px !important; margin-bottom: 18px !important; }
.wc-block-checkout .wc-block-components-checkout-step::after { display: none !important; }
.wc-block-components-checkout-step__heading { margin: 0 0 16px !important; }
.wc-block-components-checkout-step__title { font-family: var(--display) !important; font-size: 16px !important; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; display: flex !important; align-items: center; gap: 12px; }
.wc-block-components-checkout-step__title::before { counter-increment: srjstep; content: counter(srjstep, decimal-leading-zero); display: grid; place-items: center; width: 34px; height: 34px; font-size: 12px; color: #04030c; background: var(--cyan); box-shadow: 0 0 14px rgba(56,214,255,.6); }
.wc-block-components-checkout-step__description { color: var(--muted) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-textarea {
  background: #030b10 !important; border: 1px solid rgba(56,214,255,.35) !important; color: #e8fbff !important; font-family: var(--display) !important; letter-spacing: .04em; box-shadow: inset 0 0 14px rgba(56,214,255,.08) !important; }
.wc-block-components-text-input input:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--cyan) !important; box-shadow: 0 0 0 1px var(--cyan), 0 0 18px rgba(56,214,255,.35) !important; }
.wc-blocks-components-select .wc-blocks-components-select__container { background: transparent !important; }
.wc-blocks-components-select .wc-blocks-components-select__label, .wc-block-components-text-input label { color: rgba(56,214,255,.75) !important; font-family: var(--display) !important; font-size: 10px !important; letter-spacing: .15em; text-transform: uppercase; }
.wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--cyan) !important; }
.wc-blocks-components-select__select option { background: #0d0a24; color: #fff; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { background: #030b10 !important; border: 1px solid rgba(56,214,255,.5) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--cyan) !important; }
.wc-block-components-checkbox label, .wc-block-checkout__terms { color: var(--muted) !important; }
.wc-block-checkout__terms a, .wc-block-components-address-form__address_2-toggle { color: var(--cyan) !important; }
.wp-block-woocommerce-checkout-order-summary-block { padding: 26px 28px 22px !important; }
.wc-block-components-order-summary-item__quantity { background: var(--red) !important; color: #fff !important; border: 0 !important; box-shadow: 0 0 10px rgba(255,59,92,.6) !important; font-family: var(--display); }
.wc-block-components-checkout-order-summary__title-text, .wc-block-components-order-summary .wc-block-components-panel__button { font-family: var(--display) !important; text-transform: uppercase; letter-spacing: .12em; color: #fff !important; }
.wc-block-components-notice-banner.is-error { border-top-color: var(--red) !important; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon__button { color: var(--text) !important; }
.wc-block-cart .wc-block-cart__empty-cart__title, .wp-block-woocommerce-empty-cart-block h2 { font-family: var(--display); text-transform: uppercase; color: #fff; }
.wc-block-cart__submit-button { letter-spacing: .12em !important; font-size: 13px !important; }

/* ---------- account view switch + classic view ---------- */
.srj-viewswitch { grid-column: 1 / -1; justify-self: end; display: inline-flex; border: 1px solid var(--line-strong); background: rgba(4,3,12,.6); margin-bottom: -6px; }
.srj-viewswitch a { padding: 10px 16px; font-family: var(--display); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.srj-viewswitch a:hover { color: #fff; }
.srj-viewswitch a.is-on { background: var(--cyan); color: #04030c; }
.srj-view-classic .srj-key__label small, .srj-view-classic .srj-key .srj-led, .srj-view-classic .srj-console__head .srj-led,
.srj-view-classic .srj-console::before, .srj-view-classic .woocommerce-MyAccount-content::before, .srj-view-classic .woocommerce-MyAccount-content::after,
.srj-view-classic .srj-pad-btn .srj-led, .srj-view-classic .srj-eject__stripes { display: none !important; }
.srj-view-classic .srj-console, .srj-view-classic .woocommerce-MyAccount-content { background: rgba(13,10,36,.88); box-shadow: 0 20px 50px rgba(0,0,0,.35); border-color: var(--line); }
.srj-view-classic .srj-key { background: transparent; border: 1px solid transparent; box-shadow: none; padding: 12px 12px; }
.srj-view-classic .srj-key:hover { background: rgba(56,214,255,.08); border-color: var(--line); }
.srj-view-classic .srj-key:active { transform: none; box-shadow: none; }
.srj-view-classic .srj-key__label { font-family: var(--body); font-size: 15px; letter-spacing: 0; text-transform: none; font-weight: 600; }
.srj-view-classic .srj-key__icon { border: 0; background: none; box-shadow: none; width: 24px; height: 24px; }
.srj-view-classic .srj-console li.is-active .srj-key { background: rgba(56,214,255,.14); border-color: rgba(56,214,255,.45); transform: none; box-shadow: none; }
.srj-view-classic .srj-console li.is-active .srj-key__icon { color: var(--cyan); }
.srj-view-classic .srj-cockpit__hello h2 { font-family: var(--body); text-transform: none; letter-spacing: 0; text-shadow: none; font-weight: 700; }
.srj-view-classic .srj-readout { background: rgba(4,3,12,.5); border-color: var(--line); box-shadow: none; }
.srj-view-classic .srj-readout small { font-family: var(--body); font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--muted); }
.srj-view-classic .srj-readout b { font-family: var(--body); color: #fff; text-shadow: none; font-size: 22px; }
.srj-view-classic .srj-pad-btn { background: none; padding: 0; }
.srj-view-classic .srj-pad-btn__cap { transform: none; background: rgba(4,3,12,.45); border-color: var(--line); box-shadow: none; }
.srj-view-classic .srj-pad-btn__cap::before { width: 3px; box-shadow: none; }
.srj-view-classic .srj-pad-btn b { font-family: var(--body); text-transform: none; letter-spacing: 0; font-size: 17px; }
.srj-view-classic .srj-pad-btn:active .srj-pad-btn__cap { transform: none; }
.srj-view-classic .srj-eject { background: none; border-color: var(--line); color: var(--text) !important; font-family: var(--body); letter-spacing: 0; text-transform: none; font-size: 15px; justify-content: center; }
@media (max-width: 860px) { .srj-viewswitch { justify-self: stretch; } .srj-viewswitch a { flex: 1; text-align: center; } }

/* ---------- v1.5: cockpit content font, address cards, pages ---------- */
:root { --hud: 'Chakra Petch', 'Space Grotesk', sans-serif; }
.srj-view-cockpit .woocommerce-MyAccount-content, .srj-view-cockpit .woocommerce-MyAccount-content p, .srj-view-cockpit .woocommerce-MyAccount-content a,
.srj-view-cockpit .woocommerce-MyAccount-content td, .srj-view-cockpit .woocommerce-MyAccount-content address, .srj-view-cockpit .srj-cockpit__hello p, .srj-view-cockpit .srj-pad-btn small,
#customer_login, #customer_login p, #customer_login a, .wc-block-cart, .wc-block-checkout { font-family: var(--hud); letter-spacing: .02em; }
.srj-view-cockpit .woocommerce-MyAccount-content p { font-size: 16px; }
.woocommerce-account .woocommerce-Address-title { display: flex !important; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 12px; }
.woocommerce-account .woocommerce-Address-title h2 { float: none !important; flex: 1 1 auto; margin: 0 !important; text-align: left !important; font-size: 15px; letter-spacing: .14em; }
.woocommerce-account .woocommerce-Address-title a.edit { float: none !important; flex: 0 0 auto; white-space: nowrap; }
.woocommerce-account .woocommerce-Address-title a.edit { font-family: var(--display); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; padding: 8px 12px; border: 1px solid rgba(56,214,255,.45); color: var(--cyan) !important; background: rgba(56,214,255,.08); }
.woocommerce-account .woocommerce-Address-title a.edit:hover { background: rgba(56,214,255,.2); color: #fff !important; }
.woocommerce-account .woocommerce-Address address { font-family: var(--hud); color: #9fb4d9; }
.srj-policies { display: inline-flex; gap: 18px; flex-wrap: wrap; }
.srj-policies a { color: var(--muted); }
.srj-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-top: 26px; }
.srj-gallery img, .srj-catalog img { width: 100%; height: auto; border: 1px solid var(--line); box-shadow: 0 20px 40px rgba(0,0,0,.4); }
.srj-gallery img { aspect-ratio: 1 / 1; object-fit: cover; background: #fff; }
.srj-catalog { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
@media (max-width: 700px) { .srj-catalog { grid-template-columns: 1fr; } }
.srj-content h1, .srj-content h2, .srj-content h3 { font-size: 20px; margin-top: 1.4em; text-transform: uppercase; }
.srj-content strong { color: #fff; }
.srj-big { font-size: 20px; color: #fff !important; }
.page .srj-content:has(.srj-catalog) { max-width: 1100px !important; }
.srj-gallery { align-items: start; } .srj-gallery img { aspect-ratio: auto; object-fit: contain; background: transparent; }

/* v1.5.3 — slim sale badge sits in the empty band above the bag */
.woocommerce ul.products li.product a img { padding-top: 30px; }
.woocommerce ul.products li.product .onsale.srj-sale { top: 6px !important; left: 10px !important; padding: 3px 9px 3px 7px !important; font-size: 8.5px !important; letter-spacing: .16em; gap: 5px; box-shadow: 0 0 14px rgba(139,92,255,.55); }
.woocommerce ul.products li.product .onsale.srj-sale svg { width: 10px; height: 10px; }
.woocommerce ul.products li.product .onsale.srj-sale i { padding-left: 5px; }
@media (max-width: 600px) {
  .woocommerce ul.products li.product a img { padding: 26px 12px 12px; }
  .woocommerce ul.products li.product .onsale.srj-sale { top: 5px !important; left: 6px !important; font-size: 7.5px !important; letter-spacing: .1em; padding: 2px 7px 2px 5px !important; }
}
.srj-grid, .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products li.product { min-width: 0; }
@media (max-width: 1100px) { .srj-grid, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .srj-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .srj-cardmeta { padding: 4px 12px 8px; }
  .srj-cardmeta .srj-heat i { width: 9px; }
  .srj-cardmeta .srj-heat b { font-size: 9px; letter-spacing: .1em; }
  .woocommerce ul.products li.product .button { white-space: normal; text-align: center; }
}

/* v1.6 — orbit play/pause + mobile counter on its own line */
.srj-playpause { position: absolute; top: 10px; right: 24px; z-index: 6; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px 9px 11px;
  background: rgba(4,3,12,.6); border: 1px solid var(--line-strong); color: #fff; cursor: pointer; font-family: var(--display); font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  backdrop-filter: blur(6px); transition: border-color .2s, box-shadow .2s, color .2s; }
.srj-playpause:hover { border-color: var(--cyan); color: var(--cyan); box-shadow: 0 0 16px rgba(56,214,255,.35); }
.srj-playpause svg { width: 14px; height: 14px; }
.srj-playpause .i-play { display: none; }
.srj-playpause.is-paused .i-play { display: block; }
.srj-playpause.is-paused .i-pause { display: none; }
.srj-playpause.is-paused { border-color: rgba(255,210,63,.6); color: var(--gold); }
@media (max-width: 860px) {
  .srj-info__num { flex-basis: 100%; text-align: center; margin-top: 2px; }
  .srj-playpause { top: 4px; right: 12px; padding: 7px 10px 7px 8px; font-size: 9px; }
}
/* flavor index: HUD font + heat bars instead of text */
.srj-index__item > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.srj-index__item b { font-size: 11px; letter-spacing: .08em; }
.srj-index__item span { font-family: var(--hud); font-size: 13px; letter-spacing: .03em; color: #c9cdf0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srj-index__item .srj-heat { margin-top: 2px; }
.srj-index__item .srj-heat i { width: 10px; height: 5px; }
.srj-index__item .srj-heat b { display: none; }
.srj-info__name, .srj-info__name b { font-family: var(--hud); letter-spacing: .03em; }

/* v1.6.2 — product page: no stray gallery lines, HUD font in details */
.woocommerce div.product .woocommerce-product-gallery { border: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery::before { display: none !important; }
.woocommerce div.product div.images { position: relative; top: 0; }
.woocommerce div.product .woocommerce-tabs { position: relative; z-index: 2; margin-top: 40px !important; clear: both; }
.woocommerce div.product .woocommerce-tabs .panel, .woocommerce div.product .woocommerce-tabs .panel p, .woocommerce div.product .woocommerce-tabs .panel li,
.woocommerce div.product .woocommerce-product-details__short-description, .woocommerce div.product .srj-mission dd, .woocommerce div.product .srj-psub,
.woocommerce table.shop_attributes td, .product_meta { font-family: var(--hud); letter-spacing: .02em; }
.woocommerce div.product .woocommerce-tabs .panel li { margin: 6px 0; font-size: 16px; }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: none; padding-left: 0; }
.woocommerce div.product .woocommerce-tabs .panel ul li::before { content: '▸'; color: var(--cyan); margin-right: 10px; }
.woocommerce div.product .woocommerce-tabs .panel ul li > div, .woocommerce div.product .woocommerce-tabs .panel ul li > div > span { display: inline; } .woocommerce div.product .woocommerce-tabs .panel ul li br:last-child { display: none; }

/* ======================================================================
   v1.7 — header icons + console-style navigation
   ====================================================================== */
.srj-icon svg { width: 22px; height: 22px; }
.srj-icon .srj-sweep { transform-origin: 11px 11px; animation: srj-radar 3s linear infinite; }
@keyframes srj-radar { to { transform: rotate(360deg); } }
.srj-nav__head, .srj-nav__foot, .srj-nav-backdrop { display: none; }

/* desktop: label buttons with icon, glow on hover */
.srj-nav ul { gap: 6px; }
.srj-nav a { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid transparent; transition: border-color .2s, background .2s, box-shadow .2s, color .2s; }
.srj-nav a::after { display: none; }
.srj-nav a .srj-key__icon { width: 26px; height: 26px; border: 1px solid rgba(56,214,255,.3); background: rgba(4,3,12,.5); color: var(--cyan); }
.srj-nav a .srj-key__icon svg { width: 15px; height: 15px; }
.srj-nav a .srj-led { display: none; }
.srj-nav a:hover, .srj-nav .current-menu-item > a { border-color: rgba(56,214,255,.45); background: linear-gradient(180deg, rgba(56,214,255,.14), rgba(56,214,255,.04)); box-shadow: 0 0 18px rgba(56,214,255,.25), inset 0 1px 0 rgba(255,255,255,.1); color: #fff; }
.srj-nav .current-menu-item > a .srj-key__icon { background: var(--cyan); color: #04030c; }
@media (max-width: 1180px) and (min-width: 861px) { .srj-nav a .srj-key__icon { display: none; } .srj-nav a { padding: 9px 10px; } }

/* mobile: cockpit drawer */
@media (max-width: 860px) {
  .srj-nav { width: min(340px, 88vw); padding: 0; display: flex; flex-direction: column; z-index: 120;
    background: linear-gradient(180deg, #1c1846 0%, #0d0a26 60%, #08061a 100%); border-left: 1px solid rgba(170,150,255,.35);
    box-shadow: -30px 0 60px rgba(0,0,0,.6), inset 0 0 0 4px rgba(4,3,12,.6), inset 0 0 0 5px rgba(170,150,255,.15); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
  .srj-nav::before { content: ''; position: absolute; inset: 10px; pointer-events: none;
    background:
      radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 0 0 / 10px 10px no-repeat,
      radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 100% 0 / 10px 10px no-repeat,
      radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 0 100% / 10px 10px no-repeat,
      radial-gradient(circle, #8a8fb5 0 2px, #2a2850 2.5px 3.5px, transparent 4px) 100% 100% / 10px 10px no-repeat; }
  .srj-nav::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px); }
  .srj-nav__head { display: flex; align-items: center; gap: 10px; padding: 26px 24px 18px; margin: 0 14px 16px; border-bottom: 1px dashed rgba(170,150,255,.3);
    font-family: var(--display); font-size: 11px; letter-spacing: .35em; text-transform: uppercase; color: var(--muted); }
  .srj-nav__close { margin-left: auto; width: 40px; height: 40px; display: grid; place-items: center; background: rgba(255,59,92,.12); border: 1px solid rgba(255,59,92,.5); color: #ff8098; cursor: pointer; }
  .srj-nav ul { flex-direction: column; gap: 12px; padding: 0 22px; counter-reset: sys; }
  .srj-nav ul li { counter-increment: sys; opacity: 0; transform: translateX(30px); transition: opacity .35s, transform .35s; }
  .srj-nav.is-open ul li { opacity: 1; transform: none; }
  .srj-nav.is-open ul li:nth-child(2) { transition-delay: .05s; } .srj-nav.is-open ul li:nth-child(3) { transition-delay: .1s; }
  .srj-nav.is-open ul li:nth-child(4) { transition-delay: .15s; } .srj-nav.is-open ul li:nth-child(5) { transition-delay: .2s; } .srj-nav.is-open ul li:nth-child(6) { transition-delay: .25s; }
  .srj-nav ul li a { padding: 14px 14px; gap: 14px; font-size: 13px; letter-spacing: .14em;
    background: linear-gradient(180deg, #2c2858 0%, #1b1840 100%); border: 1px solid rgba(170,150,255,.3);
    box-shadow: 0 5px 0 #0b0920, 0 6px 14px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.14); transition: transform .08s, box-shadow .08s, border-color .2s; }
  .srj-nav ul li a .srj-navlabel { display: flex; flex-direction: column; line-height: 1.25; }
  .srj-nav ul li a .srj-navlabel::before { content: 'SYS-0' counter(sys); font-size: 8px; letter-spacing: .3em; color: var(--muted); }
  .srj-nav ul li a .srj-key__icon { display: grid; width: 38px; height: 38px; }
  .srj-nav ul li a .srj-key__icon svg { width: 20px; height: 20px; }
  .srj-nav ul li a .srj-led { display: block; margin-left: auto; }
  .srj-nav ul li a:hover { border-color: var(--cyan); }
  .srj-nav ul li a:active { transform: translateY(5px); box-shadow: 0 0 0 #0b0920, inset 0 2px 6px rgba(0,0,0,.5); }
  .srj-nav .current-menu-item > a { background: linear-gradient(180deg, #ff3b5c 0%, #b81d45 100%); border-color: #ff8098; box-shadow: 0 0 24px rgba(255,59,92,.5), 0 5px 0 #6a0f24; }
  .srj-nav .current-menu-item > a .srj-key__icon { background: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.5); }
  .srj-nav .current-menu-item > a .srj-led { background: #fff; box-shadow: 0 0 10px #fff; }
  .srj-nav__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: auto 22px 26px; padding-top: 18px; border-top: 1px dashed rgba(170,150,255,.3); }
  .srj-key--mini { justify-content: center; padding: 12px 8px; }
  .srj-key--mini .srj-key__label { font-size: 10px; }
  .srj-nav-backdrop { display: block; position: fixed; inset: 0; z-index: 110; background: rgba(4,3,12,.6); backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity .3s; }
  .srj-nav-backdrop.is-open { opacity: 1; pointer-events: auto; }
  body.srj-nav-open { overflow: hidden; }
}
@media (min-width: 861px) {
  .srj-header__in { gap: 18px; }
  .srj-logo, .srj-logo span { white-space: nowrap; }
  .srj-nav a { white-space: nowrap; font-size: 11px; letter-spacing: .12em; padding: 8px 10px; gap: 7px; }
  .srj-nav ul { gap: 2px; }
}
@media (max-width: 1380px) and (min-width: 861px) { .srj-nav a .srj-key__icon { display: none; } }
@media (max-width: 1040px) and (min-width: 861px) { .srj-logo span { display: none; } }

/* v1.8 — bracketed heat range + bigger variety pack cards */
.srj-heat--range { gap: 4px; }
.srj-range { display: inline-flex; align-items: center; gap: 4px; padding: 4px 5px; margin: 0 1px; border-left: 2px solid rgba(255,255,255,.85); border-right: 2px solid rgba(255,255,255,.85); position: relative; }
.srj-range::before, .srj-range::after { content: ''; position: absolute; left: -2px; right: -2px; height: 2px; background:
  linear-gradient(90deg, rgba(255,255,255,.85) 0 6px, transparent 6px calc(100% - 6px), rgba(255,255,255,.85) calc(100% - 6px)); }
.srj-range::before { top: 0; } .srj-range::after { bottom: 0; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product a img { padding: 0; aspect-ratio: 4 / 5; object-fit: cover; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product .woocommerce-loop-product__title { font-size: 18px !important; padding: 18px 24px 4px !important; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product .woocommerce-loop-product__title small { font-size: 14px; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) .srj-cardmeta { padding: 6px 24px 10px; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product .price { padding: 0 24px 16px; font-size: 20px !important; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product .button { margin: auto 24px 24px !important; }
@media (min-width: 1200px) { .tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products { grid-template-columns: 1fr !important; } }
.srj-heat i.on.h1 { background: #00c8ff; } .srj-heat i.on.h2 { background: #6eeb50; } .srj-heat i.on.h3 { background: #ffaa00; }
.srj-heat i.on.h4 { background: #eb141e; } .srj-heat i.on.h5 { background: #ff005a; } .srj-heat i.on.h6 { background: #ffffff; box-shadow: 0 0 10px #ffffff; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) .srj-cardmeta .srj-heat i { width: 18px; height: 8px; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) .srj-cardmeta .srj-heat b { font-size: 12px; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product a img { padding-top: 34px; background: none; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product a img { aspect-ratio: auto !important; height: auto !important; object-fit: contain !important; }

/* v1.9 — refined card CTA: dark glass + gradient edge, rocket icon, fills on hover */
.woocommerce ul.products li.product .button {
  clip-path: none; justify-content: center; gap: 10px; padding: 13px 16px !important; font-size: 11px; letter-spacing: .22em;
  color: #fff !important; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)) , rgba(10,8,30,.75) !important;
  border: 1px solid transparent; border-image: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff) 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: background .25s, box-shadow .25s, transform .1s; }
.woocommerce ul.products li.product .button::before { content: ''; width: 14px; height: 14px; flex: 0 0 auto; background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c3 2.5 4.5 6 4.5 10.5L12 22l-4.5-9.5C7.5 8 9 4.5 12 2Zm0 5.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c3 2.5 4.5 6 4.5 10.5L12 22l-4.5-9.5C7.5 8 9 4.5 12 2Zm0 5.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/></svg>") center / contain no-repeat;
  transform: rotate(45deg); transition: transform .3s; }
.woocommerce ul.products li.product .button:hover { background: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff) !important; box-shadow: 0 0 26px rgba(139,92,255,.55); transform: none; }
.woocommerce ul.products li.product .button:hover::before { transform: rotate(45deg) translate(2px, -2px); }
.woocommerce ul.products li.product .button:active { transform: translateY(2px); }
.woocommerce ul.products li.product .button.loading { opacity: .7; }
.woocommerce ul.products li.product .button.added::before { -webkit-mask: none; mask: none; content: '✓'; background: none; transform: none; width: auto; height: auto; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin: -10px 18px 16px; font-family: var(--display); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--cyan); text-align: center; }
.woocommerce ul.products li.product .button { display: flex !important; align-items: center; justify-content: center !important; text-align: center; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product a img { aspect-ratio: 4 / 5 !important; height: auto !important; width: 100% !important; padding: 0 !important; margin-top: 34px !important; object-fit: contain !important; }

/* ===== v2.0 — header search dropdown with live results ===== */
.srj-search { position: relative; }
.srj-search > .srj-icon { background: none; padding: 0; cursor: pointer; box-shadow: none; }
.srj-search.is-open > .srj-icon { border-color: rgba(56,214,255,.5); color: var(--cyan); background: rgba(56,214,255,.08); box-shadow: 0 0 16px rgba(56,214,255,.25); }
.srj-search__panel { position: absolute; top: calc(100% + 12px); right: -96px; width: min(460px, calc(100vw - 32px)); z-index: 60;
  background: linear-gradient(180deg, rgba(14,12,38,.97), rgba(6,5,20,.98)); border: 1px solid rgba(56,214,255,.35);
  box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 30px rgba(56,214,255,.12), inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); animation: srj-drop .22s ease-out; }
.srj-search__panel::before { content: ''; position: absolute; top: -7px; right: 112px; width: 12px; height: 12px; background: rgba(14,12,38,.97); border-left: 1px solid rgba(56,214,255,.35); border-top: 1px solid rgba(56,214,255,.35); transform: rotate(45deg); }
.srj-search__panel[hidden] { display: none; }
@keyframes srj-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.srj-search__form { position: relative; display: flex; align-items: center; gap: 0; margin: 14px; border: 1px solid var(--line-strong); background: rgba(4,3,12,.75); overflow: hidden; }
.srj-search__form:focus-within { border-color: var(--cyan); box-shadow: 0 0 0 1px rgba(56,214,255,.35), 0 0 18px rgba(56,214,255,.2); }
.srj-search__scan { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); animation: srj-scanline 2.4s linear infinite; opacity: .7; pointer-events: none; }
@keyframes srj-scanline { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.srj-search__form input[type=search] { flex: 1; min-width: 0; border: 0 !important; background: transparent !important; color: #fff; padding: 13px 14px !important; font-family: var(--display); font-size: 14px; letter-spacing: .04em; outline: none; box-shadow: none !important; }
.srj-search__form input::placeholder { color: #6d7299; }
.srj-search__form input::-webkit-search-cancel-button { filter: invert(1) hue-rotate(180deg); }
.srj-search__go { width: 46px; align-self: stretch; display: grid; place-items: center; border: 0; border-left: 1px solid var(--line); background: rgba(56,214,255,.08); color: var(--cyan); cursor: pointer; }
.srj-search__go:hover { background: var(--cyan); color: #04030c; }
.srj-search__go svg { width: 18px; height: 18px; }
.srj-search__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 14px 14px; }
.srj-search__chips[hidden] { display: none; }
.srj-search__chips span { font-family: var(--display); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.srj-search__chips button { font-family: var(--display); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text); background: rgba(255,255,255,.03); border: 1px solid var(--line); padding: 6px 10px; cursor: pointer; }
.srj-search__chips button:hover { border-color: var(--cyan); color: var(--cyan); box-shadow: 0 0 12px rgba(56,214,255,.25); }
.srj-search__results { list-style: none; margin: 0; padding: 0; max-height: min(60vh, 520px); overflow-y: auto; border-top: 1px solid var(--line); scrollbar-width: thin; scrollbar-color: rgba(56,214,255,.4) transparent; }
.srj-search__results:empty { border-top: 0; }
.srj-search__results li { border-bottom: 1px solid rgba(255,255,255,.05); }
.srj-search__results li a { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; color: var(--text); transition: background .15s; }
.srj-search__results li a:hover, .srj-search__results li.is-active a { background: linear-gradient(90deg, rgba(56,214,255,.14), rgba(139,92,255,.06)); box-shadow: inset 2px 0 0 var(--cyan); }
.srj-sr__img { width: 62px; height: 72px; display: grid; place-items: center; background: radial-gradient(circle at 50% 60%, rgba(139,92,255,.22), transparent 70%); }
.srj-sr__img img { max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,.5)); }
.srj-sr__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.srj-sr__txt em { font-style: normal; font-family: var(--display); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--cyan); }
.srj-sr__txt b { font-family: var(--display); font-size: 13px; letter-spacing: .04em; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 700; }
.srj-sr__txt small { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srj-sr__txt .srj-heat { margin-top: 3px; transform: scale(.85); transform-origin: left center; }
.srj-sr__txt mark { background: none; color: var(--gold); text-shadow: 0 0 10px rgba(255,210,63,.5); }
.srj-sr__price { font-family: var(--display); font-size: 13px; color: #fff; text-align: right; white-space: nowrap; }
.srj-sr__price del { display: block; font-size: 11px; color: var(--muted); }
.srj-search__msg { padding: 16px 14px; color: var(--muted); font-size: 13px; display: flex; align-items: center; gap: 10px; }
.srj-search__all { display: block; padding: 12px 14px; font-family: var(--display); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); border-top: 1px solid var(--line); background: rgba(56,214,255,.04); }
.srj-search__all[hidden] { display: none; }
.srj-search__all:hover { background: rgba(56,214,255,.12); color: #fff; }
@media (max-width: 860px) {
  .srj-search { position: static; }
  .srj-search__panel { position: fixed; top: var(--srj-hh, 64px); left: 12px; right: 12px; width: auto; }
  .srj-search__panel::before { display: none; }
  .srj-search__results { max-height: calc(100vh - 220px); }
}

/* ===== v2.0 — one typeface: content uses the menu font (Orbitron) ===== */
:root { --body: 'Orbitron', 'Space Grotesk', sans-serif; --hud: 'Orbitron', 'Space Grotesk', sans-serif; }
body { font-size: 14px; letter-spacing: .02em; line-height: 1.75; }
p, li, td, th, label, address, .woocommerce-product-details__short-description, .woocommerce-Tabs-panel { letter-spacing: .02em; }
input, select, textarea, button { font-family: var(--display); }
.srj-view-classic .srj-key__label, .srj-view-classic .srj-readout b, .srj-view-classic .srj-pad-btn b { font-size: 14px; }


/* ===== v2.1 — one button style everywhere: dark glass + gradient edge, rocket icon, fills on hover ===== */
:is(.srj-btn:not(.srj-btn--ghost), .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce-page .button,
    .woocommerce #respond input#submit, .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
    #customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button, .woocommerce div.product form.cart .button) {
  clip-path: none !important; color: #fff !important; text-shadow: none;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0)), rgba(10,8,30,.78) !important;
  border: 1px solid transparent !important; border-image: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff) 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 18px rgba(139,92,255,.18) !important;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-align: center;
  font-family: var(--display) !important; letter-spacing: .2em; transform: none;
  transition: background .25s, box-shadow .25s, transform .1s, opacity .2s; }
:is(.srj-btn:not(.srj-btn--ghost), .woocommerce a.button, .woocommerce button.button, .woocommerce-page .button,
    .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
    #customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button):not(:has(svg)):not(.added)::before {
  content: ''; width: 14px; height: 14px; flex: 0 0 auto; background: currentColor; position: static; opacity: 1;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c3 2.5 4.5 6 4.5 10.5L12 22l-4.5-9.5C7.5 8 9 4.5 12 2Zm0 5.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2c3 2.5 4.5 6 4.5 10.5L12 22l-4.5-9.5C7.5 8 9 4.5 12 2Zm0 5.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/></svg>") center / contain no-repeat;
  transform: rotate(45deg); transition: transform .3s; }
:is(.srj-btn:not(.srj-btn--ghost), .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce-page .button,
    .woocommerce #respond input#submit, .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
    #customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button, .woocommerce div.product form.cart .button):not(:disabled):not(.disabled):hover {
  background: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff) !important; box-shadow: 0 0 26px rgba(139,92,255,.55) !important; transform: none; color: #fff !important; }
:is(.srj-btn, .woocommerce .button, .wc-block-components-button, #customer_login button.button):not(:disabled):hover::before { transform: rotate(45deg) translate(2px, -2px); }
:is(.srj-btn, .woocommerce .button, .wc-block-components-button, #customer_login button.button):not(:disabled):active { transform: translateY(2px) !important; }
:is(.woocommerce button.button, .wc-block-components-button, #customer_login button.button):is(:disabled, .disabled) { opacity: .45 !important; cursor: not-allowed; }
#customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button { width: 100%; padding: 17px !important; font-size: 13px; }
.woocommerce div.product form.cart .button { padding: 18px !important; font-size: 14px; }

/* typed text, autofill */
input, textarea, select { font-family: var(--display); }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #030b10 inset !important; box-shadow: 0 0 0 1000px #030b10 inset !important;
  -webkit-text-fill-color: #e8fbff !important; caret-color: #fff; font-family: var(--display) !important; transition: background-color 99999s; }

/* show / hide password eye */
.woocommerce form .password-input, #customer_login .password-input { position: relative; display: block; }
.woocommerce form .password-input input.input-text { padding-right: 56px !important; }
.show-password-input { position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0; width: 52px; height: auto !important;
  display: grid !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid rgba(56,214,255,.25) !important;
  background: rgba(56,214,255,.06) !important; color: var(--cyan); cursor: pointer; z-index: 2; box-shadow: none !important; clip-path: none !important; transform: none !important; }
.show-password-input::before { display: none !important; }
.show-password-input::after { content: '' !important; width: 22px; height: 22px; background: currentColor !important; opacity: 1 !important; position: static !important; margin: 0 !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat; }
.show-password-input.display-password::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3l18 18'/><path d='M10.6 6.1A10.5 10.5 0 0 1 12 6c6.4 0 10 6 10 6a17 17 0 0 1-3.2 3.9M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>");
          mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3l18 18'/><path d='M10.6 6.1A10.5 10.5 0 0 1 12 6c6.4 0 10 6 10 6a17 17 0 0 1-3.2 3.9M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>");
  color: #ffd23f; }
.show-password-input:hover, .show-password-input.display-password { background: rgba(56,214,255,.16) !important; color: #fff; }

/* password strength: readable on dark */
.woocommerce-password-strength { background: #0a0820 !important; color: #fff !important; border: 1px solid currentColor; border-left-width: 4px; margin-top: 8px;
  font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .06em; padding: 10px 12px !important; text-align: left !important; }
.woocommerce-password-strength.short { color: #ff6b85 !important; }
.woocommerce-password-strength.bad { color: #ff9a4a !important; }
.woocommerce-password-strength.good { color: #ffd23f !important; }
.woocommerce-password-strength.strong { color: #5dff9a !important; }
.woocommerce-password-hint { display: block; color: #c9cdf0 !important; font-size: 12px; line-height: 1.7; margin-top: 6px; }


/* ===== v2.2 — login / register in one panel with tabs ===== */
.srj-airlock-tabs { display: grid; grid-template-columns: 1fr 1fr; max-width: 520px; margin: 0 auto; border: 1px solid rgba(170,150,255,.28); border-bottom: 0; background: rgba(6,5,20,.85); }
.srj-airlock-tabs button { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 18px 10px; background: none; border: 0; cursor: pointer;
  font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); position: relative; transition: color .2s, background .2s; }
.srj-airlock-tabs button + button { border-left: 1px solid rgba(170,150,255,.2); }
.srj-airlock-tabs button::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(170,150,255,.2); }
.srj-airlock-tabs button.is-active { color: #fff; background: linear-gradient(180deg, rgba(139,92,255,.16), rgba(139,92,255,0)); }
.srj-airlock-tabs button.is-active::after { height: 3px; background: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff); box-shadow: 0 0 14px rgba(139,92,255,.7); }
.srj-airlock-tabs button:hover { color: #fff; }
.srj-airlock-tabs .srj-led { width: 7px; height: 7px; background: #3a3660; box-shadow: none; }
.srj-airlock-tabs button.is-active .srj-led { background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.srj-airlock-tabs button[data-airlock=register].is-active .srj-led { background: var(--red); box-shadow: 0 0 8px var(--red); }
#customer_login[data-tab] { grid-template-columns: 1fr !important; max-width: 520px; gap: 0; }
#customer_login[data-tab=login] > .u-column2, #customer_login[data-tab=register] > .u-column1 { display: none !important; }
#customer_login[data-tab] > div { border-top: 0; animation: srj-drop .25s ease-out; }
#customer_login[data-tab] > div > h2 { display: none; }
.srj-airlock-switch { margin: 18px 0 0 !important; text-align: center; font-size: 12px; color: var(--muted) !important; letter-spacing: .04em; }
.srj-airlock-switch a { color: var(--cyan); }
@media (max-width: 600px) { .srj-airlock-tabs button { font-size: 11px; letter-spacing: .14em; padding: 16px 6px; } #customer_login[data-tab] > div { padding: 30px 22px 26px; } }


/* ===== v2.2.1 — iOS zooms into any field under 16px: keep fields at 16px on touch screens ===== */
@media (max-width: 860px), (pointer: coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), textarea, select,
  .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
  .wc-block-components-text-input input, .wc-block-components-textarea, .wc-blocks-components-select .wc-blocks-components-select__select,
  .srj-search__form input[type=search], .woocommerce .quantity .qty { font-size: 16px !important; letter-spacing: .02em; }
}


/* ===== v2.3 — colourful mobile flight menu: every system key has its own colour ===== */
.srj-nav li { --k: #38d6ff; --k2: #1b7fb0; }
.srj-nav li.srj-k-shop { --k: #ff3b5c; --k2: #b81d45; }
.srj-nav li.srj-k-variety { --k: #a77bff; --k2: #6a3fd6; }
.srj-nav li.srj-k-wholesale { --k: #ffb84a; --k2: #c9781a; }
.srj-nav li.srj-k-affiliate { --k: #5dff9a; --k2: #1fa45a; }
.srj-nav li.srj-k-contact { --k: #38d6ff; --k2: #1b7fb0; }
.srj-nav a .srj-key__icon { color: var(--k); border-color: color-mix(in srgb, var(--k) 45%, transparent); }
@media (max-width: 860px) {
  .srj-nav { background:
      radial-gradient(120% 40% at 100% 0%, rgba(255,59,92,.22), transparent 60%),
      radial-gradient(90% 35% at 0% 45%, rgba(139,92,255,.24), transparent 65%),
      radial-gradient(110% 40% at 100% 100%, rgba(56,214,255,.18), transparent 60%),
      linear-gradient(180deg, #17123d 0%, #0b0824 60%, #06051a 100%);
    border-left: 0; }
  .srj-nav__head { color: #fff; border-bottom: 0; position: relative; }
  .srj-nav__head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #ff3b5c, #8b5cff 50%, #38d6ff); box-shadow: 0 0 12px rgba(139,92,255,.6); }
  .srj-nav { box-shadow: -30px 0 60px rgba(0,0,0,.6), inset 3px 0 0 0 transparent; }
  .srj-nav > .srj-nav__head ~ * {}
  .srj-nav::after { background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px), linear-gradient(180deg, #ff3b5c, #8b5cff 50%, #38d6ff) 0 0 / 3px 100% no-repeat; }
  .srj-nav ul li a { position: relative;
    background: linear-gradient(100deg, color-mix(in srgb, var(--k) 26%, #1b1840) 0%, #1b1840 55%, #15123a 100%);
    border: 1px solid color-mix(in srgb, var(--k) 55%, transparent);
    box-shadow: 0 5px 0 color-mix(in srgb, var(--k2) 45%, #0b0920), 0 6px 16px rgba(0,0,0,.5), 0 0 18px color-mix(in srgb, var(--k) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.14); }
  .srj-nav ul li a::before { content: ''; position: absolute; left: -1px; top: -1px; bottom: -1px; width: 4px; background: var(--k); box-shadow: 0 0 12px var(--k); }
  .srj-nav ul li a .srj-key__icon { background: linear-gradient(160deg, var(--k), var(--k2)); color: #0a0820; border: 0; box-shadow: 0 0 14px color-mix(in srgb, var(--k) 55%, transparent), inset 0 1px 0 rgba(255,255,255,.4); }
  .srj-nav ul li a .srj-navlabel::before { color: var(--k); opacity: .9; }
  .srj-nav ul li a .srj-led { background: var(--k); box-shadow: 0 0 10px var(--k); }
  .srj-nav ul li a:hover { border-color: var(--k); }
  .srj-nav ul li a:active { box-shadow: 0 0 0 #0b0920, inset 0 2px 6px rgba(0,0,0,.5); }
  .srj-nav .current-menu-item > a { background: linear-gradient(180deg, var(--k) 0%, var(--k2) 100%); border-color: color-mix(in srgb, var(--k) 60%, #fff);
    box-shadow: 0 0 26px color-mix(in srgb, var(--k) 55%, transparent), 0 5px 0 color-mix(in srgb, var(--k2) 60%, #000); }
  .srj-nav .current-menu-item > a .srj-key__icon { background: rgba(255,255,255,.2); color: #fff; box-shadow: none; border: 1px solid rgba(255,255,255,.5); }
  .srj-nav .current-menu-item > a .srj-navlabel::before { color: rgba(255,255,255,.8); }
  .srj-nav .current-menu-item > a .srj-led { background: #fff; box-shadow: 0 0 10px #fff; }
  .srj-nav__foot { border-top: 0; position: relative; }
  .srj-nav__foot::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, #ff3b5c, #8b5cff 50%, #38d6ff); opacity: .7; }
  .srj-nav__foot .srj-key--mini { background: rgba(10,8,30,.75); border: 1px solid transparent; border-image: linear-gradient(90deg, #8b5cff, #38d6ff) 1; box-shadow: 0 0 14px rgba(56,214,255,.15); }
  .srj-nav__foot .srj-key--mini + .srj-key--mini { border-image: linear-gradient(90deg, #ff3b5c, #8b5cff) 1; box-shadow: 0 0 14px rgba(255,59,92,.18); }
  .srj-nav__foot .srj-key--mini .srj-key__label { color: #fff; }
}


/* ===== v2.4 — empty cart: cargo bay empty ===== */
.srj-emptycargo { text-align: center; max-width: 620px; margin: 10px auto 50px; padding: 0 8px; }
.srj-emptycargo__art { width: min(300px, 80vw); margin: 0 auto 10px; filter: drop-shadow(0 0 24px rgba(139,92,255,.35)); }
.srj-emptycargo__svg { width: 100%; height: auto; display: block; overflow: visible; }
.srj-emptycargo__crate { animation: srj-float 4.5s ease-in-out infinite; transform-origin: 176px 60px; }
@keyframes srj-float { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(-6px, -10px) rotate(-6deg); } }
.srj-emptycargo__kicker { font-family: var(--display); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--cyan); margin: 0 0 8px; }
.srj-emptycargo__title { font-family: var(--display); font-weight: 900; font-size: clamp(22px, 5vw, 34px); text-transform: uppercase; letter-spacing: .04em; margin: 0 0 12px;
  background: linear-gradient(90deg, #ff6b85, #b18bff 50%, #6fe3ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.srj-emptycargo__text { color: #c9cdf0; margin: 0 auto 26px; max-width: 460px; }
.srj-emptycargo__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.srj-emptycargo__h { font-family: var(--display); font-size: 16px; letter-spacing: .25em; text-transform: uppercase; text-align: center; margin: 10px 0 24px; color: #fff; }
.srj-emptycargo__h::before, .srj-emptycargo__h::after { content: ''; display: inline-block; width: 40px; height: 1px; vertical-align: middle; margin: 0 14px; background: linear-gradient(90deg, transparent, var(--cyan)); }
.srj-emptycargo__h::after { background: linear-gradient(90deg, var(--cyan), transparent); }
.wp-block-woocommerce-empty-cart-block .woocommerce ul.products { margin-bottom: 40px; }
@media (max-width: 600px) { .srj-emptycargo__h::before, .srj-emptycargo__h::after { width: 18px; margin: 0 8px; } .srj-emptycargo__cta .srj-btn { flex: 1 1 100%; } }

.srj-each { display: block; margin-top: 4px; font-family: var(--display); font-size: 11px !important; font-weight: 500; letter-spacing: .08em; color: #9fb4d9 !important; text-decoration: none; }
.woocommerce div.product p.price .srj-each { font-size: 13px !important; margin-top: 6px; }

/* v2.4.2 — heat grid uses the same bar meter as product cards */
.srj-heatcard .srj-flames .srj-heat b { display: none; }
.srj-heatcard .srj-flames .srj-heat i { width: 18px; height: 9px; }

/* v2.4.3 — one-line section heading on phones; ghost buttons get a clean square edge */
@media (max-width: 600px) {
  .srj-emptycargo__h { font-size: clamp(11px, 3.6vw, 15px); letter-spacing: .12em; white-space: nowrap; }
  .srj-emptycargo__h::before, .srj-emptycargo__h::after { width: 14px; margin: 0 8px; }
}
.srj-btn--ghost { clip-path: none !important; border: 1px solid rgba(170,150,255,.45) !important; background: rgba(10,8,30,.6) !important; color: #fff !important; }
.srj-btn--ghost:hover { border-color: var(--cyan) !important; background: rgba(56,214,255,.12) !important; box-shadow: 0 0 24px rgba(56,214,255,.35) !important; }


/* ===== v2.5 — filled cart: images, short names, payload/codename lines, clean totals ===== */
.wc-block-cart-item__image { width: 96px; }
.wc-block-cart-item__image a { display: block; }
.wc-block-cart-item__image img { width: 84px !important; height: auto !important; max-height: 110px; aspect-ratio: auto !important; object-fit: contain; background: radial-gradient(circle at 50% 60%, rgba(139,92,255,.3), transparent 70%); box-shadow: none !important; filter: drop-shadow(0 8px 14px rgba(0,0,0,.55)); }
.wc-block-components-product-name { font-family: var(--display) !important; font-weight: 800 !important; font-size: 15px !important; letter-spacing: .05em; text-transform: uppercase; color: #fff !important; line-height: 1.3; }
.wc-block-components-product-metadata { margin: 2px 0 8px !important; }
.wc-block-components-product-details { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 2px; }
.wc-block-components-product-details > * { display: block; margin: 0 !important; font-size: 12px; line-height: 1.5; }
.wc-block-components-product-details [aria-hidden=true] { display: none; }
.wc-block-components-product-details__name { display: none !important; }
.wc-block-components-product-details__payload .wc-block-components-product-details__value { color: var(--muted); }
.wc-block-components-product-details__codename .wc-block-components-product-details__value { color: var(--cyan); font-family: var(--display); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { letter-spacing: .02em !important; font-weight: 800; }
.wc-block-components-sale-badge { font-family: var(--display); font-size: 10px !important; letter-spacing: .08em; white-space: nowrap; }

.wc-block-cart-item__prices { margin: 2px 0 2px; }
.wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--display); }

/* v2.5 — clearer rocket icon on every button (gradient, upright), replaces the small leaf-like mark */
:is(.srj-btn:not(.srj-btn--ghost), .woocommerce a.button, .woocommerce button.button, .woocommerce-page .button, .woocommerce ul.products li.product .button,
    .wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button),
    #customer_login button.button, .woocommerce-account .woocommerce-MyAccount-content button.button):not(:has(svg)):not(.added)::before {
  width: 18px !important; height: 18px !important; transform: none !important;
  background: linear-gradient(135deg, #6fe3ff 0%, #b18bff 55%, #ff6b85 100%) !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/><path d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/><path d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/><path d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/></svg>") center / contain no-repeat !important; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z'/><path d='m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/><path d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0'/><path d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/></svg>") center / contain no-repeat !important; }
:is(.srj-btn, .woocommerce .button, .wc-block-components-button, #customer_login button.button):not(:disabled):hover::before { background: #fff !important; transform: translate(2px, -2px) !important; }

.wc-block-cart-item__image img { width: 84px !important; height: 108px !important; max-height: none !important; object-fit: contain !important; }


/* ===== v2.6 — cart rows like the search results: codename / name / payload / heat, price + quantity on the right ===== */
.wc-block-cart .wc-block-cart-items__header { display: none !important; }
.wc-block-cart .wc-block-cart-items { display: block !important; border: 0; }
.wc-block-cart .wc-block-cart-items tbody { display: block; }
.wc-block-cart .wc-block-cart-items__row { display: grid !important; grid-template-columns: 76px minmax(0, 1fr) auto !important; grid-template-rows: auto auto auto auto !important;
  column-gap: 16px !important; row-gap: 3px !important; align-items: center; padding: 16px 4px !important; border-bottom: 1px solid rgba(170,150,255,.14) !important; border-top: 0 !important; }
.wc-block-cart .wc-block-cart-items__row > td { border: 0 !important; padding: 0 !important; }
.wc-block-cart .wc-block-cart-item__image { grid-column: 1 !important; grid-row: 1 / span 4 !important; width: auto !important; align-self: center; }
.wc-block-cart .wc-block-cart-item__image img { width: 72px !important; height: 92px !important; }
.wc-block-cart .wc-block-cart-item__product, .wc-block-cart .wc-block-cart-item__wrap,
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details { display: contents !important; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__codename { grid-column: 2; grid-row: 1; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-name { grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; font-size: 15px !important; line-height: 1.25; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__payload { grid-column: 2; grid-row: 3; }
.wc-block-cart .wc-block-cart-item__product [class*="wc-block-components-product-details__heat-"] { grid-column: 2; grid-row: 4; display: flex !important; align-items: center; gap: 10px; margin-top: 4px !important;
  font-family: var(--display); font-size: 10px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
[class*="wc-block-components-product-details__heat-"]::before { content: ''; flex: 0 0 auto; width: 104px; height: 7px; background-repeat: no-repeat; background-size: 14px 7px; transform: skewX(-20deg); }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details > * { margin: 0 !important; }
.wc-block-cart .wc-block-cart-item__prices { display: none !important; }
.wc-block-cart .wc-block-cart-item__total { grid-column: 3 !important; grid-row: 1 / span 2 !important; align-self: end; display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 4px; text-align: right !important; }
.wc-block-cart .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 4px; }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--display); font-weight: 800; font-size: 16px; color: #fff; }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-sale-badge { margin: 0 !important; font-size: 9px !important; padding: 2px 6px !important; }
.wc-block-cart .wc-block-cart-item__quantity { grid-column: 3 !important; grid-row: 3 / span 2 !important; align-self: start; display: flex !important; align-items: center; justify-content: flex-end; gap: 6px; margin: 6px 0 0 !important; }
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector { width: 96px !important; height: 32px; margin: 0 !important; }
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector input { font-size: 14px !important; min-width: 0; padding: 0 !important; }
.wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button { min-width: 28px !important; }
.wc-block-cart .wc-block-cart-item__remove-link { margin: 0 !important; }
@media (max-width: 600px) {
  .wp-block-woocommerce-cart .wc-block-components-main { padding: 10px 14px !important; }
  .wc-block-cart .wc-block-cart-items__row { grid-template-columns: 58px minmax(0, 1fr) auto !important; column-gap: 12px !important; padding: 14px 0 !important; }
  .wc-block-cart .wc-block-cart-item__image img { width: 58px !important; height: 76px !important; }
  .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-name { font-size: 13px !important; letter-spacing: .03em; }
  .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details > * { font-size: 11px !important; }
  .wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__codename .wc-block-components-product-details__value { font-size: 9px; letter-spacing: .14em; }
  .wc-block-cart .wc-block-cart-item__quantity { flex-direction: column !important; align-items: flex-end !important; gap: 6px !important; }
  .wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector { width: 84px !important; height: 30px; }
  .wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector__button { min-width: 24px !important; }
  .wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 14px; }
  [class*="wc-block-components-product-details__heat-"]::before { width: 74px; background-size: 10px 6px; }
}
.wc-block-components-product-details__heat-aa::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ab::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(#6eeb50,#6eeb50), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ac::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ad::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ae::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-af::before { background-image: linear-gradient(#00c8ff,#00c8ff), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-bb::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#6eeb50,#6eeb50), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-bc::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-bd::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-be::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-bf::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#6eeb50,#6eeb50), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-cc::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ffaa00,#ffaa00), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-cd::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ce::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-cf::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ffaa00,#ffaa00), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-dd::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#eb141e,#eb141e), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-de::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-df::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#eb141e,#eb141e), linear-gradient(#ff005a,#ff005a), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ee::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ff005a,#ff005a), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ef::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ff005a,#ff005a), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
.wc-block-components-product-details__heat-ff::before { background-image: linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)), linear-gradient(#ffffff,#ffffff); background-position: 0px 50%, 18px 50%, 36px 50%, 54px 50%, 72px 50%, 90px 50%; }
@media (max-width: 600px) { [class*="wc-block-components-product-details__heat-"]::before { background-position: 0px 50%, 13px 50%, 26px 50%, 39px 50%, 52px 50%, 65px 50% !important; } }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-name { overflow-wrap: normal !important; word-break: normal !important; hyphens: none; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__codename { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__codename { grid-column: 2 / span 2 !important; }
.wc-block-cart .wc-block-cart-item__total { grid-row: 2 !important; align-self: start !important; }
.wc-block-cart .wc-block-cart-item__quantity { grid-row: 3 / span 2 !important; }


/* ===== v2.6.1 — checkout order summary: aligned like the steps, items like the cart ===== */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading { margin: 0 0 10px !important; padding: 0 !important; }
.wc-block-components-checkout-order-summary__title { padding: 6px 0 !important; margin: 0 !important; border: 0 !important; }
.wc-block-components-checkout-order-summary__title-text { font-size: 14px !important; white-space: nowrap; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button { padding-left: 0 !important; padding-right: 0 !important; }
.wc-block-components-order-summary .wc-block-components-order-summary-item { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 14px; row-gap: 3px; align-items: center; padding: 14px 0 !important; }
.wc-block-components-order-summary-item__image { grid-column: 1; grid-row: 1 / span 4; width: 56px !important; margin: 0 !important; padding: 0 !important; }
.wc-block-components-order-summary-item__image img { width: 52px !important; height: 66px !important; max-width: none !important; object-fit: contain; }
.wc-block-components-order-summary-item__quantity { min-width: 20px !important; height: 20px !important; font-size: 11px !important; top: -6px !important; right: -4px !important; }
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description .wc-block-components-product-details { display: contents !important; }
.wc-block-components-order-summary-item__description .wc-block-cart-item__prices,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata__description { display: none !important; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__codename { grid-column: 2 / span 2; grid-row: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.wc-block-components-order-summary-item__description .wc-block-components-product-name { grid-column: 2; grid-row: 2; margin: 0 !important; font-size: 13px !important; line-height: 1.25 !important; overflow-wrap: normal !important; word-break: normal !important; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__payload { grid-column: 2; grid-row: 3; font-size: 11px !important; }
.wc-block-components-order-summary-item__description [class*="wc-block-components-product-details__heat-"] { grid-column: 2 / span 2; grid-row: 4; display: flex !important; align-items: center; gap: 10px; margin-top: 4px !important;
  font-family: var(--display); font-size: 10px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details > * { margin: 0 !important; }
.wc-block-components-order-summary-item__total-price { grid-column: 3; grid-row: 2 / span 2; align-self: start; display: flex !important; flex-direction: column; align-items: flex-end; gap: 4px; margin: 0 !important; padding: 0 !important; text-align: right; font-family: var(--display); font-weight: 800; font-size: 14px; color: #fff; }
.wc-block-components-order-summary-item__total-price .wc-block-components-sale-badge { margin: 0 !important; font-size: 9px !important; padding: 2px 6px !important; }
@media (max-width: 600px) {
  .wc-block-checkout .wc-block-components-checkout-step, .wp-block-woocommerce-checkout-order-summary-block { padding: 22px 18px 18px !important; }
  .wc-block-components-checkout-step__title { font-size: 14px !important; }
}


/* ===== v2.7 — cart upsell orbit ===== */
.srj-upsell { margin: 44px auto 10px; max-width: 980px; text-align: center; }
body:has(.srj-emptycargo) .srj-upsell { display: none; }
.srj-upsell__kicker { font-family: var(--display); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--cyan); margin: 0 0 6px; }
.srj-upsell__title { font-family: var(--display); font-weight: 900; font-size: clamp(20px, 4vw, 28px); text-transform: uppercase; letter-spacing: .05em; margin: 0;
  background: linear-gradient(90deg, #ff6b85, #b18bff 50%, #6fe3ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.srj-upsell__orbit { position: relative; overflow: hidden; height: clamp(230px, 34vw, 300px); perspective: 1200px; perspective-origin: 50% 45%; touch-action: pan-y; user-select: none; cursor: grab; }
.srj-upsell__orbit::after { content: ''; position: absolute; left: 12%; right: 12%; bottom: 14px; height: 40px; border-radius: 50% !important; pointer-events: none;
  border: 1px solid rgba(56,214,255,.35); box-shadow: 0 0 30px rgba(139,92,255,.35), inset 0 0 20px rgba(56,214,255,.2); }
.srj-upsell__stage { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform-style: preserve-3d; z-index: 1; }
.srj-upsell__bag { position: absolute; --bw: clamp(110px, 16vw, 150px); width: var(--bw); aspect-ratio: 520 / 664; left: calc(var(--bw) / -2); top: calc(var(--bw) * -0.64);
  padding: 0; border: 0; background: none; cursor: pointer; transition: filter .3s; will-change: transform; }
.srj-upsell__bag img { width: 100%; height: 100%; object-fit: contain; pointer-events: none; filter: drop-shadow(0 14px 18px rgba(0,0,0,.6)); }
.srj-upsell__bag.is-front img { filter: drop-shadow(0 14px 18px rgba(0,0,0,.6)); }
.srj-upsell__bag.is-launch { animation: srj-uplift .9s ease-out; }
@keyframes srj-uplift { 40% { translate: 0 -24px; } 100% { translate: 0 0; } }
.srj-upsell__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; display: grid; place-items: center; z-index: 3000; cursor: pointer;
  background: rgba(10,8,30,.75); border: 1px solid rgba(170,150,255,.35); color: #fff; }
.srj-upsell__arrow:hover { border-color: var(--cyan); color: var(--cyan); box-shadow: 0 0 16px rgba(56,214,255,.35); }
.srj-upsell__arrow svg { width: 18px; height: 18px; }
.srj-upsell__arrow--prev { left: 0; } .srj-upsell__arrow--next { right: 0; }
.srj-upsell__info { display: grid; justify-items: center; gap: 6px; max-width: 420px; margin: 0 auto; }
.srj-upsell__info.is-in { animation: srj-drop .3s ease-out; }
.srj-upsell__code { font-family: var(--display); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--glow, var(--cyan)); }
.srj-upsell__name { font-family: var(--display); font-weight: 800; font-size: 18px; letter-spacing: .05em; text-transform: uppercase; color: #fff; }
.srj-upsell__sub { font-size: 12px; color: var(--muted); }
.srj-upsell__price { font-family: var(--display); font-weight: 800; font-size: 18px; color: var(--gold); }
.srj-upsell__price del { color: var(--muted); font-weight: 400; font-size: 13px; margin-right: 6px; }
.srj-upsell__add { margin-top: 8px; min-width: 220px; }
.srj-upsell__add.is-loading { opacity: .6; }
.srj-upsell__add.is-done { background: linear-gradient(90deg, #ff3b5c, #8b5cff 55%, #38d6ff) !important; }
@media (max-width: 600px) { .srj-upsell__arrow { width: 36px; height: 36px; } .srj-upsell__add { width: 100%; } }

/* v2.8 — upsell quantity + buy row */
.srj-upsell__buy { display: flex; gap: 10px; align-items: stretch; justify-content: center; margin-top: 10px; width: 100%; }
.srj-upsell__buy .srj-upsell__add { margin: 0; flex: 1; min-width: 0; max-width: 300px; }
.srj-qty { display: flex; align-items: stretch; border: 1px solid rgba(56,214,255,.4); background: #030b10; flex: 0 0 auto; }
.srj-qty button { width: 40px; background: none; border: 0; color: var(--cyan); font-family: var(--display); font-size: 18px; cursor: pointer; }
.srj-qty button:hover { background: rgba(56,214,255,.12); color: #fff; }
.srj-qty input { width: 44px; text-align: center; background: transparent !important; border: 0 !important; border-left: 1px solid rgba(56,214,255,.2) !important; border-right: 1px solid rgba(56,214,255,.2) !important;
  color: #7dffb0 !important; font-family: var(--display); font-weight: 800; font-size: 16px !important; -moz-appearance: textfield; padding: 0 !important; }
.srj-qty input::-webkit-outer-spin-button, .srj-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
@media (max-width: 600px) { .srj-upsell__buy .srj-upsell__add { width: auto; } }
.srj-cart-count.is-bump { animation: srj-bump .5s ease-out; }
@keyframes srj-bump { 40% { transform: scale(1.5); } }
.single-product .srj-upsell, .error404 .srj-upsell { margin-top: 70px; }
.woocommerce-order .srj-upsell { margin-top: 50px; }
.srj-upsell__buy .srj-upsell__add { white-space: nowrap; padding: 14px 16px !important; }
@media (max-width: 600px) { .srj-upsell__buy .srj-upsell__add { font-size: 12px !important; letter-spacing: .12em !important; gap: 8px; } .srj-qty button { width: 34px; } .srj-qty input { width: 38px; } }

/* v2.8.1 — homepage story column uses the add-to-cargo orbit */
.srj-story__visual--orbit { aspect-ratio: auto; display: block; }
.srj-story__visual--orbit .srj-planet { position: absolute; inset: auto; left: 50%; top: 52%; width: min(70%, 380px); aspect-ratio: 1; transform: translate(-50%, -50%); opacity: .45; filter: blur(1px); z-index: 0; }
.srj-story__visual--orbit .srj-upsell { position: relative; z-index: 1; margin: 0 auto; }


/* ===== v2.9 — one naming style: codename = small glowing kicker ABOVE the flavor name ===== */
.woocommerce ul.products li.product .srj-cardcode { display: block; padding: 16px 18px 0; font-family: var(--display); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--cyan); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.woocommerce ul.products li.product .srj-cardcode + .woocommerce-loop-product__title { padding-top: 4px !important; }
.tax-product_cat:is(.term-variety-packs, .term-3-packs, .term-10-packs) ul.products li.product .srj-cardcode { padding: 18px 24px 0; }
@media (max-width: 600px) { .woocommerce ul.products li.product .srj-cardcode { padding: 12px 12px 0; font-size: 9px; letter-spacing: .16em; } }
/* hero info */
.srj-info__code { font-family: var(--display) !important; font-weight: 700 !important; font-size: 12px !important; letter-spacing: .35em !important; text-transform: uppercase; color: var(--glow, var(--cyan)) !important;
  -webkit-text-fill-color: currentColor; background: none !important; text-shadow: 0 0 12px var(--glow, var(--cyan)) !important; margin: 0 0 6px !important; }
.srj-info__flavor { font-family: var(--display); font-weight: 900; font-size: clamp(26px, 3.4vw, 44px); text-transform: uppercase; margin: 0; line-height: 1.15; letter-spacing: normal;
  color: #fff; text-shadow: 0 0 22px var(--glow), 0 0 2px var(--glow); }
.srj-info__name { margin: 6px 0 10px !important; }
@media (max-width: 860px) { .srj-info__flavor { font-size: 26px; } }
/* flavor index */
.srj-index__item .srj-index__code { display: block; font-family: var(--display); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--glow, var(--cyan)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srj-index__item b { color: #fff; font-size: 12px; letter-spacing: .04em; margin: 2px 0 4px; }
/* product page kicker */
.srj-pcode { letter-spacing: .3em; }

/* v2.9.2 — glowing flavor name in the upsell; product-page quantity uses the − 1 + control */
.srj-upsell__name { text-shadow: 0 0 22px var(--glow, #8b5cff), 0 0 2px var(--glow, #8b5cff); font-weight: 900; font-size: 20px; }
.srj-upsell__code { text-shadow: 0 0 10px var(--glow, var(--cyan)); }
.woocommerce div.product form.cart .quantity.srj-qty { display: flex; align-items: stretch; margin: 0 12px 0 0 !important; border: 1px solid rgba(56,214,255,.4); background: #030b10; height: auto; }
.woocommerce .quantity.srj-qty .qty { width: 48px !important; height: auto !important; min-height: 52px; border: 0 !important; border-left: 1px solid rgba(56,214,255,.2) !important; border-right: 1px solid rgba(56,214,255,.2) !important;
  background: transparent !important; color: #7dffb0 !important; font-weight: 800; font-size: 17px !important; padding: 0 !important; -moz-appearance: textfield; box-shadow: none !important; }
.woocommerce .quantity.srj-qty .qty::-webkit-outer-spin-button, .woocommerce .quantity.srj-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity.srj-qty button { width: 44px; background: none; border: 0; color: var(--cyan); font-family: var(--display); font-size: 20px; cursor: pointer; padding: 0; }
.woocommerce .quantity.srj-qty button:hover { background: rgba(56,214,255,.12); color: #fff; }
@media (max-width: 600px) { .woocommerce .quantity.srj-qty button { width: 38px; } .woocommerce .quantity.srj-qty .qty { width: 42px !important; } }
.woocommerce div.product form.cart .quantity.srj-qty { margin: 0 !important; }
.woocommerce div.product form.cart .button { white-space: nowrap; }
@media (max-width: 600px) { .woocommerce div.product form.cart .button { font-size: 12px !important; letter-spacing: .12em !important; padding: 16px 12px !important; gap: 8px; } }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none !important; }

/* ===== v2.10 — price takes the heat-level colour; currency sign at half size ===== */
.srj-hl-0 { --hc: #787d87; } .srj-hl-1 { --hc: #00c8ff; } .srj-hl-2 { --hc: #6eeb50; } .srj-hl-3 { --hc: #ffaa00; } .srj-hl-4 { --hc: #eb141e; } .srj-hl-5 { --hc: #ff005a; } .srj-hl-6 { --hc: #ffffff; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="a"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="a"]) { --hc: #00c8ff; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="b"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="b"]) { --hc: #6eeb50; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="c"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="c"]) { --hc: #ffaa00; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="d"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="d"]) { --hc: #eb141e; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="e"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="e"]) { --hc: #ff005a; }
.wc-block-cart-items__row:has([class*="details__heat-"][class$="f"]), .wc-block-components-order-summary-item:has([class*="details__heat-"][class$="f"]) { --hc: #ffffff; }
.woocommerce ul.products li.product[class*="srj-hl-"] .price, .woocommerce ul.products li.product[class*="srj-hl-"] .price ins,
.woocommerce div.product[class*="srj-hl-"] p.price, .woocommerce div.product[class*="srj-hl-"] p.price ins,
.wc-block-cart-item__total .wc-block-components-product-price, .wc-block-components-order-summary-item__total-price,
.srj-sr__price, .srj-sr__price ins { color: var(--hc, #fff) !important; text-shadow: 0 0 14px color-mix(in srgb, var(--hc, transparent) 45%, transparent); }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del, .srj-sr__price del { color: var(--muted) !important; text-shadow: none; }
.woocommerce ul.products li.product .price .srj-each, .woocommerce div.product p.price .srj-each { color: #9fb4d9 !important; text-shadow: none; }
.srj-upsell__price, .srj-upsell__price ins, .srj-info__price, .srj-info__price ins { color: color-mix(in srgb, var(--glow, #ffd23f) 85%, #fff) !important; text-shadow: 0 0 14px color-mix(in srgb, var(--glow, transparent) 50%, transparent); }
.srj-upsell__price del, .srj-info__price del { color: var(--muted) !important; text-shadow: none; }
ins { text-decoration: none; }
.woocommerce-Price-currencySymbol, .wc-block-components-formatted-money-amount__currency-symbol, .srj-cur { font-size: .5em; vertical-align: .62em; line-height: 0; margin-right: .06em; font-weight: inherit; }


/* ===== v2.11 Mission Log ===== */
.srj-nav li.srj-k-mission { --k: #b57bff; --k2: #6a3fc4; }
.srj-ml-tabs { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 28px; }
.srj-ml-tabs a { font-family:var(--hud); font-size:12px; letter-spacing:.12em; text-transform:uppercase; padding:10px 16px; border:1px solid var(--line); color:#cfd3ff; }
.srj-ml-tabs a.is-on, .srj-ml-tabs a:hover { border-color:#b57bff; color:#fff; background:rgba(181,123,255,.12); }
.srj-ml-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px; }
.srj-ml-card { background:var(--panel); border:1px solid var(--line); padding:22px; display:flex; flex-direction:column; gap:10px; }
.srj-ml-card:hover { border-color:#b57bff; }
.srj-ml-card h2 { font-size:17px; line-height:1.35; margin:0; }
.srj-ml-card p { margin:0; color:#aeb3dc; font-size:14px; }
.srj-ml-badge { font-family:var(--hud); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#b57bff; }
.srj-ml-badge.is-nasa { color:#38d6ff; } .srj-ml-badge.is-link { color:#8d92b8; }
.srj-ml-date { font-size:12px; color:#8d92b8; margin-top:auto; }
.srj-ml-single { max-width:820px; margin:0 auto; }
.srj-ml-src { margin-top:26px; padding:16px 18px; border:1px solid var(--line); font-size:13px; color:#aeb3dc; }
.srj-ml-src a { color:#fff; text-decoration:underline; }
.srj-pair { display:grid; grid-template-columns:140px 1fr; gap:22px; margin:34px 0 0; padding:22px; border:1px solid #b57bff; background:rgba(181,123,255,.07); align-items:center; }
.srj-pair__img img { width:100%; height:auto; display:block; }
.srj-pair__kicker { font-family:var(--hud); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#b57bff; margin:0 0 4px; }
.srj-pair__name { font-size:18px; margin:0 0 6px; } .srj-pair__price { margin:0 0 12px; }
.srj-pair__cta { display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:600px){ .srj-pair { grid-template-columns:96px 1fr; gap:14px; padding:16px; } .srj-pair__cta .srj-btn { padding:10px 14px; font-size:12px; } }
@media (min-width: 981px) and (max-width: 1599px) {
	.srj-nav ul { gap: 0; }
	.srj-nav .srj-key { padding: 9px 8px; gap: 8px; }
	.srj-nav .srj-key .srj-led { display: none; }
	.srj-nav .srj-navlabel { font-size: 11px; letter-spacing: .08em; }
}

/* v2.11.1 pairing card = cart-row style */
.srj-pair { display:block; padding:20px 22px; --hc:#38d6ff; }
.srj-pair__row { display:grid; grid-template-columns:96px 1fr auto; gap:18px; align-items:center; padding-bottom:16px; border-bottom:1px solid var(--line); }
.srj-pair__img img { width:100%; height:auto; display:block; }
.srj-pair__body { display:flex; flex-direction:column; gap:5px; min-width:0; }
.srj-pair__code { font-family:var(--hud); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#38d6ff; }
.srj-pair__name { font-size:clamp(16px,2.4vw,22px); margin:0; text-transform:uppercase; line-height:1.2; }
.srj-pair__name a { color:#fff; }
.srj-pair__sub { font-size:13px; color:#aeb3dc; }
.srj-pair__buy { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.srj-pair__price { font-family:var(--hud); font-weight:700; font-size:20px; color:var(--hc); }
.srj-pair__price del { opacity:.5; font-size:.7em; margin-right:4px; } .srj-pair__price ins { text-decoration:none; }
.srj-pair__save { font-size:11px; letter-spacing:.06em; color:#ffd23f; border:1px solid #ffd23f; padding:2px 8px; }
.srj-pair__cta { display:flex; flex-wrap:wrap; gap:10px; align-items:stretch; margin-top:16px; }
.srj-pair__cta .srj-btn.is-done { border-color:#5dff9a; }
@media (max-width:600px){
	.srj-pair { padding:16px; }
	.srj-pair__row { grid-template-columns:72px 1fr; gap:12px; }
	.srj-pair__buy { grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:space-between; }
	.srj-pair__cta .srj-qty { flex:0 0 auto; } .srj-pair__cta .srj-btn { flex:1 1 auto; padding:12px 10px; font-size:12px; }
}

/* v2.11.2 */
.srj-pair__img img { object-fit: contain !important; aspect-ratio: auto !important; height: auto !important; }
.srj-pair__deal { margin-left: 8px; color: #ffd23f; letter-spacing: .1em; }
@media (max-width:600px){ .srj-pair__deal { display: block; margin: 4px 0 0; } }

/* =====================================================================
 * v2.12 — Card Vault, Passport, Heat Ladder, Fuel gauge, Scratch, Quiz, Eggs
 * ===================================================================== */
.srj-vaultbtn { position: relative; color: #ffd23f !important; }
.srj-vaultbtn__n { position: absolute; top: -4px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; background: #ffd23f; color: #120a00; font: 700 10px/17px var(--display); text-align: center; box-shadow: 0 0 10px #ffd23f; }

/* ---------- toast ---------- */
.srj-toast { position: fixed; left: 50%; bottom: 24px; z-index: 9999; transform: translate(-50%, 30px); opacity: 0; transition: .35s; max-width: min(92vw, 460px); padding: 14px 18px; background: #0d0a24; border: 1px solid var(--cyan); color: #fff; font-size: 14px; box-shadow: 0 10px 40px rgba(0,0,0,.6), 0 0 24px rgba(56,214,255,.25); }
.srj-toast.is-in { transform: translate(-50%, 0); opacity: 1; }
.srj-toast.is-gold { border-color: #ffd23f; box-shadow: 0 10px 40px rgba(0,0,0,.6), 0 0 24px rgba(255,210,63,.35); }
.srj-toast a { color: #ffd23f; text-decoration: underline; }

/* ---------- cards ---------- */
.srj-binder { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; }
.srj-tc { --c1: #38d6ff; --c2: #1b7fb0; --mx: 50%; --my: 50%; --rx: 0deg; --ry: 0deg; position: relative; aspect-ratio: 63 / 88; cursor: pointer; transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s ease-out, box-shadow .25s; isolation: isolate; outline: none; }
.srj-tc.is-tilt { transition: transform .05s linear; }
.srj-tc:hover, .srj-tc:focus-visible { transform: perspective(900px) translateY(-4px) rotateX(var(--rx)) rotateY(var(--ry)); }
.srj-tc__in { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 7%; background: linear-gradient(160deg, #141036 0%, #07061a 70%); border: 2px solid var(--c1); box-shadow: inset 0 0 0 3px #07061a, inset 0 0 0 4px color-mix(in srgb, var(--c1) 45%, transparent), 0 8px 24px rgba(0,0,0,.5); overflow: hidden; }
.srj-tc__top { display: flex; justify-content: space-between; gap: 6px; font: 600 clamp(7px, .62vw, 9px)/1.2 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--c1); }
.srj-tc__art { position: relative; flex: 1 1 auto; margin: 6% 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--c1) 50%, transparent); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--c1) 35%, #07061a), #07061a 70%); min-height: 0; }
.srj-tc__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.r-n .srj-tc__img { object-fit: contain; padding: 6%; filter: drop-shadow(0 6px 10px rgba(0,0,0,.6)); }
.srj-tc__name { font: 800 clamp(10px, 1vw, 13px)/1.15 var(--display); text-transform: uppercase; color: #fff; letter-spacing: .04em; }
.srj-tc__sub { font-size: clamp(9px, .8vw, 11px); color: #aeb3dc; margin-top: 2px; line-height: 1.25; min-height: 1.25em; }
.srj-tc__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 5%; font: 600 clamp(6px, .55vw, 8px)/1 var(--display); letter-spacing: .18em; text-transform: uppercase; color: #6b6f9f; }
.srj-tc__foot img { height: clamp(9px, 1vw, 14px); width: auto; opacity: .7; }
.srj-tc__heat { position: absolute; left: 6px; bottom: 6px; padding: 2px 6px; font: 700 8px/1.4 var(--display); letter-spacing: .12em; text-transform: uppercase; color: #07061a; background: var(--h); }
.srj-tc__count { position: absolute; top: -8px; right: -8px; z-index: 3; min-width: 28px; padding: 3px 7px; background: #ffd23f; color: #120a00; font: 800 12px/1.2 var(--display); text-align: center; box-shadow: 0 0 12px rgba(255,210,63,.6); }
.srj-tc__tag { position: absolute; left: 50%; top: 50%; z-index: 3; transform: translate(-50%, -50%) rotate(-12deg); padding: 4px 10px; border: 2px solid #ffd23f; color: #ffd23f; font: 800 11px var(--display); letter-spacing: .14em; text-transform: uppercase; background: rgba(7,6,26,.8); }
.srj-tc.is-traded .srj-tc__in { filter: grayscale(.8) brightness(.55); }
.srj-tc__holo, .srj-tc__glare { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.srj-tc__glare { background: radial-gradient(circle at var(--mx) var(--my), rgba(255,255,255,.28), transparent 45%); opacity: 0; transition: opacity .2s; mix-blend-mode: overlay; }
.srj-tc.is-tilt .srj-tc__glare, .srj-tc:hover .srj-tc__glare { opacity: 1; }

/* themes (normal cards) */
.t-rocket { --c1: #ff6a3d; --c2: #b52a0f; }
.t-alien { --c1: #5dff9a; --c2: #1fa45a; }
.t-zombie { --c1: #b8ff3c; --c2: #6a2fbf; }
.t-zombie .srj-tc__art { background: radial-gradient(circle at 50% 40%, #3b1b66, #07061a 70%); }
.t-space { --c1: #38d6ff; --c2: #1b7fb0; }

/* rare: holo foil */
.r-r { --c1: #c9b8ff; }
.r-r .srj-tc__in { border-image: linear-gradient(135deg, #ff6ad5, #c774e8, #ad8cff, #8795e8, #94d0ff, #5dff9a, #ffd23f, #ff6ad5) 1; }
.r-r .srj-tc__holo { background: linear-gradient(115deg, transparent 20%, rgba(255,106,213,.35) 32%, rgba(148,208,255,.35) 42%, rgba(93,255,154,.3) 52%, rgba(255,210,63,.3) 62%, transparent 75%); background-size: 260% 260%; background-position: var(--mx) var(--my); mix-blend-mode: color-dodge; opacity: .55; animation: srjHolo 6s linear infinite; }
.r-r.is-tilt .srj-tc__holo { animation: none; opacity: .8; }
@keyframes srjHolo { 0% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } 100% { background-position: 0% 0%; } }

/* unique: gold glow frame + foil sweep + glowing mission code */
.r-u { --c1: #ffd23f; }
.r-u .srj-tc__in { background: linear-gradient(160deg, #1e1606 0%, #07061a 65%); box-shadow: inset 0 0 0 3px #07061a, inset 0 0 0 4px rgba(255,210,63,.6), 0 0 22px rgba(255,210,63,.35), 0 8px 24px rgba(0,0,0,.5); animation: srjGold 3s ease-in-out infinite; }
@keyframes srjGold { 50% { box-shadow: inset 0 0 0 3px #07061a, inset 0 0 0 4px rgba(255,210,63,.9), 0 0 36px rgba(255,210,63,.6), 0 8px 24px rgba(0,0,0,.5); } }
.r-u .srj-tc__holo { background: linear-gradient(105deg, transparent 35%, rgba(255,240,180,.55) 48%, rgba(255,210,63,.2) 52%, transparent 62%); background-size: 300% 100%; animation: srjSweep 3.4s ease-in-out infinite; mix-blend-mode: screen; }
@keyframes srjSweep { 0% { background-position: 120% 0; } 60%, 100% { background-position: -40% 0; } }
.srj-tc__code { position: absolute; right: 6px; top: 6px; z-index: 2; font: 900 clamp(14px, 1.6vw, 22px)/1 var(--display); letter-spacing: .06em; color: #fff6cf; text-shadow: 0 0 6px #ffd23f, 0 0 16px #ffb300, 0 0 32px #ff8a1f; }
.r-l .srj-tc__code { color: #e8fbff; text-shadow: 0 0 6px #94d0ff, 0 0 16px #ad8cff, 0 0 30px #ff6ad5; }

/* limited: black-gold + prismatic sparkle + serial */
.r-l { --c1: #e8d18a; }
.r-l .srj-tc__in { background: linear-gradient(160deg, #0b0b0b, #1a1406 60%, #050505); border: 2px solid transparent; border-image: linear-gradient(135deg, #fff6cf, #b88a1c, #fff6cf, #6b4e0a, #fff6cf) 1; }
.r-l .srj-tc__holo { background: radial-gradient(circle at 20% 30%, rgba(255,255,255,.8) 0 1px, transparent 2px), radial-gradient(circle at 70% 60%, rgba(255,255,255,.7) 0 1px, transparent 2px), radial-gradient(circle at 40% 80%, rgba(255,255,255,.6) 0 1px, transparent 2px), linear-gradient(125deg, transparent 30%, rgba(255,106,213,.25), rgba(148,208,255,.3), rgba(255,210,63,.25), transparent 70%); background-size: 60px 60px, 80px 80px, 50px 50px, 250% 250%; animation: srjHolo 5s linear infinite; mix-blend-mode: screen; }
.srj-tc__serial { margin-top: 4px; font: 800 clamp(9px, .9vw, 12px)/1 var(--display); letter-spacing: .12em; color: #ffd23f; text-shadow: 0 0 8px rgba(255,210,63,.6); }
.r-s { --c1: #ff3bd8; }
.r-s .srj-tc__in { animation: srjGlitch 2.4s steps(1) infinite; }
@keyframes srjGlitch { 0%, 92%, 100% { transform: none; filter: none; } 94% { transform: translateX(2px); filter: hue-rotate(90deg); } 96% { transform: translateX(-2px); filter: hue-rotate(-60deg); } }

/* generated art */
.srj-art { position: absolute; inset: 0; }
.srj-art--bh { background: radial-gradient(circle at 50% 50%, #000 0 18%, transparent 19%), conic-gradient(from 0deg, #ff8a1f, #ffd23f, #fff6cf, #ff3b5c, #8b5cff, #ff8a1f); animation: srjSpin 9s linear infinite; }
.srj-art--bh::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle, transparent 18%, rgba(0,0,0,.2) 30%, #000 68%); }
.srj-art--bh i { position: absolute; left: 50%; top: 50%; width: 40%; height: 40%; transform: translate(-50%, -50%); background: radial-gradient(circle, #000 55%, transparent 58%); box-shadow: 0 0 30px 10px rgba(255,170,60,.25); z-index: 1; }
@keyframes srjSpin { to { transform: rotate(360deg); } }
.srj-art--srj { display: grid; place-items: center; background: radial-gradient(circle at 50% 120%, #2a68ff 0%, #0a1230 45%, #000 70%); }
.srj-art--srj img { width: 70%; filter: drop-shadow(0 0 14px rgba(255,210,63,.6)); }
.srj-art--glitch { display: grid; place-items: center; background: repeating-linear-gradient(0deg, #0a0013 0 3px, #170028 3px 6px); font: 800 clamp(9px, 1vw, 13px) var(--display); color: #ff3bd8; text-shadow: 2px 0 #38d6ff, -2px 0 #ffd23f; letter-spacing: .1em; }

/* unknown */
.srj-tc.is-unknown { cursor: default; }
.srj-tc.is-unknown .srj-tc__in { background: repeating-linear-gradient(45deg, #0a0920 0 8px, #0d0b28 8px 16px); border-style: dashed; border-color: color-mix(in srgb, var(--c1) 45%, transparent); box-shadow: none; animation: none; }
.srj-tc.is-unknown.r-u { --c1: #ffd23f; } .srj-tc.is-unknown.r-l { --c1: #e8d18a; } .srj-tc.is-unknown.r-r { --c1: #c9b8ff; } .srj-tc.is-unknown.r-n { --c1: #6b6f9f; }
.srj-tc__q { flex: 1; display: grid; place-items: center; font: 900 clamp(40px, 5vw, 64px)/1 var(--display); color: color-mix(in srgb, var(--c1) 70%, transparent); text-shadow: 0 0 20px color-mix(in srgb, var(--c1) 40%, transparent); }
.srj-tc.is-unknown .srj-tc__name { color: #6b6f9f; }

/* big card in modals */
.srj-tc.is-big { width: min(300px, 70vw); }
.srj-tc.is-big .srj-tc__top { font-size: 10px; }
.srj-tc.is-big .srj-tc__name { font-size: 18px; }
.srj-tc.is-big .srj-tc__sub { font-size: 13px; }
.srj-tc.is-big .srj-tc__foot { font-size: 9px; }
.srj-tc.is-big .srj-tc__foot img { height: 16px; }
.srj-tc.is-big .srj-tc__code { font-size: 30px; }
.srj-tc.is-big .srj-tc__serial { font-size: 14px; }

/* ---------- vault page ---------- */
.srj-vault__head .srj-lead { max-width: 640px; margin: 0 auto; }
.srj-vault__login { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; padding: 26px; margin-bottom: 22px; border: 1px solid #ffd23f; background: linear-gradient(120deg, rgba(255,210,63,.08), rgba(13,10,36,.8)); }
.srj-vault__login h2 { font-size: 22px; margin: 4px 0; } .srj-vault__login p { margin: 0; color: #c7cbef; }
.srj-vault__kicker, .srj-pack__count { font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #ffd23f; margin: 0; }
.srj-vault__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; padding: 16px 20px; background: var(--panel); border: 1px solid var(--line); margin-bottom: 14px; }
.srj-vault__rank { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-family: var(--display); }
.srj-vault__stars { color: #ffd23f; letter-spacing: .1em; text-shadow: 0 0 10px rgba(255,210,63,.6); }
.srj-vault__titles { font-size: 11px; color: #ff8a1f; letter-spacing: .12em; text-transform: uppercase; }
.srj-vault__stat { font-family: var(--display); } .srj-vault__stat b { font-size: 22px; color: #fff; } .srj-vault__stat span { color: var(--muted); font-size: 12px; margin-left: 6px; }
.srj-vault__open { margin-left: auto; }
.srj-vault__open.has-packs { animation: srjPulse 1.6s ease-in-out infinite; border-color: #ffd23f !important; }
@keyframes srjPulse { 50% { box-shadow: 0 0 26px rgba(255,210,63,.55); } }
.srj-vault__open:disabled { opacity: .45; cursor: default; animation: none; }
.srj-vault__tabs { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 22px; border-bottom: 1px solid var(--line); scrollbar-width: none; }
.srj-vault__tabs button { position: relative; flex: 0 0 auto; padding: 12px 16px; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted); font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.srj-vault__tabs button[aria-selected="true"] { color: #fff; border-bottom-color: #ffd23f; }
.srj-dot { position: absolute; top: 8px; right: 4px; width: 7px; height: 7px; background: #ffd23f; box-shadow: 0 0 8px #ffd23f; }
.srj-vault__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.srj-vault__filters button { padding: 8px 14px; background: none; border: 1px solid var(--line); color: #cfd3ff; font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.srj-vault__filters button.is-on { border-color: #ffd23f; color: #fff; background: rgba(255,210,63,.1); }
.srj-set { margin-bottom: 40px; }
.srj-set header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px 12px; margin-bottom: 16px; }
.srj-set h3 { margin: 0; font-size: 18px; text-transform: uppercase; } .srj-set header span { font: 700 13px var(--display); color: #ffd23f; }
.srj-set__bar { grid-column: 1 / -1; height: 4px; background: rgba(255,255,255,.08); } .srj-set__bar i { display: block; height: 100%; background: linear-gradient(90deg, #38d6ff, #ffd23f); box-shadow: 0 0 10px rgba(255,210,63,.6); }
.srj-muted { color: var(--muted); font-size: 13px; }

/* modal */
.srj-modal { position: fixed; inset: 0; z-index: 9990; display: grid; place-items: center; padding: 16px; opacity: 0; transition: opacity .25s; }
.srj-modal.is-in { opacity: 1; }
.srj-modal__bg { position: absolute; inset: 0; background: rgba(1,1,6,.82); backdrop-filter: blur(4px); }
.srj-modal__box { position: relative; max-width: 860px; width: 100%; max-height: 92vh; overflow: auto; padding: 30px; background: #0b0920; border: 1px solid var(--line-strong); box-shadow: 0 20px 80px rgba(0,0,0,.7); }
.srj-modal__x { position: absolute; top: 6px; right: 10px; background: none; border: 0; color: #fff; font-size: 30px; cursor: pointer; line-height: 1; }
html.srj-noscroll { overflow: hidden; }
.srj-cardview { display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center; }
.srj-cardinfo h3 { font-size: 24px; text-transform: uppercase; margin: 4px 0 10px; }
.srj-cardinfo__set { font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #ffd23f; margin: 0; }
.srj-cardinfo p { color: #c7cbef; }
.srj-cardinfo__own b { color: #ffd23f; }
.srj-credit { font-size: 11px; color: #6b6f9f; }
.srj-choose { text-align: center; } .srj-choose h3 { font-size: 22px; }
@media (max-width: 640px) { .srj-cardview { grid-template-columns: 1fr; justify-items: center; text-align: center; } .srj-modal__box { padding: 22px 16px; } }

/* pack opening */
.srj-modal--pack .srj-modal__box { background: radial-gradient(circle at 50% 30%, #1b1450, #07061a 70%); text-align: center; }
.srj-pack { display: flex; flex-direction: column; align-items: center; gap: 16px; min-height: 420px; justify-content: center; }
.srj-pack__wrap { position: relative; width: 220px; height: 300px; padding: 0; border: 0; cursor: pointer; background: none; animation: srjFloat 2.4s ease-in-out infinite; }
.srj-pack__foil { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, #ff3b5c, #8b5cff 45%, #38d6ff); box-shadow: 0 0 40px rgba(139,92,255,.6), inset 0 0 0 2px rgba(255,255,255,.4); color: #fff; font-family: var(--display); }
.srj-pack__foil::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 4px, transparent 4px 12px); }
.srj-pack__foil img { width: 110px; } .srj-pack__foil b { font-size: 18px; letter-spacing: .2em; text-transform: uppercase; } .srj-pack__foil em { font-style: normal; font-size: 11px; letter-spacing: .14em; opacity: .85; }
@keyframes srjFloat { 50% { transform: translateY(-8px) rotate(-1deg); } }
.srj-pack__wrap.is-tear { animation: srjShake .5s linear; }
.srj-pack__wrap.is-tear .srj-pack__foil { animation: srjTear .5s ease-in forwards; }
@keyframes srjShake { 20%, 60% { transform: translateX(-6px) rotate(-2deg); } 40%, 80% { transform: translateX(6px) rotate(2deg); } }
@keyframes srjTear { to { clip-path: polygon(0 18%, 100% 8%, 100% 100%, 0 100%); opacity: 0; transform: scale(1.1); } }
.srj-flip { position: relative; width: min(300px, 70vw); aspect-ratio: 63 / 88; perspective: 1200px; }
.srj-flip__in { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.srj-flip.is-flipped .srj-flip__in { transform: rotateY(180deg); }
.srj-flip__back, .srj-flip__front { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.srj-flip__back { display: grid; place-items: center; background: repeating-linear-gradient(45deg, #120f38 0 10px, #0b0920 10px 20px); border: 2px solid #8b5cff; }
.srj-flip__back img { width: 50%; opacity: .8; }
.srj-flip__front { transform: rotateY(180deg); } .srj-flip__front .srj-tc { width: 100%; }
.srj-burst { position: absolute; inset: -40%; z-index: -1; opacity: 0; pointer-events: none; background: conic-gradient(from 0deg, transparent 0 10deg, rgba(255,255,255,.18) 10deg 14deg, transparent 14deg 30deg); -webkit-mask: radial-gradient(circle, #000 20%, transparent 65%); mask: radial-gradient(circle, #000 20%, transparent 65%); }
.srj-flip.is-flipped.r-r .srj-burst { opacity: 1; background: conic-gradient(from 0deg, #ff6ad5, #94d0ff, #5dff9a, #ffd23f, #ff6ad5); animation: srjSpin 6s linear infinite; filter: blur(30px); opacity: .5; }
.srj-flip.is-flipped.r-u .srj-burst, .srj-flip.is-flipped.r-l .srj-burst { opacity: 1; animation: srjSpin 10s linear infinite; background: conic-gradient(from 0deg, transparent 0 8deg, rgba(255,210,63,.55) 8deg 12deg, transparent 12deg 24deg); }
.srj-flip.is-flipped.r-u::after, .srj-flip.is-flipped.r-l::after { content: ''; position: fixed; inset: 0; background: rgba(255,240,180,.5); animation: srjFlash .7s ease-out forwards; pointer-events: none; z-index: 5; }
@keyframes srjFlash { to { opacity: 0; } }
.srj-pack__label { font: 700 14px var(--display); letter-spacing: .14em; text-transform: uppercase; margin: 0; color: #fff; }
.srj-new { color: #120a00; background: #ffd23f; padding: 2px 8px; margin-right: 6px; }
.srj-pack__nav { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.srj-pack__sum { margin: 0; font-size: 22px; }
.srj-binder--sum { width: 100%; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.srj-tc.is-deal { animation: srjDeal .5s both; }
@keyframes srjDeal { from { opacity: 0; transform: translateY(30px) rotate(-8deg) scale(.8); } }

/* passport */
.srj-passport { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; margin-bottom: 30px; }
.srj-passport__cover { aspect-ratio: 3 / 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px; background: linear-gradient(160deg, #1a2a6c, #0b1640 60%, #060a20); border: 2px solid #ffd23f; box-shadow: inset 0 0 0 6px #0b1640, inset 0 0 0 7px rgba(255,210,63,.5), 0 14px 40px rgba(0,0,0,.5); font-family: var(--display); text-transform: uppercase; color: #ffd23f; text-align: center; }
.srj-passport__cover p { margin: 0; letter-spacing: .3em; font-size: 12px; } .srj-passport__cover b { font-size: 26px; color: #fff6cf; } .srj-passport__cover span { font-size: 11px; letter-spacing: .2em; }
.srj-passport__emb { font-size: 22px !important; letter-spacing: .1em !important; text-shadow: 0 0 12px rgba(255,210,63,.8); min-height: 1em; }
.srj-passport__info h3 { font-size: 22px; }
.srj-passport__track { position: relative; height: 8px; margin: 34px 0 48px; background: rgba(255,255,255,.08); }
.srj-passport__track > i { position: absolute; left: 0; top: 0; bottom: 0; background: linear-gradient(90deg, #38d6ff, #ffd23f); box-shadow: 0 0 12px rgba(255,210,63,.5); }
.srj-passport__track span { position: absolute; top: -26px; transform: translateX(-50%); text-align: center; z-index: 1; white-space: nowrap; }
.srj-passport__track span:last-of-type { transform: translateX(-100%); text-align: right; }
.srj-passport__track span b { display: block; font: 700 12px var(--display); color: #6b6f9f; }
.srj-passport__track span em { display: block; margin-top: 30px; font-style: normal; font-size: 11px; color: #8d92b8; }
.srj-passport__track span.is-on b, .srj-passport__track span.is-on em { color: #ffd23f; }
.srj-perks { list-style: none; padding: 0; margin: 14px 0 0; } .srj-perks li { padding: 8px 0; border-top: 1px solid var(--line); color: #c7cbef; } .srj-perks b { color: #fff; } .srj-perks .is-next { color: var(--muted); }
.srj-stamps { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px; padding: 22px; background: repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 28px, rgba(255,255,255,.03) 28px 29px), #0d1030; border: 1px solid var(--line); }
.srj-stamp { text-align: center; }
.srj-stamp__ring { display: flex; flex-direction: column; justify-content: center; gap: 4px; aspect-ratio: 4 / 3; padding: 8px; border: 2px dashed rgba(255,255,255,.12); color: rgba(255,255,255,.18); transform: rotate(var(--rot)); }
.srj-stamp__ring b { font: 800 11px/1.15 var(--display); text-transform: uppercase; letter-spacing: .06em; }
.srj-stamp__ring em { font-style: normal; font: 600 9px var(--display); letter-spacing: .14em; }
.srj-stamp small { display: block; margin-top: 6px; font-size: 11px; color: #6b6f9f; }
.srj-stamp.is-on .srj-stamp__ring { border: 3px double var(--h); color: var(--h); background: color-mix(in srgb, var(--h) 9%, transparent); box-shadow: 0 0 14px color-mix(in srgb, var(--h) 30%, transparent); text-shadow: 0 0 8px color-mix(in srgb, var(--h) 50%, transparent); }
.srj-stamp.is-on small { color: #c7cbef; }
@media (max-width: 700px) { .srj-passport { grid-template-columns: 1fr; } .srj-passport__cover { width: 180px; margin: 0 auto; } .srj-stamps { grid-template-columns: repeat(2, 1fr); padding: 14px; } }

/* heat ladder */
.srj-ladder { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; align-items: start; }
.srj-ladder ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.srj-ladder li { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); background: var(--panel); color: #6b6f9f; }
.srj-ladder li b { font: 800 16px var(--display); text-transform: uppercase; letter-spacing: .08em; } .srj-ladder li em { font-style: normal; font-size: 12px; }
.srj-ladder__badge { width: 44px; height: 44px; border: 2px solid currentColor; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: rgba(255,255,255,.04); }
.srj-ladder li.is-on { color: var(--h); border-color: var(--h); box-shadow: inset 0 0 30px color-mix(in srgb, var(--h) 18%, transparent); }
.srj-ladder li.is-on .srj-ladder__badge { background: var(--h); box-shadow: 0 0 18px var(--h); }
.srj-ladder li.is-on b { color: #fff; }
@media (max-width: 760px) { .srj-ladder { grid-template-columns: 1fr; } }

/* rewards */
.srj-rw { margin-bottom: 34px; } .srj-rw h3 { font-size: 18px; text-transform: uppercase; }
.srj-rw__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.srj-rw__list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid #ffd23f; background: rgba(255,210,63,.06); }
.srj-rw__list b { display: block; color: #fff; } .srj-rw__list span { font-size: 13px; color: var(--muted); }
.srj-rw__ok { font-style: normal; font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #5dff9a; }
.srj-rw__pick, .srj-rule__go { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.srj-rw__pick select, .srj-rule__go select { min-height: 42px; padding: 0 10px; background: #07061a; color: #fff; border: 1px solid var(--line-strong); font-size: 16px; max-width: 100%; }
.srj-rules { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin-bottom: 12px; }
.srj-rule { padding: 18px; border: 1px solid var(--line); background: var(--panel); display: flex; flex-direction: column; gap: 6px; }
.srj-rule.is-ready { border-color: #ffd23f; box-shadow: 0 0 22px rgba(255,210,63,.2); }
.srj-rule__t { margin: 0; font: 800 15px var(--display); text-transform: uppercase; color: #fff; } .srj-rule__g { margin: 0; color: #ffd23f; font-size: 14px; }
.srj-rule__bar { height: 5px; background: rgba(255,255,255,.08); margin-top: 6px; } .srj-rule__bar i { display: block; height: 100%; background: #ffd23f; }
.srj-rule__n { margin: 0; font: 600 12px var(--display); color: var(--muted); }
.srj-how { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.srj-how > div { padding: 20px; border: 1px solid var(--line); background: var(--panel); } .srj-how h3 { font-size: 16px; text-transform: uppercase; } .srj-how p { color: #c7cbef; font-size: 14px; }
.srj-how table { width: 100%; border-collapse: collapse; font-size: 14px; } .srj-how td { padding: 6px 0; border-bottom: 1px solid var(--line); } .srj-how td:last-child { text-align: right; font-family: var(--display); color: #ffd23f; }

/* thank-you vault note */
.srj-vaultnote { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; margin: 26px 0; padding: 20px; border: 1px solid #ffd23f; background: linear-gradient(120deg, rgba(255,210,63,.1), rgba(13,10,36,.8)); }
.srj-vaultnote > div { flex: 1 1 260px; } .srj-vaultnote p { margin: 0; }
.srj-vaultnote__icon { width: 46px; height: 62px; background: linear-gradient(135deg, #ff3b5c, #8b5cff, #38d6ff); box-shadow: 0 0 18px rgba(139,92,255,.6); transform: rotate(-8deg); }
.srj-vaultnote__kicker { font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #ffd23f; }
.srj-vaultnote__title { font: 800 18px var(--display); color: #fff; } .srj-vaultnote__sub { font-size: 13px; color: var(--muted); }

/* ---------- scratch card ---------- */
.srj-scratch { margin: 26px 0; padding: 22px; border: 1px solid var(--line-strong); background: var(--panel); text-align: center; }
.srj-scratch__kicker { margin: 0; font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #ffd23f; }
.srj-scratch__title { margin: 6px 0 16px; font-size: 18px; text-transform: uppercase; }
.srj-scratch__card { position: relative; max-width: 380px; height: 150px; margin: 0 auto; overflow: hidden; border: 2px solid #ffd23f; touch-action: none; }
.srj-scratch__prize { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: radial-gradient(circle at 50% 40%, #2a1f00, #07061a 75%); }
.srj-scratch__pct { font: 900 40px/1 var(--display); color: #fff6cf; text-shadow: 0 0 10px #ffd23f, 0 0 26px #ff8a1f; }
.srj-scratch__code { font: 700 16px var(--display); letter-spacing: .14em; color: #fff; user-select: all; }
.srj-scratch__copy { padding: 6px 12px; background: none; border: 1px solid #ffd23f; color: #ffd23f; font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.srj-scratch__foil { position: absolute; inset: 0; width: 100%; height: 100%; cursor: crosshair; transition: opacity .6s; }
.srj-scratch__foil.is-gone { opacity: 0; pointer-events: none; }
.srj-scratch__note { margin: 12px 0 0; font-size: 12px; color: var(--muted); }
.srj-spark { position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; background: #ffd23f; box-shadow: 0 0 8px #ffd23f; animation: srjSpark 1.1s ease-out forwards; }
@keyframes srjSpark { to { transform: rotate(var(--a)) translateX(var(--d)) scale(.2); opacity: 0; } }

/* ---------- fuel gauge (cart) ---------- */
.srj-fuel { --boost: 0; display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: center; margin: 0 0 26px; padding: 20px 24px; background: var(--panel); border: 1px solid var(--line); overflow: hidden; position: relative; }
.srj-fuel__pad { position: relative; height: 210px; }
.srj-fuel__rocket { position: absolute; left: 50%; bottom: 14px; width: 80px; transform: translateX(-50%); z-index: 2; }
.srj-fuel__rocket svg { width: 80px; height: auto; overflow: visible; }
.srj-fuel__fin { fill: #ff3b5c; }
.srj-fuel__liquid { fill: #38d6ff; transition: y .6s ease, height .6s ease; }
.srj-fuel__flame { fill: #ffd23f; opacity: 0; transform-origin: 40px 146px; transform: scaleY(.2); transition: opacity .3s, transform .3s; filter: drop-shadow(0 0 8px #ff8a1f); }
.srj-fuel__boost { position: absolute; bottom: 44px; width: 10px; height: 10px; background: #ff8a1f; opacity: calc(var(--boost) * .9); box-shadow: 0 0 calc(6px + var(--boost) * 20px) #ff8a1f; }
.srj-fuel__boost--l { left: 6px; } .srj-fuel__boost--r { right: 6px; }
.srj-fuel__ground { position: absolute; left: 0; right: 0; bottom: 0; height: 14px; background: repeating-linear-gradient(90deg, #2b2a4a 0 10px, #1a1936 10px 20px); border-top: 2px solid #ffd23f; }
.srj-fuel__smoke { position: absolute; left: 50%; bottom: 8px; width: 0; height: 0; z-index: 1; }
.srj-fuel__smoke i { position: absolute; left: -24px; bottom: 0; width: 48px; height: 48px; background: radial-gradient(circle, rgba(220,225,255,.55), rgba(220,225,255,0) 68%); opacity: 0; }
.srj-fuel.is-full .srj-fuel__liquid, .srj-fuel.is-boost .srj-fuel__liquid { fill: #5dff9a; }
.srj-fuel.is-boost .srj-fuel__flame { opacity: calc(.3 + var(--boost) * .4); transform: scaleY(calc(.3 + var(--boost) * .25)); }
.srj-fuel.is-boost .srj-fuel__rocket { animation: srjHum .18s linear infinite; }
@keyframes srjHum { 50% { transform: translateX(calc(-50% + .6px)); } }
.srj-fuel.is-ignite .srj-fuel__liquid { fill: #ffd23f; }
.srj-fuel.is-ignite .srj-fuel__rocket { animation: srjRumble .09s linear infinite; }
@keyframes srjRumble { 25% { transform: translate(calc(-50% - 1.5px), 1px); } 75% { transform: translate(calc(-50% + 1.5px), -1px); } }
.srj-fuel.is-ignite .srj-fuel__flame { opacity: .9; transform: scaleY(.55); animation: srjFlicker .12s linear infinite; }
@keyframes srjFlicker { 50% { transform: scaleY(.7); fill: #ff8a1f; } }
.srj-fuel.is-ignite .srj-fuel__smoke i, .srj-fuel.is-launching .srj-fuel__smoke i { animation: srjSmoke 1.6s ease-out infinite; }
.srj-fuel__smoke i:nth-child(1) { --sx: -70px; animation-delay: 0s !important; } .srj-fuel__smoke i:nth-child(2) { --sx: 70px; animation-delay: .25s !important; }
.srj-fuel__smoke i:nth-child(3) { --sx: -40px; animation-delay: .5s !important; } .srj-fuel__smoke i:nth-child(4) { --sx: 45px; animation-delay: .75s !important; }
.srj-fuel__smoke i:nth-child(5) { --sx: -95px; animation-delay: 1s !important; } .srj-fuel__smoke i:nth-child(6) { --sx: 95px; animation-delay: 1.25s !important; }
@keyframes srjSmoke { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 25% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--sx), -26px) scale(2.2); } }
.srj-fuel.is-launching .srj-fuel__rocket { animation: srjLaunch 2.4s cubic-bezier(.55,0,.8,.3) forwards; }
.srj-fuel.is-launching .srj-fuel__flame { opacity: 1; transform: scaleY(1.2); animation: srjFlicker .1s linear infinite; }
@keyframes srjLaunch { 0% { transform: translate(-50%, 0); } 15% { transform: translate(calc(-50% + 1px), 2px); } 100% { transform: translate(-50%, -520px); } }
.srj-fuel.is-landed .srj-fuel__rocket { animation: srjLand .9s ease-out; }
@keyframes srjLand { from { transform: translate(-50%, -60px); opacity: 0; } }
.srj-fuel.is-orbit { border-color: #5dff9a; box-shadow: 0 0 24px rgba(93,255,154,.15); }
.srj-fuel.is-flash { animation: srjTank 1.1s ease-out; } @keyframes srjTank { 20% { box-shadow: 0 0 40px rgba(93,255,154,.55); border-color: #5dff9a; } }
.srj-fuel.is-spark { animation: srjBoostFx 1.1s ease-out; } @keyframes srjBoostFx { 20% { box-shadow: 0 0 34px rgba(255,138,31,.5); border-color: #ff8a1f; } }
.srj-fuel__kicker { margin: 0; font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #38d6ff; }
.srj-fuel__title { margin: 4px 0; font-size: 22px; text-transform: uppercase; }
.srj-fuel.is-ignite .srj-fuel__title { color: #ffd23f; text-shadow: 0 0 14px rgba(255,138,31,.6); }
.srj-fuel.is-orbit .srj-fuel__title { color: #5dff9a; }
.srj-fuel__sub { margin: 0 0 12px; color: #c7cbef; }
.srj-fuel__bar { display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; list-style: none; margin: 0; padding: 0; }
.srj-fuel__bar li { height: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); transition: background .3s; }
.srj-fuel__bar li.on { background: #38d6ff; box-shadow: 0 0 8px rgba(56,214,255,.6); }
.srj-fuel__bar li:nth-child(n+4).on { background: #ffd23f; box-shadow: 0 0 8px rgba(255,210,63,.6); }   /* 4–6 yellow */
.srj-fuel__bar li:nth-child(n+7).on { background: #ff8a1f; box-shadow: 0 0 8px rgba(255,138,31,.6); }   /* 7–9 orange */
.srj-fuel__bar li:nth-child(10).on { background: #ff3b5c; box-shadow: 0 0 10px rgba(255,59,92,.7); }  /* 10 red */
.srj-fuel__bar li.free { border: 1px dashed #5dff9a; background: rgba(93,255,154,.1); }
.srj-fuel__note { margin: 10px 0 0; font-size: 12px; color: var(--muted); }
.srj-fuel__cta { margin-top: 12px; }
@media (max-width: 600px) { .srj-fuel { grid-template-columns: 96px 1fr; gap: 14px; padding: 16px; } .srj-fuel__pad { height: 160px; } .srj-fuel__rocket, .srj-fuel__rocket svg { width: 58px; } .srj-fuel__title { font-size: 17px; } }

/* ---------- quiz ---------- */
.srj-quiz { max-width: 760px; margin: 0 auto; padding: 34px; background: var(--panel); border: 1px solid var(--line); }
.srj-quiz__n { margin: 0; font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #38d6ff; }
.srj-quiz__prog { height: 4px; margin: 10px 0 22px; background: rgba(255,255,255,.08); } .srj-quiz__prog i { display: block; height: 100%; background: #38d6ff; transition: width .3s; }
.srj-quiz h2 { font-size: clamp(20px, 3vw, 28px); text-transform: uppercase; }
.srj-quiz__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.srj-quiz__opts button { padding: 18px; text-align: left; background: rgba(7,6,26,.7); border: 1px solid var(--line-strong); color: #fff; font: 700 14px var(--display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: .2s; }
.srj-quiz__opts button:hover { border-color: #38d6ff; background: rgba(56,214,255,.1); box-shadow: 0 0 18px rgba(56,214,255,.2); }
.srj-quiz__back, .srj-quiz__more button { margin-top: 16px; background: none; border: 0; color: var(--muted); font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.srj-quiz__scan { display: grid; place-items: center; gap: 16px; padding: 40px 0; } .srj-quiz__scan span { width: 80px; height: 80px; border: 2px solid #38d6ff; background: conic-gradient(rgba(56,214,255,.5), transparent 30%); animation: srjSpin 1s linear infinite; clip-path: circle(50%); }
.srj-quiz__result { text-align: center; } .srj-quiz__you { margin: 6px 0 16px; color: #c7cbef; }
.srj-quiz__card { display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: center; text-align: left; padding: 22px; border: 2px solid var(--hc); box-shadow: 0 0 30px color-mix(in srgb, var(--hc) 25%, transparent); }
.srj-quiz__card img { width: 100%; filter: drop-shadow(0 10px 20px rgba(0,0,0,.6)); }
.srj-quiz__code { font: 700 13px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--hc); text-shadow: 0 0 10px var(--hc); }
.srj-quiz__card h2 { margin: 4px 0 6px; color: #fff; text-shadow: 0 0 14px var(--hc); }
.srj-quiz__price { font: 700 20px var(--display); color: var(--hc); }
.srj-quiz__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.srj-quiz__more { display: flex; justify-content: center; gap: 20px; }
@media (max-width: 600px) { .srj-quiz { padding: 20px 16px; } .srj-quiz__card { grid-template-columns: 1fr; text-align: center; } .srj-quiz__card img { max-width: 180px; margin: 0 auto; } .srj-quiz__cta { justify-content: center; } }

/* ---------- eggs ---------- */
.srj-flyby { position: fixed; bottom: -180px; z-index: 9998; width: 64px; pointer-events: none; animation: srjFly 2.5s cubic-bezier(.5,0,.75,.4) forwards; }
.srj-flyby .f { animation: srjFlicker .1s linear infinite; transform-origin: 32px 120px; }
@keyframes srjFly { to { transform: translate(20vw, -130vh) rotate(12deg); } }
html.srj-warping body { animation: srjWarpShake .6s linear 2; }
@keyframes srjWarpShake { 25% { transform: translateX(1px); } 75% { transform: translateX(-1px); } }
.srj-abduct { position: fixed; z-index: 9997; width: 22px; height: 30px; margin-left: -11px; pointer-events: none; background: linear-gradient(#ff3b5c 0 35%, #ffd23f 35% 55%, #ff3b5c 55%); box-shadow: 0 0 14px rgba(120,255,200,.7); animation: srjAbduct 2.2s ease-in forwards; }
@keyframes srjAbduct { 0% { transform: translateY(0) rotate(0); opacity: 1; } 85% { opacity: 1; } 100% { transform: translateY(var(--rise)) rotate(540deg) scale(.3); opacity: 0; } }
.srj-game { max-width: 380px; margin: 40px auto 10px; } .srj-game__kicker { font: 600 11px var(--display); letter-spacing: .18em; text-transform: uppercase; color: #ffd23f; }
.srj-game canvas { width: 100%; height: auto; aspect-ratio: 3 / 4; background: rgba(7,6,26,.85); border: 1px solid var(--line-strong); cursor: pointer; touch-action: none; }
.srj-game__info { font-size: 13px; color: #c7cbef; min-height: 2.6em; }

.srj-fuel__cta[hidden] { display: none !important; }
@media (min-width: 981px) and (max-width: 1480px) { .srj-logo > span { display: none; } .srj-header__icons { gap: 2px; } }

/* v2.12.2 — free 10th bag picker popup */
.srj-modal--pick .srj-modal__box { max-width: 760px; padding: 26px 12px 18px; background: radial-gradient(circle at 50% 35%, #1b1450, #07061a 72%); border-color: #ffd23f; box-shadow: 0 0 40px rgba(255,210,63,.25), 0 20px 80px rgba(0,0,0,.7); overflow-x: hidden; }
.srj-modal--pick .srj-upsell { margin: 0 auto; }
.srj-modal--pick .srj-upsell__kicker { color: #ffd23f; }
.srj-modal--pick .srj-upsell__title { color: #fff6cf; background: none; -webkit-text-fill-color: currentColor; text-shadow: 0 0 10px #ffd23f, 0 0 26px #ff8a1f; }
.srj-modal { z-index: 100000; }

/* v2.12.3 — picker: search, heat filter, manual grid */
.srj-pick__tools { display: flex; flex-direction: column; gap: 10px; padding: 0 10px 14px; }
.srj-pick__search { display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--line-strong); background: #07061a; }
.srj-pick__search svg { width: 18px; height: 18px; color: #38d6ff; flex: 0 0 auto; }
.srj-pick__search input { flex: 1; min-width: 0; height: 44px; background: transparent !important; border: 0 !important; color: #fff; font-size: 16px; outline: none; box-shadow: none !important; }
.srj-pick__heat { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.srj-pick__heat button { --h: #a3a8d4; flex: 0 0 auto; padding: 8px 12px; background: none; border: 1px solid color-mix(in srgb, var(--h) 55%, transparent); color: var(--h); font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.srj-pick__heat button.is-on { background: color-mix(in srgb, var(--h) 22%, transparent); color: #fff; border-color: var(--h); box-shadow: 0 0 12px color-mix(in srgb, var(--h) 40%, transparent); }
.srj-pick__heat button[data-pick-heat=""] { --h: #ffd23f; }
.srj-upsell__none { padding: 30px 10px; color: var(--muted); }
.srj-upsell.is-single .srj-upsell__arrow { display: none; }
.srj-upsell__bag[hidden] { display: none !important; }
.srj-pick__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; padding: 4px 10px 6px; text-align: left; }
.srj-pick__card { display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid var(--line); background: rgba(7,6,26,.75); }
.srj-pick__card[hidden] { display: none; }
.srj-pick__card:hover { border-color: var(--hc); box-shadow: 0 0 16px color-mix(in srgb, var(--hc) 25%, transparent); }
.srj-pick__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; }
.srj-pick__code { font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--hc); }
.srj-pick__card h4 { margin: 0; font-size: 13px; text-transform: uppercase; color: #fff; }
.srj-pick__meat { font-size: 12px; color: var(--muted); }
.srj-pick__card .srj-heat { transform: scale(.85); transform-origin: left center; }
.srj-pick__price { font: 700 15px var(--display); color: var(--hc); } .srj-pick__price del { opacity: .5; font-size: .75em; } .srj-pick__price ins { text-decoration: none; }
.srj-pick__cta { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 6px; }
.srj-pick__cta .srj-btn { padding: 9px 14px; font-size: 11px; }
.srj-pick__more { font: 600 11px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.srj-pick__empty { grid-column: 1 / -1; text-align: center; color: var(--muted); padding: 30px 0; }
.srj-pick__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; padding: 16px 10px 4px; border-top: 1px solid var(--line); margin-top: 10px; }
.srj-pick__shop { font: 600 12px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #38d6ff; }
.srj-modal--pick[hidden] { display: none; }
@media (max-width: 600px) { .srj-pick__grid { grid-template-columns: repeat(2, 1fr); } }

.srj-pair__limit { display: inline-flex; align-items: center; padding: 0 14px; border: 1px dashed rgba(255,210,63,.6); color: #ffd23f; font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.srj-pair.is-claimed .srj-pair__cta [data-pair-add] { border-color: #5dff9a !important; color: #5dff9a; opacity: 1; }
@media (max-width: 600px) { .srj-pair__limit { flex: 1 1 100%; justify-content: center; min-height: 36px; } }
.srj-pick__grid[hidden], .srj-pick .srj-upsell[hidden] { display: none !important; }
.srj-pick__grid { grid-template-columns: repeat(auto-fill, minmax(min(150px, 100%), 1fr)); }
.srj-pick__card { min-width: 0; }
.srj-pick__img img { max-height: 170px; margin: 0 auto; }
.srj-modal--pick .srj-modal__box { padding-top: 46px; }
@media (max-width: 600px) { .srj-pick__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .srj-pick__img img { max-height: 140px; } .srj-pick__card .srj-heat b { display: none; } }
.srj-pick__cta { flex-direction: column; align-items: stretch; gap: 6px; }
.srj-pick__cta .srj-btn { width: 100%; justify-content: center; padding: 9px 6px; }
.srj-pick__more { text-align: center; }

/* v2.12.8 — bonus / reward badges under cart lines */
.wc-block-components-product-details__mission-pairing, .wc-block-components-product-details__limited-quantity, .wc-block-components-product-details__reward {
  display: inline-flex !important; align-items: center; width: fit-content; max-width: 100%; padding: 3px 9px; margin-top: 4px !important;
  font-family: var(--display); font-size: 10px !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1.4 !important; }
.wc-block-components-product-details__mission-pairing { color: #ffd23f; border: 1px solid #ffd23f; background: rgba(255,210,63,.1); box-shadow: 0 0 10px rgba(255,210,63,.18); }
.wc-block-components-product-details__limited-quantity { color: #ff8a1f; border: 1px dashed rgba(255,138,31,.7); }
.wc-block-components-product-details__reward { color: #5dff9a; border: 1px solid #5dff9a; background: rgba(93,255,154,.08); }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__mission-pairing { grid-column: 1 / -1; grid-row: 5; margin-top: 10px !important; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__limited-quantity { grid-column: 1 / -1; grid-row: 6; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__reward { grid-column: 1 / -1; grid-row: 5; margin-top: 10px !important; }
.wc-block-cart .wc-block-cart-item__product .wc-block-components-product-details__size { grid-column: 2; grid-row: 3; color: var(--muted); }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__mission-pairing { grid-column: 1 / -1; grid-row: 5; margin-top: 8px !important; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__limited-quantity { grid-column: 1 / -1; grid-row: 6; }
.wc-block-components-order-summary-item__description .wc-block-components-product-details__reward { grid-column: 1 / -1; grid-row: 5; margin-top: 8px !important; }

/* v2.12.9 — loop marker: START tag on the first flavor + "back to the first" flash when the ring wraps */
.srj-upsell__wrap { position: absolute; left: 50%; top: 4px; z-index: 3000; transform: translate(-50%, -8px); padding: 5px 12px; border: 1px solid #ffd23f; background: rgba(7,6,26,.92); color: #ffd23f; font: 700 10px var(--display); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; opacity: 0; pointer-events: none; }
.srj-upsell__orbit.is-wrapping .srj-upsell__wrap { animation: srjWrap 1.8s ease-out; }
.srj-upsell__orbit.is-wrapping .srj-upsell__aura { animation: srjWrapPulse .9s ease-out; }
@keyframes srjWrap { 0% { opacity: 0; transform: translate(-50%, -8px); } 15%, 75% { opacity: 1; transform: translate(-50%, 0); } 100% { opacity: 0; transform: translate(-50%, 0); } }
@keyframes srjWrapPulse { 40% { opacity: 1; transform: translate(-50%, -54%) scale(1.3); } }

/* v2.13 — rocket build-up: a new part for every item (1-8), callouts, bump/drop */
.srj-fuel__rocket svg { overflow: visible; }
.srj-fuel__window { fill: #1a2350; transition: fill .4s, filter .4s; }
.srj-fuel.has-cockpit .srj-fuel__window { fill: #38d6ff; filter: drop-shadow(0 0 6px #38d6ff); }
.srj-part { opacity: 0; transition: opacity .35s, transform .45s cubic-bezier(.2,1.6,.4,1); transform-box: fill-box; transform-origin: center; }
.srj-part--bl { transform: translateX(-14px); } .srj-part--br { transform: translateX(14px); }
.srj-part--stripe { transform: scaleX(.2); } .srj-part--warm { transform: scale(.3); }
.srj-part[data-part="6"] { transform: translateY(10px); }
.srj-part.is-on { opacity: 1; transform: none; }
.srj-part.is-pop { animation: srjPartPop .6s ease-out; }
@keyframes srjPartPop { 0% { filter: brightness(2.2) drop-shadow(0 0 10px #fff); } 100% { filter: none; } }
.srj-beacon { animation: srjBeacon 1s steps(2) infinite; }
@keyframes srjBeacon { 50% { opacity: .2; } }
.srj-part--warm.is-on ellipse { animation: srjWarm 1.2s ease-in-out infinite; filter: drop-shadow(0 0 6px #ff8a1f); }
@keyframes srjWarm { 50% { opacity: .5; } }
.srj-fuel__call { position: absolute; left: 50%; top: -6px; z-index: 4; transform: translate(-50%, 6px); padding: 3px 8px; font: 700 9px var(--display); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; opacity: 0; pointer-events: none; background: rgba(7,6,26,.9); }
.srj-fuel__call.is-up { color: #5dff9a; border: 1px solid #5dff9a; } .srj-fuel__call.is-down { color: #a3a8d4; border: 1px dashed #a3a8d4; }
.srj-fuel__call.is-show { animation: srjCall 1.8s ease-out forwards; }
@keyframes srjCall { 0% { opacity: 0; transform: translate(-50%, 8px); } 15%, 70% { opacity: 1; transform: translate(-50%, -4px); } 100% { opacity: 0; transform: translate(-50%, -12px); } }
.srj-fuel__rocket.is-bump { animation: srjRocketBump .45s cubic-bezier(.2,1.8,.4,1); }
@keyframes srjRocketBump { 0% { transform: translate(-50%, 0); } 35% { transform: translate(-50%, -10px); } 100% { transform: translate(-50%, 0); } }
.srj-fuel__rocket.is-drop { animation: srjRocketDrop .4s ease-out; }
@keyframes srjRocketDrop { 30% { transform: translate(-50%, 4px) rotate(-3deg); } 60% { transform: translate(-50%, 0) rotate(2deg); } 100% { transform: translate(-50%, 0); } }
.srj-fuel.is-ignite .srj-fuel__rocket.is-bump, .srj-fuel.is-boost .srj-fuel__rocket.is-bump { animation: srjRocketBump .45s cubic-bezier(.2,1.8,.4,1); }

.srj-fuel__title { line-height: 1.2; }
.srj-fuel__call { white-space: normal; width: max-content; max-width: 120px; text-align: center; line-height: 1.35; top: -14px; }
@media (max-width: 600px) { .srj-fuel__title { font-size: 15px; } .srj-fuel__call { max-width: 96px; font-size: 8px; letter-spacing: .08em; padding: 2px 5px; } }

/* v2.14 — rocket tiers, shield bubble, engine glow, fleet, add-to-cart popup */
.srj-r-body { fill: var(--rb, #dfe3ff); transition: fill .6s; }
.srj-r-fin { fill: var(--rf, #ff3b5c); transition: fill .6s; }
.srj-r-trim { fill: var(--rt, #7f86b8); } .srj-r-trimline { stroke: var(--rt, #7f86b8); }
.srj-fuel.is-legend .srj-fuel__rocket svg { animation: srjLegend 4s linear infinite; }
@keyframes srjLegend { to { filter: hue-rotate(360deg); } }
.srj-part--shield { transform: scale(.4); }
.srj-part--shield.is-on { transform: none; }
.srj-shield-ring { animation: srjShieldSpin 6s linear infinite; }
@keyframes srjShieldSpin { to { stroke-dashoffset: -170; } }
.srj-fuel.has-shield .srj-part--shield { animation: srjShieldPulse 2.4s ease-in-out infinite; }
@keyframes srjShieldPulse { 50% { opacity: .65; } }
.srj-fuel.has-glow .srj-fuel__rocket svg { animation: srjEngineGlow 1.4s ease-in-out infinite; }
@keyframes srjEngineGlow { 0%, 100% { filter: drop-shadow(0 0 6px rgba(255,138,31,.55)); } 50% { filter: drop-shadow(0 0 16px rgba(255,138,31,.95)) drop-shadow(0 0 30px rgba(255,59,92,.45)); } }
.srj-fuel.has-glow.is-legend .srj-fuel__rocket svg { animation: srjEngineGlow 1.4s ease-in-out infinite, srjLegend 4s linear infinite; }
.srj-fuel__fleet:empty { display: none; }
.srj-fleet { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 12px; padding: 8px 10px; border: 1px solid rgba(93,255,154,.35); background: rgba(93,255,154,.06); }
.srj-fleet__icons { display: flex; gap: 3px; }
.srj-fleet__icons svg { width: 11px; height: 22px; filter: drop-shadow(0 0 4px rgba(255,255,255,.35)); }
.srj-fleet__icons svg.is-legend { animation: srjLegend 4s linear infinite; }
.srj-fleet__more { font: 800 11px var(--display); color: #5dff9a; }
.srj-fleet__label { font: 700 10px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #5dff9a; }
/* popup */
.srj-rkpop { position: fixed; left: 50%; bottom: 18px; z-index: 99990; display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; width: min(360px, calc(100vw - 24px)); padding: 12px 14px 12px 8px; background: rgba(9,7,26,.96); border: 1px solid #38d6ff; box-shadow: 0 14px 50px rgba(0,0,0,.7), 0 0 26px rgba(56,214,255,.25); transform: translate(-50%, 140%); opacity: 0; transition: transform .45s cubic-bezier(.2,1.2,.4,1), opacity .3s; }
.srj-rkpop.is-in { transform: translate(-50%, 0); opacity: 1; }
.srj-fuel.srj-fuel--pop { display: block; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
.srj-fuel--pop .srj-fuel__pad { height: 128px; }
.srj-fuel--pop .srj-fuel__rocket { width: 52px; bottom: 10px; } .srj-fuel--pop .srj-fuel__rocket svg { width: 52px; }
.srj-fuel--pop .srj-fuel__ground { height: 8px; }
.srj-fuel--pop .srj-fuel__call { display: none; }
.srj-fuel--pop.is-launching .srj-fuel__rocket { animation: srjLaunchPop 2.4s cubic-bezier(.55,0,.8,.3) forwards; }
@keyframes srjLaunchPop { 0% { transform: translate(-50%, 0); } 15% { transform: translate(calc(-50% + 1px), 2px); } 100% { transform: translate(-50%, -260px); opacity: 0; } }
.srj-rkpop__kicker { margin: 0; font: 600 9px var(--display); letter-spacing: .18em; text-transform: uppercase; color: #38d6ff; }
.srj-rkpop__count { margin: 2px 0; display: flex; align-items: baseline; gap: 8px; font-family: var(--display); }
.srj-rkpop__count span { font-size: 20px; color: var(--muted); } .srj-rkpop__count i { font-style: normal; color: #ffd23f; }
.srj-rkpop__count b { font-size: 30px; color: #fff; text-shadow: 0 0 12px rgba(56,214,255,.7); } .srj-rkpop__count small { font-size: 11px; color: var(--muted); }
.srj-rkpop__step { margin: 0; min-height: 1.3em; font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #5dff9a; }
.srj-rkpop__sub { margin: 2px 0 6px; font-size: 12px; color: #c7cbef; line-height: 1.35; }
.srj-rkpop__go { font: 700 11px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #ffd23f; }
.srj-rkpop__x { position: absolute; top: 2px; right: 6px; background: none; border: 0; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; }

/* v2.15 — Expedition Passport (bundles) */
.srj-passport--exp { margin-top: 46px; }
.srj-passport__cover--exp { background: linear-gradient(160deg, #6b1230, #3a0a1c 60%, #160310); }
.srj-stamps--exp { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); background: repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 28px, rgba(255,255,255,.03) 28px 29px), #1d0b18; }
.srj-xstamp { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px 12px; text-align: center; color: rgba(255,255,255,.3); border: 2px dashed rgba(255,255,255,.12); transform: rotate(var(--rot)); }
.srj-xstamp__img { width: 76px; height: 76px; display: grid; place-items: center; }
.srj-xstamp__img img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1) brightness(.45); }
.srj-xstamp b { font: 800 11px var(--display); text-transform: uppercase; letter-spacing: .08em; }
.srj-xstamp em { font-style: normal; font-size: 10px; line-height: 1.3; }
.srj-xstamp.is-on { color: #ffd23f; border: 3px double #ffd23f; background: rgba(255,210,63,.07); box-shadow: 0 0 16px rgba(255,210,63,.18); }
.srj-xstamp.is-on img { filter: none; }
.srj-xstamp.is-on b { color: #fff6cf; text-shadow: 0 0 8px rgba(255,210,63,.6); }
@media (max-width: 700px) { .srj-stamps--exp { grid-template-columns: repeat(2, 1fr); } }
.srj-art--gt { background: radial-gradient(circle at 50% 50%, #ffd23f 0 6%, transparent 7%), #050414; }
.srj-art--gt i { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,210,63,.45); transform: translate(-50%, -50%); clip-path: none; }
.srj-art--gt i:nth-child(1) { width: 30%; height: 30%; } .srj-art--gt i:nth-child(2) { width: 50%; height: 50%; } .srj-art--gt i:nth-child(3) { width: 70%; height: 70%; } .srj-art--gt i:nth-child(4) { width: 90%; height: 90%; } .srj-art--gt i:nth-child(5) { width: 110%; height: 110%; }
.srj-art--gt i::after { content: ''; position: absolute; top: -4px; left: 50%; width: 7px; height: 7px; background: #38d6ff; box-shadow: 0 0 8px #38d6ff; }
.srj-art--gt i:nth-child(odd)::after { background: #ff8a1f; box-shadow: 0 0 8px #ff8a1f; }
.srj-art--gt { animation: srjSpin 30s linear infinite; }

.srj-miles { display: none; list-style: none; margin: -30px 0 14px; padding: 0; }
.srj-miles li { display: flex; gap: 10px; align-items: baseline; padding: 4px 0; font-size: 12px; color: #8d92b8; border-bottom: 1px solid var(--line); }
.srj-miles li b { min-width: 22px; font: 700 12px var(--display); color: #6b6f9f; }
.srj-miles li.is-on, .srj-miles li.is-on b { color: #ffd23f; }
@media (max-width: 700px) { .srj-passport__track span em { display: none; } .srj-passport__track { margin-bottom: 40px; } .srj-miles { display: block; } }

/* v2.16 — Black Hole reveal */
.srj-bh { margin: 26px 0; padding: 22px; border: 1px solid #8b5cff; background: radial-gradient(circle at 50% 0%, rgba(139,92,255,.18), rgba(7,6,26,.9) 60%); text-align: center; }
.srj-bh__kicker { margin: 0; font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #c9b8ff; }
.srj-bh__title { margin: 4px 0 8px; font-size: 22px; text-transform: uppercase; }
.srj-bh__note { color: #c7cbef; font-size: 14px; }
.srj-bh__list { display: grid; gap: 22px; }
.srj-bh__one { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.srj-bh__hole { position: relative; width: 170px; height: 170px; }
.srj-bh__hole i { position: absolute; inset: 0; clip-path: circle(50%); }
.srj-bh__hole i:nth-child(1) { background: conic-gradient(from 0deg, #ff8a1f, #ffd23f, #fff6cf, #ff3b5c, #8b5cff, #38d6ff, #ff8a1f); animation: srjSpin 6s linear infinite; filter: blur(2px); }
.srj-bh__hole i:nth-child(2) { inset: 12%; background: radial-gradient(circle, #000 52%, rgba(0,0,0,.6) 64%, transparent 72%); }
.srj-bh__hole i:nth-child(3) { inset: -14%; background: radial-gradient(circle, transparent 46%, rgba(139,92,255,.25) 56%, transparent 70%); animation: srjSpin 14s linear infinite reverse; }
.srj-bh__one.is-charging .srj-bh__hole i:nth-child(1) { animation-duration: .5s; filter: blur(1px) brightness(1.4); }
.srj-bh__one.is-charging .srj-bh__hole { animation: srjBhShake .12s linear infinite, srjBhGrow 2.2s ease-in forwards; }
@keyframes srjBhShake { 25% { transform: translate(2px, -1px) scale(var(--s, 1)); } 75% { transform: translate(-2px, 1px) scale(var(--s, 1)); } }
@keyframes srjBhGrow { to { --s: 1.15; filter: drop-shadow(0 0 30px #8b5cff); } }
.srj-bh__one.is-burst .srj-bh__hole { animation: srjBhBurst .7s ease-in forwards; }
@keyframes srjBhBurst { 40% { transform: scale(.2); } 60% { transform: scale(.15); filter: brightness(3); } 100% { transform: scale(2.4); opacity: 0; } }
.srj-bh__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: 100%; }
.srj-bh__bag { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 6px; border: 1px solid color-mix(in srgb, var(--hc) 55%, transparent); background: rgba(7,6,26,.8); text-align: center; }
.srj-bh__bag img { width: 100%; max-width: 90px; aspect-ratio: 4 / 5; object-fit: contain; }
.srj-bh__bag span { font: 600 9px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--hc); }
.srj-bh__bag b { font: 700 11px/1.25 var(--display); text-transform: uppercase; color: #fff; }
.srj-bh__bag.is-fly { animation: srjBhFly .6s cubic-bezier(.2,1.4,.4,1) both; }
@keyframes srjBhFly { from { opacity: 0; transform: scale(.1) rotate(-200deg); filter: brightness(3); } }
.srj-bh__done { color: #c7cbef; font-size: 14px; } .srj-bh__done b { color: #ffd23f; } .srj-bh__done a { color: #ffd23f; text-decoration: underline; }
.srj-bh-how { margin: 12px 0; padding: 12px 14px; border: 1px dashed #8b5cff; color: #c9b8ff; font-size: 14px; }
.srj-bh-how b { color: #fff; }
.wc-block-components-product-details__mystery { color: #c9b8ff; }
@media (max-width: 600px) { .srj-bh__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .srj-bh__hole { width: 140px; height: 140px; } }

.srj-footnote { margin: 26px 0 0; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.6; color: #8d92b8; }
.srj-footnote b { color: #c9b8ff; } .srj-footnote strong { color: #c7cbef; font-weight: 600; }
.srj-bh-how a, .srj-bh__note a { color: #c9b8ff; text-decoration: none; }

.srj-bh__auto { margin: 0; font-size: 13px; color: #5dff9a; max-width: 420px; }

/* v2.17 — one-step signup + mailing list */
.srj-claim { margin: 26px 0; padding: 24px; border: 1px solid #ffd23f; background: linear-gradient(140deg, rgba(255,210,63,.1), rgba(13,10,36,.92) 55%); }
.srj-claim__kicker { margin: 0; font: 600 11px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #ffd23f; }
.srj-claim__title { margin: 6px 0 12px; font-size: 20px; text-transform: uppercase; }
.srj-claim__perks { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; }
.srj-claim__perks li { padding-left: 18px; position: relative; color: #c7cbef; font-size: 14px; }
.srj-claim__perks li::before { content: ''; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; background: #ffd23f; box-shadow: 0 0 8px #ffd23f; }
.srj-claim__perks b { color: #fff; }
.srj-claim__form { display: grid; gap: 12px; max-width: 460px; }
.srj-claim__form label { display: grid; gap: 4px; font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #a3a8d4; }
.srj-claim__form input[type=email], .srj-claim__form input[type=password] { height: 46px; padding: 0 12px; background: #07061a; border: 1px solid var(--line-strong); color: #fff; font-size: 16px; }
.srj-claim__form input[readonly] { color: #8d92b8; }
.srj-claim__warn { margin: 0; font-size: 12px; color: #ff8a1f; }
.srj-claim__msg { margin: 0; font-size: 13px; color: #ff3b5c; min-height: 1em; }
.srj-claim__note { color: #c7cbef; } .srj-claim__note a { color: #ffd23f; text-decoration: underline; }
.srj-optin { display: flex !important; gap: 10px; align-items: flex-start; font: 400 13px/1.45 var(--body) !important; letter-spacing: 0 !important; text-transform: none !important; color: #c7cbef !important; cursor: pointer; }
.srj-optin input { margin-top: 3px; width: 18px; height: 18px; accent-color: #ffd23f; flex: 0 0 auto; }
.srj-optin-box { margin: 18px 0; padding: 14px; border: 1px solid var(--line); }
.srj-optin-box legend { padding: 0 6px; font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #ffd23f; }

.srj-upsell__details { display: inline-block; margin-top: 14px; font: 700 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #38d6ff; border-bottom: 1px solid rgba(56,214,255,.4); padding-bottom: 2px; }
.srj-pick .srj-upsell__bag.is-front { cursor: pointer; }

/* v2.17.3 — soft aura behind the front bag (follows the flavor's heat color) */
.srj-upsell__aura { position: absolute; left: 50%; top: 50%; z-index: 0; width: clamp(240px, 36vw, 360px); height: 125%; pointer-events: none; --a: var(--aura-rgb, 56,214,255);
  transform: translate(-50%, -54%); background: radial-gradient(closest-side, rgba(var(--a), .95), rgba(var(--a), .55) 38%, rgba(var(--a), .18) 68%, rgba(var(--a), 0) 100%);
  opacity: .9; animation: srjAura 2.6s ease-in-out infinite; }
@keyframes srjAura { 50% { opacity: .55; transform: translate(-50%, -54%) scale(1.08); } }
.srj-footnote[hidden] { display: none; }

/* v2.17.4 — liftoff: the full rocket shakes hard on the pad before it launches */
.srj-fuel.is-prelaunch .srj-fuel__rocket { animation: srjRumbleHard .07s linear infinite; }
@keyframes srjRumbleHard { 25% { transform: translate(calc(-50% - 3px), 1.5px) rotate(-1deg); } 75% { transform: translate(calc(-50% + 3px), -1.5px) rotate(1deg); } }
.srj-fuel.is-prelaunch .srj-fuel__flame { opacity: 1; transform: scaleY(.85); animation: srjFlicker .08s linear infinite; }
.srj-fuel.is-prelaunch .srj-fuel__smoke i { animation: srjSmoke 1.1s ease-out infinite; }
.srj-fuel.is-prelaunch .srj-fuel__liquid { fill: #ffd23f; }
.srj-fuel.is-orbit .srj-fuel__liquid { fill: #5dff9a; }
.srj-rw__list { grid-template-columns: minmax(0, 1fr); }
.srj-rw__list li > div:first-child { flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }


/* ===================== v2.19 — Series 1 foil finishes =====================
   Normal: chrome refractor · Rare: diamante prism / sparkle / wave refractor
   Unique: power burst / geode crystal · Limited: gold superfractor
   The light follows the finger (or the phone's gyroscope); cut-out subjects float above the foil. */
:root { --tri: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22180%22%20height%3D%22180%22%3E%3Cpolygon%20points%3D%220.0%2C0.0%2027.3%2C0.0%2021.2%2C30.1%22%20fill%3D%22rgb%28219%2C219%2C219%29%22%20fill-opacity%3D%220.45%22/%3E%3Cpolygon%20points%3D%220.0%2C0.0%2021.2%2C30.1%200.0%2C26.5%22%20fill%3D%22rgb%28187%2C187%2C187%29%22%20fill-opacity%3D%220.9%22/%3E%3Cpolygon%20points%3D%220.0%2C26.5%2021.2%2C30.1%200.0%2C53.0%22%20fill%3D%22rgb%28112%2C112%2C112%29%22%20fill-opacity%3D%220.72%22/%3E%3Cpolygon%20points%3D%2221.2%2C30.1%2020.7%2C58.7%200.0%2C53.0%22%20fill%3D%22rgb%28211%2C211%2C211%29%22%20fill-opacity%3D%220.48%22/%3E%3Cpolygon%20points%3D%220.0%2C53.0%2020.7%2C58.7%200.0%2C93.0%22%20fill%3D%22rgb%28130%2C130%2C130%29%22%20fill-opacity%3D%220.36%22/%3E%3Cpolygon%20points%3D%2220.7%2C58.7%2021.4%2C81.8%200.0%2C93.0%22%20fill%3D%22rgb%2869%2C69%2C69%29%22%20fill-opacity%3D%220.57%22/%3E%3Cpolygon%20points%3D%220.0%2C93.0%2021.4%2C81.8%2028.5%2C126.5%22%20fill%3D%22rgb%28113%2C113%2C113%29%22%20fill-opacity%3D%220.33%22/%3E%3Cpolygon%20points%3D%220.0%2C93.0%2028.5%2C126.5%200.0%2C111.4%22%20fill%3D%22rgb%28103%2C103%2C103%29%22%20fill-opacity%3D%220.51%22/%3E%3Cpolygon%20points%3D%220.0%2C111.4%2028.5%2C126.5%200.0%2C150.7%22%20fill%3D%22rgb%28167%2C167%2C167%29%22%20fill-opacity%3D%220.3%22/%3E%3Cpolygon%20points%3D%2228.5%2C126.5%2022.5%2C144.5%200.0%2C150.7%22%20fill%3D%22rgb%28154%2C154%2C154%29%22%20fill-opacity%3D%220.51%22/%3E%3Cpolygon%20points%3D%220.0%2C150.7%2022.5%2C144.5%2032.5%2C180.0%22%20fill%3D%22rgb%2875%2C75%2C75%29%22%20fill-opacity%3D%220.78%22/%3E%3Cpolygon%20points%3D%220.0%2C150.7%2032.5%2C180.0%200.0%2C180.0%22%20fill%3D%22rgb%28180%2C180%2C180%29%22%20fill-opacity%3D%220.43%22/%3E%3Cpolygon%20points%3D%2227.3%2C0.0%2069.0%2C0.0%2061.5%2C27.9%22%20fill%3D%22rgb%28131%2C131%2C131%29%22%20fill-opacity%3D%220.69%22/%3E%3Cpolygon%20points%3D%2227.3%2C0.0%2061.5%2C27.9%2021.2%2C30.1%22%20fill%3D%22rgb%28137%2C137%2C137%29%22%20fill-opacity%3D%220.87%22/%3E%3Cpolygon%20points%3D%2221.2%2C30.1%2061.5%2C27.9%2069.5%2C50.9%22%20fill%3D%22rgb%2885%2C85%2C85%29%22%20fill-opacity%3D%220.35%22/%3E%3Cpolygon%20points%3D%2221.2%2C30.1%2069.5%2C50.9%2020.7%2C58.7%22%20fill%3D%22rgb%28208%2C208%2C208%29%22%20fill-opacity%3D%220.4%22/%3E%3Cpolygon%20points%3D%2220.7%2C58.7%2069.5%2C50.9%2067.2%2C85.8%22%20fill%3D%22rgb%28190%2C190%2C190%29%22%20fill-opacity%3D%220.37%22/%3E%3Cpolygon%20points%3D%2220.7%2C58.7%2067.2%2C85.8%2021.4%2C81.8%22%20fill%3D%22rgb%28112%2C112%2C112%29%22%20fill-opacity%3D%220.25%22/%3E%3Cpolygon%20points%3D%2221.4%2C81.8%2067.2%2C85.8%2052.9%2C112.4%22%20fill%3D%22rgb%28134%2C134%2C134%29%22%20fill-opacity%3D%220.65%22/%3E%3Cpolygon%20points%3D%2221.4%2C81.8%2052.9%2C112.4%2028.5%2C126.5%22%20fill%3D%22rgb%28121%2C121%2C121%29%22%20fill-opacity%3D%220.87%22/%3E%3Cpolygon%20points%3D%2228.5%2C126.5%2052.9%2C112.4%2022.5%2C144.5%22%20fill%3D%22rgb%28171%2C171%2C171%29%22%20fill-opacity%3D%220.87%22/%3E%3Cpolygon%20points%3D%2252.9%2C112.4%2056.2%2C156.3%2022.5%2C144.5%22%20fill%3D%22rgb%28207%2C207%2C207%29%22%20fill-opacity%3D%220.69%22/%3E%3Cpolygon%20points%3D%2222.5%2C144.5%2056.2%2C156.3%2053.6%2C180.0%22%20fill%3D%22rgb%28239%2C239%2C239%29%22%20fill-opacity%3D%220.87%22/%3E%3Cpolygon%20points%3D%2222.5%2C144.5%2053.6%2C180.0%2032.5%2C180.0%22%20fill%3D%22rgb%28214%2C214%2C214%29%22%20fill-opacity%3D%220.77%22/%3E%3Cpolygon%20points%3D%2269.0%2C0.0%2091.6%2C0.0%2092.8%2C27.4%22%20fill%3D%22rgb%28142%2C142%2C142%29%22%20fill-opacity%3D%220.51%22/%3E%3Cpolygon%20points%3D%2269.0%2C0.0%2092.8%2C27.4%2061.5%2C27.9%22%20fill%3D%22rgb%28163%2C163%2C163%29%22%20fill-opacity%3D%220.66%22/%3E%3Cpolygon%20points%3D%2261.5%2C27.9%2092.8%2C27.4%2091.0%2C51.3%22%20fill%3D%22rgb%2857%2C57%2C57%29%22%20fill-opacity%3D%220.89%22/%3E%3Cpolygon%20points%3D%2261.5%2C27.9%2091.0%2C51.3%2069.5%2C50.9%22%20fill%3D%22rgb%28152%2C152%2C152%29%22%20fill-opacity%3D%220.36%22/%3E%3Cpolygon%20points%3D%2269.5%2C50.9%2091.0%2C51.3%2081.2%2C84.1%22%20fill%3D%22rgb%2853%2C53%2C53%29%22%20fill-opacity%3D%220.32%22/%3E%3Cpolygon%20points%3D%2269.5%2C50.9%2081.2%2C84.1%2067.2%2C85.8%22%20fill%3D%22rgb%28185%2C185%2C185%29%22%20fill-opacity%3D%220.35%22/%3E%3Cpolygon%20points%3D%2267.2%2C85.8%2081.2%2C84.1%2093.6%2C118.6%22%20fill%3D%22rgb%28133%2C133%2C133%29%22%20fill-opacity%3D%220.65%22/%3E%3Cpolygon%20points%3D%2267.2%2C85.8%2093.6%2C118.6%2052.9%2C112.4%22%20fill%3D%22rgb%2858%2C58%2C58%29%22%20fill-opacity%3D%220.82%22/%3E%3Cpolygon%20points%3D%2252.9%2C112.4%2093.6%2C118.6%2056.2%2C156.3%22%20fill%3D%22rgb%2878%2C78%2C78%29%22%20fill-opacity%3D%220.66%22/%3E%3Cpolygon%20points%3D%2293.6%2C118.6%2086.3%2C151.7%2056.2%2C156.3%22%20fill%3D%22rgb%28128%2C128%2C128%29%22%20fill-opacity%3D%220.64%22/%3E%3Cpolygon%20points%3D%2256.2%2C156.3%2086.3%2C151.7%2089.1%2C180.0%22%20fill%3D%22rgb%2869%2C69%2C69%29%22%20fill-opacity%3D%220.8%22/%3E%3Cpolygon%20points%3D%2256.2%2C156.3%2089.1%2C180.0%2053.6%2C180.0%22%20fill%3D%22rgb%28159%2C159%2C159%29%22%20fill-opacity%3D%220.56%22/%3E%3Cpolygon%20points%3D%2291.6%2C0.0%20116.0%2C0.0%20125.9%2C34.0%22%20fill%3D%22rgb%2876%2C76%2C76%29%22%20fill-opacity%3D%220.32%22/%3E%3Cpolygon%20points%3D%2291.6%2C0.0%20125.9%2C34.0%2092.8%2C27.4%22%20fill%3D%22rgb%28127%2C127%2C127%29%22%20fill-opacity%3D%220.73%22/%3E%3Cpolygon%20points%3D%2292.8%2C27.4%20125.9%2C34.0%20114.9%2C61.5%22%20fill%3D%22rgb%28217%2C217%2C217%29%22%20fill-opacity%3D%220.35%22/%3E%3Cpolygon%20points%3D%2292.8%2C27.4%20114.9%2C61.5%2091.0%2C51.3%22%20fill%3D%22rgb%2845%2C45%2C45%29%22%20fill-opacity%3D%220.38%22/%3E%3Cpolygon%20points%3D%2291.0%2C51.3%20114.9%2C61.5%2081.2%2C84.1%22%20fill%3D%22rgb%28132%2C132%2C132%29%22%20fill-opacity%3D%220.35%22/%3E%3Cpolygon%20points%3D%22114.9%2C61.5%20120.5%2C97.5%2081.2%2C84.1%22%20fill%3D%22rgb%28179%2C179%2C179%29%22%20fill-opacity%3D%220.84%22/%3E%3Cpolygon%20points%3D%2281.2%2C84.1%20120.5%2C97.5%2093.6%2C118.6%22%20fill%3D%22rgb%28116%2C116%2C116%29%22%20fill-opacity%3D%220.89%22/%3E%3Cpolygon%20points%3D%22120.5%2C97.5%20124.6%2C115.8%2093.6%2C118.6%22%20fill%3D%22rgb%2863%2C63%2C63%29%22%20fill-opacity%3D%220.7%22/%3E%3Cpolygon%20points%3D%2293.6%2C118.6%20124.6%2C115.8%20129.6%2C142.4%22%20fill%3D%22rgb%28133%2C133%2C133%29%22%20fill-opacity%3D%220.84%22/%3E%3Cpolygon%20points%3D%2293.6%2C118.6%20129.6%2C142.4%2086.3%2C151.7%22%20fill%3D%22rgb%28131%2C131%2C131%29%22%20fill-opacity%3D%220.75%22/%3E%3Cpolygon%20points%3D%2286.3%2C151.7%20129.6%2C142.4%2089.1%2C180.0%22%20fill%3D%22rgb%28239%2C239%2C239%29%22%20fill-opacity%3D%220.58%22/%3E%3Cpolygon%20points%3D%22129.6%2C142.4%20118.4%2C180.0%2089.1%2C180.0%22%20fill%3D%22rgb%28202%2C202%2C202%29%22%20fill-opacity%3D%220.39%22/%3E%3Cpolygon%20points%3D%22116.0%2C0.0%20155.1%2C0.0%20125.9%2C34.0%22%20fill%3D%22rgb%28234%2C234%2C234%29%22%20fill-opacity%3D%220.8%22/%3E%3Cpolygon%20points%3D%22155.1%2C0.0%20143.0%2C29.8%20125.9%2C34.0%22%20fill%3D%22rgb%28246%2C246%2C246%29%22%20fill-opacity%3D%220.41%22/%3E%3Cpolygon%20points%3D%22125.9%2C34.0%20143.0%2C29.8%20140.8%2C63.4%22%20fill%3D%22rgb%28245%2C245%2C245%29%22%20fill-opacity%3D%220.4%22/%3E%3Cpolygon%20points%3D%22125.9%2C34.0%20140.8%2C63.4%20114.9%2C61.5%22%20fill%3D%22rgb%28172%2C172%2C172%29%22%20fill-opacity%3D%220.57%22/%3E%3Cpolygon%20points%3D%22114.9%2C61.5%20140.8%2C63.4%20120.5%2C97.5%22%20fill%3D%22rgb%2847%2C47%2C47%29%22%20fill-opacity%3D%220.76%22/%3E%3Cpolygon%20points%3D%22140.8%2C63.4%20155.3%2C91.5%20120.5%2C97.5%22%20fill%3D%22rgb%28160%2C160%2C160%29%22%20fill-opacity%3D%220.42%22/%3E%3Cpolygon%20points%3D%22120.5%2C97.5%20155.3%2C91.5%20124.6%2C115.8%22%20fill%3D%22rgb%28128%2C128%2C128%29%22%20fill-opacity%3D%220.54%22/%3E%3Cpolygon%20points%3D%22155.3%2C91.5%20157.5%2C116.3%20124.6%2C115.8%22%20fill%3D%22rgb%28225%2C225%2C225%29%22%20fill-opacity%3D%220.89%22/%3E%3Cpolygon%20points%3D%22124.6%2C115.8%20157.5%2C116.3%20129.6%2C142.4%22%20fill%3D%22rgb%28133%2C133%2C133%29%22%20fill-opacity%3D%220.3%22/%3E%3Cpolygon%20points%3D%22157.5%2C116.3%20153.9%2C151.9%20129.6%2C142.4%22%20fill%3D%22rgb%2866%2C66%2C66%29%22%20fill-opacity%3D%220.4%22/%3E%3Cpolygon%20points%3D%22129.6%2C142.4%20153.9%2C151.9%20151.6%2C180.0%22%20fill%3D%22rgb%2892%2C92%2C92%29%22%20fill-opacity%3D%220.56%22/%3E%3Cpolygon%20points%3D%22129.6%2C142.4%20151.6%2C180.0%20118.4%2C180.0%22%20fill%3D%22rgb%28196%2C196%2C196%29%22%20fill-opacity%3D%220.8%22/%3E%3Cpolygon%20points%3D%22155.1%2C0.0%20180.0%2C0.0%20180.0%2C29.1%22%20fill%3D%22rgb%28207%2C207%2C207%29%22%20fill-opacity%3D%220.47%22/%3E%3Cpolygon%20points%3D%22155.1%2C0.0%20180.0%2C29.1%20143.0%2C29.8%22%20fill%3D%22rgb%28204%2C204%2C204%29%22%20fill-opacity%3D%220.31%22/%3E%3Cpolygon%20points%3D%22143.0%2C29.8%20180.0%2C29.1%20140.8%2C63.4%22%20fill%3D%22rgb%28139%2C139%2C139%29%22%20fill-opacity%3D%220.76%22/%3E%3Cpolygon%20points%3D%22180.0%2C29.1%20180.0%2C66.8%20140.8%2C63.4%22%20fill%3D%22rgb%28232%2C232%2C232%29%22%20fill-opacity%3D%220.38%22/%3E%3Cpolygon%20points%3D%22140.8%2C63.4%20180.0%2C66.8%20155.3%2C91.5%22%20fill%3D%22rgb%28151%2C151%2C151%29%22%20fill-opacity%3D%220.76%22/%3E%3Cpolygon%20points%3D%22180.0%2C66.8%20180.0%2C98.9%20155.3%2C91.5%22%20fill%3D%22rgb%28125%2C125%2C125%29%22%20fill-opacity%3D%220.31%22/%3E%3Cpolygon%20points%3D%22155.3%2C91.5%20180.0%2C98.9%20157.5%2C116.3%22%20fill%3D%22rgb%28224%2C224%2C224%29%22%20fill-opacity%3D%220.51%22/%3E%3Cpolygon%20points%3D%22180.0%2C98.9%20180.0%2C119.5%20157.5%2C116.3%22%20fill%3D%22rgb%28142%2C142%2C142%29%22%20fill-opacity%3D%220.73%22/%3E%3Cpolygon%20points%3D%22157.5%2C116.3%20180.0%2C119.5%20180.0%2C153.3%22%20fill%3D%22rgb%2880%2C80%2C80%29%22%20fill-opacity%3D%220.36%22/%3E%3Cpolygon%20points%3D%22157.5%2C116.3%20180.0%2C153.3%20153.9%2C151.9%22%20fill%3D%22rgb%2872%2C72%2C72%29%22%20fill-opacity%3D%220.27%22/%3E%3Cpolygon%20points%3D%22153.9%2C151.9%20180.0%2C153.3%20151.6%2C180.0%22%20fill%3D%22rgb%28159%2C159%2C159%29%22%20fill-opacity%3D%220.77%22/%3E%3Cpolygon%20points%3D%22180.0%2C153.3%20180.0%2C180.0%20151.6%2C180.0%22%20fill%3D%22rgb%2877%2C77%2C77%29%22%20fill-opacity%3D%220.65%22/%3E%3C/svg%3E"); }
.srj-tc { --px: 0; --py: 0; }
.srj-tc__in { padding: 6%; border: 3px solid transparent; animation: none; }
.srj-tc__art { isolation: isolate; background: #05040f; margin: 5% 0; }
.srj-tc .srj-tc__img { object-fit: cover; padding: 0; filter: none; z-index: 0; transform: scale(1.02); }
.srj-tc__foil { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .55; transition: opacity .25s; }
.srj-tc__fg { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100% !important; object-fit: cover; pointer-events: none;
  transform: translate(calc(var(--px) * -7px), calc(var(--py) * -7px)) scale(1.04); filter: drop-shadow(0 8px 12px rgba(0,0,0,.65)); transition: transform .08s linear; }
.srj-tc__code, .srj-tc__heat { z-index: 3; }
.srj-tc.is-tilt .srj-tc__foil { opacity: .85; }
.srj-tc__holo { opacity: 0; }
/* masks: without a cut-out the pattern lives around the photo's edges so the subject stays clear */
.srj-tc:not(.has-fg) .srj-tc__foil { -webkit-mask-image: radial-gradient(ellipse 62% 58% at 50% 50%, rgba(0,0,0,.18) 45%, #000 100%); mask-image: radial-gradient(ellipse 62% 58% at 50% 50%, rgba(0,0,0,.18) 45%, #000 100%); }
.srj-tc.has-fg .srj-tc__img { filter: brightness(.38) saturate(1.3) blur(1.5px); }
.srj-tc.has-fg .srj-tc__foil { opacity: 1; mix-blend-mode: normal !important; }

/* ---------- Normal: chrome refractor ---------- */
.srj-tc.r-n { --c1: #cdd6f2; }
.srj-tc.r-n .srj-tc__in { border-image: linear-gradient(135deg, #f5f7ff, #7b84a8 22%, #e8ecff 42%, #59607f 62%, #f5f7ff 82%, #8f98bb) 1; background: linear-gradient(160deg, #16182e, #07061a 75%); box-shadow: inset 0 0 0 3px #07061a, 0 8px 22px rgba(0,0,0,.5); }
.fx-refractor .srj-tc__foil { mix-blend-mode: color-dodge; opacity: .35; background: linear-gradient(115deg, transparent 28%, rgba(255,60,200,.55) 40%, rgba(60,220,255,.55) 50%, rgba(255,230,60,.5) 60%, transparent 72%) 0 0 / 260% 100%; background-position: calc(130% - var(--mx) * 1.6) 0; animation: srjSheen 7s ease-in-out infinite; }
.fx-refractor.is-tilt .srj-tc__foil { animation: none; opacity: .7; }
.srj-tc.r-n .srj-tc__name { color: #f1f3ff; }
@keyframes srjSheen { 0%, 100% { background-position: 120% 0; } 50% { background-position: -20% 0; } }

/* ---------- Rare: silver prism frame + one of three foils ---------- */
.srj-tc.r-r { --c1: #e6f1ff; }
.srj-tc.r-r .srj-tc__in { border-image: linear-gradient(135deg, #fff, #9fb0d6 20%, #ffffff 35%, #ff9bf0 50%, #9be8ff 62%, #ffffff 78%, #9fb0d6) 1; background: linear-gradient(160deg, #1a1d3f, #07061a 72%); box-shadow: inset 0 0 0 3px #07061a, 0 0 16px rgba(190,215,255,.35), 0 8px 24px rgba(0,0,0,.5); }
.srj-tc.r-r .srj-tc__name { background: linear-gradient(90deg, #fff, #c9d6f5, #ffd6fb, #fff); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: srjTextFlow 5s linear infinite; }
.srj-tc.r-r .srj-tc__holo { opacity: 1; mix-blend-mode: screen; background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.55) 48%, rgba(200,225,255,.3) 51%, transparent 57%) 0 0 / 260% 100%; animation: srjShine 3.6s ease-in-out infinite; }
.srj-tc.r-r.is-tilt .srj-tc__holo { animation: none; background-position: calc(130% - var(--mx) * 1.6) 0; }
/* diamante: faceted triangle mosaic that catches rainbow light */
.fx-diamante .srj-tc__foil { mix-blend-mode: color-dodge; opacity: .75; background:
    linear-gradient(125deg, rgba(255,59,216,.65), rgba(255,210,63,.55) 25%, rgba(93,255,154,.55) 45%, rgba(56,214,255,.65) 65%, rgba(139,92,255,.65) 85%, rgba(255,59,216,.65)) 0 0 / 300% 300%,
    var(--tri) 0 0 / 90px 90px;
  background-blend-mode: multiply, normal; background-position: var(--mx) var(--my), 0 0; animation: srjPrism2 8s linear infinite; }
.fx-diamante.is-tilt .srj-tc__foil { animation: none; opacity: 1; }
.srj-tc.r-r.fx-diamante .srj-tc__in { background: var(--tri) 0 0 / 70px 70px, linear-gradient(160deg, #1a1d3f, #07061a 72%); background-blend-mode: soft-light, normal; }
/* sparkle: silver glitter that twinkles in rainbow colors */
.fx-sparkle .srj-tc__foil { mix-blend-mode: screen; opacity: .9; background:
    radial-gradient(circle, #fff 0 1px, transparent 1.6px) 0 0 / 11px 13px,
    radial-gradient(circle, #9be8ff 0 1.2px, transparent 2px) 5px 7px / 17px 15px,
    radial-gradient(circle, #ffd6fb 0 1px, transparent 1.8px) 3px 2px / 23px 19px,
    radial-gradient(circle, #fff6b0 0 1.4px, transparent 2.2px) 9px 4px / 29px 31px;
  animation: srjTwinkle 1.6s steps(3) infinite; }
.fx-sparkle.is-tilt .srj-tc__foil { animation: none; filter: hue-rotate(calc(var(--px) * 90deg)) brightness(1.3); }
/* wave refractor: rainbow ripples */
.fx-wave .srj-tc__foil { mix-blend-mode: color-dodge; opacity: .8; background:
    repeating-radial-gradient(circle at calc(var(--mx) * .6) 110%, rgba(255,59,216,.55) 0 4px, rgba(56,214,255,.5) 6px 9px, rgba(93,255,154,.45) 11px 13px, transparent 15px 22px);
  animation: srjWave 6s linear infinite; }
.fx-wave.is-tilt .srj-tc__foil { animation: none; opacity: 1; }

/* ---------- Unique: rainbow prism frame + power burst / geode ---------- */
.srj-tc.r-u { --c1: #ffd6fb; }
.srj-tc.r-u::before { content: ''; position: absolute; inset: -4px; z-index: -1; background: conic-gradient(from 0deg, #ff3bd8, #ffd23f, #5dff9a, #38d6ff, #8b5cff, #ff3bd8); filter: blur(12px) saturate(1.3); opacity: .75; animation: srjHue2 5s linear infinite; }
.srj-tc.r-u .srj-tc__in { animation: none; border-image: linear-gradient(var(--ang, 135deg), #ff3bd8, #ffd23f, #5dff9a, #38d6ff, #8b5cff, #ff3bd8) 1; background: linear-gradient(160deg, #24103f, #07061a 70%); box-shadow: inset 0 0 0 3px #07061a, 0 8px 24px rgba(0,0,0,.5); }
.srj-tc.r-u .srj-tc__name { background: linear-gradient(90deg, #ff9bf0, #ffe58a, #9dffc4, #9be8ff, #c9b0ff, #ff9bf0); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: srjTextFlow 4s linear infinite; }
.srj-tc.r-u .srj-tc__code { color: #fff; text-shadow: 0 0 6px #ff3bd8, 0 0 16px #38d6ff, 0 0 28px #8b5cff; }
.srj-tc.r-u .srj-tc__holo { opacity: .45; mix-blend-mode: color-dodge; background: repeating-linear-gradient(120deg, rgba(255,59,216,.5) 0%, rgba(255,210,63,.45) 7%, rgba(93,255,154,.45) 14%, rgba(56,214,255,.5) 21%, rgba(139,92,255,.5) 28%, rgba(255,59,216,.5) 35%) 0 0 / 300% 300%; animation: srjPrism2 7s linear infinite; }
.srj-tc.r-u.is-tilt .srj-tc__holo { animation: none; background-position: var(--mx) var(--my); opacity: .6; }
/* power burst: rays exploding from behind the subject */
.fx-burst .srj-tc__foil { mix-blend-mode: color-dodge; opacity: .85; background:
    repeating-conic-gradient(from 0deg at 50% 62%, #ff3b5c 0 4deg, #ffd23f 4deg 7deg, #0d0a26 7deg 11deg, #38d6ff 11deg 14deg, #ff3bd8 14deg 18deg, #0d0a26 18deg 22deg);
  animation: srjSpin2 24s linear infinite; transform-origin: 50% 62%; inset: -40%; }
.fx-burst.has-fg .srj-tc__foil { opacity: .95; }
/* geode: agate bands with crystal glitter */
.fx-geode .srj-tc__foil { mix-blend-mode: hard-light; opacity: .8; background:
    radial-gradient(circle, #fff 0 1px, transparent 1.8px) 0 0 / 13px 11px,
    radial-gradient(circle, #9be8ff 0 1.4px, transparent 2.4px) 6px 4px / 19px 23px,
    repeating-radial-gradient(ellipse 120% 90% at 50% 58%, transparent 0 34%, #1d3fa8 34% 37%, #f4f1ff 37% 38.5%, #d9a521 38.5% 42%, #5a3b06 42% 43%, #2a58d8 43% 47%, #ffffff 47% 48%, #ffcf4a 48% 52%, #1b2f80 52% 56%);
  animation: srjTwinkle 2s steps(3) infinite; }
.fx-geode.is-tilt .srj-tc__foil { filter: brightness(calc(1.05 + var(--py) * .2)) hue-rotate(calc(var(--px) * 25deg)); }

/* ---------- Limited: gold superfractor ---------- */
.srj-tc.r-l { --c1: #ffe7a0; }
.srj-tc.r-l::before { content: ''; position: absolute; inset: -5px; z-index: -1; background: radial-gradient(closest-side, rgba(255,210,63,.85), rgba(255,160,20,.3) 70%, transparent); filter: blur(12px); animation: srjGoldAura 2.6s ease-in-out infinite; }
.srj-tc.r-l .srj-tc__in { border: 4px solid transparent; border-image: linear-gradient(135deg, #fff6cf, #d9a521 18%, #fff3b8 32%, #8a6410 50%, #ffe27a 66%, #b8860b 82%, #fff6cf) 1;
  background: repeating-conic-gradient(from 0deg at 50% 50%, #3a2a06 0 2deg, #8a6410 2deg 3deg, #3a2a06 3deg 5deg), linear-gradient(160deg, #3a2a06, #120d02 55%, #050505);
  background-blend-mode: soft-light; box-shadow: inset 0 0 0 3px #120d02, inset 0 0 0 4px rgba(255,226,122,.55), 0 10px 28px rgba(0,0,0,.6); }
.fx-superfractor .srj-tc__foil { mix-blend-mode: hard-light; opacity: .9; background:
    conic-gradient(from calc(var(--px) * 60deg) at 50% 50%, rgba(255,255,255,.0), rgba(255,250,210,.65) 8%, rgba(255,255,255,0) 18%, rgba(255,250,210,.5) 40%, rgba(255,255,255,0) 52%, rgba(255,250,210,.6) 70%, rgba(255,255,255,0) 82%),
    repeating-radial-gradient(circle at 50% 50%, #fff3b8 0 1.5px, #d9a521 2px 3.5px, #8a6410 4px 5px, #ffe27a 5.5px 7px),
    repeating-conic-gradient(from 0deg at 50% 50%, #b8860b 0 3deg, #fff3b8 3deg 4deg, #8a6410 4deg 7deg);
  background-blend-mode: screen, overlay, normal; animation: srjSpin2 30s linear infinite; inset: -30%; }
.srj-tc.r-l .srj-tc__holo { opacity: .9; mix-blend-mode: screen; background:
    radial-gradient(circle at 18% 22%, #fff 0 1px, transparent 2px) 0 0 / 54px 54px, radial-gradient(circle at 72% 64%, #fff 0 1px, transparent 2px) 0 0 / 71px 71px,
    radial-gradient(circle at 42% 84%, #fff 0 1.2px, transparent 2.4px) 0 0 / 47px 47px,
    linear-gradient(125deg, transparent 25%, rgba(255,59,216,.28) 38%, rgba(56,214,255,.3) 48%, rgba(93,255,154,.25) 56%, rgba(255,210,63,.3) 64%, transparent 76%) 0 0 / 260% 260%;
  animation: srjGlitter 2.2s steps(2) infinite, srjHolo 6s linear infinite; }
.srj-tc.r-l.is-tilt .srj-tc__holo { background-position: 0 0, 0 0, 0 0, var(--mx) var(--my); }
.srj-tc.r-l .srj-tc__name { background: linear-gradient(90deg, #fff3b8, #d9a521, #fff6cf, #b8860b, #fff3b8); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: srjTextFlow 3s linear infinite; }
.srj-tc.r-l .srj-tc__top, .srj-tc.r-l .srj-tc__sub { color: #ffe7a0; }
.srj-tc.r-l .srj-tc__art { border: 1px solid #d9a521; box-shadow: 0 0 10px rgba(255,210,63,.35); }
.srj-tc.r-l .srj-tc__serial { padding: 2px 6px; display: inline-block; background: linear-gradient(90deg, #8a6410, #ffe27a, #b8860b); color: #1a1200; text-shadow: none; }

@keyframes srjShine { 0% { background-position: 130% 0; } 55%, 100% { background-position: -30% 0; } }
@keyframes srjTextFlow { to { background-position: 200% 0; } }
@keyframes srjPrism2 { to { background-position: 300% 300%, 0 0; } }
@keyframes srjTwinkle { 33% { opacity: .55; } 66% { opacity: 1; } }
@keyframes srjWave { to { filter: hue-rotate(360deg); } }
@keyframes srjSpin2 { to { transform: rotate(360deg); } }
@keyframes srjHue2 { to { filter: hue-rotate(360deg) blur(12px) saturate(1.3); } }
@keyframes srjGoldAura { 50% { opacity: .55; transform: scale(1.04); } }
@keyframes srjGlitter { 50% { opacity: .55; } }
.srj-tc.is-unknown::before { display: none; }
.srj-tc.is-unknown .srj-tc__in { border-image: none; background: repeating-linear-gradient(45deg, #0a0920 0 8px, #0d0b28 8px 16px); }
.srj-tc.is-traded::before { display: none; }
@media (prefers-reduced-motion: reduce) { .srj-tc__holo, .srj-tc__foil, .srj-tc::before, .srj-tc__name { animation: none !important; } }

.srj-tc.has-fg.fx-wave .srj-tc__foil { mix-blend-mode: screen !important; opacity: .7; }
.srj-tc.has-fg.fx-geode .srj-tc__foil, .srj-tc.has-fg.fx-superfractor .srj-tc__foil { opacity: .9; }

/* phone tilt button */
.srj-gyro { display: block; margin: 10px auto 0; padding: 8px 14px; border: 1px solid #ffd23f; background: rgba(255,210,63,.08); color: #ffd23f; font: 700 11px var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }

/* heat ladder: the bag design, like the flavor stamps */
.srj-ladder li { grid-template-columns: 64px 1fr; padding: 10px 14px; }
.srj-ladder__bag { display: block; width: 64px; aspect-ratio: 3 / 4; overflow: hidden; border: 2px solid currentColor; background: #07061a; }
.srj-ladder__bag img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.35); }
.srj-ladder li.is-on .srj-ladder__bag { box-shadow: 0 0 14px var(--h); }
.srj-ladder li.is-on .srj-ladder__bag img { filter: none; }
.srj-ladder__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

/* card details: photo caption + the flavor bag link */
.srj-cardinfo__photo { font-size: 13px; color: #aeb3dc; }
.srj-cardinfo__bag { display: flex; align-items: center; gap: 12px; margin: 10px auto; max-width: 320px; padding: 8px 12px; border: 1px solid var(--line-strong); text-align: left; color: #c7cbef; text-decoration: none; }
.srj-cardinfo__bag img { width: 54px; height: auto; flex: none; }
.srj-cardinfo__bag span { font-size: 12px; } .srj-cardinfo__bag b { display: block; font: 700 14px var(--display); color: #fff; text-transform: uppercase; }

/* passport flavor stamps: the bag design lives here, inked with the stamp */
.srj-stamp--bag { position: relative; display: block; text-decoration: none; }
.srj-stamp__bag { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #07061a; border: 1px solid var(--line); }
.srj-stamp__bag img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.35); transition: filter .3s; }
.srj-stamp--bag.is-on .srj-stamp__bag img { filter: none; }
.srj-stamp--bag .srj-stamp__ring { position: absolute; left: 10%; right: 10%; top: 30%; aspect-ratio: auto; padding: 8px 4px; background: rgba(7,6,26,.55); }
.srj-stamp--bag.is-on .srj-stamp__ring { background: color-mix(in srgb, #07061a 45%, transparent); backdrop-filter: blur(1px); }

/* gear is not in stock yet */
.srj-soon { display: inline-block; margin-left: 6px; padding: 1px 6px; border: 1px solid #ffd23f; color: #ffd23f; font: 700 9px/1.6 var(--display); letter-spacing: .12em; text-transform: uppercase; vertical-align: middle; white-space: nowrap; }
.srj-rw__soon { font-style: normal; font: 600 11px/1.5 var(--display); letter-spacing: .1em; text-transform: uppercase; color: #ffd23f; }
.srj-rule.is-soon { opacity: .8; }
.srj-rw__pick { flex: 1 1 100%; min-width: 0; max-width: 100%; }
.srj-rw__pick select { flex: 1 1 160px; min-width: 0; width: auto; }

/* ===================== v2.20 — Rocket Run arcade + cart multi-select ===================== */
.srj-arcade { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 28px; align-items: start; justify-content: center; }
.srj-arcade__stage { position: relative; width: 100%; max-width: 420px; margin: 0 auto; border: 2px solid var(--line-strong); box-shadow: 0 0 40px rgba(56,214,255,.15); }
.srj-arcade__stage canvas { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; touch-action: none; cursor: crosshair; background: #05040f; }
.srj-arcade__over { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px; text-align: center; background: rgba(5,4,15,.82); backdrop-filter: blur(2px); }
.srj-arcade__over[hidden] { display: none; }
.srj-arc-k { margin: 0; font: 600 11px var(--display); letter-spacing: .18em; text-transform: uppercase; color: #38d6ff; }
.srj-arc-k b { float: right; color: #fff; letter-spacing: .06em; }
.srj-arc-score { margin: 0; font: 900 40px/1.1 var(--display); color: #fff; text-shadow: 0 0 18px rgba(56,214,255,.5); }
.srj-arc-tier { margin: 0; font: 800 16px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #ffd23f; }
.srj-arc-gain { margin: 4px 0 0; font: 800 20px var(--display); color: #5dff9a; }
.srj-arc-gain.is-cash { color: #ffd23f; text-shadow: 0 0 14px rgba(255,210,63,.6); }
.srj-arc-gain.is-pack { color: #ff9bf0; }
.srj-arc-s { margin: 6px 0 0; font-size: 13px; color: #aeb3dc; }
.srj-arc-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 16px; }
.srj-arcade__panel { display: grid; gap: 14px; }
.srj-arc-box { padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.srj-arc-box .srj-arc-k + .srj-arc-bar, .srj-arc-bar + .srj-arc-k { margin-top: 8px; }
.srj-arc-box--credit { border-color: #ffd23f; background: linear-gradient(135deg, rgba(255,210,63,.12), rgba(255,210,63,.02)); }
.srj-arc-box--credit .srj-arc-k { color: #ffd23f; }
.srj-arc-big { margin: 4px 0; font: 900 34px var(--display); color: #fff; }
.srj-arc-bar { height: 8px; background: rgba(255,255,255,.08); margin: 6px 0 10px; }
.srj-arc-bar i { display: block; height: 100%; background: linear-gradient(90deg, #38d6ff, #5dff9a); transition: width .5s; }
.srj-arc-bar.is-tank i { background: linear-gradient(90deg, #ff8a1f, #ffd23f); }
.srj-arc-bar.is-month i { background: linear-gradient(90deg, #8b5cff, #ff3bd8); }
.srj-arc-tiers, .srj-arc-board { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.srj-arc-tiers li { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: baseline; padding: 8px 10px; border: 1px solid var(--line); font-size: 13px; }
.srj-arc-tiers b { font: 800 13px var(--display); text-transform: uppercase; letter-spacing: .1em; color: #fff; }
.srj-arc-tiers li:last-child b { color: #ffd23f; }
.srj-arc-tiers span { color: #aeb3dc; } .srj-arc-tiers em { font-style: normal; color: #5dff9a; font-weight: 700; }
.srj-arc-board { counter-reset: arc; }
.srj-arc-board li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 10px; border-bottom: 1px solid var(--line); font-size: 14px; color: #c7cbef; counter-increment: arc; }
.srj-arc-board li span::before { content: counter(arc) '. '; color: #6b6f9f; }
.srj-arc-board li.is-me { color: #ffd23f; border-color: #ffd23f; }
.srj-arc-board b { font-family: var(--display); color: #fff; }
.srj-arc-fine { margin: 0; font-size: 11px; color: #6b6f9f; }
@media (max-width: 860px) { .srj-arcade { grid-template-columns: 1fr; } }

.srj-cartsel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--line); background: var(--panel); }
.srj-cartsel__all { display: inline-flex; align-items: center; gap: 8px; margin-right: auto; font: 700 12px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #fff; cursor: pointer; }
.srj-cartsel input[type="checkbox"], .srj-cartsel__box input { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; margin: 0; border: 2px solid #9aa3c7; background: #07061a; cursor: pointer; display: inline-grid; place-content: center; flex: none; }
.srj-cartsel input[type="checkbox"]:checked, .srj-cartsel__box input:checked { background: #38d6ff; border-color: #38d6ff; }
.srj-cartsel input[type="checkbox"]:checked::after, .srj-cartsel__box input:checked::after { content: ''; width: 10px; height: 6px; border-left: 2px solid #07061a; border-bottom: 2px solid #07061a; transform: rotate(-45deg) translate(1px, -1px); }
.srj-cartsel input[type="checkbox"]:indeterminate::after { content: ''; width: 10px; height: 2px; background: #38d6ff; }
.srj-cartsel__btn { padding: 8px 12px; border: 1px solid var(--line-strong); background: transparent; color: #c7cbef; font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.srj-cartsel__btn:disabled { opacity: .4; cursor: default; }
.srj-cartsel__del:not(:disabled) { border-color: #ff3b5c; color: #ff3b5c; }
.wc-block-cart-item__image { position: relative; }
.srj-cartsel__box { position: absolute; left: -6px; top: -6px; z-index: 3; display: block; line-height: 0; }
.wc-block-cart-items__row.is-picked { outline: 1px solid #38d6ff; outline-offset: -1px; background: rgba(56,214,255,.05); }
.srj-cartsel { flex-wrap: nowrap; }
.srj-cartsel__all { white-space: nowrap; }
.srj-cartsel__del { white-space: nowrap; }
.srj-cartsel { gap: 8px; padding: 10px; }
.srj-cartsel__del { padding: 8px 10px; }

/* ===================== v2.21 — Space Arcade hub (20 games) ===================== */
.srj-arc-head { position: relative; }
.srj-arc-banner { display: block; width: 100%; max-width: 900px; margin: 0 auto 18px; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid var(--line-strong); box-shadow: 0 0 40px rgba(56,214,255,.18); }
.srj-arcade { display: block; }
.srj-arc-wallet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.srj-arc-wallet.is-guest { display: block; padding: 14px 16px; border: 1px solid #ffd23f; background: rgba(255,210,63,.06); text-align: center; }
.srj-arc-wallet.is-guest a { color: #ffd23f; }
.srj-arc-wallet__i { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 6px; border: 1px solid var(--line); background: var(--panel); text-align: center; }
.srj-arc-wallet__i img { width: 26px; height: 26px; }
.srj-arc-wallet__i b { font: 900 18px var(--display); color: #fff; }
.srj-arc-wallet__i span { font: 600 9px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #9aa3c7; }
.srj-arc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.srj-arc-card { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 1px solid var(--line-strong); background: var(--panel); color: #fff; text-align: left; cursor: pointer; transition: transform .15s, border-color .15s, box-shadow .15s; }
.srj-arc-card:hover, .srj-arc-card:focus-visible { transform: translateY(-3px); border-color: #38d6ff; box-shadow: 0 0 20px rgba(56,214,255,.3); }
.srj-arc-card__img { display: block; aspect-ratio: 1; overflow: hidden; }
.srj-arc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.srj-arc-card:hover .srj-arc-card__img img { transform: scale(1.06); }
.srj-arc-card b { display: block; margin: 10px 10px 2px; font: 800 13px var(--display); text-transform: uppercase; letter-spacing: .06em; }
.srj-arc-card em { display: block; margin: 0 10px; font-style: normal; font-size: 12px; color: #aeb3dc; line-height: 1.3; flex: 1; }
.srj-arc-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin: 10px; font: 700 10px var(--display); letter-spacing: .08em; text-transform: uppercase; color: #ffd23f; }
.srj-arc-card__foot span { display: inline-flex; align-items: center; gap: 4px; }
.srj-arc-card__foot img { width: 16px; height: 16px; }
.srj-arc-rules { margin-top: 28px; padding: 18px; border: 1px solid var(--line); background: var(--panel); }
.srj-arc-rules h3 { margin: 0 0 10px; font-size: 16px; text-transform: uppercase; }
.srj-arc-rules ul { margin: 0 0 12px; padding-left: 18px; display: grid; gap: 6px; color: #c7cbef; font-size: 14px; }
.srj-arc-play__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.srj-arc-back { padding: 8px 12px; border: 1px solid var(--line-strong); background: transparent; color: #c7cbef; font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.srj-arc-coins { display: inline-flex; align-items: center; gap: 6px; font: 900 18px var(--display); color: #ffd23f; }
.srj-arc-coins img { width: 24px; height: 24px; }
.srj-arc-play__grid { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 24px; align-items: start; justify-content: center; }
@media (max-width: 860px) { .srj-arc-play__grid { grid-template-columns: 1fr; } .srj-arc-wallet { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.srj-arc-ovimg { width: 110px; height: 110px; object-fit: cover; border: 1px solid var(--line-strong); margin-bottom: 6px; }
.srj-arc-ci { width: 16px; height: 16px; vertical-align: -3px; margin-left: 2px; }
.srj-arc-tiers li.is-on { border-color: #ffd23f; background: rgba(255,210,63,.06); }
.srj-arcade__over .srj-arc-actions + .srj-arc-actions { margin-top: 8px; }
.srj-arcade__over a { color: #ffd23f; }
.srj-arcade.is-playing .srj-arcade__stage canvas, .srj-arcade .srj-arcade__stage canvas { touch-action: none; -webkit-user-select: none; user-select: none; }
/* v2.21.1 — cart checkbox sits left of the product photo, not on it */
.wc-block-cart table.wc-block-cart-items tr.wc-block-cart-items__row { padding-left: 30px !important; }
.wc-block-cart table.wc-block-cart-items .srj-cartsel__box { left: -30px; top: 0; }

/* v2.22 — arcade: title bar, pause, full screen, power-up chips, theme tabs */
.srj-arc-tbar { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; height: 40px; background: #0b0a24; border-bottom: 1px solid var(--line-strong); }
.srj-arc-tbar b { text-align: center; font: 900 13px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 4px; }
.srj-arc-tb { height: 40px; width: 44px; padding: 0; border: 0; background: transparent; color: #38d6ff; font: 900 15px var(--display); cursor: pointer; }
.srj-arc-tb:disabled { opacity: .3; cursor: default; }
.srj-arc-tb:not(:disabled):hover { background: rgba(56,214,255,.12); }
.srj-arc-screen { position: relative; }
html.srj-noscroll, html.srj-noscroll body { overflow: hidden; }
.srj-arcade__stage:fullscreen, .srj-arcade__stage.is-fs { max-width: none; width: 100vw; height: 100vh; height: 100dvh; margin: 0; border: 0; display: flex; flex-direction: column; background: #05040f; }
.srj-arcade__stage:-webkit-full-screen { max-width: none; width: 100vw; height: 100vh; margin: 0; border: 0; display: flex; flex-direction: column; background: #05040f; }
.srj-arcade__stage.is-fs { position: fixed; inset: 0; z-index: 100000; padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
.srj-arcade__stage:fullscreen .srj-arc-screen, .srj-arcade__stage.is-fs .srj-arc-screen { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.srj-arcade__stage:-webkit-full-screen .srj-arc-screen { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.srj-arcade__stage:fullscreen canvas, .srj-arcade__stage.is-fs canvas { width: min(100%, calc((100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 2 / 3)); height: auto; }
.srj-arcade__stage:-webkit-full-screen canvas { width: min(100%, calc((100vh - 40px) * 2 / 3)); height: auto; }
.srj-arc-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0 0 16px; }
.srj-arc-tab { padding: 10px 4px; border: 1px solid var(--line-strong); background: var(--panel); color: #c7cbef; cursor: pointer; text-align: center; }
.srj-arc-tab b { display: block; font: 900 12px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.srj-arc-tab span { display: block; margin-top: 2px; font-size: 10px; color: #8a8fbd; }
.srj-arc-tab.is-on { border-color: #ffd23f; background: rgba(255,210,63,.1); color: #ffd23f; box-shadow: inset 0 -3px 0 #ffd23f; }
@media (max-width: 520px) { .srj-arc-tab { padding: 8px 2px; } .srj-arc-tab b { font-size: 9px; letter-spacing: .02em; } .srj-arc-tab span { font-size: 9px; } }

/* v2.22.1 — account: plain names under SYS codes, menu-style switch caption, ask for a name once */
.srj-viewswitch__k { align-self: center; padding: 0 8px 0 2px; font: 700 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.srj-namecard { margin: 0 0 22px; padding: 16px; border: 1px solid #ffd23f; background: rgba(255,210,63,.07); }
.srj-namecard label { display: block; margin-bottom: 10px; }
.srj-namecard label b { display: block; font: 800 15px var(--display); letter-spacing: .06em; text-transform: uppercase; color: #ffd23f; }
.srj-namecard label span { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); }
.srj-namecard__row { display: flex; gap: 8px; }
.srj-namecard__row input { flex: 1; min-width: 0; padding: 12px; border: 1px solid var(--line-strong); border-radius: 0; background: #07061a; color: #fff; font-size: 16px; }
.srj-namecard__row .srj-btn { flex: 0 0 auto; }

/* v2.23 — daily check-in calendar + boosts */
.srj-ci { margin: 0 0 16px; padding: 14px; border: 1px solid #ffd23f; background: linear-gradient(180deg, rgba(255,210,63,.09), rgba(255,210,63,.02)); }
.srj-ci h3 { margin: 0; font: 900 14px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #ffd23f; }
.srj-ci.is-guest p { margin: 6px 0 0; font-size: 13px; color: #c7cbef; }
.srj-ci__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.srj-ci__head span { font: 700 10px var(--display); letter-spacing: .08em; text-transform: uppercase; color: #c7cbef; }
.srj-ci__days { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.srj-ci__days li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 2px; border: 1px solid var(--line-strong); background: rgba(5,4,15,.6); text-align: center; }
.srj-ci__days small { font: 700 8px var(--display); letter-spacing: .04em; text-transform: uppercase; color: #8a8fbd; }
.srj-ci__days img { width: 22px; height: 22px; }
.srj-ci__big { font: 900 17px/22px var(--display); color: #38d6ff; }
.srj-ci__big.is-heart { color: #ff3b5c; }
.srj-ci__days em { font: 800 11px var(--display); font-style: normal; color: #fff; }
.srj-ci__days li.is-big { border-color: #ff3bd8; background: rgba(255,59,216,.12); }
.srj-ci__days li.is-today { border-color: #ffd23f; box-shadow: inset 0 0 0 1px #ffd23f, 0 0 14px rgba(255,210,63,.35); }
.srj-ci__days li.is-done { opacity: .55; }
.srj-ci__days li i { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font: 900 22px var(--display); font-style: normal; color: #5dff9a; background: rgba(5,4,15,.45); }
.srj-ci__go { width: 100%; justify-content: center; }
.srj-ci__note { margin: 0; font-size: 12px; color: #c7cbef; }
.srj-arc-boosts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.srj-arc-boosts span { padding: 5px 8px; border: 1px solid; font: 800 10px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.srj-arc-boosts .is-free { color: #38d6ff; border-color: #38d6ff; }
.srj-arc-boosts .is-heart { color: #ff3b5c; border-color: #ff3b5c; }
.srj-arc-boosts .is-fuel { color: #5dff9a; border-color: #5dff9a; }

/* v2.24 — account display settings: two dropdowns side by side */
.srj-prefs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: -6px; }
.srj-prefs__item { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.srj-prefs__item span { font: 700 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.srj-prefs__item select { width: 100%; padding: 11px 34px 11px 12px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--panel-solid) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%2338d6ff' stroke-width='2'/></svg>") no-repeat right 12px center; color: var(--text); font: 700 13px var(--display); letter-spacing: .08em; text-transform: uppercase; -webkit-appearance: none; appearance: none; cursor: pointer; }

/* v2.24 — arcade: info popups, name check, full-screen touch pad */
button.srj-arc-wallet__i { font: inherit; color: inherit; cursor: pointer; text-align: center; }
button.srj-arc-wallet__i:hover { border-color: #38d6ff; }
button.srj-arc-coins { border: 0; background: transparent; cursor: pointer; padding: 4px; }
.srj-arc-tip { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(1,1,4,.6); }
.srj-arc-tip__box { width: 100%; max-width: 360px; padding: 18px; border: 1px solid #38d6ff; background: #0b0a24; box-shadow: 0 0 40px rgba(56,214,255,.25); }
.srj-arc-tip__box b { display: block; margin-bottom: 8px; font: 900 15px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #ffd23f; }
.srj-arc-tip__box p { margin: 0 0 8px; font-size: 14px; line-height: 1.5; color: #e6e8ff; }
.srj-arc-tip__box small { display: block; margin-top: 6px; font-size: 11px; color: #8a8fbd; }
.srj-arc-name { width: 100%; max-width: 320px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.srj-arc-name__n { margin: 0; font: 900 22px var(--display); color: #ffd23f; word-break: break-word; }
.srj-arc-name__edit { display: flex; gap: 6px; width: 100%; }
.srj-arc-name__edit[hidden], .srj-arc-name .srj-arc-actions[hidden] { display: none; }
.srj-arc-name__edit input { flex: 1; min-width: 0; padding: 11px; border: 1px solid var(--line-strong); border-radius: 0; background: #07061a; color: #fff; font-size: 16px; }
.srj-arc-name__edit .srj-btn { padding: 11px 12px; font-size: 11px; }
.srj-arc-name__opts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; margin-top: 4px; font-size: 12px; color: #c7cbef; }
.srj-arc-name__opts label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.srj-arc-linkbtn { border: 0; background: none; color: #8a8fbd; text-decoration: underline; cursor: pointer; font: inherit; }
.srj-arcade__over .srj-arc-fine { font-size: 11px; color: #8a8fbd; margin: 4px 0 0; }
.srj-arc-pad { display: none; }
.srj-arcade__stage, .srj-arcade__stage * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; -webkit-tap-highlight-color: transparent; }
.srj-arcade__stage input { -webkit-user-select: text; user-select: text; }
.srj-arcade__stage.is-fs .srj-arc-screen, .srj-arcade__stage:fullscreen .srj-arc-screen { flex: 0 1 auto; }
.srj-arcade__stage.is-fs .srj-arc-pad, .srj-arcade__stage:fullscreen .srj-arc-pad { display: flex; flex: 1 1 auto; min-height: 0; border-top: 1px solid var(--line-strong); background: #07061a; }
.srj-arcade__stage:-webkit-full-screen .srj-arc-pad { display: flex; flex: 1 1 auto; min-height: 0; border-top: 1px solid var(--line-strong); background: #07061a; }
.srj-arc-pad__btns { display: flex; flex-direction: column; flex: 0 0 64px; border-right: 1px solid var(--line-strong); }
.srj-arc-pad__btns button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 0; border-bottom: 1px solid var(--line-strong); background: #0b0a24; color: #38d6ff; font: 900 16px var(--display); cursor: pointer; }
.srj-arc-pad__btns button:last-child { border-bottom: 0; color: #ff3b5c; }
.srj-arc-pad__btns span { font: 700 8px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #c7cbef; }
.srj-arc-pad__area { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; padding: 8px; touch-action: none; background: repeating-linear-gradient(0deg, rgba(56,214,255,.05) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, rgba(56,214,255,.05) 0 1px, transparent 1px 24px); }
.srj-arc-pad__area span { font: 700 10px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #5a5f8a; text-align: center; pointer-events: none; }

/* v2.25 — mobile drawer fits the screen without scrolling; display settings live in its footer */
@media (max-width: 860px) {
  .srj-nav { height: 100vh; height: 100dvh; overflow: hidden; }
  .srj-nav__head { padding: clamp(12px, 2.4dvh, 26px) 20px clamp(8px, 1.6dvh, 18px); margin: 0 14px clamp(6px, 1.4dvh, 16px); }
  .srj-nav__close { width: 36px; height: 36px; }
  .srj-nav > ul, .srj-nav .menu { flex: 1 1 auto; min-height: 0; gap: clamp(5px, 1.1dvh, 12px); justify-content: flex-start; }
  .srj-nav ul li a { padding: clamp(5px, 1.05dvh, 14px) 12px; gap: 12px; }
  .srj-nav ul li a .srj-key__icon { width: clamp(28px, 4.4dvh, 38px); height: clamp(28px, 4.4dvh, 38px); }
  .srj-nav ul li a .srj-key__icon svg { width: clamp(16px, 2.4dvh, 20px); height: clamp(16px, 2.4dvh, 20px); }
  .srj-nav__foot { margin: clamp(6px, 1.2dvh, 14px) 22px clamp(10px, 2dvh, 22px); padding-top: clamp(8px, 1.4dvh, 16px); gap: 8px; }
  .srj-key--mini { padding: clamp(7px, 1.2dvh, 12px) 8px; }
  .srj-nav__foot .srj-prefs { grid-column: 1 / -1; margin: 0; gap: 8px; }
  .srj-nav__foot .srj-prefs__item span { font-size: 8px; }
  .srj-nav__foot .srj-prefs__item select { padding: clamp(6px, 1dvh, 10px) 28px clamp(6px, 1dvh, 10px) 10px; font-size: 11px; background-position: right 9px center; }
}
.srj-pair__timer { margin: 4px 0 10px; font: 700 11px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #ffd23f; }
.srj-pair__timer b { font-weight: 900; color: #ff3b5c; letter-spacing: .06em; }
.srj-pair__timer.is-ended { color: var(--muted); text-transform: none; letter-spacing: 0; font: 500 13px var(--body); }
.srj-pair.is-ended { opacity: .85; }
.srj-pair.is-ended .srj-pair__deal { background: rgba(255,255,255,.08); color: var(--muted); border-color: var(--line); }

/* v2.25 — Adventure mode: mode switch, galaxy header, planet maps, stars, warp + briefing */
:root { --g2: #38d6ff; --g3: #ff3bd8; --g4: #5dff9a; --g5: #ff8a1f; }
.srj-arc-mode { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 0 0 16px; }
.srj-arc-mode button { min-width: 0; padding: 10px 4px; border: 1px solid var(--line-strong); background: var(--panel); color: #c7cbef; cursor: pointer; text-align: center; }
.srj-arc-mode b { display: block; font: 900 clamp(11px, 3.2vw, 14px) var(--display); letter-spacing: .06em; white-space: nowrap; text-transform: uppercase; }
.srj-arc-mode span { display: block; margin-top: 2px; font-size: clamp(9px, 2.5vw, 11px); line-height: 1.2; color: #8a8fbd; }
.srj-arc-mode .is-on { border-color: #ff3bd8; background: rgba(255,59,216,.1); color: #fff; box-shadow: inset 0 -3px 0 #ff3bd8; }
.srj-adv-head { margin: 0 0 18px; padding: 16px; border: 1px solid var(--gtint, #ffd23f); background: linear-gradient(180deg, rgba(139,92,255,.16), rgba(5,4,15,.6)); text-align: center; }
.srj-adv-head h2 { margin: 4px 0 12px; font: 900 clamp(24px, 6vw, 36px) var(--display); letter-spacing: .08em; color: var(--gtint, #ffd23f); text-shadow: 0 0 22px currentColor; }
.srj-adv-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 0 0 10px; }
.srj-adv-stats div { padding: 8px 4px; border: 1px solid var(--line); background: rgba(5,4,15,.5); }
.srj-adv-stats b { display: block; font: 900 15px var(--display); color: #fff; }
.srj-adv-stats span { display: block; font: 700 8px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #8a8fbd; }
.srj-adv-perk { margin: 10px 0 0; padding: 8px; border: 1px dashed #ffd23f; color: #ffd23f; font: 700 11px var(--display); letter-spacing: .06em; text-transform: uppercase; }
.srj-adv-planet { margin: 0 0 22px; padding: 14px 10px 18px; border: 1px solid var(--line-strong); background: rgba(5,4,15,.45); }
.srj-adv-planet header { display: flex; align-items: baseline; gap: 10px; margin: 0 4px 14px; }
.srj-adv-planet header h3 { margin: 0; font: 900 18px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.srj-adv-planet__n { font: 700 9px var(--display); letter-spacing: .2em; text-transform: uppercase; color: #8a8fbd; }
.srj-adv-planet header em { margin-left: auto; font-style: normal; font: 800 12px var(--display); color: #ffd23f; }
.srj-adv-planet.is-space h3 { color: #8b5cff; } .srj-adv-planet.is-rocket h3 { color: #38d6ff; } .srj-adv-planet.is-alien h3 { color: #5dff9a; } .srj-adv-planet.is-zombie h3 { color: #b6ff3b; } .srj-adv-planet.is-disaster h3 { color: #ff8a1f; }
.srj-adv-path { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 18px; column-gap: 6px; }
.srj-adv-path li { position: relative; }
.srj-adv-path li::after { content: ''; position: absolute; border-color: rgba(170,150,255,.45); border-style: dashed; border-width: 0; pointer-events: none; }
.srj-adv-path li[data-dir="r"]::after { top: 26px; left: calc(50% + 26px); width: calc(100% - 46px); border-top-width: 2px; }
.srj-adv-path li[data-dir="l"]::after { top: 26px; right: calc(50% + 26px); width: calc(100% - 46px); border-top-width: 2px; }
.srj-adv-path li[data-dir="d"]::after { left: 50%; top: 100%; height: 18px; border-left-width: 2px; }
.srj-adv-path li.is-done::after { border-color: #ffd23f; }
.srj-adv-path button { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.srj-adv-path button:disabled { cursor: default; }
.srj-adv-node { position: relative; width: 52px; height: 52px; border: 2px solid var(--line-strong); background: #07061a; overflow: hidden; }
.srj-adv-node img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.srj-adv-node b { position: absolute; left: 0; bottom: 0; padding: 1px 4px; background: rgba(5,4,15,.85); font: 900 10px var(--display); }
.srj-adv-lock { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 16px; background: rgba(5,4,15,.6); }
.srj-adv-path .is-locked .srj-adv-node img { filter: grayscale(1) brightness(.45); }
.srj-adv-path .is-done .srj-adv-node { border-color: #ffd23f; }
.srj-adv-path .is-here .srj-adv-node { border-color: #ff3bd8; box-shadow: 0 0 0 3px rgba(255,59,216,.35), 0 0 18px rgba(255,59,216,.6); animation: srjAdvPulse 1.4s ease-in-out infinite; }
@keyframes srjAdvPulse { 50% { box-shadow: 0 0 0 6px rgba(255,59,216,.15), 0 0 26px rgba(255,59,216,.8); } }
.srj-adv-name { max-width: 100%; font: 700 8px var(--display); letter-spacing: .04em; text-transform: uppercase; color: #c7cbef; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srj-adv-path small { font-size: 9px; color: #8a8fbd; }
.srj-stars { font-style: normal; font-size: 10px; letter-spacing: 1px; color: #ffd23f; }
.srj-stars u { text-decoration: none; color: rgba(255,255,255,.18); }
.srj-adv-res .srj-stars { font-size: 30px; letter-spacing: 4px; }
.srj-adv-end { margin: 0 0 22px; padding: 18px; border: 1px dashed #38d6ff; text-align: center; }
.srj-adv-end b { display: block; font: 900 15px var(--display); letter-spacing: .08em; text-transform: uppercase; color: #38d6ff; }
.srj-adv-end span { display: block; margin-top: 4px; font-size: 13px; color: #c7cbef; }
.srj-adv-tag { font: 800 10px var(--display); letter-spacing: .1em; color: #ff3bd8; }
.srj-adv-lb .srj-arc-tip__box { max-height: 86vh; overflow: auto; }
.srj-adv-lbtabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.srj-adv-lbtabs button { padding: 6px 10px; border: 1px solid var(--line-strong); background: transparent; color: #c7cbef; font: 700 10px var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.srj-adv-lbtabs .is-on { border-color: #ffd23f; color: #ffd23f; }
.srj-adv-lb .srj-arc-board em { font-style: normal; color: #ff3bd8; font-size: 10px; }
.srj-adv-lb .srj-btn { margin-top: 10px; width: 100%; }
.srj-adv-gname { display: inline !important; font-size: 13px !important; }
.srj-warp { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; background: #010104; overflow: hidden; }
.srj-warp__sky { position: absolute; inset: 0; }
.srj-warp__sky i { position: absolute; left: 50%; top: 50%; width: 2px; height: var(--w); background: linear-gradient(180deg, transparent, #b7f3ff); transform-origin: 50% 0; transform: rotate(var(--a)) translateY(0) scaleY(.05); animation: srjWarp var(--d) linear infinite; opacity: .9; }
@keyframes srjWarp { to { transform: rotate(var(--a)) translateY(60vmax) scaleY(1); opacity: 0; } }
.srj-warp__ship { position: relative; width: 90px; animation: srjWarpShip 2.6s ease-in forwards; filter: drop-shadow(0 0 20px #38d6ff); }
@keyframes srjWarpShip { 0% { transform: scale(1); } 70% { transform: scale(1.4); } 100% { transform: scale(.05) translateY(-200px); opacity: 0; } }
.srj-warp.is-brief { background: radial-gradient(circle at 50% 30%, #1c1846, #010104 70%); overflow: auto; padding: 20px; }
.srj-warp__brief { width: 100%; max-width: 420px; padding: 22px; border: 1px solid #ffd23f; background: rgba(11,10,36,.95); text-align: center; animation: srjFadeUp .5s ease-out; }
@keyframes srjFadeUp { from { opacity: 0; transform: translateY(20px); } }
.srj-warp__brief h2 { font: 900 24px var(--display); color: #ffd23f; margin: 6px 0; }
.srj-warp__gs { margin: 0 0 12px; font-size: 34px; letter-spacing: 6px; color: #ffd23f; }
.srj-warp__gs u { text-decoration: none; color: rgba(255,255,255,.18); }
.srj-warp__brief .srj-adv-stats { grid-template-columns: 1fr 1fr; }
.srj-warp__rw { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 6px; text-align: left; }
.srj-warp__rw li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); font-size: 14px; }
.srj-warp__rw li i { width: 26px; height: 6px; }
.srj-warp__next { font: 800 12px var(--display); letter-spacing: .14em; text-transform: uppercase; color: #38d6ff; }
.srj-arc-tbar { grid-template-columns: 44px 1fr auto; }
.srj-arc-tbr { display: flex; }
.srj-arc-tb[data-sfx] { font-size: 16px; }
/* v2.25.2 — step 7 SHIELD = crisp honeycomb force field (cyan, sharp rim + travelling glint);
   step 8 ENGINES = orange heat glow only under the engines (not around the whole rocket) */
.srj-hexfield { animation: srjHex 3s ease-in-out infinite; }
@keyframes srjHex { 0%, 100% { opacity: .35; } 50% { opacity: .8; } }
.srj-shield-rim { filter: drop-shadow(0 0 3px #38d6ff); }
.srj-shield-glint { opacity: .9; animation: srjGlint 2.2s linear infinite; }
@keyframes srjGlint { to { stroke-dashoffset: -640; } }
.srj-fuel.has-shield .srj-part--shield { animation: none; }
.srj-fuel.has-glow .srj-fuel__rocket svg, .srj-fuel.has-glow.is-legend .srj-fuel__rocket svg { animation: none; filter: none; }
.srj-fuel.has-glow.is-legend .srj-fuel__rocket svg { animation: srjLegend 4s linear infinite; }
.srj-fuel__rocket { position: relative; }
.srj-fuel.has-glow .srj-fuel__rocket::after { content: ''; position: absolute; left: 50%; bottom: 2%; width: 92%; height: 26%; transform: translateX(-50%); pointer-events: none;
  background: radial-gradient(ellipse at 50% 35%, rgba(255,210,63,.75) 0%, rgba(255,138,31,.55) 30%, rgba(255,59,92,.25) 55%, transparent 72%); filter: blur(4px); animation: srjHeat .5s ease-in-out infinite alternate; }
@keyframes srjHeat { from { opacity: .7; transform: translateX(-50%) scaleY(.92); } to { opacity: 1; transform: translateX(-50%) scaleY(1.08); } }

/* v2.25.2 — drawer sits above sticky checkout bars / toasts; log out button */
@media (max-width: 860px) {
  .srj-nav { z-index: 10050; padding-bottom: env(safe-area-inset-bottom); }
  .srj-nav-backdrop { z-index: 10040; }
  body.srj-nav-open .wc-block-cart__submit-container--sticky, body.srj-nav-open .srj-rkpop { visibility: hidden; }
  .srj-nav__foot .srj-nav__logout { grid-column: 1 / -1; order: 9; border-color: rgba(255,59,92,.55); color: #ff8098; }
  .srj-nav__foot .srj-nav__logout .srj-key__label { color: #ff8098; }
}

/* v2.26 — replay layer: missions, mastery, hot games, near-miss */
.srj-arc-card__img { position: relative; }
.srj-arc-hotr { position: absolute; left: 0; top: 0; padding: 3px 6px; background: linear-gradient(90deg, #ff3b5c, #ff8a1f); color: #fff; font: 800 9px var(--display); letter-spacing: .08em; }
.srj-arc-mlv { position: absolute; right: 0; top: 0; padding: 3px 6px; background: rgba(5,4,15,.85); border: 1px solid #ffd23f; color: #ffd23f; font: 800 9px var(--display); }
.srj-arc-pips { position: absolute; left: 6px; bottom: 6px; display: flex; gap: 3px; }
.srj-arc-pips i { width: 8px; height: 8px; background: rgba(5,4,15,.75); border: 1px solid rgba(56,214,255,.7); }
.srj-arc-pips i.on { background: #38d6ff; box-shadow: 0 0 6px #38d6ff; }
.srj-arc-hotbar { margin: 12px 0; padding: 10px; border: 1px solid rgba(255,138,31,.55); background: linear-gradient(180deg, rgba(255,59,92,.12), rgba(255,138,31,.04)); }
.srj-arc-hotbar p { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 0 0 8px; font: 700 12px var(--display); color: #ffb84a; }
.srj-arc-hotbar p span { font: 500 10px var(--body, inherit); color: var(--muted); }
.srj-arc-hotbar div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.srj-arc-hotbar button { display: flex; flex-direction: column; gap: 4px; padding: 0; background: none; border: 1px solid rgba(255,138,31,.4); color: #fff; cursor: pointer; text-align: left; }
.srj-arc-hotbar img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.srj-arc-hotbar b { padding: 0 5px 5px; font: 700 9px var(--display); letter-spacing: .04em; line-height: 1.25; }
.srj-arc-hot { margin: 4px 0; font: 800 11px var(--display); color: #ffb84a; letter-spacing: .08em; }
.srj-arc-mis { width: min(300px, 100%); margin: 8px auto 4px; padding: 8px 10px; background: rgba(5,4,15,.72); border: 1px solid rgba(56,214,255,.35); text-align: left; }
.srj-arc-mis__h { display: flex; justify-content: space-between; margin: 0 0 6px; font: 700 10px var(--display); letter-spacing: .1em; color: #38d6ff; text-transform: uppercase; }
.srj-arc-mis__h span { color: #ffd23f; }
.srj-arc-mis ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.srj-arc-mis li { display: grid; grid-template-columns: 14px 1fr auto; gap: 7px; align-items: center; font-size: 11px; color: #c7cbef; }
.srj-arc-mis li i { width: 14px; height: 14px; border: 1px solid rgba(56,214,255,.6); font: 800 10px/12px var(--display); color: #04030c; text-align: center; font-style: normal; }
.srj-arc-mis li.is-done i { background: #5dff9a; border-color: #5dff9a; }
.srj-arc-mis li.is-done span { color: #5dff9a; }
.srj-arc-mis li span { position: relative; padding-bottom: 4px; }
.srj-arc-mis li span em { position: absolute; left: 0; bottom: 0; height: 2px; background: #38d6ff; }
.srj-arc-mis li.is-done span em { background: #5dff9a; }
.srj-arc-mis li b { display: flex; align-items: center; gap: 2px; font: 700 10px var(--display); color: #ffd23f; }
.srj-arc-mis li b img { width: 12px; height: 12px; }
.srj-arc-mis__f { margin: 4px 0 0; font-size: 9px; color: var(--muted); }
.srj-arc-mast { width: min(300px, 100%); height: 4px; margin: 6px auto 2px; background: rgba(255,255,255,.12); }
.srj-arc-mast i { display: block; height: 100%; background: linear-gradient(90deg, #ffd23f, #ff8a1f); }
.srj-arc-near { margin: 4px 0; font: 600 13px var(--display); color: #ffb84a; }
.srj-arc-near b { color: #fff; }
.srj-arc-misdone { margin: 2px 0; font-size: 12px; color: #5dff9a; }
.srj-arc-misdone b { color: #ffd23f; }
.srj-arc-tier.is-best { color: #5dff9a; }
.srj-arc-gain small { font-size: 11px; color: #ffb84a; }
.srj-arcade__over { justify-content: flex-start; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 16px; }
.srj-arcade__over > * { flex-shrink: 0; }
.srj-arcade__over > :first-child { margin-top: auto; }
.srj-arcade__over > :last-child { margin-bottom: auto; }
/* v2.26.1 — the header is sticky (its own stacking layer), so lift the whole header while the drawer is open; hide any sticky checkout bar under it */
body.srj-nav-open .srj-header { z-index: 10060; }
body.srj-nav-open [class*="submit-container--sticky"], body.srj-nav-open .wc-block-components-sidebar-layout .wc-block-cart__submit-container { visibility: hidden; }
/* v2.26.2 — result screen exit + steady-sound toggle */
.srj-arc-x { position: absolute; top: 8px; right: 8px; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; background: rgba(255,59,92,.14); border: 1px solid rgba(255,59,92,.6); color: #ff8098; font-size: 16px; cursor: pointer; }
.srj-arcade__over { position: absolute; }
.srj-arcade__over .srj-arc-actions { flex-wrap: wrap; justify-content: center; }
.srj-btn--sm { padding: 8px 14px; font-size: 11px; }
.srj-arc-tb.is-off { opacity: .45; text-decoration: line-through; }
.srj-arcade__over > .srj-arc-x + * { margin-top: auto; }
/* v2.26.4 — pre-game screen fits without scrolling: Play sits right under the title */
.srj-arcade__over.is-pre { gap: 4px; padding: 12px 14px; }
.srj-arcade__over.is-pre .srj-arc-ovimg { width: 72px; height: 72px; margin-bottom: 2px; }
.srj-arcade__over.is-pre .srj-arc-score { font-size: clamp(22px, 7vw, 34px); margin: 0; }
.srj-arcade__over.is-pre .srj-arc-k, .srj-arcade__over.is-pre .srj-arc-hot { margin: 0; font-size: 10px; }
.srj-arcade__over.is-pre .srj-arc-actions { margin-top: 6px; }
.srj-arcade__over.is-pre .srj-arc-s { margin: 2px 0; font-size: 12px; line-height: 1.35; }
.srj-arcade__over.is-pre .srj-adv-perk { margin: 4px 0; padding: 5px 8px; font-size: 10px; }
.srj-arcade__over.is-pre .srj-arc-mis { margin-top: 4px; padding: 6px 8px; }
.srj-arcade__over.is-pre .srj-arc-mis li { font-size: 10px; }
.srj-arcade__over.is-pre .srj-arc-mis__f { display: none; }
/* v2.26.5 — how-to-play box (pre-game + pause) */
.srj-arc-how { width: min(320px, 100%); margin: 6px auto 2px; padding: 8px 10px; background: rgba(5,4,15,.75); border: 1px solid rgba(255,210,63,.45); text-align: left; }
.srj-arc-how__g { margin: 0 0 6px; font-size: 12px; line-height: 1.4; color: #fff; }
.srj-arc-how__g b { display: inline-block; margin-right: 6px; padding: 2px 6px; background: #38d6ff; color: #04030c; font: 800 9px var(--display); letter-spacing: .08em; vertical-align: 1px; }
.srj-arc-how ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.srj-arc-how li { display: grid; grid-template-columns: 14px 1fr; gap: 6px; font-size: 11px; line-height: 1.35; color: #c7cbef; }
.srj-arc-how li i { font-style: normal; font-weight: 800; color: #ffd23f; text-align: center; }
.srj-arc-how li.is-bad i { color: #ff8098; }
.srj-arc-how li.is-tip i { color: #5dff9a; }
.srj-arcade__over.is-pre .srj-arc-how li { font-size: 10px; }
.srj-arcade__over.is-tight .srj-arc-ovimg { display: none; }
.srj-arcade__over.is-tight .srj-arc-mis li span em, .srj-arcade__over.is-tight .srj-arc-mast { display: none; }
.srj-arcade__over.is-tight .srj-arc-mis li { padding: 0; }
.srj-arcade__over.is-tighter .srj-arc-how li.is-tip { display: none; }
.srj-arcade__over.is-tighter .srj-arc-mis ul { gap: 2px; }
/* v2.26.6 — result buttons lock briefly so a held finger can't start the next run */
.srj-arcade__over.is-locked .srj-btn, .srj-arcade__over.is-locked .srj-arc-x { opacity: .45; pointer-events: none; transition: opacity .3s; }
/* v2.27.2 — check-in labels/legend + FP → coin swap */
.srj-ci__days li { cursor: pointer; }
.srj-ci__days em { display: flex; align-items: center; gap: 2px; }
.srj-ci__days em img { width: 11px; height: 11px; }
.srj-ci__tag { font: 800 7px var(--display); letter-spacing: .04em; color: #ffd23f; line-height: 1.1; }
.srj-ci__legend { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; }
.srj-ci__box { margin: 10px 0 0; padding: 10px; border: 1px dashed rgba(170,150,255,.35); background: rgba(5,4,15,.4); }
.srj-ci__box .srj-ci__go { margin-top: 10px; }
.srj-ci__legend li { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #c7cbef; line-height: 1.25; }
.srj-ci__legend b { flex: none; min-width: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 2px; font: 900 12px var(--display); color: #fff; }
.srj-ci__legend b img { width: 12px; height: 12px; }
.srj-ci__legend b.is-heart { color: #ff3b5c; }
.srj-ci__hint { margin: 6px 0 0; font-size: 10px; color: var(--muted); text-align: center; }
@media (max-width: 520px) { .srj-ci__legend { grid-template-columns: 1fr; } }
.srj-arc-swap { margin: 10px 0 0; padding: 10px; border: 1px solid rgba(93,255,154,.4); background: rgba(93,255,154,.06); }
.srj-arc-swap p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; margin: 0 0 8px; font-size: 12px; }
.srj-arc-swap p b { font: 800 11px var(--display); letter-spacing: .06em; color: #5dff9a; text-transform: uppercase; }
.srj-arc-swap p span { color: var(--muted); font-size: 11px; }
.srj-arc-swap div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.srj-arc-swap button { display: flex; align-items: center; justify-content: center; gap: 3px; padding: 8px 4px; background: rgba(5,4,15,.7); border: 1px solid #5dff9a; color: #fff; font: 800 11px var(--display); cursor: pointer; }
.srj-arc-swap button img { width: 13px; height: 13px; }
.srj-arc-swap button:disabled { opacity: .35; cursor: not-allowed; border-color: var(--line-strong); }

/* v2.30 — on-screen gamepad: stick on the left, action buttons on the right (games with "pad" in their how-to) */
.srj-arcade__stage.has-gp .srj-arc-pad { display: flex; height: 150px; flex: 0 0 150px; border-top: 1px solid var(--line-strong); background: #07061a; }
.srj-arcade__stage.has-gp:not(.is-fs):not(:fullscreen) .srj-arc-pad__btns { display: none; }
.srj-arcade__stage.has-gp.is-fs .srj-arc-pad, .srj-arcade__stage.has-gp:fullscreen .srj-arc-pad { height: auto; flex: 1 1 auto; min-height: 140px; }
.srj-arcade__stage.has-gp.is-fs canvas, .srj-arcade__stage.has-gp:fullscreen canvas { width: min(100%, calc((100dvh - 40px - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 2 / 3)); }
.srj-arcade__stage.has-gp:-webkit-full-screen canvas { width: min(100%, calc((100vh - 180px) * 2 / 3)); }
.srj-arc-gp { flex: 1; display: flex; min-width: 0; touch-action: none; background: repeating-linear-gradient(0deg, rgba(56,214,255,.05) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, rgba(56,214,255,.05) 0 1px, transparent 1px 24px); }
.srj-arc-gp__stick { position: relative; flex: 1 1 55%; min-width: 0; touch-action: none; overflow: hidden; border-right: 1px solid var(--line-strong); }
.srj-arc-gp.is-solo .srj-arc-gp__stick { border-right: 0; }
.srj-arc-gp__base { position: absolute; left: 50%; top: 50%; width: min(124px, 80%); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid rgba(56,214,255,.55); background: radial-gradient(circle, rgba(56,214,255,.16), rgba(56,214,255,.03) 70%); box-shadow: 0 0 18px rgba(56,214,255,.25), inset 0 0 14px rgba(56,214,255,.2); pointer-events: none; }
.srj-arc-gp__knob { position: absolute; left: 50%; top: 50%; width: 46%; height: 46%; margin: -23% 0 0 -23%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #c9f4ff, #38d6ff 45%, #1176a8); box-shadow: 0 0 16px rgba(56,214,255,.7); transition: transform .06s linear; }
.srj-arc-gp__stick.is-on .srj-arc-gp__knob { transition: none; }
.srj-arc-gp__stick.is-on .srj-arc-gp__base { border-color: #38d6ff; }
.srj-arc-gp__stick em { position: absolute; left: 0; right: 0; bottom: 6px; text-align: center; font: 700 9px var(--display); font-style: normal; letter-spacing: .14em; color: #5a5f8a; pointer-events: none; }
.srj-arc-gp__btns { flex: 0 1 45%; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px; min-width: 0; }
.srj-arc-gp__btn { --c: #ff3b5c; flex: 0 1 92px; height: min(92px, 100%); min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 6px; border: 2px solid var(--c); border-radius: 0; background: rgba(7,6,26,.9); color: #fff; box-shadow: 0 0 14px color-mix(in srgb, var(--c) 55%, transparent), inset 0 0 18px color-mix(in srgb, var(--c) 30%, transparent); touch-action: none; cursor: pointer; }
.srj-arc-gp__btn img { width: 34px; height: 34px; object-fit: contain; pointer-events: none; }
.srj-arc-gp__btn b { font: 900 12px var(--display); letter-spacing: .1em; color: #fff; pointer-events: none; }
.srj-arc-gp__btn.is-on { background: var(--c); transform: translateY(2px); box-shadow: 0 0 26px var(--c); }
.srj-arc-gp__btn.is-on b { color: #07061a; }
.srj-arc-gp__btns .srj-arc-gp__btn:nth-child(2) { align-self: flex-start; }

/* v2.30.1 — desktop header: one style at every width. Logo never shrinks (no overlap with SHOP / no squashed logo); the nav keeps its icons down to 1180px and just tightens up. */
@media (min-width: 1180px) {
  .srj-logo { flex: 0 0 auto; }
  .srj-logo img { flex: 0 0 auto; max-width: none; }
  .srj-logo > span { flex: 0 0 auto; }
  .srj-nav { flex: 0 0 auto; }
  .srj-header__icons { flex: 0 0 auto; }
}
@media (min-width: 1180px) {
  .srj-nav a .srj-key__icon, .srj-nav .srj-key .srj-key__icon { display: grid; }
}
@media (min-width: 1180px) and (max-width: 1379px) {
  .srj-header__in { gap: 10px; }
  .srj-nav ul { gap: 0; }
  .srj-nav a, .srj-nav .srj-key { padding: 7px 5px; gap: 5px; font-size: 10px; letter-spacing: .05em; }
  .srj-nav .srj-navlabel { font-size: 10px; letter-spacing: .05em; }
  .srj-nav a .srj-key__icon { width: 20px; height: 20px; }
  .srj-nav a .srj-key__icon svg { width: 12px; height: 12px; }
  .srj-header__icons { gap: 0; }
}
@media (min-width: 1380px) and (max-width: 1539px) { .srj-nav a, .srj-nav .srj-key { padding: 8px 8px; } }
@media (min-width: 981px) and (max-width: 1679px) { .srj-logo > span { display: none; } }
@media (min-width: 1680px) { .srj-logo > span { display: block; } }

/* v2.30.1 — tablets / narrow desktops (861–1179px) use the same slide-out menu as phones */


/* v2.30.2 — two-row desktop header: [logo ... search + icons] / [nav bar]; burger at far left */
@media (min-width: 861px) {
  .srj-header__in { flex-wrap: wrap; height: auto; gap: 0 16px; padding-top: 0; padding-bottom: 0; }
  .srj-logo { order: 1; height: 62px; }
  .srj-logo > span { display: block !important; }
  .srj-header__icons { order: 2; margin-left: auto; height: 62px; gap: 6px; }
  .srj-nav { order: 3; flex: 0 0 100%; margin: 0; border-top: 1px solid var(--line); }
  .srj-nav ul { justify-content: center; gap: 6px; }
  .srj-nav a, .srj-nav .srj-key { padding: 10px 14px; gap: 8px; font-size: 11px; letter-spacing: .12em; }
  .srj-nav a .srj-key__icon, .srj-nav .srj-key .srj-key__icon { display: grid; width: 22px; height: 22px; }
  .srj-burger { display: none; }
}
@media (min-width: 861px) and (max-width: 1099px) {
  .srj-nav ul { gap: 0; }
  .srj-nav a, .srj-nav .srj-key { padding: 10px 7px; gap: 5px; font-size: 10px; letter-spacing: .06em; }
  .srj-nav a .srj-key__icon { width: 18px; height: 18px; }
}
@media (min-width: 861px) { .srj-hero { height: calc(100vh - 138px); } }
@media (max-width: 860px) { .srj-header__in { gap: 6px; } }

/* v2.30.3 — desktop search dropdown (flavors + results) and underline-style nav */
.srj-search__drop { display: contents; }
@media (min-width: 861px) {
  .srj-nav a, .srj-nav .srj-key, .srj-nav a:hover, .srj-nav .current-menu-item > a, .srj-nav .srj-key:hover { background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0; }
  .srj-nav a, .srj-nav .srj-key { position: relative; padding-bottom: 12px; }
  .srj-nav a::after { left: 10px; right: 10px; bottom: 0; height: 3px; background: var(--cyan); transform: scaleX(0); box-shadow: 0 0 10px var(--cyan); }
  .srj-nav a:hover::after, .srj-nav .current-menu-item > a::after { transform: scaleX(1); }
  .srj-nav .current-menu-item > a { color: #fff; }
}
@media (min-width: 861px) {
  .srj-nav a .srj-key__icon, .srj-nav .srj-key .srj-key__icon, .srj-nav .current-menu-item > a .srj-key__icon { background: none !important; border: 0 !important; box-shadow: none !important; }
}
@media (min-width: 861px) { .srj-nav .current-menu-item > a .srj-key__icon { color: var(--cyan) !important; } }
@media (min-width: 861px) {
  .srj-nav a::after { display: block !important; content: '' !important; position: absolute; left: 10px; right: 10px; bottom: 0; height: 3px; background: var(--cyan); }
}

/* v2.30.5 — shop filter bar: assortment row + heat-level row */
.srj-shopbar { display: block; }
.srj-shopbar__row { display: flex; flex-wrap: wrap; gap: 8px; }
.srj-shopbar__row + .srj-shopbar__row { margin-top: 8px; }

/* v2.30.6 — search quick-scan rows (icon, one line each) + centered shop bar */
.srj-search__chips { display: block; padding: 0 14px 14px; }
.srj-search__chips .srj-search__row { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; }
.srj-search__chips .srj-search__row + .srj-search__row { margin-top: 6px; }
.srj-search__chips .srj-search__row--heat { display: grid; grid-template-columns: auto repeat(4, 1fr); gap: 6px 5px; align-items: center; }
.srj-search__chips .srj-search__row--heat .srj-search__ico { grid-row: 1 / span 2; }
.srj-search__chips .srj-search__row--heat a { text-align: center; }
.srj-search__ico { width: 20px; height: 20px; flex: 0 0 20px; color: var(--cyan); margin-right: 4px; }
.srj-search__row--heat .srj-search__ico { color: var(--red); }
.srj-search__row a { font-family: var(--display); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text); background: rgba(255,255,255,.03); border: 1px solid var(--line); padding: 6px 8px; white-space: nowrap; }
.srj-search__row a:hover { border-color: var(--cyan); color: var(--cyan); }
.srj-search__chips button { padding: 6px 9px; }
.srj-shopbar { text-align: center; margin-bottom: 36px; }
.srj-shopbar__row { justify-content: center; gap: 10px; }
.srj-shopbar__row + .srj-shopbar__row { margin-top: 12px; }
@media (max-width: 480px) { .srj-search__chips .srj-search__row { flex-wrap: wrap; } .srj-search__row a, .srj-search__chips button { padding: 6px 7px; } .srj-shopbar__row { gap: 8px; } }

/* v2.30.7 — shop toolbar with dropdown filters */
.srj-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 28px; }
.srj-toolbar .woocommerce-result-count { float: none !important; margin: 0 auto 0 0 !important; }
.srj-toolbar .woocommerce-ordering { float: none !important; margin: 0 !important; }
.srj-filters { display: flex; gap: 12px; }
.srj-toolbar select { min-width: 170px; }
@media (max-width: 700px) { .srj-toolbar .woocommerce-result-count { flex: 0 0 100%; } .srj-filters, .srj-toolbar .woocommerce-ordering { flex: 1 1 100%; } .srj-filters select, .srj-toolbar .woocommerce-ordering select { flex: 1; width: 100%; min-width: 0; } }

/* v2.30.8 — custom dropdowns + bigger nav icons */
.srj-dd { position: relative; min-width: 190px; }
.srj-dd__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; cursor: pointer; font-family: var(--display); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: linear-gradient(180deg, rgba(56,214,255,.10), rgba(139,92,255,.06)); border: 1px solid rgba(56,214,255,.35); transition: border-color .2s, box-shadow .2s; }
.srj-dd__btn:hover, .srj-dd.is-open .srj-dd__btn { border-color: var(--cyan); box-shadow: 0 0 16px rgba(56,214,255,.28); }
.srj-dd__btn svg { color: var(--cyan); flex: 0 0 auto; transition: transform .2s; }
.srj-dd.is-open .srj-dd__btn svg { transform: rotate(180deg); }
.srj-dd__list { display: none; position: absolute; top: calc(100% + 6px); left: 0; min-width: 100%; z-index: 80; list-style: none; margin: 0; padding: 6px; background: rgba(14,12,38,.98); border: 1px solid rgba(56,214,255,.4); box-shadow: 0 18px 40px rgba(0,0,0,.6); }
.srj-dd.is-open .srj-dd__list { display: block; }
.srj-dd__list li { padding: 10px 12px; cursor: pointer; white-space: nowrap; font-family: var(--display); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--text); border-left: 3px solid transparent; }
.srj-dd__list li:hover { background: linear-gradient(90deg, rgba(56,214,255,.16), rgba(139,92,255,.06)); color: #fff; border-left-color: var(--cyan); }
.srj-dd__list li.is-on { color: var(--cyan); border-left-color: var(--cyan); background: rgba(56,214,255,.08); }
.srj-toolbar .woocommerce-ordering .srj-dd { min-width: 210px; }
@media (max-width: 700px) { .srj-filters .srj-dd { flex: 1; min-width: 0; } .srj-toolbar .woocommerce-ordering .srj-dd { width: 100%; } .srj-dd__btn { font-size: 11px; padding: 12px; } }

@media (min-width: 861px) {
  .srj-nav a .srj-key__icon, .srj-nav .srj-key .srj-key__icon { width: 32px; height: 32px; }
  .srj-nav a .srj-key__icon svg { width: 24px; height: 24px; }
  .srj-nav a, .srj-nav .srj-key { gap: 10px; }
  .srj-hero { height: calc(100vh - 150px); }
}
@media (min-width: 861px) and (max-width: 1099px) {
  .srj-nav a .srj-key__icon { width: 26px; height: 26px; }
  .srj-nav a .srj-key__icon svg { width: 20px; height: 20px; }
}

/* v2.30.11 — "Menu style: Simple" also simplifies the slide-out site menu */
@media (max-width: 860px) {
  .srj-menu-simple .srj-nav { background: #0b0920; box-shadow: -20px 0 40px rgba(0,0,0,.55); border-left: 1px solid var(--line); }
  .srj-menu-simple .srj-nav::before, .srj-menu-simple .srj-nav::after { display: none; }
  .srj-menu-simple .srj-nav ul { gap: 0; padding: 0 14px; }
  .srj-menu-simple .srj-nav ul li { opacity: 1; transform: none; border-bottom: 1px solid var(--line); }
  .srj-menu-simple .srj-nav ul li a { background: none !important; border: 0 !important; box-shadow: none !important; padding: 15px 8px; gap: 14px; font-family: var(--body); font-size: 16px; letter-spacing: 0; text-transform: none; font-weight: 600; transform: none !important; }
  .srj-menu-simple .srj-nav ul li a .srj-navlabel::before, .srj-menu-simple .srj-nav ul li a .srj-led { display: none !important; }
  .srj-menu-simple .srj-nav ul li a .srj-key__icon { width: 26px; height: 26px; background: none !important; border: 0 !important; box-shadow: none !important; color: var(--k, var(--cyan)) !important; }
  .srj-menu-simple .srj-nav .current-menu-item > a { color: var(--cyan); }
  .srj-menu-simple .srj-nav .current-menu-item > a .srj-key__icon { color: var(--cyan) !important; }
  .srj-menu-simple .srj-nav__foot .srj-key--mini { background: none; border: 1px solid var(--line); box-shadow: none; border-image: none; }
}

/* v2.30.12 — desktop: the right-end menu button opens a settings panel (account, cart, menu style, background) */
@media (min-width: 861px) {
  .srj-burger { display: grid !important; }
  .srj-nav-backdrop { display: block; position: fixed; inset: 0; z-index: 40; background: transparent; pointer-events: none; }
  .srj-nav-backdrop.is-open { pointer-events: auto; }
  body.srj-nav-open .srj-header { z-index: 60; }
  .srj-nav.is-open .srj-nav__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: absolute; top: 100%; right: 16px; width: 320px; z-index: 70; padding: 16px; background: rgba(14,12,38,.98); border: 1px solid rgba(56,214,255,.4); box-shadow: 0 18px 40px rgba(0,0,0,.6); }
  .srj-nav__foot .srj-key--mini { justify-content: center; padding: 11px 8px; border: 1px solid var(--line); background: rgba(255,255,255,.03); }
  .srj-nav__foot .srj-key--mini:hover { border-color: var(--cyan); }
  .srj-nav__foot .srj-key--mini .srj-key__label { font-size: 11px; letter-spacing: .12em; }
  body.srj-nav-open { overflow: auto; }
}

/* v2.31 — game-over choices, one per line */
.srj-arc-stack { display: flex; flex-direction: column; gap: 10px; width: min(300px, 100%); margin: 18px auto 0; }
.srj-arc-stack .srj-btn { width: 100%; justify-content: center; text-align: center; display: inline-flex; align-items: center; gap: 8px; }
.srj-arc-stack .srj-btn small { opacity: .8; font-size: 10px; letter-spacing: .08em; }

/* mode picker */
.srj-arc-pick { margin: 0 0 6px; text-align: center; font: 900 12px var(--display); letter-spacing: .22em; text-transform: uppercase; color: #ffd23f; }
.srj-arc-pick span { display: inline-block; animation: srjBob 1s ease-in-out infinite; }
@keyframes srjBob { 50% { transform: translateY(3px); } }
.srj-arc-mode button { transition: transform .18s, box-shadow .18s, border-color .18s, background .18s, color .18s; }
.srj-arc-mode button:hover, .srj-arc-mode button:focus-visible { transform: translateY(-3px); border-color: #38d6ff; background: rgba(56,214,255,.12); color: #fff; box-shadow: 0 6px 18px rgba(56,214,255,.35), inset 0 -3px 0 #38d6ff; }
.srj-arc-mode button[data-mode="bh"]:hover { border-color: #b46bff; background: rgba(180,107,255,.16); box-shadow: 0 6px 20px rgba(180,107,255,.5), inset 0 -3px 0 #b46bff; }
.srj-arc-mode button[data-mode="free"]:hover { border-color: #5dff9a; background: rgba(93,255,154,.12); box-shadow: 0 6px 18px rgba(93,255,154,.35), inset 0 -3px 0 #5dff9a; }
.srj-arc-mode .is-on:hover { border-color: #ff3bd8; background: rgba(255,59,216,.16); box-shadow: 0 6px 18px rgba(255,59,216,.45), inset 0 -3px 0 #ff3bd8; }
/* hot strip: one tiny row */
.srj-arc-hotbar { margin: 10px 0; padding: 8px; }
.srj-arc-hotbar p { margin: 0 0 6px; }
.srj-arc-hotbar div { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 5px; }
.srj-arc-hotbar button { position: relative; border: 1px solid rgba(255,138,31,.3); transition: transform .15s, box-shadow .15s, border-color .15s; }
.srj-arc-hotbar button.is-x2 { border-color: #ff8a1f; }
.srj-arc-hotbar button:hover { transform: translateY(-2px) scale(1.06); border-color: #ffd23f; box-shadow: 0 4px 14px rgba(255,138,31,.55); z-index: 1; }
.srj-arc-hotbar button i { position: absolute; left: 0; top: 0; padding: 0 2px; font-size: 9px; font-style: normal; line-height: 1.3; background: rgba(0,0,0,.6); }
/* black hole */
.srj-bh { margin: 0 0 16px; padding: 16px 14px; text-align: center; border: 1px solid #b46bff; background: radial-gradient(ellipse at 50% 38%, rgba(120,40,200,.28), rgba(5,3,14,.95) 70%); overflow: hidden; }
.srj-bh h2 { margin: 2px 0 0; font: 900 clamp(26px, 8vw, 40px) var(--display); letter-spacing: .14em; color: #fff; text-shadow: 0 0 18px #b46bff, 0 0 40px #ff3bd8; }
.srj-bh__well { position: relative; width: min(330px, 84vw); aspect-ratio: 1; margin: 6px auto 4px; }
.srj-bh__disk { position: absolute; inset: 4%; border-radius: 50%; background: conic-gradient(from 0deg, rgba(0,0,0,0), #ff3bd8, #ffd23f, #38d6ff, rgba(0,0,0,0) 55%, #b46bff, rgba(0,0,0,0)); -webkit-mask: radial-gradient(circle, transparent 36%, #000 38%, #000 62%, transparent 70%); mask: radial-gradient(circle, transparent 36%, #000 38%, #000 62%, transparent 70%); animation: srjSpin 7s linear infinite; filter: blur(.6px) drop-shadow(0 0 12px rgba(255,59,216,.7)); }
.srj-bh__disk.is-2 { inset: 14%; animation-duration: 3.6s; animation-direction: reverse; opacity: .85; }
.srj-bh__core { position: absolute; inset: 31%; border-radius: 50%; background: #000; box-shadow: 0 0 0 3px rgba(255,210,63,.5), 0 0 30px 10px #000, 0 0 60px 18px rgba(180,107,255,.55); }
.srj-bh__stars { position: absolute; inset: 0; }
.srj-bh__stars i { position: absolute; left: 50%; top: 50%; width: 3px; height: 3px; background: #fff; border-radius: 50%; box-shadow: 0 0 6px #fff; transform: rotate(var(--a)) translateX(48%); animation: srjSuck var(--d) ease-in infinite; animation-delay: var(--w); opacity: 0; }
@keyframes srjSpin { to { transform: rotate(360deg); } }
@keyframes srjSuck { 0% { opacity: 0; transform: rotate(var(--a)) translateX(48%) scale(1); } 15% { opacity: 1; } 100% { opacity: 0; transform: rotate(calc(var(--a) + 200deg)) translateX(4%) scale(.2); } }
.srj-bh__go { position: absolute; inset: 36%; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; text-decoration: none; transition: transform .2s, text-shadow .2s; }
.srj-bh__go b { font: 900 clamp(13px, 4vw, 18px) var(--display); letter-spacing: .12em; text-shadow: 0 0 10px #ff3bd8; }
.srj-bh__go span { font: 700 9px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #ffd23f; }
.srj-bh__go:hover { transform: scale(1.15); text-shadow: 0 0 14px #fff; }
.srj-bh__hearts { font-size: 22px; letter-spacing: 6px; color: #ff6b8b; margin: 2px 0 10px; }
.srj-bh .srj-adv-stats { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { .srj-bh__disk, .srj-bh__stars i, .srj-arc-pick span { animation: none; } }
.srj-bh .srj-bh__go { background: none !important; border: 0 !important; border-radius: 50% !important; box-shadow: none !important; padding: 0; min-height: 0; }
.srj-bh .srj-bh__core { border-radius: 50% !important; }

/* cart: free items */
@keyframes srjRb { to { background-position: 200% 0; } }
.srj-rb { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; padding: 4px 6px; font: 900 11px var(--display); letter-spacing: .08em; color: #0a0716; background: linear-gradient(90deg, #ff3b5c, #ff8a1f, #ffd23f, #5dff9a, #38d6ff, #b46bff, #ff3b5c); background-size: 200% 100%; animation: srjRb 3s linear infinite; }
.srj-freebag { display: inline-block; margin: 4px 0 2px; padding: 3px 8px; font: 900 10px var(--display); letter-spacing: .1em; text-transform: uppercase; color: #0a0716; background: linear-gradient(90deg, #ff3b5c, #ff8a1f, #ffd23f, #5dff9a, #38d6ff, #b46bff, #ff3b5c); background-size: 200% 100%; animation: srjRb 3s linear infinite; }
.wc-block-cart .wc-block-cart-items__row.srj-has-free { box-shadow: inset 3px 0 0 #ffd23f; }
.wc-block-cart .wc-block-cart-items__row.srj-rw-hide { display: none !important; }
.srj-freebox { margin: 0 0 14px; padding: 12px; border: 1px solid #ffd23f; background: linear-gradient(180deg, rgba(255,210,63,.10), rgba(180,107,255,.06)); }
.srj-freebox__h { margin: 0 0 8px; display: flex; align-items: center; gap: 8px; font: 900 12px var(--display); letter-spacing: .12em; text-transform: uppercase; color: #ffd23f; }
.srj-freebox ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.srj-freebox li { display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px dashed rgba(255,210,63,.4); background: rgba(5,4,15,.45); }
.srj-freebox li img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.srj-freebox li div { flex: 1; min-width: 0; }
.srj-freebox li strong { display: block; font: 800 12px var(--display); letter-spacing: .04em; color: #fff; text-transform: uppercase; }
.srj-freebox li span:not(.srj-rb) { display: block; margin-top: 2px; font-size: 11px; line-height: 1.35; color: #c7cbef; }
.srj-freebox li.is-hint { border-style: solid; border-color: rgba(170,150,255,.3); }
.srj-freebox button { flex: none; padding: 6px 8px; background: none; border: 1px solid rgba(255,59,92,.6); color: #ff6b8b; font: 700 10px var(--display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.wc-block-cart .wc-block-cart-items__row .srj-freebag { grid-column: 2 !important; grid-row: 5 !important; justify-self: start; align-self: start; white-space: nowrap; width: auto; margin: 2px 0 0; }

.srj-freebox { padding: 0; border: 0; background: none; display: grid; gap: 10px; }
.srj-freebox__box { padding: 12px; border: 1px solid #ffd23f; background: linear-gradient(180deg, rgba(255,210,63,.10), rgba(180,107,255,.06)); }
.srj-freebox__box.is-bag { border-color: #5dff9a; background: linear-gradient(180deg, rgba(93,255,154,.10), rgba(56,214,255,.05)); }
.srj-freebox__box .srj-freebox__h { color: #fff; }
.srj-freebox__p { margin: 0; font-size: 12px; line-height: 1.4; color: #c7cbef; }
.srj-freebag b { margin-right: 6px; }
.srj-freebag em { font-style: normal; margin-left: 6px; opacity: .8; }
.wc-block-cart .wc-block-cart-items__row .srj-freebag { grid-column: 1 / -1 !important; grid-row: 5 !important; justify-self: stretch; display: block; margin: 6px 0 0; padding: 6px 10px; text-transform: none; letter-spacing: .02em; font-size: 11px; }
/* rocket part callout: centered on the rocket, solid fill */
@keyframes srjCall2 { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.6); } 15% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); } 25% { transform: translate(-50%, -50%) scale(1); } 80% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -60%) scale(1); } }
.srj-fuel__call { top: 46%; left: 50%; z-index: 6; max-width: 150px; padding: 6px 10px; font-size: 11px; letter-spacing: .1em; font-weight: 900; line-height: 1.3; transform: translate(-50%, -50%); box-shadow: 0 0 18px rgba(0,0,0,.6); }
.srj-fuel__call.is-up { background: #5dff9a; color: #06140c; border: 1px solid #fff; }
.srj-fuel__call.is-down { background: #3b3f6e; color: #fff; border: 1px dashed #a3a8d4; }
.srj-fuel__call.is-show { animation: srjCall2 1.9s ease-out forwards; }
@media (max-width: 600px) { .srj-fuel__call { max-width: 100px; font-size: 9px; padding: 4px 6px; } }

/* landscape games (Lane Defense) */
.srj-arcade__stage.is-land { max-width: 640px; }
.srj-arcade__stage.is-land canvas { aspect-ratio: 3 / 2; }
.srj-arc-play__grid:has(.is-land) { grid-template-columns: minmax(0, 640px) minmax(0, 1fr); }
@media (max-width: 860px) { .srj-arc-play__grid:has(.is-land) { grid-template-columns: 1fr; } }
.srj-arc-rot { display: none; text-align: center; padding: 6px 8px; font: 700 11px/1.3 Orbitron, sans-serif; color: #ffd23f; background: rgba(255,210,63,.1); border-bottom: 1px solid rgba(255,210,63,.4); }
@media (orientation: portrait) and (max-width: 700px) { .srj-arc-rot { display: block; } }
.srj-arcade__stage.is-land:fullscreen canvas, .srj-arcade__stage.is-land.is-fs canvas { width: min(100%, calc((100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 3 / 2)); }
.srj-arcade__stage.is-land:fullscreen .srj-arc-rot, .srj-arcade__stage.is-land.is-fs .srj-arc-rot { display: none; }
.wc-block-cart .wc-block-cart-items__row .srj-freebag { box-sizing: border-box; max-width: 100%; white-space: normal; overflow: hidden; }
/* Continue button: one steady label line + one small line under it */
.srj-arc-stack .srj-btn.srj-arc-cbtn { flex-wrap: wrap; row-gap: 3px; column-gap: 8px; padding-top: 12px; padding-bottom: 12px; line-height: 1.15; }
.srj-arc-stack .srj-btn.srj-arc-cbtn > span { white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.srj-arc-stack .srj-btn.srj-arc-cbtn > small { flex: 0 0 100%; display: block; font-size: 10px; letter-spacing: .08em; opacity: .75; white-space: nowrap; }

/* Card Vault: plain cards. No foil, holo, glow, tilt or animation — only the border colour shows the card type. */
.srj-tc { --rb: #9aa3c7; transform: none !important; transition: none !important; filter: none !important; }
.srj-tc.r-n { --rb: #9aa3c7; --c1: #9aa3c7; }
.srj-tc.r-r { --rb: #38d6ff; --c1: #38d6ff; }
.srj-tc.r-u { --rb: #b46bff; --c1: #b46bff; }
.srj-tc.r-l { --rb: #ffd23f; --c1: #ffd23f; }
.srj-tc.r-s { --rb: #ff3b5c; --c1: #ff3b5c; }
.srj-tc, .srj-tc * { animation: none !important; }
.srj-tc::before, .srj-tc::after, .srj-tc__in::before, .srj-tc__in::after { content: none !important; display: none !important; }
.srj-tc__holo, .srj-tc__glare, .srj-tc__foil, .srj-tc__fg { display: none !important; }
.srj-tc .srj-tc__in { background: #0d0b24 !important; border: 3px solid var(--rb) !important; border-image: none !important; box-shadow: none !important; filter: none !important; }
.srj-tc.is-unknown .srj-tc__in { background: #0a0920 !important; border-style: dashed !important; }
.srj-tc.is-traded .srj-tc__in { filter: grayscale(.8) brightness(.55) !important; }
.srj-tc .srj-tc__art { background: #05040f !important; border: 1px solid color-mix(in srgb, var(--rb) 40%, transparent) !important; box-shadow: none !important; }
.srj-tc .srj-tc__img { filter: none !important; transform: none !important; mix-blend-mode: normal !important; }
.srj-tc .srj-tc__name, .srj-tc .srj-tc__code, .srj-tc .srj-tc__serial { background: none !important; -webkit-text-fill-color: currentColor !important; text-shadow: none !important; }
.srj-tc .srj-tc__name, .srj-tc .srj-tc__code { color: #fff !important; }
.srj-tc .srj-tc__serial { color: var(--rb) !important; border: 0 !important; padding: 0 !important; }
.srj-tc .srj-tc__top span:first-child { color: var(--rb) !important; }
.srj-tc:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* ---------- Wholesale catalog (/catalog/) ---------- */
.srj-cat { padding-bottom: 60px; }
.srj-cat__head { padding-bottom: 20px; }
.srj-cat__head .srj-lead { margin: 10px auto 0; }
.srj-cat__stats { list-style: none; margin: 28px auto 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 900px; border: 1px solid var(--line-strong); background: var(--panel); }
.srj-cat__stats li { padding: 16px 10px; text-align: center; border-left: 1px solid var(--line); }
.srj-cat__stats li:first-child { border-left: 0; }
.srj-cat__stats b { display: block; font: 900 clamp(20px, 2.6vw, 30px)/1.1 var(--display); color: var(--gold); }
.srj-cat__stats span { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.srj-cat__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.srj-cat__sec { padding-top: 56px; }
.srj-cat__h { font: 900 clamp(20px, 2.4vw, 28px)/1.2 var(--display); text-transform: uppercase; margin: 0 0 18px; }
.srj-cat__why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.srj-cat__why > div { padding: 18px; border: 1px solid var(--line); background: var(--panel); }
.srj-cat__why b { font: 800 14px/1.3 var(--display); text-transform: uppercase; color: var(--cyan); letter-spacing: .04em; }
.srj-cat__why p { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.srj-cat__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; }
.srj-cat__filters { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; margin-bottom: 18px; }
.srj-cat__chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.srj-cat__chips button { padding: 7px 12px; border: 1px solid var(--line-strong); background: transparent; color: var(--text); font: 700 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.srj-cat__chips button[style] { border-left: 3px solid var(--hc); }
.srj-cat__chips button:hover { border-color: var(--cyan); }
.srj-cat__chips button.is-on { background: var(--gold); border-color: var(--gold); color: #120a00; }
.srj-cat__note { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.srj-cat__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.srj-cat__card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--panel-solid); }
.srj-cat__card[hidden] { display: none; }
.srj-cat__img { display: block; background: radial-gradient(circle at 50% 40%, #1b1646, #07061a 75%); border-bottom: 1px solid var(--line); }
.srj-cat__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; padding: 12px; }
.srj-cat__body { padding: 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.srj-cat__item { margin: 0; font: 700 11px/1 var(--display); letter-spacing: .14em; color: var(--muted); text-transform: uppercase; }
.srj-cat__item em { font-style: normal; margin-left: 6px; padding: 2px 6px; background: var(--red); color: #fff; letter-spacing: .1em; }
.srj-cat__body h3 { margin: 0; font: 900 18px/1.15 var(--display); text-transform: uppercase; color: #fff; }
.srj-cat__flavor { margin: 0; color: var(--gold); font-weight: 600; font-size: 14px; }
.srj-cat__codes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; padding-top: 8px; }
.srj-cat__codes > div { min-width: 0; display: flex; flex-direction: column; }
.srj-cat__codes span { display: block; font-size: 11px; line-height: 1.3; color: var(--muted); margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srj-cat__codes b { color: #fff; }
.srj-cat__bc { display: block; width: 100%; height: auto; }
.srj-cat__bcd text { font: 600 8px/1 'Space Grotesk', monospace; fill: #000; }
.srj-cat__empty { padding: 20px; text-align: center; color: var(--muted); border: 1px dashed var(--line); }
.srj-cat__disp { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.srj-cat__dbox { border: 1px solid var(--line); background: var(--panel); padding: 16px; }
.srj-cat__photo { background: #fff; padding: 12px; }
.srj-cat__photo img { width: 100%; height: 260px; object-fit: contain; }
.srj-cat__dbox h3 { margin: 16px 0 10px; font: 900 18px/1.2 var(--display); text-transform: uppercase; color: var(--cyan); }
.srj-cat__dbox dl, .srj-cat__info { display: grid; grid-template-columns: 120px 1fr; gap: 8px 14px; margin: 0; }
.srj-cat__dbox dt, .srj-cat__info dt { font: 700 12px/1.5 var(--display); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.srj-cat__dbox dd, .srj-cat__info dd { margin: 0; color: var(--text); font-size: 15px; line-height: 1.5; }
.srj-cat__info { padding: 18px; border: 1px solid var(--line); background: var(--panel); grid-template-columns: 160px 1fr; gap: 14px 18px; }
.srj-cat__heats { display: flex; flex-wrap: wrap; gap: 6px; }
.srj-cat__heats span { padding: 3px 8px; border: 1px solid var(--hc); color: var(--hc); font: 700 11px/1.3 var(--display); text-transform: uppercase; letter-spacing: .06em; }
.srj-cat__tablewrap { overflow-x: auto; border: 1px solid var(--line); }
.srj-cat__table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 820px; }
.srj-cat__table th { position: sticky; top: 0; background: #14103a; color: var(--gold); font: 700 11px/1.2 var(--display); letter-spacing: .08em; text-transform: uppercase; text-align: left; padding: 10px; }
.srj-cat__table td { padding: 8px 10px; border-top: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.srj-cat__table tbody tr:nth-child(even) { background: rgba(255,255,255,.03); }
.srj-cat__hdot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; background: var(--hc); vertical-align: 1px; }
.srj-cat__logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.srj-cat__logos div { background: #fff; padding: 10px; display: grid; place-items: center; }
.srj-cat__logos img { width: 100%; max-width: 150px; height: 60px; object-fit: contain; }
.srj-cat__contact { text-align: center; }
.srj-cat__contact > p { color: var(--muted); margin: 0; }
.srj-cat__addr { list-style: none; padding: 0; margin: 26px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; font-size: 15px; }
.srj-cat__addr span { display: block; font: 700 11px/1.4 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 900px) {
  .srj-cat__why { grid-template-columns: 1fr 1fr; }
  .srj-cat__disp { grid-template-columns: 1fr; }
  .srj-cat__filters { align-items: flex-start; }
  .srj-cat__chips { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .srj-cat__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .srj-cat__stats li:nth-child(4) { border-left: 0; }
  .srj-cat__stats li:nth-child(n+4) { border-top: 1px solid var(--line); }
  .srj-cat__why { grid-template-columns: 1fr; }
  .srj-cat__dbox dl, .srj-cat__info { grid-template-columns: 1fr; gap: 2px 0; }
  .srj-cat__dbox dd, .srj-cat__info dd { margin-bottom: 8px; }
  .srj-cat__grid { grid-template-columns: 1fr; gap: 12px; }
  .srj-cat__card { display: grid; grid-template-columns: 38% 1fr; }
  .srj-cat__img { border-bottom: 0; border-right: 1px solid var(--line); display: flex; align-items: center; }
  .srj-cat__img img { padding: 8px; }
  .srj-cat__body h3 { font-size: 15px; }
  .srj-cat__codes { grid-template-columns: 1fr 1fr; gap: 6px; }
  .srj-cat__codes span { font-size: 10px; }
  .srj-cat__body .srj-heat { flex-wrap: wrap; }
  .srj-cat__body { padding: 10px; }
}
@media print {
  body { background: #fff !important; color: #000 !important; }
  .srj-cat ~ *, header.site-header, .srj-header, .srj-footer, footer, .srj-cat__cta, .srj-cat__filters, .srj-fuel, .srj-ticker, nav { display: none !important; }
  .srj-cat *, .srj-cat__stats, .srj-cat__card, .srj-cat__dbox, .srj-cat__info, .srj-cat__why > div, .srj-cat__tablewrap { background: #fff !important; color: #000 !important; border-color: #999 !important; box-shadow: none !important; text-shadow: none !important; }
  .srj-cat__card { break-inside: avoid; }
  .srj-cat__grid { grid-template-columns: repeat(3, 1fr); }
  .srj-cat__sec { break-inside: auto; padding-top: 24px; }
  .srj-cat__table { min-width: 0; font-size: 10px; }
}

/* catalog: display / shipper specs with pallet configuration */
.srj-cat__dbox { display: flex; flex-direction: column; gap: 14px; }
.srj-cat__dbox > h3 { margin: 0; }
.srj-cat__specrow { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 12px; }
.srj-cat__specrow--one { grid-template-columns: 1fr; }
.srj-cat__spec { display: flex; flex-direction: column; gap: 6px; }
.srj-cat__photo--bag img { height: 260px; }
.srj-cat__k { margin: 6px 0 0; font: 700 12px/1.4 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.srj-cat__v { margin: 0; font-size: 15px; line-height: 1.5; color: #fff; font-weight: 600; }
.srj-cat__v small { font-weight: 400; color: var(--muted); font-size: 13px; }
.srj-cat__pallet { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: center; padding: 14px; border: 2px solid var(--gold); background: rgba(255,210,63,.06); margin-top: auto; }
.srj-cat__pallet .srj-cat__photo { padding: 6px; }
.srj-cat__pallet .srj-cat__photo img { height: 130px; }
.srj-cat__pallet .srj-cat__k { margin: 0 0 6px; color: var(--gold); }
.srj-cat__pallet ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.srj-cat__pallet li { display: grid; grid-template-columns: 74px 1fr; gap: 0 8px; font-size: 14px; }
.srj-cat__pallet li b { white-space: nowrap; }
.srj-cat__pallet li span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; padding-top: 2px; }
.srj-cat__pallet li b { color: #fff; }
.srj-cat__pallet li em { grid-column: 2; font-style: normal; font-size: 12px; color: var(--gold); }
@media (max-width: 600px) {
  .srj-cat__specrow { grid-template-columns: 1fr; }
  .srj-cat__pallet { grid-template-columns: 1fr; }
  .srj-cat__pallet .srj-cat__photo img, .srj-cat__photo--bag img { height: 180px; }
}
@media print { .srj-cat__pallet { border-color: #000 !important; } }

/* Wholesale pages (catalog, wholesale inquiry): titles keep the display font, body text, specs, tables and SKU/UPC numbers use a plain readable font */
.srj-b2b .srj-cat, .srj-b2b .srj-page, .srj-b2b .srj-page__head .srj-lead { --body: 'Space Grotesk', system-ui, -apple-system, sans-serif; font-family: var(--body); }
.srj-b2b .srj-page input, .srj-b2b .srj-page textarea, .srj-b2b .srj-page select { font-family: var(--body); }
.srj-b2b .srj-cat__table td, .srj-b2b .srj-cat__codes span, .srj-b2b .srj-cat__v, .srj-b2b .srj-cat__pallet li b { font-variant-numeric: tabular-nums; letter-spacing: 0; }
.srj-b2b .srj-cat__flavor { font-size: 15px; }
.srj-b2b .srj-cat__lead, .srj-b2b .srj-lead { letter-spacing: 0; }
.srj-cat__pallet li.srj-cat__moq { margin-top: -2px; font-size: 12px; }
.srj-cat__pallet li.srj-cat__moq span { font-size: 11px; padding-top: 0; }
.srj-cat__pallet li.srj-cat__moq b { color: var(--muted); font-weight: 500; white-space: normal; }

/* over screen: working state + visible errors (toasts hide behind the full-screen game on iPhone) */
.srj-arcade__over.is-busy .srj-btn, .srj-arcade__over.is-busy .srj-arc-x { pointer-events: none; opacity: .5; }
.srj-arcade__over.is-busy .srj-btn.is-working { opacity: 1; border-color: var(--cyan); }
.srj-arc-err { color: #ff8098; font-size: 12px; line-height: 1.4; margin: 10px auto 0; max-width: 300px; letter-spacing: .02em; }
.srj-toast { z-index: 100010; }
.srj-hero__seo { margin: 10px auto 0; max-width: 520px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.72); letter-spacing: .02em; }
.srj-claim__form .password-input { position: relative; display: block; }
.srj-claim__form .password-input input { width: 100%; padding-right: 56px; }
/* password eye: brighter so it reads on the dark fields */
.show-password-input { color: #8ef0ff !important; background: rgba(56,214,255,.2) !important; border-left: 1px solid rgba(142,240,255,.6) !important; }
.show-password-input::after { width: 26px !important; height: 26px !important; }
.show-password-input:hover, .show-password-input.display-password { background: rgba(56,214,255,.38) !important; color: #fff !important; }
.show-password-input.display-password::after { color: #ffd23f; }
.srj-pw-wrap { position: relative; }
.srj-pw-wrap input { padding-right: 60px !important; }
.srj-pw-wrap .show-password-input { position: absolute !important; top: 0; right: 0; bottom: 0; width: 52px; height: auto !important; display: grid !important; place-items: center; margin: 0 !important; padding: 0 !important; border: 0 !important; border-left: 1px solid rgba(142,240,255,.6) !important; cursor: pointer; z-index: 2; box-shadow: none !important; clip-path: none !important; transform: none !important; }
.srj-pw-wrap .show-password-input::before { display: none !important; }
.srj-pw-wrap .show-password-input::after { content: ''; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/><circle cx='12' cy='12' r='3'/></svg>") center / contain no-repeat; }
.srj-pw-wrap .show-password-input.display-password::after { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3l18 18'/><path d='M10.6 6.1A10.5 10.5 0 0 1 12 6c6.4 0 10 6 10 6a17 17 0 0 1-3.2 3.9M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3l18 18'/><path d='M10.6 6.1A10.5 10.5 0 0 1 12 6c6.4 0 10 6 10 6a17 17 0 0 1-3.2 3.9M6.6 6.6A17 17 0 0 0 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/><path d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/></svg>"); }
/* Free bag: info "!" next to the label, explanation opens under the row */
.srj-info { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-left: 8px; padding: 0; vertical-align: middle; background: rgba(93,255,154,.18); border: 1px solid #5dff9a; color: #5dff9a; font: 900 12px var(--display); line-height: 1; cursor: pointer; border-radius: 0; }
.srj-info:hover, .srj-info[aria-expanded=true] { background: #5dff9a; color: #04130a; }
.srj-info-tip { margin: 6px 0 4px; padding: 10px 12px; border: 1px solid #5dff9a; background: linear-gradient(180deg, rgba(93,255,154,.12), rgba(56,214,255,.06)); font-size: 12px; line-height: 1.45; color: #d9ddff; }
.wc-block-components-totals-fees .wc-block-components-totals-item__value { color: #5dff9a; }
.srj-fee-lab { font-size: 0 !important; display: inline-flex; align-items: center; }
.srj-fee-lab .srj-rb { font-size: 12px; padding: 5px 9px; }

/* Partner dropdown (Affiliate / Influencer / Sales) */
@media (min-width: 861px) {
  .srj-nav .menu-item-has-children { position: relative; }
  .srj-nav .menu-item-has-children > a .srj-navlabel::after { content: ''; display: inline-block; margin-left: 7px; border: 4px solid transparent; border-top-color: currentColor; border-bottom: 0; vertical-align: middle; }
  .srj-nav .sub-menu { position: absolute; top: 100%; left: 0; min-width: 200px; flex-direction: column; gap: 3px; margin: 0; padding: 6px; list-style: none; background: rgba(8,6,26,.98); border: 1px solid rgba(56,214,255,.35); box-shadow: 0 16px 34px rgba(0,0,0,.65); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 90; }
  .srj-nav .menu-item-has-children:hover > .sub-menu, .srj-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
  .srj-nav .sub-menu a { white-space: nowrap; }
}
@media (max-width: 860px) {
  .srj-nav .sub-menu { position: static; display: flex; flex-direction: column; gap: 10px; margin: 12px 0 0; padding: 0 0 0 14px !important; border-left: 2px solid rgba(170,150,255,.35); list-style: none; }
  .srj-nav .menu-item-has-children > a .srj-navlabel::after { display: none; }
}

/* partner pages (portal login, applications, samples): no outer boxes, one clean panel */
.srj-content.srj-bare { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.srj-bare .woocommerce > h2, .srj-bare .u-column1 > h2 { display: none; }
.srj-bare .woocommerce > .woocommerce-form-login, .srj-bare .woocommerce > form.login { max-width: 520px; margin: 0 auto; }
.srj-bare .srj-p-apply { margin: 22px 0 0; }
.srj-bare .srj-panel { padding: 22px; }
.srj-bare .srj-panel h3 { font-size: 18px; }
/* lost / reset password: centered card with padding */
.woocommerce form.woocommerce-ResetPassword, .woocommerce form.lost_reset_password { grid-column: 1 / -1; width: 100%; max-width: 560px; margin: 0 auto; padding: 32px 30px; box-sizing: border-box; }
.woocommerce-ResetPassword .form-row { float: none !important; width: 100% !important; padding: 0; margin: 0 0 16px; }
.woocommerce-ResetPassword .form-row input.input-text { width: 100%; }
.woocommerce-ResetPassword > p:first-child { margin: 0 0 20px; }
/* email-code login */
.srj-otp { margin: 18px 0 0; }
.srj-otp__or { text-align: center; position: relative; margin: 0 0 14px; color: var(--muted, #9a98c4); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; }
.srj-otp__or::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid rgba(170,150,255,.25); }
.srj-otp__or span { position: relative; background: #0d0a24; padding: 0 12px; }
.srj-otp__open { width: 100%; }
.srj-otp__panel { margin-top: 14px; }
.srj-otp__panel label { display: block; margin: 0 0 12px; }
.srj-otp__panel input[type=email], .srj-otp__panel input[type=text]:not(.srj-otp__hp) { width: 100%; }
.srj-otp__code { font-family: Consolas, Menlo, monospace; font-size: 24px; letter-spacing: 10px; text-align: center; }
.srj-otp__msg { margin: 0 0 12px; font-size: 14px; color: #38d6ff; }
.srj-otp__msg.is-bad { color: #ff6b8a; }
.srj-otp__resend { background: none; border: 0; color: #38d6ff; text-decoration: underline; cursor: pointer; padding: 8px 4px; font: inherit; }
.srj-otp [hidden] { display: none !important; }

/* v2.38.38 — heat colors in the shop heat filter */
.srj-dd__list li.has-c { border-left-color: var(--hc); color: var(--hc); }
.srj-dd__list li.has-c:hover { background: linear-gradient(90deg, color-mix(in srgb, var(--hc) 22%, transparent), transparent); color: var(--hc); border-left-color: var(--hc); }
.srj-dd__list li.has-c.is-on { background: color-mix(in srgb, var(--hc) 16%, transparent); color: var(--hc); border-left-color: var(--hc); font-weight: 700; }
.srj-dd__btn.has-c { color: var(--hc); border-color: var(--hc); }

/* arcade: sign up to save a guest score */
.srj-arc-claim { position: relative; display: grid; gap: 8px; max-width: 320px; margin: 12px auto 0; text-align: left; }
.srj-arc-claim input { font: inherit; font-size: 14px; color: var(--text); background: rgba(255,255,255,.04); border: 1px solid var(--line); padding: 10px 12px; border-radius: 0; }
.srj-arc-claim input:focus { outline: none; border-color: var(--cyan); box-shadow: 0 0 12px rgba(56,214,255,.25); }
.srj-arc-claim .srj-btn { width: 100%; }
.srj-arc-claim .srj-arc-s { text-align: center; margin: 4px 0 0; }
.srj-arc-claim__err { color: #ff5a7a; font-size: 13px; margin: 0; }

/* heat grid: 7 levels — one row on desktop, 4 + 3 when space runs out */
.srj-heatgrid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.srj-heatcard { padding: 26px 14px 22px; border-right: 1px solid var(--line); border-bottom: 0; }
.srj-heatcard:last-child { border-right: 0; }
.srj-heatcard b { font-size: clamp(14px, 1.3vw, 20px); white-space: nowrap; }
.srj-heatcard span { font-size: 12px; }
.srj-heatcard .srj-flames { margin-bottom: 20px; }
.srj-heatcard .srj-flames .srj-heat i { width: 12px; height: 8px; }
@media (max-width: 1024px) {
  .srj-heatgrid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .srj-heatcard { grid-column: span 3; border-right: 1px solid var(--line); border-bottom: 0; }
  .srj-heatcard:nth-child(n+5) { grid-column: span 4; }
  .srj-heatcard:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .srj-heatcard:nth-child(4), .srj-heatcard:last-child { border-right: 0; }
  .srj-heatcard b { font-size: 17px; }
}
@media (max-width: 560px) {
  .srj-heatcard { padding: 18px 10px 16px; }
  .srj-heatcard b { font-size: 13px; }
  .srj-heatcard span { font-size: 11px; }
  .srj-heatcard .srj-flames .srj-heat i { width: 8px; height: 6px; }
}

/* partner program picker */
.srj-apply-group { font-family: var(--display); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--cyan); margin: 30px 0 12px; }
.srj-apply-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.srj-apply-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.srj-apply-card { margin: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.srj-apply-card h3 { margin: 0; }
.srj-apply-card p { margin: 0; flex: 1; }
.srj-apply-card .srj-btn { width: 100%; justify-content: center; }
.srj-apply-login { font-size: 13px; text-align: center; color: var(--muted); }
.srj-apply-login:hover { color: var(--cyan); }
.srj-apply-top { text-align: center; font-size: 14px; color: var(--muted); margin-bottom: 18px; }
@media (max-width: 1000px) { .srj-apply-grid, .srj-apply-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .srj-apply-grid, .srj-apply-grid:has(> :nth-child(3):last-child) { grid-template-columns: 1fr; } }


/* v2.42 logo lockups — header B (logo + BRANDS + 2-line wordmark), footer D (logo + BRANDS | wordmark) */
.srj-logo--b,.srj-logo--d{gap:14px;align-items:center}
.srj-logo__mark{display:flex;flex-direction:column;align-items:stretch;gap:3px;line-height:0;font-weight:400}
.srj-logo--b .srj-logo__mark img:first-child{height:40px;width:auto;margin:0 auto}
.srj-logo--d .srj-logo__mark img:first-child{height:38px;width:auto;margin:0 auto}
.srj-logo .srj-logo__brands{width:100%;height:auto}
.srj-logo--b .srj-logo__wm{height:36px;width:auto}
.srj-logo--d .srj-logo__wm{height:22px;width:auto}
.srj-logo--d i{display:block;width:1px;align-self:stretch;background:rgba(255,255,255,.28)}
@media (max-width:640px){.srj-logo--b .srj-logo__wm{display:none}}

.srj-logo--b .srj-logo__mark{width:72px}
.srj-logo--d .srj-logo__mark{width:74px}

.srj-logo--b .srj-logo__wm{height:28px}
.srj-logo--d .srj-logo__wm{height:16px}
.srj-logo--b .srj-logo__mark{width:auto}
.srj-logo--d .srj-logo__mark{width:auto}
.srj-logo--b .srj-logo__mark img:first-child{height:44px}


/* v2.42.1 - hero: never clip the CTA; gap under TAP TO LAUNCH */
@media (min-width: 861px) {
  .srj-hero { height: auto !important; min-height: calc(100vh - 150px); max-height: none !important; }
  .srj-orbit { min-height: 400px; margin-bottom: -26px; }
  .srj-hero__info { padding-bottom: 36px; }
}
.srj-bag.is-front::before { bottom: -30px !important; }
