/* JTCG for WooCommerce — orange skin + card specs
   Tokens: dark base, orange #ff5c00 (action), lime #a8e63d (grade/auth), JetBrains Mono for data. */
.woocommerce, .woocommerce-page {
  --jtcg-bg:#07090f; --jtcg-panel:#0e121b; --jtcg-panel-2:#121826;
  --jtcg-line:rgba(255,255,255,.08); --jtcg-line-2:rgba(255,255,255,.14);
  --jtcg-text:#e9edf5; --jtcg-muted:#8b93a7;
  --jtcg-accent:#ff5c00; --jtcg-lime:#a8e63d;
  --jtcg-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --jtcg-display:"Space Grotesk",system-ui,sans-serif;
}

/* ---------- shop / archive grid ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--jtcg-panel); border:1px solid var(--jtcg-line); border-radius:16px;
  padding:13px 13px 18px; position:relative; overflow:hidden;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.woocommerce ul.products li.product::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--jtcg-accent);
  transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px); border-color:rgba(255,92,0,.4); box-shadow:0 22px 44px -22px rgba(0,0,0,.8);
}
.woocommerce ul.products li.product:hover::after{ transform:scaleX(1); }
.woocommerce ul.products li.product a img{ border-radius:12px; aspect-ratio:63/88; object-fit:cover; margin-bottom:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--jtcg-display); font-size:15.5px; font-weight:600; color:var(--jtcg-text); padding:4px 0 2px;
}
.woocommerce ul.products li.product .price{
  font-family:var(--jtcg-mono); font-weight:700; color:var(--jtcg-text); font-size:15px;
}
.woocommerce ul.products li.product .price del{ color:var(--jtcg-muted); font-weight:400; }
.woocommerce ul.products li.product .price ins{ color:var(--jtcg-accent); text-decoration:none; }
.jtcg-loop-meta{ font-family:var(--jtcg-mono); font-size:10.5px; letter-spacing:.04em; color:#5d6478; margin:2px 0 8px; }

/* image is the badge anchor */
.woocommerce ul.products li.product a{ position:relative; display:block; }

/* ---------- badges ---------- */
.jtcg-badge{
  position:absolute; top:10px; left:10px; z-index:3;
  font-family:var(--jtcg-mono); font-size:10.5px; font-weight:600; letter-spacing:.03em;
  padding:4px 8px; border-radius:7px; backdrop-filter:blur(4px);
}
.jtcg-graded{ background:var(--jtcg-lime); color:#07090f; }
.jtcg-raw{ background:rgba(7,9,15,.78); color:var(--jtcg-text); border:1px solid var(--jtcg-line-2); }
.jtcg-lang{ left:auto; right:10px; background:rgba(34,211,238,.16); color:#22d3ee; border:1px solid rgba(34,211,238,.3); }

/* holo shimmer on foil product images */
.product.jtcg-has-holo a:first-of-type{ position:relative; }
.product.jtcg-has-holo a:first-of-type::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none; mix-blend-mode:color-dodge; opacity:.4;
  border-radius:12px;
  background:linear-gradient(115deg,transparent 30%,rgba(255,170,90,.5) 48%,rgba(255,92,0,.45) 56%,transparent 72%);
  background-size:240% 240%; animation:jtcgWooHolo 6s linear infinite;
}
@keyframes jtcgWooHolo{ from{background-position:0% 50%} to{background-position:240% 50%} }

/* ---------- buttons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit{
  background:var(--jtcg-accent) !important; color:#0a0a0a !important;
  font-family:var(--jtcg-display); font-weight:600; border-radius:10px; border:0;
  transition:background .15s, transform .15s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover{
  background:#ff7327 !important; transform:translateY(-1px);
}
.woocommerce .button.added::after{ color:#0a0a0a; }
.woocommerce span.onsale{
  background:var(--jtcg-accent); color:#0a0a0a; font-family:var(--jtcg-mono); font-weight:700;
  border-radius:8px; min-height:auto; min-width:auto; padding:4px 9px; line-height:1;
}

/* ---------- single product ---------- */
.single-product .woocommerce-product-gallery img{ border-radius:14px; }
.single-product .product_title{ font-family:var(--jtcg-display); letter-spacing:-.02em; color:var(--jtcg-text); }
.single-product p.price, .single-product .woocommerce-Price-amount{
  font-family:var(--jtcg-mono); font-weight:700; color:var(--jtcg-text);
}
.single-product .woocommerce-tabs ul.tabs li{ background:var(--jtcg-panel); border-color:var(--jtcg-line); border-radius:10px 10px 0 0; }
.single-product .woocommerce-tabs ul.tabs li.active{ background:var(--jtcg-panel-2); }

/* spec sheet */
.jtcg-spec{ margin:18px 0 6px; position:relative; }
.jtcg-spec .jtcg-badge{ position:static; display:inline-block; margin-bottom:12px; }
.jtcg-spectable{ width:100%; border-collapse:collapse; font-size:13.5px; max-width:520px; }
.jtcg-spectable th, .jtcg-spectable td{ text-align:left; padding:10px 4px; border-bottom:1px solid var(--jtcg-line); }
.jtcg-spectable th{ color:var(--jtcg-muted); font-weight:500; width:42%; }
.jtcg-spectable td{ font-family:var(--jtcg-mono); color:var(--jtcg-text); }

@media (prefers-reduced-motion: reduce){
  .product.jtcg-has-holo a:first-of-type::before{ animation:none; }
  .woocommerce ul.products li.product{ transition:none; }
}

/* ---------- filter sidebar ([jtcg_filters]) ---------- */
.jtcg-filters{
  --jf-accent:#ff5c00; --jf-panel:#0e121b; --jf-line:rgba(255,255,255,.09);
  --jf-text:#e9edf5; --jf-muted:#8b93a7;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;
  background:var(--jf-panel); border:1px solid var(--jf-line); border-radius:14px;
  padding:6px 16px 16px; color:var(--jf-text);
}
.jtcg-filters__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0 10px; border-bottom:1px solid var(--jf-line); margin-bottom:6px;
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
}
.jtcg-clear{ font-size:11px; color:var(--jf-accent); text-decoration:none; text-transform:none; letter-spacing:0; }
.jtcg-clear:hover{ text-decoration:underline; }
.jtcg-facet{ border-bottom:1px solid var(--jf-line); padding:4px 0; }
.jtcg-facet:last-of-type{ border-bottom:0; }
.jtcg-facet > summary{
  list-style:none; cursor:pointer; padding:9px 2px; font-size:12.5px; letter-spacing:.04em;
  color:var(--jf-text); display:flex; align-items:center; justify-content:space-between;
}
.jtcg-facet > summary::-webkit-details-marker{ display:none; }
.jtcg-facet > summary::after{ content:"+"; color:var(--jf-muted); font-size:15px; line-height:1; }
.jtcg-facet[open] > summary::after{ content:"–"; }
.jtcg-facet__body{ padding:2px 0 10px; display:flex; flex-direction:column; gap:2px; }
.jtcg-facet__scroll{ max-height:190px; overflow:auto; padding-right:4px; }
.jtcg-facet__scroll::-webkit-scrollbar{ width:6px; }
.jtcg-facet__scroll::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:3px; }
.jtcg-check{
  display:flex; align-items:center; gap:9px; padding:5px 4px; border-radius:7px;
  font-size:12.5px; color:var(--jf-muted); cursor:pointer; transition:background .12s,color .12s;
}
.jtcg-check:hover{ background:rgba(255,255,255,.04); color:var(--jf-text); }
.jtcg-check input{ accent-color:var(--jf-accent); width:15px; height:15px; flex:none; }
.jtcg-check span{ flex:1; }
.jtcg-check em{ font-style:normal; font-size:10.5px; color:#5d6478; }
.jtcg-price{ flex-direction:row !important; align-items:center; gap:8px; }
.jtcg-price input{
  width:100%; background:#07090f; border:1px solid var(--jf-line); border-radius:8px;
  color:var(--jf-text); padding:8px 9px; font-family:inherit; font-size:12.5px;
}
.jtcg-price span{ color:var(--jf-muted); }
.jtcg-apply{
  width:100%; margin-top:14px; background:var(--jf-accent); color:#0a0a0a; border:0;
  border-radius:10px; padding:11px; font-family:"Space Grotesk",system-ui,sans-serif;
  font-weight:600; font-size:14px; cursor:pointer; transition:background .15s,transform .15s;
}
.jtcg-apply:hover{ background:#ff7327; transform:translateY(-1px); }

/* ====== single product page (.jtcg-pdp slab + spec layout) ====== */
.jtcg-pdp{
  --jp-bg:#07090f; --jp-panel:#0e121b; --jp-line:rgba(255,255,255,.08); --jp-line2:rgba(255,255,255,.14);
  --jp-text:#e9edf5; --jp-muted:#8b93a7; --jp-dim:#5d6478; --jp-accent:#ff5c00; --jp-lime:#a8e63d;
  --jp-mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --jp-display:"Space Grotesk",system-ui,sans-serif;
  background:
    radial-gradient(1100px 540px at 82% -10%, rgba(255,92,0,.07), transparent 60%),
    var(--jp-bg);
  color:var(--jp-text); border-radius:18px; overflow:hidden;
  padding:clamp(22px,3.5vw,46px) 0 clamp(30px,4vw,54px);
}
.jtcg-pdp__inner{ max-width:1040px; margin:0 auto; padding:0 clamp(18px,4vw,32px); }
.jtcg-pdp__bc, .jtcg-pdp__bc a{ font-family:var(--jp-mono); font-size:12px; letter-spacing:.04em; color:var(--jp-dim); text-decoration:none; }
.jtcg-pdp__bc a:hover{ color:var(--jp-text); }
.jtcg-pdp__bc{ margin-bottom:22px; }

.jtcg-pdp__grid{
  display:grid; grid-template-columns:minmax(0,360px) minmax(0,1fr);
  gap:clamp(28px,4vw,58px); align-items:center;
}
@media (max-width:820px){
  .jtcg-pdp__grid{ grid-template-columns:1fr; gap:36px; justify-items:center; }
  .jtcg-pdp__info{ width:100%; max-width:440px; }
}

/* slab */
.jtcg-slab-stage{ display:flex; justify-content:center; perspective:1400px; }
.jtcg-slab{
  width:min(330px,86%); border-radius:18px; padding:14px; position:relative;
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.02));
  border:1px solid var(--jp-line2);
  box-shadow:0 40px 90px -34px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.16);
  transform:rotateY(-11deg) rotateX(4deg); transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.jtcg-slab:hover{ transform:rotateY(-3deg) rotateX(2deg); }
.jtcg-slab__label{ display:flex; align-items:center; justify-content:space-between; padding:6px 8px 11px; font-family:var(--jp-mono); }
.jtcg-slab__grade{ display:flex; align-items:baseline; gap:7px; }
.jtcg-slab__grade b{ font-size:30px; color:var(--jp-lime); line-height:1; letter-spacing:-.02em; }
.jtcg-slab__grade span{ font-size:11px; color:var(--jp-muted); letter-spacing:.12em; }
.jtcg-slab__grade--raw span{ color:var(--jp-text); font-size:15px; letter-spacing:.04em; }
.jtcg-slab__co{ font-size:11px; color:var(--jp-text); letter-spacing:.16em; }
.jtcg-slab__face{ aspect-ratio:63/88; border-radius:11px; overflow:hidden; background:#0a0e16; }
.jtcg-slab__face img{ width:100%; height:100%; object-fit:cover; display:block; }
.jtcg-slab__foot{ display:flex; justify-content:space-between; padding:11px 8px 4px; font-family:var(--jp-mono); font-size:10.5px; color:var(--jp-dim); letter-spacing:.06em; }

/* info column */
.jtcg-eyebrow{ font-family:var(--jp-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--jp-lime); margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.jtcg-eyebrow::before{ content:""; width:24px; height:1px; background:var(--jp-lime); opacity:.6; }
.jtcg-pdp__title{ font-family:var(--jp-display); font-weight:700; letter-spacing:-.02em; line-height:1.04; font-size:clamp(28px,3.6vw,46px); color:var(--jp-text); margin:0 0 18px; }
.jtcg-tagrow{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.jtcg-tag{ font-family:var(--jp-mono); font-size:11.5px; color:var(--jp-muted); background:var(--jp-panel); border:1px solid var(--jp-line); padding:6px 11px; border-radius:8px; }
.jtcg-tag--hi{ color:var(--jp-lime); border-color:rgba(168,230,61,.3); }

.jtcg-pdp__price, .jtcg-pdp__price .woocommerce-Price-amount{ font-family:var(--jp-mono); font-weight:700; font-size:30px; color:var(--jp-text); }
.jtcg-pdp__price del{ color:var(--jp-dim); font-weight:400; font-size:20px; }
.jtcg-pdp__price ins{ color:var(--jp-accent); text-decoration:none; }
.jtcg-pdp__stock{ font-family:var(--jp-mono); font-size:12px; color:var(--jp-lime); letter-spacing:.05em; margin:8px 0 22px; display:flex; align-items:center; gap:8px; }
.jtcg-pdp__stock::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--jp-lime); box-shadow:0 0 8px var(--jp-lime); }
.jtcg-pdp__stock--out{ color:var(--jp-accent); } .jtcg-pdp__stock--out::before{ background:var(--jp-accent); box-shadow:0 0 8px var(--jp-accent); }

/* add-to-cart form (WooCommerce markup) */
.jtcg-pdp__buy .quantity input.qty{
  background:#07090f; border:1px solid var(--jp-line2); color:var(--jp-text);
  border-radius:9px; padding:11px 8px; width:64px; font-family:var(--jp-mono);
}
.jtcg-pdp__buy form.cart{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:0 0 22px; }
.jtcg-pdp__buy .single_add_to_cart_button{
  background:var(--jp-accent) !important; color:#0a0a0a !important;
  font-family:var(--jp-display); font-weight:600; border:0; border-radius:11px; padding:13px 24px;
}
.jtcg-pdp__buy .single_add_to_cart_button:hover{ background:#ff7327 !important; }

.jtcg-pdp__trust{ font-family:var(--jp-mono); font-size:12px; color:var(--jp-muted); letter-spacing:.03em; line-height:1.7; border-top:1px solid var(--jp-line); padding-top:18px; margin-bottom:20px; }

.jtcg-pdp .jtcg-spectable{ width:100%; border-collapse:collapse; font-size:13.5px; max-width:520px; }
.jtcg-pdp .jtcg-spectable th, .jtcg-pdp .jtcg-spectable td{ text-align:left; padding:10px 4px; border-bottom:1px solid var(--jp-line); }
.jtcg-pdp .jtcg-spectable th{ color:var(--jp-muted); font-weight:500; width:42%; }
.jtcg-pdp .jtcg-spectable td{ font-family:var(--jp-mono); color:var(--jp-text); }

.jtcg-pdp__about{ max-width:1040px; margin:clamp(34px,5vw,56px) auto 0; padding:0 clamp(18px,4vw,32px); }
.jtcg-pdp__about h2, .jtcg-pdp__related h2{ font-family:var(--jp-display); font-weight:700; font-size:clamp(20px,2.4vw,26px); letter-spacing:-.01em; color:var(--jp-text); margin:0 0 14px; }
.jtcg-pdp__about-body{ color:var(--jp-muted); font-size:15.5px; line-height:1.7; max-width:64ch; }
.jtcg-pdp__related{ max-width:1240px; margin:clamp(40px,5vw,64px) auto 0; padding:0 clamp(18px,4vw,32px); }
.jtcg-pdp__related .related.products > h2{ margin-bottom:18px; }

@media (prefers-reduced-motion: reduce){ .jtcg-slab{ transform:none; transition:none; } }

/* full-page dark wrapper for the forced single-product template (block-theme safe) */
.jtcg-pdp-page{ background:#07090f; padding:clamp(18px,3.5vw,40px) clamp(12px,3vw,28px); }
.jtcg-pdp-page .jtcg-pdp{ border-radius:18px; }

/* ====== live homepage gallery [jtcg_gallery] ====== */
.jtcg-gallery{ --jg-bg:#07090f; --jg-panel:#0e121b; --jg-line:rgba(255,255,255,.08); --jg-text:#e9edf5; --jg-muted:#8b93a7; --jg-dim:#5d6478; --jg-accent:#ff5c00;
  --jg-mono:"JetBrains Mono",ui-monospace,monospace; --jg-display:"Space Grotesk",system-ui,sans-serif; }
.jtcg-gallery__controls{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.jtcg-gallery__pills{ display:flex; gap:8px; flex-wrap:wrap; }
.jtcg-pill{ font-family:var(--jg-mono); font-size:12.5px; color:var(--jg-muted); background:var(--jg-panel); border:1px solid var(--jg-line); padding:9px 15px; border-radius:999px; cursor:pointer; transition:.15s; }
.jtcg-pill:hover{ color:var(--jg-text); border-color:rgba(255,255,255,.18); }
.jtcg-pill.active{ background:var(--jg-accent); border-color:var(--jg-accent); color:#0a0a0a; font-weight:600; }
.jtcg-gallery__sort{ font-family:var(--jg-mono); font-size:12.5px; background:var(--jg-panel); color:var(--jg-text); border:1px solid var(--jg-line); padding:9px 12px; border-radius:10px; cursor:pointer; }
.jtcg-gallery__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(232px,1fr)); gap:20px; }
.jtcg-gcard{ background:var(--jg-panel); border:1px solid var(--jg-line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; position:relative; text-decoration:none; color:var(--jg-text); transition:transform .2s,border-color .2s,box-shadow .2s; }
.jtcg-gcard::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--jg-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.jtcg-gcard:hover{ transform:translateY(-4px); border-color:rgba(255,92,0,.4); box-shadow:0 22px 44px -22px rgba(0,0,0,.8); }
.jtcg-gcard:hover::after{ transform:scaleX(1); }
.jtcg-gcard__media{ aspect-ratio:63/88; position:relative; background:#121826; margin:13px 13px 0; border-radius:12px; overflow:hidden; }
.jtcg-gcard__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.jtcg-gcard__body{ padding:13px; }
.jtcg-gcard__eye{ display:flex; justify-content:space-between; font-family:var(--jg-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--jg-muted); margin-bottom:7px; }
.jtcg-gcard__eye .num{ color:var(--jg-accent); }
.jtcg-gcard__name{ font-family:var(--jg-display); font-weight:600; font-size:15.5px; line-height:1.2; margin-bottom:5px; }
.jtcg-gcard__meta{ font-family:var(--jg-mono); font-size:10.5px; color:var(--jg-dim); margin-bottom:13px; }
.jtcg-gcard__foot{ display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--jg-line); }
.jtcg-gcard__price, .jtcg-gcard__price .woocommerce-Price-amount{ font-family:var(--jg-mono); font-weight:700; font-size:16px; color:var(--jg-text); }
.jtcg-gallery-empty{ font-family:var(--jg-mono); color:var(--jg-muted); }

/* ====== global header / footer (auto-injected by plugin) ====== */
.jtcg-shell{--bg:#07090f;--text:#e9edf5;--muted:#8b93a7;--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);--accent:#ff5c00;--mono:"JetBrains Mono",ui-monospace,monospace;--display:"Space Grotesk",system-ui,sans-serif}
.jtcg-hdr{background:rgba(7,9,15,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);font-family:var(--display)}
.jtcg-hdr__in{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px);display:flex;align-items:center;justify-content:space-between;height:88px;gap:20px}
.jtcg-hdr__brand{display:flex;align-items:center;text-decoration:none}
.jtcg-hdr__logo{width:62px;height:62px;display:block;filter:drop-shadow(0 4px 14px rgba(255,92,0,.28))}
.jtcg-hdr__links{display:flex;gap:30px;font-size:14px;font-weight:500}
.jtcg-hdr__links a{color:var(--muted);text-decoration:none;transition:color .15s}
.jtcg-hdr__links a:hover{color:var(--text)}
.jtcg-hdr__cta{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--text);border:1px solid var(--line-2);padding:9px 14px;border-radius:10px;text-decoration:none;transition:border-color .15s;white-space:nowrap}
.jtcg-hdr__cta:hover{border-color:var(--accent)}
@media(max-width:820px){.jtcg-hdr__links{display:none}.jtcg-hdr__in{height:68px}.jtcg-hdr__logo{width:46px;height:46px}}
.jtcg-ftr{background:var(--bg);border-top:1px solid var(--line);padding:46px 0;font-family:var(--display)}
.jtcg-ftr__in{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.jtcg-ftr__logo{width:54px;height:54px;display:block;filter:drop-shadow(0 4px 14px rgba(255,92,0,.28))}
.jtcg-ftr__links{display:flex;gap:24px;font-size:13px;flex-wrap:wrap;justify-content:center}
.jtcg-ftr__links a{color:var(--muted);text-decoration:none;transition:color .15s}
.jtcg-ftr__links a:hover{color:var(--text)}
.jtcg-ftr__cr{font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.04em}

/* ====== live homepage [jtcg_storefront] ====== */
.jtcg-storefront{ background:#07090f; width:auto; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow-x:clip; }
.jtcg-hero{ background:radial-gradient(1000px 520px at 76% -12%, rgba(255,92,0,.11), transparent 60%); padding:clamp(48px,9vw,112px) clamp(18px,4vw,40px) clamp(28px,5vw,52px); }
.jtcg-hero__in{ max-width:1240px; margin:0 auto; }
.jtcg-hero__eyebrow{ font-family:"JetBrains Mono",ui-monospace,monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#a8e63d; margin:0 0 16px; }
.jtcg-hero__title{ font-family:"Space Grotesk",system-ui,sans-serif; font-weight:700; letter-spacing:-.03em; line-height:1; font-size:clamp(40px,8vw,86px); color:#e9edf5; margin:0 0 18px; }
.jtcg-hero__sub{ font-family:"Inter",system-ui,sans-serif; font-size:clamp(15px,1.6vw,18px); color:#8b93a7; max-width:52ch; line-height:1.6; margin:0; }
.jtcg-storefront__body{ max-width:1240px; margin:0 auto; padding:8px clamp(18px,4vw,40px) clamp(50px,8vw,92px); }

/* ====== full storefront sections (hero + cert panel + trust strip) ====== */
.jtcg-storefront{ --bg:#07090f;--bg-2:#0b0f17;--panel:#0e121b;--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);--text:#e9edf5;--muted:#8b93a7;--dim:#5d6478;--accent:#ff5c00;--lime:#a8e63d;--mono:"JetBrains Mono",ui-monospace,monospace;--display:"Space Grotesk",system-ui,sans-serif; }
.jtcg-hero{ padding:clamp(46px,8vw,96px) clamp(18px,4vw,40px) clamp(36px,5vw,60px); background:radial-gradient(1000px 520px at 78% -12%, rgba(255,92,0,.11), transparent 60%); }
.jtcg-hero__grid{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,72px); align-items:center; }
@media(max-width:860px){ .jtcg-hero__grid{ grid-template-columns:1fr; gap:44px; } }
.jtcg-hero__eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--lime); margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.jtcg-hero__eyebrow::before{ content:""; width:26px; height:1px; background:var(--lime); opacity:.6; }
.jtcg-hero__title{ font-family:var(--display); font-weight:700; letter-spacing:-.03em; line-height:1.02; font-size:clamp(38px,6vw,72px); color:var(--text); margin:0 0 22px; }
.jtcg-hero__title .cert{ color:var(--accent); }
.jtcg-hero__sub{ font-family:"Inter",system-ui,sans-serif; font-size:clamp(15px,1.4vw,18px); color:var(--muted); max-width:46ch; margin:0 0 32px; line-height:1.6; }
.jtcg-hero__actions{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.jtcg-btn{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:600; font-size:15px; padding:13px 24px; border-radius:12px; border:1px solid transparent; text-decoration:none; cursor:pointer; transition:transform .15s,background .15s,border-color .15s; }
.jtcg-btn--primary{ background:var(--accent); color:#0a0a0a; }
.jtcg-btn--primary:hover{ background:#ff7327; transform:translateY(-2px); }
.jtcg-btn--ghost{ background:transparent; border-color:var(--line-2); color:var(--text); }
.jtcg-btn--ghost:hover{ border-color:var(--text); }
.jtcg-hero__card{ display:flex; flex-direction:column; align-items:center; }
.jtcg-cert-panel{ background:linear-gradient(180deg,var(--panel),var(--bg-2)); border:1px solid var(--line); border-radius:14px; padding:20px; margin:26px auto 0; font-family:var(--mono); max-width:330px; width:100%; }
.jtcg-cert-row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed var(--line); font-size:12.5px; }
.jtcg-cert-row:last-child{ border:none; }
.jtcg-cert-row .k{ color:var(--dim); }
.jtcg-cert-row .v{ color:var(--text); }
.jtcg-cert-row .v.lime{ color:var(--lime); }
.jtcg-trust{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.jtcg-trust__in{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
@media(max-width:760px){ .jtcg-trust__in{ grid-template-columns:1fr; } }
.jtcg-trust__cell{ background:var(--bg); padding:26px clamp(16px,3vw,34px); }
.jtcg-trust__cell .t-k{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.jtcg-trust__cell .t-v{ font-family:var(--display); font-size:clamp(16px,1.5vw,19px); font-weight:600; color:var(--text); }
.jtcg-trust__cell .t-s{ font-family:"Inter",system-ui,sans-serif; font-size:13px; color:var(--muted); margin-top:5px; }
.jtcg-store-gallery{ padding:clamp(44px,7vw,80px) 0; }
.jtcg-store-gallery__in{ max-width:1240px; margin:0 auto; padding:0 clamp(18px,4vw,40px); }
.jtcg-store-gallery__title{ font-family:var(--display); font-weight:700; letter-spacing:-.02em; font-size:clamp(28px,4vw,46px); color:var(--text); margin:0 0 28px; }

/* =========================================================================
 * Dark JTCG skin for WooCommerce pages: Cart, Checkout, My Account, Shop
 * Covers both classic shortcode pages and the newer WooCommerce Blocks.
 * ====================================================================== */
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account,
body.post-type-archive-product, body.tax-card_game, body.tax-card_set, body.tax-card_rarity{
  background:#07090f;
}
.woocommerce-page, .woocommerce, .wc-block-cart, .wc-block-checkout{ color:#e9edf5; }
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3,
.woocommerce-account h1,.woocommerce-account h2,.woocommerce .cart-collaterals h2,.woocommerce-checkout h3{
  color:#e9edf5; font-family:"Space Grotesk",system-ui,sans-serif; letter-spacing:-.01em;
}
.woocommerce-page p,.woocommerce-account p,.woocommerce-checkout p{ color:#8b93a7; }
.woocommerce-page a{ color:#e9edf5; } .woocommerce-page a:hover{ color:#ff5c00; }

/* breadcrumb */
.woocommerce-breadcrumb{ color:#8b93a7; font-family:"JetBrains Mono",ui-monospace,monospace; font-size:12px; }
.woocommerce-breadcrumb a{ color:#8b93a7; }

/* classic tables (cart / order / account / addresses) */
.woocommerce table.shop_table{ background:#0e121b; border:1px solid rgba(255,255,255,.09); border-radius:14px; color:#e9edf5; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td{ border-top:1px solid rgba(255,255,255,.07); color:#e9edf5; }
.woocommerce table.shop_table thead th{ color:#8b93a7; font-family:"JetBrains Mono",ui-monospace,monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td{ color:#e9edf5; }

/* inputs / selects (classic) */
.woocommerce form .form-row label,.woocommerce-account label,.woocommerce-checkout label{ color:#8b93a7; font-size:13px; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-page input[type=text],.woocommerce-page input[type=email],.woocommerce-page input[type=tel],
.woocommerce-page input[type=password],.woocommerce-page input[type=number],.woocommerce-page select{
  background:#07090f !important; color:#e9edf5 !important; border:1px solid rgba(255,255,255,.16) !important;
  border-radius:10px !important; padding:12px !important;
}
.woocommerce .select2-selection{ background:#07090f !important; border:1px solid rgba(255,255,255,.16) !important; border-radius:10px !important; }
.woocommerce .select2-selection__rendered{ color:#e9edf5 !important; }
.woocommerce .select2-dropdown{ background:#0e121b; color:#e9edf5; border:1px solid rgba(255,255,255,.16); }
.woocommerce .quantity input.qty{ background:#07090f; color:#e9edf5; border:1px solid rgba(255,255,255,.16); border-radius:9px; }

/* checkout payment box (classic) */
.woocommerce-checkout #payment{ background:#0e121b; border:1px solid rgba(255,255,255,.09); border-radius:14px; }
.woocommerce-checkout #payment ul.payment_methods{ border-bottom:1px solid rgba(255,255,255,.09); }
.woocommerce-checkout #payment div.payment_box{ background:#07090f; color:#8b93a7; }
.woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:#07090f; }

/* my account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 24px; padding:0; border:1px solid rgba(255,255,255,.09); border-radius:14px; overflow:hidden; background:#0e121b; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid rgba(255,255,255,.07); }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:13px 16px; color:#8b93a7; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:#ff5c00; }

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  background:#0e121b !important; color:#e9edf5 !important; border-top:3px solid #ff5c00 !important; border-radius:10px;
}
.woocommerce-message::before,.woocommerce-info::before{ color:#ff5c00; }

/* buttons (classic + blocks) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .button.alt,.wc-block-components-button,.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:#ff5c00 !important; color:#0a0a0a !important; border:0 !important; border-radius:11px !important;
  font-family:"Space Grotesk",system-ui,sans-serif !important; font-weight:600 !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:hover{ background:#ff7327 !important; }
.woocommerce .button.wc-backward{ background:transparent !important; color:#e9edf5 !important; border:1px solid rgba(255,255,255,.16) !important; }

/* WooCommerce Blocks cart / checkout */
.wc-block-components-text-input input,.wc-block-components-select select,
.wc-block-checkout input,.wc-block-checkout select,.wc-block-components-address-form input{
  background:#07090f !important; color:#e9edf5 !important; border-color:rgba(255,255,255,.16) !important;
}
.wc-block-components-text-input label,.wc-block-components-checkout-step__description{ color:#8b93a7 !important; }
.wc-block-checkout__sidebar,.wp-block-woocommerce-checkout-order-summary-block,.wc-block-components-panel,
.wc-block-cart__totals-title,.wc-block-components-totals-item{ background:#0e121b !important; color:#e9edf5 !important; }
.wc-block-components-product-name,.wc-block-cart-item__product-name{ color:#e9edf5 !important; }
.wc-block-components-totals-item__label,.wc-block-components-order-summary-item__description{ color:#8b93a7 !important; }

/* storefront closing CTA band */
.jtcg-cta{ padding:clamp(56px,10vw,118px) clamp(18px,4vw,40px); text-align:center; background:radial-gradient(820px 420px at 50% 125%, rgba(255,92,0,.11), transparent 60%); border-top:1px solid var(--line); }
.jtcg-cta__in{ max-width:720px; margin:0 auto; }
.jtcg-cta__title{ font-family:var(--display); font-weight:700; letter-spacing:-.02em; font-size:clamp(30px,5vw,52px); color:var(--text); margin:0 0 16px; }
.jtcg-cta__sub{ font-family:"Inter",system-ui,sans-serif; color:var(--muted); font-size:clamp(15px,1.6vw,18px); line-height:1.6; margin:0 0 30px; }

/* ====== holographic glitter overlay on live product images (slab + gallery) ====== */
.jtcg-slab__face, .jtcg-gcard__media{ position:relative; }
/* layer 1 — foil sheen; shows richly over real card art (mid/dark tones) */
.jtcg-slab__face::after, .jtcg-gcard__media::after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit;
  mix-blend-mode:color-dodge; opacity:.55;
  background:linear-gradient(115deg, transparent 26%, rgba(255,180,100,.55) 44%, rgba(255,92,0,.5) 53%, rgba(255,214,96,.6) 61%, rgba(168,230,61,.35) 68%, transparent 80%);
  background-size:260% 260%; animation:jtcgHolo 5.5s linear infinite;
}
/* layer 2 — colored rainbow film; visible over ANY image incl. white placeholders */
.jtcg-slab__face::before, .jtcg-gcard__media::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none; border-radius:inherit;
  opacity:.38;
  background:linear-gradient(115deg, transparent 16%, rgba(255,140,60,.34) 36%, rgba(255,92,0,.26) 47%, rgba(168,230,61,.24) 58%, rgba(90,150,255,.30) 69%, transparent 86%);
  background-size:260% 260%; animation:jtcgHolo2 5.5s linear infinite;
}
@keyframes jtcgHolo{ from{background-position:0% 50%} to{background-position:260% 50%} }
@keyframes jtcgHolo2{ from{background-position:38% 50%} to{background-position:298% 50%} }
@media (prefers-reduced-motion: reduce){
  .jtcg-slab__face::after,.jtcg-gcard__media::after,.jtcg-slab__face::before,.jtcg-gcard__media::before{ animation:none; }
}

/* self-contained front page wrapper */
body.jtcg-front{ margin:0; background:#07090f; }
.jtcg-front-main{ display:block; }

/* force product images to fill their frame (cover) + slightly stronger glitter on light art */
.jtcg-slab .jtcg-slab__face img,
.jtcg-gcard .jtcg-gcard__media img,
.jtcg-slab__face img, .jtcg-gcard__media img{
  width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
}
.jtcg-slab__face::before, .jtcg-gcard__media::before{ opacity:.46; }

/* refined foil — warmer + subtler; uses background-image so the sweep animation keeps running */
.jtcg-slab__face::after, .jtcg-gcard__media::after{
  opacity:.42 !important;
  background-image:linear-gradient(115deg, transparent 28%, rgba(255,185,110,.50) 45%, rgba(255,110,20,.44) 54%, rgba(255,205,120,.50) 63%, transparent 80%) !important;
  background-size:260% 260% !important;
}
.jtcg-slab__face::before, .jtcg-gcard__media::before{
  opacity:.26 !important;
  background-image:linear-gradient(115deg, transparent 22%, rgba(255,160,80,.28) 43%, rgba(255,100,10,.20) 53%, rgba(255,200,130,.24) 63%, transparent 82%) !important;
  background-size:260% 260% !important;
}

/* soften foil: remove the colored film layer (the "weird layer"), keep a faint animated sheen */
.jtcg-slab__face::before, .jtcg-gcard__media::before{ display:none !important; }
.jtcg-slab__face::after, .jtcg-gcard__media::after{ opacity:.30 !important; }

/* =========================================================================
 * My Account page — beautified (sidebar + content cards, login/register cards)
 * ====================================================================== */
.woocommerce-account.logged-in .woocommerce{
  display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(22px,4vw,44px);
  align-items:start; max-width:1120px; margin:0 auto; padding:clamp(22px,4vw,44px) clamp(16px,4vw,28px);
}
@media(max-width:820px){ .woocommerce-account.logged-in .woocommerce{ grid-template-columns:1fr; } }

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  background:linear-gradient(180deg,#0e121b,#0b0f17); border:1px solid rgba(255,255,255,.09);
  border-radius:16px; overflow:hidden; padding:7px; margin:0; list-style:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{ border:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:11px;
  color:#8b93a7; font-family:"Space Grotesk",system-ui,sans-serif; font-weight:500; font-size:14.5px;
  text-decoration:none; transition:background .15s,color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:rgba(255,255,255,.045); color:#e9edf5; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:rgba(255,92,0,.15); color:#ff5c00; }

.woocommerce-MyAccount-content{
  background:linear-gradient(180deg,#0e121b,#0b0f17); border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:clamp(22px,3vw,36px); color:#c7cede; min-height:320px;
}
.woocommerce-MyAccount-content p{ color:#c7cede; }
.woocommerce-MyAccount-content strong{ color:#e9edf5; }
.woocommerce-MyAccount-content a{ color:#ff5c00; }
.woocommerce-MyAccount-content > p:first-of-type{ font-size:16px; color:#e9edf5; }
.woocommerce-MyAccount-content mark{ background:transparent; color:#ff5c00; font-weight:600; }

/* logged-out: login / register as centered cards */
.woocommerce-account:not(.logged-in) .woocommerce{ max-width:980px; margin:0 auto; padding:clamp(26px,5vw,60px) clamp(16px,4vw,28px); }
.woocommerce-account:not(.logged-in) .u-columns{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:720px){ .woocommerce-account:not(.logged-in) .u-columns{ grid-template-columns:1fr; } }
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .woocommerce-form-register{
  background:linear-gradient(180deg,#0e121b,#0b0f17); border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:clamp(22px,3vw,32px);
}
.woocommerce-account h2{ font-family:"Space Grotesk",system-ui,sans-serif; font-weight:700; color:#e9edf5; margin-bottom:18px; letter-spacing:-.01em; }
.woocommerce-account .woocommerce-form-login__rememberme, .woocommerce-account label.inline{ color:#8b93a7; }

/* orders / addresses tables inside account already themed by shop_table rules above */
.woocommerce-account .woocommerce-Address{ background:linear-gradient(180deg,#0e121b,#0b0f17); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:20px; }
.woocommerce-account .woocommerce-Address-title h3{ color:#e9edf5; font-family:"Space Grotesk",system-ui,sans-serif; }
.woocommerce-account .woocommerce-Address address{ color:#c7cede; font-style:normal; }

/* ====== currency switcher + approximate local prices ====== */
.jtcg-hdr__right{ display:flex; align-items:center; gap:12px; }
.jtcg-cur-switch{
  background:#0e121b; color:#e9edf5; border:1px solid rgba(255,255,255,.16); border-radius:10px;
  padding:8px 10px; font-family:"JetBrains Mono",ui-monospace,monospace; font-size:12px; cursor:pointer;
}
.jtcg-cur-switch:hover{ border-color:#ff5c00; }
.jtcg-approx{ color:#8b93a7; font-family:"JetBrains Mono",ui-monospace,monospace; font-size:.82em; font-weight:500; white-space:nowrap; }
.jtcg-approx-note{ font-family:"JetBrains Mono",ui-monospace,monospace; font-size:11px; color:#5d6478; letter-spacing:.03em; margin:4px 0 0; }
@media(max-width:820px){ .jtcg-hdr__right .jtcg-cur-switch{ display:none; } } /* keep mobile header tidy; switcher still available via [jtcg_currency] */

/* ====== self-contained My Account page (full width, aligned 2-col) ====== */
.jtcg-account-page{ background:#07090f; padding:clamp(26px,4vw,52px) 0 clamp(40px,6vw,72px); min-height:62vh; }
.jtcg-account-inner{ max-width:1120px; margin:0 auto; padding:0 clamp(16px,4vw,28px); }
.jtcg-account-inner .woocommerce{ display:grid !important; grid-template-columns:250px minmax(0,1fr) !important; gap:clamp(22px,4vw,42px); align-items:start; max-width:none; margin:0; padding:0; }
.jtcg-account-inner .woocommerce::before,
.jtcg-account-inner .woocommerce::after{ content:none !important; display:none !important; } /* kill WooCommerce clearfix that breaks the grid */
.jtcg-account-inner .woocommerce-MyAccount-navigation{ float:none !important; width:auto !important; margin:0 !important; }
.jtcg-account-inner .woocommerce-MyAccount-content{ float:none !important; width:auto !important; margin:0 !important; }
@media(max-width:820px){ .jtcg-account-inner .woocommerce{ grid-template-columns:1fr !important; } }
/* logged-out login/register inside the template */
.jtcg-account-inner .u-columns{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:720px){ .jtcg-account-inner .u-columns{ grid-template-columns:1fr; } }

/* hide empty express-checkout placeholders (no Apple/Google Pay configured; FPX/DuitNow only) */
.wp-block-woocommerce-cart-express-payment-block,
.wp-block-woocommerce-checkout-express-payment-block,
.wc-block-components-express-payment,
.wc-block-components-express-payment--cart,
.wc-block-components-express-payment--checkout,
.wc-block-components-express-payment-continue-rule{ display:none !important; }

/* tidy the block-cart totals sidebar as a dark card */
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper{ background:#0e121b; border:1px solid rgba(255,255,255,.09); border-radius:14px; }
.wc-block-cart__submit-button, .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button{
  background:#ff5c00 !important; color:#0a0a0a !important; border-radius:12px !important; font-family:"Space Grotesk",system-ui,sans-serif !important; font-weight:600 !important;
}
