/*
Theme Name: TCGXchange
Theme URI: https://tcgxchange.co.za/
Author: TCGXchange
Description: Premium, fast WooCommerce theme for TCGXchange.
Version: 1.56
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tcgxchange
*/
:root{--ink:#111216;--muted:#70727a;--line:#e7e8ec;--soft:#f5f6f8;--accent:#ff791e;--purple:#6b4cff;--green:#159b67;--max:1280px;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(calc(100% - 36px),var(--max));margin:auto}
.topbar{background:#101115;color:#fff;font-size:12px}.topbar .container{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:15px}.topbar strong{color:#ff7040}.topbar a:hover{color:#ff7040}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-main{min-height:78px;display:grid;grid-template-columns:210px minmax(280px,650px) auto;align-items:center;justify-content:space-between;gap:25px}.logo{font-size:28px;font-weight:950;letter-spacing:-1.8px}.logo .x{color:var(--accent)}.logo em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.header .search{display:flex;width:100%;background:#f4f5f7;border:1px solid #e1e2e6;border-radius:12px;overflow:hidden;transition:.2s}.header .search:focus-within{background:#fff;border-color:#b8bac2;box-shadow:0 0 0 4px rgba(255,90,31,.08)}.header .search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:13px 15px}.header .search button{border:0;background:#111216;color:#fff;padding:0 20px;font-weight:850;cursor:pointer;transition:.18s}.header .search button:hover{background:var(--accent)}
.actions{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:850}.action{display:flex;gap:7px;align-items:center;transition:.18s}.action:hover{color:var(--accent);transform:translateY(-1px)}.count{background:#111216;color:#fff;border-radius:99px;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;font-size:10px}
.nav{border-top:1px solid #f0f0f2}.nav .container{min-height:48px}.nav-list{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:27px;height:48px}.nav-list>li{height:48px;display:flex;align-items:center;position:static}.nav-list>li>a{font-size:13px;font-weight:850;display:flex;align-items:center;gap:6px;height:100%;position:relative}.nav-list>li>a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:0;background:var(--accent);transition:.22s}.nav-list>li:hover>a:after,.nav-list>li.current>a:after{right:0}.nav-list>li:hover>a{color:var(--accent)}
/* Direct category navigation + refined product-category dropdowns */
.nav-list{gap:22px;overflow:visible}
.nav-list>li{position:relative;white-space:nowrap}
.nav-list>li>a span{font-size:10px;color:#a4a5ab;transition:.16s}
.nav-list>li:hover>a span{color:var(--accent);transform:translateY(1px)}
.cat-dropdown{position:absolute;left:50%;top:100%;width:270px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0 0 14px 14px;box-shadow:0 18px 45px rgba(18,18,22,.13);opacity:0;visibility:hidden;transform:translate(-50%,7px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}
.nav-list>li:hover .cat-dropdown,.nav-list>li:focus-within .cat-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.cat-dropdown-inner{padding:16px 18px}
.cat-dropdown-inner>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f2;padding-bottom:11px;margin-bottom:6px}
.cat-dropdown strong{font-size:12px}
.cat-dropdown .cat-all{font-size:10px!important;color:var(--accent)!important;font-weight:900!important;padding:0!important}
.cat-dropdown ul{list-style:none;margin:0;padding:0}
.cat-dropdown li{margin:0}
.cat-dropdown li a{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:11px;font-weight:750;color:#4a4b52;transition:.16s}
.cat-dropdown li a:hover{color:var(--accent);padding-left:4px}
.cat-dropdown li a span{color:#c2c3c8;transition:.16s}
.cat-dropdown li a:hover span{color:var(--accent);transform:translateX(2px)}
.hero{padding:24px 0 20px}.hero-box{min-height:500px;border-radius:26px;overflow:hidden;position:relative;display:grid;grid-template-columns:1.04fr .96fr;background:linear-gradient(120deg,#15161a,#24252d 58%,#3d315f);color:#fff}.hero-copy{padding:60px;position:relative;z-index:2}.kicker{display:inline-flex;gap:9px;align-items:center;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:950;color:#d7d7dc}.kicker:before{content:"";width:27px;height:3px;background:var(--accent);border-radius:9px}.hero h1{font-size:clamp(45px,6vw,78px);line-height:.94;letter-spacing:-4.5px;margin:17px 0 22px;max-width:720px}.hero h1 span{color:#ff6b32}.hero p{max-width:590px;color:#d7d7dc;font-size:17px;line-height:1.65}.buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:29px}.btn{min-height:46px;padding:0 20px;border:1px solid rgba(255,255,255,.25);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.16)}.btn.orange{background:var(--accent);border-color:var(--accent);color:#fff}.btn.orange:hover{background:#ff713d}.btn.white{background:#fff;border-color:#fff;color:#111216}.btn.dark{background:#111216;border-color:#111216;color:#fff}
.hero-visual{position:relative;min-height:500px;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.15),transparent 27%),radial-gradient(circle at 70% 75%,rgba(255,90,31,.22),transparent 34%)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb.a{width:210px;height:210px;right:12%;top:9%;background:radial-gradient(circle at 35% 30%,#fff,transparent 5%),linear-gradient(145deg,#ff8e4e,#6b4cff);box-shadow:0 35px 100px rgba(0,0,0,.32)}.orb.b{width:160px;height:160px;right:38%;bottom:10%;background:linear-gradient(145deg,#ffe37d,#e94d4d)}.mock-card{position:absolute;width:205px;height:285px;border-radius:17px;border:3px solid rgba(255,255,255,.75);box-shadow:0 28px 75px rgba(0,0,0,.4);background:linear-gradient(145deg,#fff,#b7bac5);display:grid;place-items:center;font-size:55px;font-weight:950;color:#16171b}.mock-card:after{content:"";position:absolute;inset:15px;border:1px solid rgba(0,0,0,.18);border-radius:11px}.mock-card.one{right:12%;top:19%;transform:rotate(11deg);background:linear-gradient(145deg,#ffd45b,#ef4e42)}.mock-card.two{right:35%;top:35%;transform:rotate(-9deg);background:linear-gradient(145deg,#b5a8ff,#ff6d45)}.mock-card.three{right:1%;bottom:3%;transform:rotate(-3deg);background:linear-gradient(145deg,#fff,#d8dbe3)}
.trust{padding:14px 0 34px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden}.trust-item{display:flex;gap:12px;align-items:center;padding:19px 21px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-icon{width:40px;height:40px;border-radius:11px;background:#f2f3f5;display:grid;place-items:center;font-size:12px;font-weight:950}.trust-item b{font-size:12px;display:block}.trust-item span{font-size:10px;color:var(--muted)}
.section{padding:42px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head h2{font-size:31px;letter-spacing:-1.5px;margin:0}.section-head p{color:var(--muted);font-size:13px;margin:4px 0 0}.view{font-size:12px;font-weight:900;transition:.16s}.view:hover{color:var(--accent);transform:translateX(3px)}
.game-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.game{min-height:205px;border-radius:17px;position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:19px;isolation:isolate;transition:transform .2s,box-shadow .2s}.game:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.12)}.game:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.78));z-index:-1}.game:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-38px;top:-38px;background:rgba(255,255,255,.14);z-index:-1}.game.pokemon{background:linear-gradient(145deg,#f2c94c,#eb5145 60%,#42326d)}.game.magic{background:linear-gradient(145deg,#24262b,#95402d)}.game.ygo{background:linear-gradient(145deg,#172d55,#9a722c)}.game.sw{background:linear-gradient(145deg,#111820,#506681)}.game.db{background:linear-gradient(145deg,#ff922a,#c92f22)}.game b{font-size:16px;line-height:1.05}.game small{display:block;margin-top:5px;color:#e5e5e7;font-size:10px}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.products .product{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:.2s}.products .product:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(20,20,25,.09);border-color:#ddd}.product-media{aspect-ratio:1/1;background:#f7f7f8;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:contain;padding:13px;mix-blend-mode:multiply;transition:transform .3s}.products .product:hover .product-media img{transform:scale(1.035)}.badge{position:absolute;left:10px;top:10px;z-index:3;background:#111216;color:#fff;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.5px}.badge.orange{background:var(--accent)}.badge.green{background:var(--green)}.product-body{padding:14px}.product-game{font-size:9px;color:#8d8f96;text-transform:uppercase;letter-spacing:.8px;font-weight:950}.products .product h3{font-size:13px;line-height:1.35;margin:6px 0 10px;min-height:36px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.products .price{font-weight:950;font-size:16px}.products .stock{font-size:9px;color:var(--green);font-weight:850}.products .product .add{width:100%;margin-top:11px;border:0;background:#111216;color:#fff;min-height:38px;border-radius:9px;font-size:11px;font-weight:900;cursor:pointer;transition:.18s}.products .product .add:hover{background:var(--accent);transform:translateY(-1px)}
.promo{display:grid;grid-template-columns:1fr 1fr;border-radius:22px;overflow:hidden;background:#f1efff;min-height:285px}.promo-copy{padding:44px}.promo h2{font-size:38px;line-height:1;letter-spacing:-2px;margin:8px 0 13px}.promo p{color:#5e6068;max-width:510px}.promo-art{background:radial-gradient(circle at 50% 45%,#baa9ff,transparent 30%),linear-gradient(135deg,#e0dcff,#fff);display:grid;place-items:center;overflow:hidden}.promo-art span{font-size:clamp(25px,3.2vw,45px);font-weight:950;letter-spacing:-2px;transform:rotate(-7deg)}
.newsletter{background:#111216;color:#fff;padding:48px 0}.newsletter .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.newsletter h2{font-size:30px;letter-spacing:-1.2px;margin:0}.newsletter p{color:#bbbcc3;margin:5px 0 0;font-size:13px}.newsletter form{display:flex;width:min(470px,100%)}.newsletter input{flex:1;min-width:0;border:0;padding:14px 15px;border-radius:9px 0 0 9px}.newsletter button{border:0;background:var(--accent);color:#fff;padding:0 20px;border-radius:0 9px 9px 0;font-weight:900;cursor:pointer;transition:.18s}.newsletter button:hover{background:#ff7140}
.footer{border-top:1px solid var(--line);padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.footer h3{font-size:10px;text-transform:uppercase;letter-spacing:1.4px}.footer ul{list-style:none;padding:0;margin:0;color:#66686f;font-size:12px}.footer li{margin:8px 0}.footer li a{transition:.15s}.footer li a:hover{color:var(--accent);padding-left:3px}.footer p{color:#666;font-size:12px;max-width:350px}.footer-bottom{border-top:1px solid var(--line);margin-top:34px;padding-top:17px;color:#8a8b91;font-size:10px;display:flex;justify-content:space-between}
.woocommerce .site-main,.woocommerce-page .site-main{padding:34px 0}.woocommerce .page-title{font-size:40px;letter-spacing:-2px}.woocommerce .button,.woocommerce a.button{background:#111216;color:#fff;border-radius:9px;font-weight:850}.woocommerce .button:hover,.woocommerce a.button:hover{background:var(--accent)}.woocommerce-message,.woocommerce-info{border-top-color:var(--accent)}.woocommerce span.onsale{background:var(--accent)}.woocommerce ul.products li.product{border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0 0 14px}.woocommerce ul.products li.product a img{margin:0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:14px!important;margin-right:14px!important}.woocommerce ul.products li.product .button{margin-bottom:0!important}
@media(max-width:1100px){.nav-list{gap:15px}.nav-list>li>a{font-size:12px}.header-main{grid-template-columns:190px 1fr auto}.mega-inner{grid-template-columns:repeat(3,1fr)}.mega-feature{display:none}.game-grid{grid-template-columns:repeat(3,1fr)}.products{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.container{width:min(calc(100% - 24px),var(--max))}.topbar .secondary{display:none}.header{position:relative}.header-main{grid-template-columns:1fr auto;padding:12px 0;gap:12px}.header-main .search{grid-column:1/-1;grid-row:2}.nav{overflow:auto}.nav-list{gap:20px}.cat-dropdown{position:fixed;left:12px;right:12px;top:151px;width:auto;transform:translateY(7px);max-height:70vh;overflow:auto;border-radius:12px}.nav-list>li:hover .cat-dropdown,.nav-list>li:focus-within .cat-dropdown{transform:translateY(0)}.hero-box{grid-template-columns:1fr;min-height:590px;border-radius:20px}.hero-copy{padding:40px 26px}.hero-visual{position:absolute;inset:0;opacity:.48}.hero h1{letter-spacing:-3.3px}.game-grid{grid-template-columns:repeat(2,1fr)}.products{grid-template-columns:repeat(2,1fr);gap:10px}.promo{grid-template-columns:1fr}.promo-art{min-height:160px}.newsletter .container{display:block}.newsletter form{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin:5px 0}}
@media(max-width:460px){.logo{font-size:23px}.actions{gap:11px}.actions .label{display:none}.mega-inner{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.game-grid{gap:9px}.game{min-height:155px;padding:14px}.game b{font-size:13px}.products{grid-template-columns:1fr 1fr}.product-body{padding:10px}.product h3{font-size:12px}.footer-grid{grid-template-columns:1fr}}

/* v6 premium UX + SEO/page-experience refinements */
:focus-visible{outline:3px solid rgba(255,90,31,.35);outline-offset:3px}
::selection{background:#111216;color:#fff}
.skip-link{position:fixed;left:12px;top:-60px;background:#111216;color:#fff;padding:10px 14px;border-radius:8px;z-index:9999;font-weight:900;font-size:12px}.skip-link:focus{top:12px}
.header-main{transition:min-height .2s}.logo{transition:transform .18s}.logo:hover{transform:translateY(-1px)}
.breadcrumbs{font-size:11px;color:#85878e;padding:0}.breadcrumbs a{font-weight:800}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs .sep{padding:0 7px;color:#c0c1c5}
.woocommerce .woocommerce-breadcrumb{font-size:11px;color:#85878e}.woocommerce .woocommerce-breadcrumb a:hover{color:var(--accent)}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:20px 0 25px}.shop-toolbar .count{background:transparent;color:#777;height:auto;padding:0;font-size:11px}.shop-toolbar select{border:1px solid var(--line);border-radius:8px;padding:8px 28px 8px 10px;background:#fff;font-size:11px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding-bottom:15px;transition:.2s}.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(20,20,25,.09);border-color:#ddd}.woocommerce ul.products li.product a img{transition:transform .3s}.woocommerce ul.products li.product:hover a img{transform:scale(1.035)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px;line-height:1.35;min-height:35px}.woocommerce ul.products li.product .price{font-size:15px;font-weight:950;color:#111216}.woocommerce ul.products li.product .button{font-size:11px;width:calc(100% - 28px);text-align:center;padding:10px 12px;transition:.18s}.woocommerce ul.products li.product .button:hover{transform:translateY(-1px)}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:48px;align-items:start}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto;float:none;align-self:start}.woocommerce div.product div.images{border:1px solid #ded9e3;border-radius:18px;padding:18px;background:#fff;height:auto;min-height:0;box-shadow:none;overflow:hidden}.woocommerce div.product .product_title{font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-2px}.woocommerce div.product p.price{font-size:28px;font-weight:950;color:#111216}.woocommerce div.product form.cart .button{min-height:48px;padding:0 22px}.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#f5f6f8;border:0;border-radius:8px;margin:0 5px 0 0;padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:11px;font-weight:900;padding:10px 13px}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#111216}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.related.products h2,.upsells.products h2{font-size:28px;letter-spacing:-1px}.woocommerce .quantity .qty{min-height:45px;border:1px solid var(--line);border-radius:8px}
@media(max-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.woocommerce div.product{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:760px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.woocommerce div.product{display:block}.woocommerce div.product div.summary{margin-top:25px}.shop-toolbar{align-items:flex-start}.woocommerce .page-title{font-size:32px}}
@media(max-width:460px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px}.woocommerce ul.products li.product .button{width:calc(100% - 20px);margin-left:10px!important;margin-right:10px!important}.woocommerce div.product .product_title{font-size:31px}}

/* v7 navigation dropdown indicators */
.nav-list>li>a .dropdown-arrow{
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  opacity:.48;
  transition:transform .18s ease, opacity .18s ease, color .18s ease;
}
.nav-list>li:hover>a .dropdown-arrow,
.nav-list>li:focus-within>a .dropdown-arrow{
  color:var(--accent);
  opacity:1;
  transform:translateY(1px) rotate(225deg);
}
.nav-list>li>a{
  display:inline-flex;
  align-items:center;
}

/* v8: Shop All moved to the end of the primary navigation */
.nav-list>li.shop-all-link>a{
  color:#111216;
  font-weight:950;
}
.nav-list>li.shop-all-link>a:hover{
  color:var(--accent);
}


/* Final hero: reference-matched layout with live HTML copy and one artwork background layer. */
.hero{padding:14px 0 18px}
.hero .container{width:min(calc(100% - 16px),1280px)}
.hero-box{
  position:relative;
  display:block;
  width:100%;
  height:494px;
  min-height:494px;
  overflow:hidden;
  isolation:isolate;
  border-radius:22px;
  color:#fff;
  background:#080b12;
}
.hero-box .hero-art.hero-card-composition{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  pointer-events:none;
  background-image:url("assets/hero-cards/hero-card-composition.webp");
  background-repeat:no-repeat;
  background-position:calc(100% + 7px) center;
  background-size:auto 109%;
}
.hero-box .hero-art.hero-card-composition::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(8,11,18,1) 0%,
      rgba(8,11,18,.99) 24%,
      rgba(8,11,18,.91) 31%,
      rgba(8,11,18,.62) 38%,
      rgba(8,11,18,.16) 46%,
      rgba(8,11,18,0) 56%),
    linear-gradient(180deg,rgba(8,11,18,.08),transparent 25%,transparent 78%,rgba(8,11,18,.08));
}
.hero-box .hero-copy{
  position:relative;
  z-index:3;
  box-sizing:border-box;
  width:43%;
  height:100%;
  min-height:0;
  padding:68px 0 30px 38px;
}
.hero-box .hero-copy .kicker{
  margin:0;
  font-size:9px;
  letter-spacing:1.5px;
  line-height:1.2;
  color:#e0e0e4;
}
.hero-box .hero-copy .kicker:before{width:20px;height:2px}
.hero-box .hero-copy h1{
  max-width:360px;
  margin:17px 0 20px;
  color:#fff;
  font-size:clamp(46px,4vw,56px);
  line-height:.97;
  letter-spacing:-3.4px;
  font-weight:950;
}
.hero-box .hero-copy h1 span{color:#ff6408}
.hero-box .hero-copy p{
  max-width:340px;
  margin:0;
  color:#e0e1e5;
  font-size:14px;
  line-height:1.55;
}
.hero-box .hero-copy .buttons{
  margin-top:24px;
  gap:12px;
}
.hero-box .hero-copy .btn{
  min-height:38px;
  padding:0 16px;
  border-radius:7px;
  font-size:11px;
}
.hero-box .hero-copy .btn.orange{background:#ff791e;border-color:#ff791e}
.hero-box .hero-copy .btn.white{background:#fff;border-color:#fff;color:#111216}
.hero-box .hero-copy .btn:hover{transform:none;box-shadow:none}
.hero-box .hero-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  width:100%;
  max-width:365px;
  margin-top:30px;
}
.hero-box .hero-trust-item{gap:8px}
.hero-box .hero-trust-icon{
  flex:0 0 19px;
  width:19px;
  height:19px;
  border-radius:5px;
  font-size:10px;
}
.hero-box .hero-trust-item b{font-size:9px;margin-bottom:3px}
.hero-box .hero-trust-item small{font-size:8px;line-height:1.4;color:#c9cbd1}

@media(max-width:1050px){
  .hero-box .hero-copy{width:46%;padding-left:32px}
  .hero-box .hero-art.hero-card-composition{background-size:auto 116%;background-position:calc(100% + 30px) center}
  .hero-box .hero-copy h1{font-size:52px}
}
@media(max-width:800px){
  .hero-box{height:620px;min-height:620px}
  .hero-box .hero-copy{width:100%;height:auto;padding:42px 28px 0}
  .hero-box .hero-copy h1{max-width:370px;font-size:49px}
  .hero-box .hero-copy p{max-width:390px}
  .hero-box .hero-trust{max-width:420px}
  .hero-box .hero-art.hero-card-composition{
    top:185px;
    bottom:auto;
    height:435px;
    background-size:auto 108%;
    background-position:78% center;
  }
  .hero-box .hero-art.hero-card-composition::before{
    background:linear-gradient(180deg,#080b12 0%,rgba(8,11,18,.96) 11%,rgba(8,11,18,.25) 31%,rgba(8,11,18,0) 48%);
  }
}
@media(max-width:520px){
  .hero .container{width:min(calc(100% - 12px),1280px)}
  .hero-box{height:650px;min-height:650px;border-radius:18px}
  .hero-box .hero-copy{padding:34px 20px 0}
  .hero-box .hero-copy h1{font-size:42px;letter-spacing:-2.6px}
  .hero-box .hero-copy p{font-size:13px}
  .hero-box .hero-copy .buttons{margin-top:20px}
  .hero-box .hero-trust{gap:8px;margin-top:23px}
  .hero-box .hero-trust-icon{display:none}
  .hero-box .hero-trust-item b{font-size:8px}
  .hero-box .hero-trust-item small{font-size:7px}
  .hero-box .hero-art.hero-card-composition{top:235px;height:400px;background-size:auto 103%;background-position:78% center}
}


/* ==========================================================
   v24 homepage below-hero redesign.
   Header and hero rules above are intentionally untouched.
   ========================================================== */

.home-intro{
  padding:56px 0 50px;
  background:#fff;
  text-align:center;
}
.home-intro-inner{max-width:1050px}
.home-intro-eyebrow{
  margin:0 0 7px;
  color:#ff791e;
  text-transform:uppercase;
  letter-spacing:1.7px;
  font-size:10px;
  font-weight:900;
}
.home-intro h2,
.home-about-band h2,
.why-heading h2{
  margin:0;
  color:#17181c;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-1.2px;
}
.home-intro-lead{
  max-width:800px;
  margin:13px auto 7px;
  color:#45474d;
  font-size:14px;
}
.home-intro-inner>p:not(.home-intro-eyebrow):not(.home-intro-lead){
  max-width:850px;
  margin:7px auto;
  color:#686a71;
  font-size:12px;
}
.review-overview{
  margin-top:38px;
  display:grid;
  grid-template-columns:190px 1fr;
  align-items:stretch;
  gap:18px;
  text-align:left;
}
.review-summary{
  border-right:1px solid var(--line);
  padding:12px 22px 12px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.review-label{
  color:#ff791e;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.3px;
}
.review-summary strong{font-size:20px;line-height:1.05;margin:6px 0}
.review-summary p{font-size:11px;color:#777981;margin:0}
.review-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.review-card{
  background:#f7f7f8;
  border:1px solid #ececef;
  border-radius:8px;
  padding:15px 13px;
  min-height:118px;
}
.review-card span{color:#ff9e16;font-size:10px;letter-spacing:1px}
.review-card b{display:block;font-size:11px;margin:9px 0 5px}
.review-card p{margin:0;font-size:9px!important;line-height:1.45;color:#73757c!important}

.products-divider{
  min-height:48px;
  display:grid;
  place-items:center;
  background:linear-gradient(90deg,#ff6d23,#ff8a1e);
  color:#fff;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.5px;
}
.tcg-showcase{
  position:relative;
  overflow:hidden;
  padding:48px 0 43px;
  color:#fff;
  isolation:isolate;
}
.tcg-showcase:before,
.tcg-showcase:after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
}
.tcg-showcase:before{
  inset:0;
  opacity:.92;
}
.tcg-showcase:after{
  width:560px;
  height:560px;
  border-radius:50%;
  filter:blur(2px);
  opacity:.25;
}
.showcase-pokemon:before{
  background:
    radial-gradient(circle at 51% 50%,rgba(255,205,62,.48),transparent 25%),
    linear-gradient(120deg,#03182f,#092f59 47%,#051326);
}
.showcase-pokemon:after{background:#f9cb42;left:calc(50% - 280px);top:80px}
.showcase-magic:before{
  background:
    radial-gradient(circle at 55% 48%,rgba(43,190,255,.26),transparent 26%),
    linear-gradient(120deg,#061a24,#0e4861 48%,#13242d 78%,#351b13);
}
.showcase-magic:after{background:#34b7e7;left:-170px;top:20px}
.showcase-yugioh:before{
  background:
    radial-gradient(circle at 62% 42%,rgba(255,126,48,.32),transparent 27%),
    linear-gradient(120deg,#240405,#6a1213 47%,#2c0808);
}
.showcase-yugioh:after{background:#ff6736;right:-130px;bottom:-250px}
.showcase-starwars:before{
  background:
    radial-gradient(circle at 35% 45%,rgba(0,157,255,.37),transparent 24%),
    radial-gradient(circle at 78% 45%,rgba(255,55,25,.30),transparent 26%),
    linear-gradient(120deg,#03101a,#082c47 50%,#381313);
}
.showcase-starwars:after{background:#168ae5;left:-160px;top:20px}
.showcase-dragonball:before{
  background:
    radial-gradient(circle at 25% 50%,rgba(0,216,255,.28),transparent 25%),
    radial-gradient(circle at 78% 48%,rgba(255,115,23,.37),transparent 28%),
    linear-gradient(120deg,#08293a,#173d45 47%,#4e1d0b);
}
.showcase-dragonball:after{background:#ff7429;right:-160px;top:20px}

.tcg-showcase-title{
  text-align:center;
  margin-bottom:24px;
}
.tcg-showcase-title h2{
  display:inline-block;
  margin:0;
  font-size:28px;
  line-height:1;
  letter-spacing:-1.2px;
  font-weight:950;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.live-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  max-width:980px;
  margin:0 auto;
}
.live-product-card{
  background:#fff;
  color:#17181c;
  min-width:0;
  box-shadow:0 14px 32px rgba(0,0,0,.18);
  border-radius:3px;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.live-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(0,0,0,.25);
}
.live-product-image{
  display:block;
  background:#fff;
  aspect-ratio:1/1;
  padding:12px;
}
.live-product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .22s ease;
}
.live-product-card:hover .live-product-image img{transform:scale(1.03)}
.live-product-info{padding:11px 11px 12px}
.live-product-info h3{
  min-height:42px;
  margin:0 0 7px;
  font-size:11px;
  line-height:1.3;
  font-weight:650;
}
.live-product-info h3 a:hover{color:#ff791e}
.live-product-price{
  min-height:21px;
  margin-bottom:9px;
  font-size:12px;
  font-weight:900;
}
.live-product-button{
  display:block;
  padding:8px 10px;
  background:#211a32;
  color:#fff;
  text-align:center;
  font-size:9px;
  font-weight:850;
  border-radius:2px;
  transition:background .16s ease,transform .16s ease;
}
.live-product-button:hover{background:#ff791e;transform:translateY(-1px)}
.tcg-showcase-cta{text-align:center;margin-top:25px}
.tcg-showcase-cta a,
.home-orange-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 15px;
  border-radius:3px;
  background:#ff6b20;
  color:#fff;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.5px;
  transition:background .16s ease,transform .16s ease;
}
.tcg-showcase-cta a:hover,
.home-orange-button:hover{background:#e85211;transform:translateY(-1px)}

.home-about-band{background:#fff;padding:52px 0}
.home-about-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  gap:55px;
  max-width:1040px;
}
.home-about-band h2{font-size:31px;margin-bottom:14px}
.home-about-band p:not(.home-intro-eyebrow){
  color:#61636a;
  font-size:12px;
  line-height:1.75;
  margin:0 0 20px;
}
.home-about-card{
  min-height:190px;
  border:1px solid #dddfe4;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,90,31,.16),transparent 30%),
    linear-gradient(135deg,#f8f8f9,#fff);
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.home-about-card strong{font-size:21px;line-height:1.15}
.home-about-card span{font-size:11px;color:#797b82;margin-top:8px}

.why-section{background:#f4f4f5;padding:52px 0 58px}
.why-heading{text-align:center;margin-bottom:28px}
.why-heading h2{font-size:27px}
.why-heading h2 span{color:#ff791e}
.why-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:1040px;
  margin:auto;
}
.why-grid article{
  min-height:132px;
  padding:18px;
  background:#fff;
  border:1px solid #e3e4e7;
  border-radius:5px;
  box-shadow:0 5px 16px rgba(20,20,25,.035);
}
.why-grid i{
  display:block;
  color:#ff791e;
  font-style:normal;
  font-size:18px;
  font-weight:900;
  margin-bottom:9px;
}
.why-grid h3{font-size:11px;margin:0 0 7px}
.why-grid p{font-size:9px;line-height:1.55;color:#777981;margin:0}

@media(max-width:950px){
  .review-overview{grid-template-columns:1fr}
  .review-summary{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}
  .review-cards{grid-template-columns:repeat(2,1fr)}
  .live-product-grid{grid-template-columns:repeat(2,1fr);max-width:650px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .home-intro{padding:42px 0}
  .home-intro h2,.home-about-band h2{font-size:26px}
  .tcg-showcase{padding:40px 0}
  .tcg-showcase-title h2{font-size:24px}
  .home-about-grid{grid-template-columns:1fr;gap:25px}
}
@media(max-width:480px){
  .review-cards{grid-template-columns:1fr}
  .live-product-grid{gap:10px}
  .live-product-info h3{font-size:10px;min-height:39px}
  .live-product-price{font-size:11px}
  .why-grid{grid-template-columns:1fr 1fr;gap:9px}
  .why-grid article{padding:14px;min-height:125px}
}


/* v25: larger homepage typography below the hero only */
.home-intro-eyebrow{
  font-size:12px;
}
.home-intro h2,
.home-about-band h2,
.why-heading h2{
  font-size:34px;
}
.home-intro-lead{
  font-size:17px;
  line-height:1.65;
}
.home-intro-inner>p:not(.home-intro-eyebrow):not(.home-intro-lead){
  font-size:15px;
  line-height:1.7;
}
.review-label{font-size:12px}
.review-summary strong{font-size:23px}
.review-summary p{font-size:14px}
.review-card span{font-size:12px}
.review-card b{font-size:14px}
.review-card p{
  font-size:12px!important;
  line-height:1.55;
}
.products-divider{font-size:22px}
.tcg-showcase-title h2{font-size:32px}
.live-product-info h3{
  font-size:14px;
  line-height:1.4;
  min-height:58px;
}
.live-product-price{font-size:15px}
.live-product-button{
  font-size:12px;
  padding:10px 12px;
}
.tcg-showcase-cta a,
.home-orange-button{
  min-height:39px;
  padding:0 18px;
  font-size:11px;
}
.home-about-band h2{font-size:35px}
.home-about-band p:not(.home-intro-eyebrow){
  font-size:15px;
  line-height:1.75;
}
.home-about-card strong{font-size:24px}
.home-about-card span{font-size:14px}
.why-heading h2{font-size:32px}
.why-grid h3{font-size:14px}
.why-grid p{
  font-size:12px;
  line-height:1.55;
}
.why-grid i{font-size:21px}

@media(max-width:700px){
  .home-intro h2,
  .home-about-band h2,
  .why-heading h2{font-size:29px}
  .home-intro-lead{font-size:16px}
  .home-intro-inner>p:not(.home-intro-eyebrow):not(.home-intro-lead){font-size:14px}
  .tcg-showcase-title h2{font-size:28px}
}
@media(max-width:480px){
  .live-product-info h3{
    font-size:12px;
    min-height:50px;
  }
  .live-product-price{font-size:13px}
  .live-product-button{font-size:11px}
  .why-grid h3{font-size:13px}
  .why-grid p{font-size:11px}
}


/* v26: cleaner white product-category sections + modern Our Products heading */
.products-divider{
  min-height:0;
  padding:54px 0 20px;
  background:#fff;
  color:#17181c;
  font-size:0;
  font-weight:inherit;
  letter-spacing:normal;
}
.products-divider span{
  position:relative;
  display:inline-block;
  font-size:34px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-1.5px;
  color:#17181c;
}
.products-divider span:before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-12px;
  width:42px;
  height:3px;
  border-radius:999px;
  background:#ff791e;
  transform:translateX(-50%);
}
.tcg-showcase{
  padding:44px 0 54px;
  background:#fff !important;
  color:#17181c;
  border-top:1px solid #f1f2f4;
}
.tcg-showcase:before,
.tcg-showcase:after{
  display:none !important;
}
.tcg-showcase-title{margin-bottom:26px}
.tcg-showcase-title h2{
  position:relative;
  color:#17181c;
  text-shadow:none;
  font-size:31px;
  letter-spacing:-1.2px;
}
.tcg-showcase-title h2:after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin:10px auto 0;
  border-radius:999px;
  background:#ff791e;
}
.live-product-card{
  border:1px solid #e7e8ec;
  box-shadow:0 8px 24px rgba(20,20,25,.06);
  border-radius:12px;
}
.live-product-card:hover{box-shadow:0 14px 32px rgba(20,20,25,.10)}
.live-product-image{background:#f8f8f9}
.live-product-button{
  border-radius:8px;
  background:#111216;
}
.live-product-button:hover{background:#ff791e}
.tcg-showcase-cta a{
  min-height:40px;
  padding:0 20px;
  border-radius:9px;
  background:#111216;
  color:#fff;
  text-transform:none;
  letter-spacing:0;
  font-size:12px;
}
.tcg-showcase-cta a:hover{background:#ff791e}
@media(max-width:700px){
  .products-divider{padding:44px 0 16px}
  .products-divider span{font-size:30px}
  .tcg-showcase{padding:38px 0 46px}
  .tcg-showcase-title h2{font-size:27px}
}


/* v27: five-up homepage product carousels */
.tcg-product-carousel{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:0 38px;
}
.carousel-viewport{
  overflow:hidden;
  width:100%;
}
.live-product-grid.carousel-track{
  display:flex;
  grid-template-columns:none;
  gap:16px;
  max-width:none;
  margin:0;
  transform:translate3d(0,0,0);
  transition:transform .32s cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.carousel-product{
  flex:0 0 calc((100% - 64px)/5);
  min-width:0;
}
.carousel-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:38px;
  height:52px;
  margin-top:-26px;
  padding:0;
  border:1px solid #dedfe3;
  border-radius:10px;
  background:#fff;
  color:#111216;
  box-shadow:0 8px 24px rgba(20,20,25,.10);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,opacity .16s ease;
}
.carousel-arrow span{
  display:block;
  font-size:31px;
  font-weight:400;
  line-height:1;
  transform:translateY(-2px);
}
.carousel-arrow-prev{left:0}
.carousel-arrow-next{right:0}
.carousel-arrow:hover:not(:disabled){
  background:#111216;
  border-color:#111216;
  color:#fff;
  transform:translateY(-1px);
}
.carousel-arrow:disabled{
  opacity:.28;
  cursor:default;
  box-shadow:none;
}
.carousel-no-scroll .carousel-arrow{display:none}

/* Refine homepage cards for the denser five-product layout */
.carousel-product.live-product-card{
  display:flex;
  flex-direction:column;
  border:1px solid #e5e6ea;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(20,20,25,.055);
}
.carousel-product .live-product-image{
  aspect-ratio:1/1;
  padding:14px;
  background:#f8f8f9;
  border-bottom:1px solid #efeff1;
}
.carousel-product .live-product-info{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:14px;
}
.carousel-product .live-product-info h3{
  min-height:58px;
  margin:0 0 10px;
  font-size:13px;
  line-height:1.42;
  font-weight:750;
}
.carousel-product .live-product-price{
  margin-top:auto;
  margin-bottom:12px;
  font-size:15px;
  font-weight:950;
}
.carousel-product .live-product-button{
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  font-size:11px;
  font-weight:900;
}

@media(max-width:1080px){
  .carousel-product{flex-basis:calc((100% - 48px)/4)}
}
@media(max-width:820px){
  .tcg-product-carousel{padding:0 34px}
  .carousel-product{flex-basis:calc((100% - 32px)/3)}
  .carousel-arrow{width:34px}
}
@media(max-width:560px){
  .tcg-product-carousel{padding:0 29px}
  .live-product-grid.carousel-track{gap:10px}
  .carousel-product{flex-basis:calc((100% - 10px)/2)}
  .carousel-arrow{
    width:30px;
    height:46px;
    margin-top:-23px;
    border-radius:8px;
  }
  .carousel-arrow span{font-size:27px}
  .carousel-product .live-product-info{padding:11px}
  .carousel-product .live-product-info h3{
    min-height:51px;
    font-size:11px;
  }
  .carousel-product .live-product-price{font-size:13px}
  .carousel-product .live-product-button{font-size:10px}
}


/* v28: static product cards, white image panels, more carousel arrow spacing */

/* Remove hover movement / zoom / shadow changes from homepage product cards */
.live-product-card,
.carousel-product.live-product-card{
  transition:none !important;
}
.live-product-card:hover,
.carousel-product.live-product-card:hover{
  transform:none !important;
  box-shadow:0 7px 22px rgba(20,20,25,.055) !important;
}
.live-product-image img,
.carousel-product .live-product-image img{
  transition:none !important;
  transform:none !important;
}
.live-product-card:hover .live-product-image img,
.carousel-product:hover .live-product-image img{
  transform:none !important;
}
.live-product-info h3 a{
  transition:none !important;
}
.live-product-info h3 a:hover{
  color:inherit !important;
}
.live-product-button{
  transition:none !important;
}
.live-product-button:hover{
  transform:none !important;
}

/* White image area inside every homepage product card */
.live-product-image,
.carousel-product .live-product-image{
  background:#fff !important;
}

/* Give carousel arrows more breathing room from product cards */
.tcg-product-carousel{
  padding-left:54px;
  padding-right:54px;
}
.carousel-arrow-prev{left:4px}
.carousel-arrow-next{right:4px}

@media(max-width:820px){
  .tcg-product-carousel{
    padding-left:46px;
    padding-right:46px;
  }
}
@media(max-width:560px){
  .tcg-product-carousel{
    padding-left:40px;
    padding-right:40px;
  }
}


/* v29: normalize product image sizing across homepage carousels,
   WooCommerce shop/category archives, and single-product galleries */

/* Homepage carousel/product cards */
.live-product-image,
.carousel-product .live-product-image{
  height:300px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:14px;
  background:#fff !important;
}
.live-product-image img,
.carousel-product .live-product-image img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

/* WooCommerce shop + category product loops */
.woocommerce ul.products li.product a img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:block;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
  height:300px !important;
  width:100% !important;
  object-fit:contain !important;
  padding:14px;
  background:#fff;
}

/* Single product gallery */
.woocommerce-product-gallery__image{
  height:300px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
}
.woocommerce-product-gallery__image a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.woocommerce-product-gallery__image img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

/* Keep thumbnails naturally sized while still contained */
.woocommerce div.product div.images .flex-control-thumbs li img{
  width:100% !important;
  height:90px !important;
  object-fit:contain !important;
  background:#fff;
}

/* Responsive product image heights */
@media(max-width:900px){
  .live-product-image,
  .carousel-product .live-product-image,
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img,
  .woocommerce-product-gallery__image{
    height:260px !important;
  }
}
@media(max-width:560px){
  .live-product-image,
  .carousel-product .live-product-image,
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
    height:220px !important;
  }
  .woocommerce-product-gallery__image{
    height:260px !important;
  }
}


/* v30: preserve the COMPLETE product image — no source cropping */
.live-product-image,
.carousel-product .live-product-image{
  height:300px !important;
  padding:18px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.live-product-image img,
.carousel-product .live-product-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* WooCommerce shop/category cards */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
  display:block !important;
  width:100% !important;
  height:300px !important;
  max-width:100% !important;
  max-height:none !important;
  padding:18px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}

/* Single-product gallery keeps the full aspect ratio inside a consistent stage. */
.woocommerce-product-gallery__image img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media(max-width:900px){
  .live-product-image,
  .carousel-product .live-product-image,
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
    height:260px !important;
  }
}
@media(max-width:560px){
  .live-product-image,
  .carousel-product .live-product-image,
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
    height:220px !important;
    padding:12px !important;
  }
}


/* ==========================================================
   v31: four-product carousels + consistent 1280px content width
   ========================================================== */

/* Keep the whole site on the same maximum content width as header/hero */
.container{
  width:min(calc(100% - 36px),1280px);
  max-width:1280px;
}

/* Remove narrower section-specific caps introduced on the homepage */
.home-intro-inner,
.home-about-grid,
.why-grid{
  max-width:1280px !important;
  width:100%;
}

.review-overview{
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}

.live-product-grid{
  max-width:none;
}

.tcg-showcase .container,
.home-intro .container,
.home-about-band .container,
.why-section .container,
.newsletter .container{
  max-width:1280px;
}

/* Four products visible on desktop so each card and image can be larger */
.tcg-product-carousel{
  max-width:1280px;
  width:100%;
  padding-left:58px;
  padding-right:58px;
}

.live-product-grid.carousel-track{
  gap:18px;
}

.carousel-product{
  flex:0 0 calc((100% - 54px)/4);
}

/* Larger image stage to take advantage of the wider cards */
.carousel-product .live-product-image{
  height:340px !important;
}

/* Keep arrows clearly outside the product-card edges */
.carousel-arrow-prev{left:6px}
.carousel-arrow-next{right:6px}

/* Slightly larger product-card text now that cards are wider */
.carousel-product .live-product-info{
  padding:15px;
}
.carousel-product .live-product-info h3{
  font-size:14px;
  line-height:1.4;
  min-height:58px;
}
.carousel-product .live-product-price{
  font-size:16px;
}

/* Tablet */
@media(max-width:900px){
  .carousel-product{
    flex-basis:calc((100% - 36px)/3);
  }
  .carousel-product .live-product-image{
    height:300px !important;
  }
}

/* Mobile */
@media(max-width:560px){
  .container{
    width:min(calc(100% - 24px),1280px);
  }
  .tcg-product-carousel{
    padding-left:40px;
    padding-right:40px;
  }
  .live-product-grid.carousel-track{
    gap:10px;
  }
  .carousel-product{
    flex-basis:calc((100% - 10px)/2);
  }
  .carousel-product .live-product-image{
    height:230px !important;
  }
}


/* v32: high-resolution carousel images
   Keep only the image STAGE height fixed; never force the source image itself to 300x300. */
.live-product-image,
.carousel-product .live-product-image{
  height:340px !important;
  min-height:340px;
  width:100%;
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#fff !important;
}
.live-product-image img,
.carousel-product .live-product-image img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  image-rendering:auto;
}

/* Let the browser choose an appropriately large srcset candidate. */
.carousel-product .live-product-image img{
  flex:0 1 auto;
}

@media(max-width:900px){
  .live-product-image,
  .carousel-product .live-product-image{
    height:300px !important;
    min-height:300px;
  }
}
@media(max-width:560px){
  .live-product-image,
  .carousel-product .live-product-image{
    height:230px !important;
    min-height:230px;
  }
}


/* v33: carousel uses the exact WooCommerce catalog thumbnail source.
   No srcset is emitted for these homepage cards, preventing the browser
   from selecting a smaller 300px candidate. */
.carousel-product .live-product-image img{
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}


/* v34: carousel artwork uses the original/full attachment source for maximum clarity */
.carousel-product .live-product-image img{
  image-rendering:auto !important;
  filter:none !important;
  transform:none !important;
  backface-visibility:hidden;
}


/* ==========================================================
   v35: refined Our Products intro + category presentation
   ========================================================== */
.products-section-intro{
  position:relative;
  margin:0 0 44px;
  padding:0 0 30px;
  border-bottom:1px solid #e9e9e9;
}
.products-section-intro:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:76px;
  height:3px;
  border-radius:99px;
  background:#ff791e;
}
.section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:#ff791e;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15em;
}
.section-eyebrow:before{
  content:"";
  width:26px;
  height:2px;
  background:#ff791e;
}
.products-intro-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
}
.products-intro-copy{
  max-width:760px;
}
.products-intro-copy h2{
  margin:0 0 12px;
  color:#111216;
  font-size:clamp(38px,4vw,56px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:850;
}
.products-intro-copy h2 span{
  color:#ff791e;
}
.products-intro-copy p{
  max-width:720px;
  margin:0;
  color:#64676d;
  font-size:16px;
  line-height:1.7;
}
.products-view-all{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 18px;
  border:1px solid #dcdde0;
  border-radius:10px;
  color:#17181b;
  background:#fff;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.products-view-all:hover{
  border-color:#ff791e;
  color:#ff791e;
}

/* Give every TCG category its own clear editorial header without boxing the section in. */
.tcg-category-section{
  position:relative;
  padding-top:42px;
  padding-bottom:56px;
  background:#fff;
}
.tcg-category-section + .tcg-category-section{
  border-top:1px solid #ededee;
}
.tcg-category-section .category-heading,
.tcg-category-section .product-section-heading,
.tcg-category-section .section-heading{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 0 28px;
  padding:0 0 15px;
  text-align:left;
}
.tcg-category-section .category-heading h2,
.tcg-category-section .product-section-heading h2,
.tcg-category-section .section-heading h2{
  margin:0;
  color:#17181b;
  font-size:clamp(25px,2.5vw,34px);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:850;
}
.tcg-category-section .category-heading:after,
.tcg-category-section .product-section-heading:after,
.tcg-category-section .section-heading:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:52px;
  height:3px;
  border-radius:99px;
  background:#ff791e;
}

/* Also improve the existing homepage category title pattern if it isn't wrapped
   with one of the classes above. */
.tcg-showcase .category-title{
  position:relative;
  margin:0 0 28px;
  padding-bottom:15px;
  color:#17181b;
  font-size:clamp(25px,2.5vw,34px);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:850;
  text-align:left;
}
.tcg-showcase .category-title:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:52px;
  height:3px;
  border-radius:99px;
  background:#ff791e;
}

@media(max-width:760px){
  .products-section-intro{
    margin-bottom:28px;
    padding-bottom:24px;
  }
  .products-intro-row{
    display:block;
  }
  .products-intro-copy p{
    font-size:15px;
  }
  .products-view-all{
    margin-top:20px;
  }
  .tcg-category-section{
    padding-top:32px;
    padding-bottom:42px;
  }
}


/* v35 actual homepage category showcase markup */
.products-intro-section{
  padding:72px 0 0;
  background:#fff;
}
.showcase-band{
  padding-top:36px;
  padding-bottom:58px;
  background:#fff !important;
}
.showcase-band + .showcase-band{
  border-top:1px solid #ededee;
}
.showcase-head{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:30px;
  padding-bottom:16px;
  text-align:left !important;
}
.showcase-head h2{
  margin:0;
  color:#17181b;
  font-size:clamp(27px,2.6vw,36px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:850;
}
.showcase-head:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:54px;
  height:3px;
  border-radius:99px;
  background:#ff791e;
}
.showcase-head a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#686b70;
  font-size:13px;
  font-weight:750;
  text-decoration:none;
}
.showcase-head a:hover{color:#ff791e}

@media(max-width:760px){
  .products-intro-section{padding-top:52px}
  .showcase-band{padding-top:28px;padding-bottom:44px}
}


/* ==========================================================
   v36: centered Our Products intro, no Browse All CTA
   ========================================================== */
.products-section-intro{
  text-align:center;
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
  padding-bottom:30px;
}
.products-section-intro:after{
  left:50%;
  transform:translateX(-50%);
}
.products-section-intro .section-eyebrow{
  justify-content:center;
}
.products-section-intro .section-eyebrow:before{
  display:none;
}
.products-intro-row{
  display:block !important;
}
.products-intro-copy{
  max-width:820px;
  margin:0 auto;
}
.products-intro-copy h2{
  text-align:center;
  margin-bottom:14px;
}
.products-intro-copy p{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  font-size:16px;
  line-height:1.75;
}
.products-view-all{
  display:none !important;
}

@media(max-width:760px){
  .products-section-intro{
    max-width:100%;
    padding-left:4px;
    padding-right:4px;
  }
  .products-intro-copy p{
    font-size:15px;
    line-height:1.7;
  }
}


/* v37: remove divider lines between Our Products intro and Pokémon */
.products-section-intro{
  border-bottom:0 !important;
}
.products-section-intro:after{
  display:none !important;
}
.products-intro-section{
  border-bottom:0 !important;
}
.tcg-showcase:first-of-type,
.showcase-pokemon{
  border-top:0 !important;
}


/* v38: homepage opening copy links */
.home-intro a{
  color:#17181b;
  text-decoration:underline;
  text-decoration-color:#ff791e;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.home-intro a:hover{
  color:#ff791e;
}


/* ==========================================================
   v39: premium homepage intro + shared eyebrow pills
   ========================================================== */

/* Shared pill treatment for homepage eyebrow labels */
.home-intro-eyebrow,
.products-section-intro .section-eyebrow{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:18px;
  padding:8px 13px 7px;
  border:1px solid rgba(246,91,5,.18);
  border-radius:999px;
  background:#fff5ef;
  color:#e85300 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
  box-shadow:0 1px 2px rgba(17,18,22,.03);
}
.home-intro-eyebrow:before,
.products-section-intro .section-eyebrow:before{
  display:none !important;
}

/* Opening homepage intro */
.home-intro{
  position:relative;
  padding:78px 0 82px;
  background:
    radial-gradient(circle at 50% 0%,rgba(246,91,5,.055),transparent 34%),
    #fff;
}
.home-intro-inner{
  max-width:1280px !important;
  text-align:center;
}
.home-intro-inner > .home-intro-eyebrow{
  margin-bottom:18px;
}
.home-intro-inner > h2{
  max-width:900px;
  margin:0 auto 24px;
  color:#111216;
  font-size:clamp(38px,4.1vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850;
}
.home-intro-inner > h2:after{
  content:"";
  display:block;
  width:48px;
  height:4px;
  margin:20px auto 0;
  border-radius:99px;
  background:#ff791e;
}
.home-intro-inner > p:not(.home-intro-eyebrow):not(.home-intro-shipping){
  max-width:920px;
  margin:0 auto 14px;
  color:#62666d;
  font-size:16px;
  line-height:1.75;
  font-weight:450;
}
.home-intro-inner > p:first-of-type{
  max-width:100%;
}
.home-intro-inner > p strong{
  color:#33363b;
  font-weight:750;
}
.home-intro a{
  color:#17181b;
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:#ff791e;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.home-intro a:hover{
  color:#ff791e;
}

/* Turn the location/shipping sentence into a deliberate trust strip */
.home-intro-shipping{
  display:inline-grid;
  grid-template-columns:32px auto;
  grid-template-areas:
    "mark title"
    "mark copy";
  column-gap:12px;
  row-gap:2px;
  align-items:center;
  max-width:760px;
  margin:16px auto 0 !important;
  padding:14px 20px;
  border:1px solid #e8e8ea;
  border-radius:14px;
  background:#fafafa;
  text-align:left;
}
.home-intro-shipping .shipping-mark{
  grid-area:mark;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff0e7;
  color:#ff791e;
  font-size:15px;
  font-weight:900;
}
.home-intro-shipping strong{
  grid-area:title;
  color:#17181b !important;
  font-size:14px;
  line-height:1.3;
}
.home-intro-shipping > span:last-child{
  grid-area:copy;
  color:#686b70;
  font-size:13px;
  line-height:1.45;
}

/* Give the review area breathing room after the upgraded intro copy */
.home-intro .review-overview{
  margin-top:54px;
}

/* Match the Our Products pill to the upgraded intro */
.products-section-intro{
  padding-top:2px;
}
.products-section-intro .section-eyebrow{
  margin-bottom:18px;
}

@media(max-width:760px){
  .home-intro{
    padding:58px 0 62px;
  }
  .home-intro-inner > h2{
    font-size:clamp(34px,10vw,46px);
    margin-bottom:20px;
  }
  .home-intro-inner > p:not(.home-intro-eyebrow):not(.home-intro-shipping){
    font-size:15px;
    line-height:1.7;
  }
  .home-intro-shipping{
    display:grid;
    width:100%;
    padding:14px 15px;
  }
  .home-intro .review-overview{
    margin-top:42px;
  }
}


/* ==========================================================
   v40: prevent orphaned words in homepage headings and copy
   ========================================================== */

/* Modern browsers: balance headings and pretty-wrap body copy so the
   final line does not end up with a single orphaned word. */
.home-intro-inner > h2,
.products-intro-copy h2,
.tcg-showcase-title h2,
.why-heading h2,
.home-about-grid h2,
.review-summary strong{
  text-wrap:balance;
}

.home-intro-inner > p,
.products-intro-copy p,
.home-about-grid p,
.why-section p,
.review-summary p,
.review-card p{
  text-wrap:pretty;
}

/* Slightly constrain key copy blocks so balanced wrapping remains intentional. */
.home-intro-inner > h2{
  max-width:940px;
}
.home-intro-inner > p:not(.home-intro-eyebrow):not(.home-intro-shipping){
  max-width:900px;
}
.products-intro-copy{
  max-width:820px;
}
.products-intro-copy p{
  max-width:740px;
}

/* Keep short linked game names and important phrases together where practical. */
.home-intro-inner a,
.home-intro-shipping strong{
  white-space:nowrap;
}

/* On narrow screens allow links to wrap normally rather than overflow. */
@media(max-width:560px){
  .home-intro-inner a{
    white-space:normal;
  }
}


/* ==========================================================
   v41: redesigned Why Choose TCGXchange section
   ========================================================== */
.why-section{
  padding:82px 0 88px;
  background:#f7f7f8;
  border-top:1px solid #efeff0;
}
.why-heading{
  max-width:820px;
  margin:0 auto 42px;
  text-align:center;
}
.why-heading .home-intro-eyebrow{
  margin-bottom:18px;
}
.why-heading h2{
  margin:0;
  color:#111216;
  font-size:clamp(38px,4vw,54px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850;
  text-wrap:balance;
}
.why-heading h2 span{
  color:#ff791e;
}
.why-supporting{
  max-width:690px;
  margin:16px auto 0;
  color:#676a70;
  font-size:15px;
  line-height:1.7;
  text-wrap:pretty;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  max-width:1280px !important;
  margin:0 auto;
}
.why-grid article{
  position:relative;
  min-height:244px;
  padding:24px 22px 22px;
  border:1px solid #e3e4e7;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 26px rgba(17,18,22,.035);
  overflow:hidden;
}
.why-grid article:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#ff791e 0 34%,transparent 34%);
}
.why-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:20px;
  border:1px solid #ffd9c2;
  border-radius:13px;
  background:#fff5ef;
  color:#ff791e;
}
.why-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.why-grid article:nth-child(2) .why-icon svg{
  fill:currentColor;
  stroke:none;
}
.why-kicker{
  display:block;
  margin-bottom:7px;
  color:#a1a4aa;
  font-size:10px;
  line-height:1;
  font-weight:850;
  letter-spacing:.13em;
}
.why-grid h3{
  margin:0 0 10px;
  color:#17181b;
  font-size:17px;
  line-height:1.25;
  letter-spacing:-.015em;
  font-weight:800;
  text-wrap:balance;
}
.why-grid p{
  margin:0;
  color:#6b6e74;
  font-size:13px;
  line-height:1.62;
  text-wrap:pretty;
}

/* Subtle hover polish without moving the cards */
.why-grid article:hover{
  border-color:#f2c9b2;
  box-shadow:0 10px 30px rgba(17,18,22,.055);
}
.why-grid article:hover .why-icon{
  border-color:#ffc8a7;
  background:#fff0e6;
}

@media(max-width:1050px){
  .why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .why-section{
    padding:62px 0 66px;
  }
  .why-heading{
    margin-bottom:30px;
  }
  .why-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .why-grid article{
    min-height:0;
    padding:21px 20px;
  }
}


/* v42: full-width orange accent across every Why Choose card */
.why-grid article:before{
  width:100% !important;
  height:3px;
  background:#ff791e !important;
  border-radius:16px 16px 0 0;
}


/* ==========================================================
   v43: WordPress Custom Logo support
   ========================================================== */
.site-branding{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.site-branding .custom-logo-link{
  display:flex;
  align-items:center;
  line-height:0;
}
.site-branding .custom-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:230px;
  max-height:58px;
  object-fit:contain;
}
.site-branding .text-logo{
  display:inline-flex;
  align-items:center;
  color:#111216;
  font-size:25px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  text-decoration:none;
}
.site-branding .text-logo span{
  color:#ff791e;
}

@media(max-width:760px){
  .site-branding .custom-logo{
    max-width:175px;
    max-height:48px;
  }
}


/* ==========================================================
   v44 footer custom logo support
   ========================================================== */
.footer-branding{display:flex;align-items:center;margin-bottom:16px}
.footer-branding .custom-logo-link{display:flex;align-items:center;line-height:0}
.footer-branding .custom-logo{display:block;width:auto;height:auto;max-width:220px;max-height:64px;object-fit:contain}
.footer-text-logo{display:inline-flex;align-items:center;color:#fff;font-size:27px;line-height:1;font-weight:900;letter-spacing:-.04em;text-decoration:none}
.footer-text-logo .x{color:#ff791e}.footer-text-logo em{color:#fff;font-style:normal}

/* ==========================================================
   v45 homepage merchandising and brand rhythm
   Brand: orange #ff791e / deep purple #211a32
   Header and hero layout intentionally unchanged.
   ========================================================== */
:root{--tcg-orange:#ff791e;--tcg-purple:#211a32;--tcg-purple-soft:#f7f5fa;--tcg-ink:#15131b}

/* Consistent pill language */
.brand-pill,
.home-intro-eyebrow,
.products-section-intro .section-eyebrow{
  display:inline-flex!important;align-items:center;justify-content:center;width:auto;
  padding:8px 13px 7px;border:1px solid rgba(255,121,30,.25);border-radius:999px;
  background:#fff5ee;color:var(--tcg-orange)!important;font-size:11px!important;line-height:1!important;
  font-weight:850!important;letter-spacing:.14em!important;text-transform:uppercase;text-wrap:balance
}
.dark-pill{background:rgba(255,121,30,.12);border-color:rgba(255,121,30,.32);color:#ff9a58!important}

/* Category discovery */
.category-discovery-section{padding:76px 0 82px;background:var(--tcg-purple-soft);border-top:1px solid #efebf4;border-bottom:1px solid #efebf4}
.section-heading-split{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:34px}
.section-heading-split>div{max-width:760px}.section-heading-split .brand-pill{margin-bottom:15px}
.section-heading-split h2{margin:0;color:var(--tcg-purple);font-size:clamp(36px,4vw,52px);line-height:1.02;letter-spacing:-.045em;font-weight:850;text-wrap:balance}
.section-heading-split h2 span{color:var(--tcg-orange)}
.section-heading-split>p{max-width:390px;margin:0 0 4px;color:#6a6673;font-size:15px;line-height:1.65;text-align:right;text-wrap:pretty}
.category-discovery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.category-discovery-grid a{position:relative;display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:var(--tcg-purple);color:#fff;text-decoration:none;overflow:hidden;box-shadow:0 10px 26px rgba(33,26,50,.10)}
.category-discovery-grid a:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--tcg-orange)}
.category-discovery-grid a>span{position:absolute;top:22px;left:22px;display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:1px solid rgba(255,121,30,.35);border-radius:12px;background:rgba(255,121,30,.11);color:#ffab72;font-size:11px;font-weight:900;letter-spacing:.08em}
.category-discovery-grid strong{font-size:17px;line-height:1.25;text-wrap:balance}.category-discovery-grid small{margin-top:7px;color:#bcb7c8;font-size:12px}
.category-discovery-grid a:hover{border-color:rgba(255,121,30,.45)}.category-discovery-grid a:hover small{color:#fff}

/* Dark new-arrivals feature */
.new-arrivals-section{padding:82px 0 86px;background:var(--tcg-purple);color:#fff;overflow:hidden}
.dark-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.dark-section-heading>div{max-width:760px}.dark-section-heading .brand-pill{margin-bottom:15px}
.dark-section-heading h2{margin:0;color:#fff;font-size:clamp(40px,4.4vw,58px);line-height:1;letter-spacing:-.045em;font-weight:850;text-wrap:balance}.dark-section-heading h2 span{color:var(--tcg-orange)}
.dark-section-heading p{max-width:650px;margin:13px 0 0;color:#c8c3d1;font-size:15px;line-height:1.65;text-wrap:pretty}
.dark-outline-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}.dark-outline-link:hover{border-color:var(--tcg-orange);color:#ffab72}
.new-arrivals-section .carousel-arrow{border-color:rgba(255,255,255,.22);background:#302741;color:#fff}.new-arrivals-section .carousel-arrow:hover{border-color:var(--tcg-orange);color:var(--tcg-orange)}
.new-arrivals-section .live-product-card{border-color:rgba(255,255,255,.1);box-shadow:0 12px 34px rgba(0,0,0,.14)}

/* Product merchandising badges */
.live-product-image{position:relative}
.product-badges{position:absolute;z-index:3;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px)}
.product-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:var(--tcg-purple);color:#fff;font-size:9px;line-height:1;font-weight:900;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 3px 8px rgba(0,0,0,.08)}
.product-badge.new{background:var(--tcg-purple)}.product-badge.sale{background:var(--tcg-orange);color:#20150e}.product-badge.preorder{background:#5b3fc0}.product-badge.low-stock{background:#fff0e7;color:#a94400;border:1px solid #ffd2b4}

/* Our Products bridge */
.products-intro-section{padding-top:82px;padding-bottom:24px;background:#fff}.products-section-intro{max-width:880px!important;padding-bottom:0!important;margin-bottom:20px!important}
.products-intro-copy h2{color:var(--tcg-purple)!important}.products-intro-copy h2 span{color:var(--tcg-orange)!important}

/* Category sections alternate subtly instead of blending together */
.tcg-showcase{padding:54px 0 62px!important;background:#fff!important;border:0!important}
.showcase-magic,.showcase-starwars{background:var(--tcg-purple-soft)!important}
.tcg-showcase-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px!important;padding:0!important;text-align:left!important}
.tcg-showcase-title>div{display:block}.tcg-title-kicker{display:block;margin-bottom:7px;color:#8a8590;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.tcg-showcase-title h2{margin:0;color:var(--tcg-purple)!important;font-size:clamp(28px,2.7vw,38px)!important;line-height:1.08;letter-spacing:-.035em;font-weight:850;text-align:left!important}
.tcg-showcase-title>a{display:inline-flex;align-items:center;gap:8px;color:var(--tcg-purple);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.tcg-showcase-title>a:hover{color:var(--tcg-orange)}
.tcg-showcase-cta{display:none!important}
.showcase-magic .live-product-card,.showcase-starwars .live-product-card{background:#fff}

/* Conditional deals area */
.deals-section{padding:76px 0 84px;background:#fff8f3;border-top:1px solid #ffe7d7;border-bottom:1px solid #ffe7d7}.deals-heading h2{color:var(--tcg-purple)}

/* Brand story / About becomes a deliberate deep-purple anchor */
.brand-story-section{padding:88px 0!important;background:var(--tcg-purple)!important;color:#fff;border:0!important}
.brand-story-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:78px;align-items:center;max-width:1280px!important}
.brand-story-copy{max-width:700px}.brand-story-copy .brand-pill{margin-bottom:18px}
.brand-story-copy h2{margin:0 0 21px;color:#fff!important;font-size:clamp(42px,4.8vw,64px)!important;line-height:.98!important;letter-spacing:-.05em!important;font-weight:850;text-wrap:balance}.brand-story-copy h2 span{color:var(--tcg-orange)}
.brand-story-copy p{max-width:670px;margin:0 0 14px;color:#c9c5d0!important;font-size:15px;line-height:1.75;text-wrap:pretty}
.brand-story-button{display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:13px 18px;border-radius:10px;background:var(--tcg-orange);color:#24180f;text-decoration:none;font-size:13px;font-weight:900}.brand-story-button:hover{background:#ff9149;color:#211a32}
.brand-story-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.brand-story-points article{min-height:142px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.055)}
.brand-story-points strong{display:block;margin-bottom:7px;color:#fff;font-size:25px;line-height:1;letter-spacing:-.035em}.brand-story-points span{color:#aaa4b5;font-size:12px;line-height:1.4}

/* Why Choose continues the same language, with exact brand colours */
.why-section{background:#f8f7fa!important}.why-heading h2{color:var(--tcg-purple)!important}.why-heading h2 span{color:var(--tcg-orange)!important}.why-grid article:before{background:var(--tcg-orange)!important}.why-icon{border-color:#ffd9bf!important;background:#fff6ef!important;color:var(--tcg-orange)!important}

/* Latest editorial content appears only when WordPress posts exist */
.latest-guides-section{padding:82px 0 88px;background:#fff}.latest-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.latest-guides-grid article{overflow:hidden;border:1px solid #e7e4eb;border-radius:17px;background:#fff;box-shadow:0 9px 28px rgba(33,26,50,.045)}
.guide-image{display:flex;height:220px;align-items:center;justify-content:center;overflow:hidden;background:var(--tcg-purple);text-decoration:none}.guide-image img{width:100%;height:100%;object-fit:cover}.guide-image>span{color:rgba(255,255,255,.15);font-size:58px;font-weight:900;letter-spacing:-.06em}
.guide-body{padding:20px}.guide-body>span{color:#96919c;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.guide-body h3{margin:8px 0 16px;font-size:19px;line-height:1.3;text-wrap:balance}.guide-body h3 a{color:var(--tcg-purple);text-decoration:none}.guide-link{color:var(--tcg-orange);font-size:12px;font-weight:850;text-decoration:none}

/* Stronger newsletter endpoint */
.newsletter{padding:58px 0!important;background:var(--tcg-purple)!important;border-top:1px solid rgba(255,255,255,.08)!important}.newsletter .container{max-width:1280px!important}.newsletter h2{color:#fff!important;font-size:clamp(30px,3vw,42px)!important;letter-spacing:-.04em!important;text-wrap:balance}.newsletter p{color:#bdb8c7!important}.newsletter input{border-color:rgba(255,255,255,.18)!important;background:#fff!important}.newsletter button{background:var(--tcg-orange)!important;color:#211a32!important;font-weight:900!important}.newsletter button:hover{background:#ff9149!important}

@media(max-width:1050px){
 .category-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-story-grid{grid-template-columns:1fr;gap:42px}.brand-story-points{max-width:700px}.latest-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .footer-branding .custom-logo{max-width:185px;max-height:54px}
 .section-heading-split,.dark-section-heading{display:block}.section-heading-split>p{margin-top:14px;text-align:left}.dark-outline-link{margin-top:20px}
 .category-discovery-section,.new-arrivals-section,.deals-section,.latest-guides-section{padding-top:58px;padding-bottom:62px}
 .category-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-discovery-grid a{min-height:165px;padding:18px}
 .brand-story-section{padding:66px 0!important}.brand-story-points{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-story-points article{min-height:120px;padding:18px}
 .latest-guides-grid{grid-template-columns:1fr}.guide-image{height:210px}
}
@media(max-width:480px){.category-discovery-grid{grid-template-columns:1fr}.brand-story-points{grid-template-columns:1fr}.brand-story-points article{min-height:0}}


/* ==========================================================
   v46: align New Arrivals heading/CTA with carousel card rail
   ========================================================== */
/* The carousel reserves horizontal space for its arrows. Match that same
   inset on the section heading so the heading starts above card 1 and the
   CTA finishes above card 4, while the arrows remain outside the rail. */
.new-arrivals-section .dark-section-heading{
  margin-left:58px;
  margin-right:58px;
}

@media(max-width:820px){
  .new-arrivals-section .dark-section-heading{
    margin-left:46px;
    margin-right:46px;
  }
}

@media(max-width:560px){
  .new-arrivals-section .dark-section-heading{
    margin-left:40px;
    margin-right:40px;
  }
}


/* ==========================================================
   v47: category headings use the same carousel rail and CTA language
   as New Arrivals
   ========================================================== */

/* Match the product-card rail: headings begin above card 1 and
   View all ends above card 4, leaving the carousel arrows outside. */
.tcg-showcase .tcg-showcase-title{
  margin-left:58px !important;
  margin-right:58px !important;
  margin-bottom:30px !important;
  align-items:flex-end;
}

/* Turn the category kicker into the same compact pill language used above. */
.tcg-showcase .tcg-title-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  margin:0 0 14px;
  padding:7px 12px 6px;
  border:1px solid rgba(255,121,30,.28);
  border-radius:999px;
  background:#fff7f1;
  color:#d95d0b;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcg-showcase .tcg-showcase-title h2{
  margin:0 !important;
  color:#211a32 !important;
  font-size:clamp(36px,3.5vw,48px) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  font-weight:850 !important;
  text-wrap:balance;
}

/* Remove the older small underline so the category header matches the
   cleaner New Arrivals heading treatment. */
.tcg-showcase .tcg-showcase-title h2:after{
  display:none !important;
}

/* Light-section equivalent of the New Arrivals outlined CTA. */
.tcg-showcase .tcg-showcase-title > a{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex:0 0 auto;
  min-height:45px;
  padding:0 16px;
  border:1px solid #d8d4df;
  border-radius:10px;
  background:rgba(255,255,255,.78);
  color:#211a32 !important;
  font-size:13px !important;
  line-height:1;
  font-weight:850 !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.tcg-showcase .tcg-showcase-title > a:hover{
  border-color:#ff791e;
  color:#ff791e !important;
  background:#fff;
}

/* Keep the alternating pale-purple sections equally polished. */
.showcase-magic .tcg-title-kicker,
.showcase-starwars .tcg-title-kicker{
  background:#fff;
}
.showcase-magic .tcg-showcase-title > a,
.showcase-starwars .tcg-showcase-title > a{
  background:#fff;
}

@media(max-width:820px){
  .tcg-showcase .tcg-showcase-title{
    margin-left:46px !important;
    margin-right:46px !important;
  }
}

@media(max-width:620px){
  .tcg-showcase .tcg-showcase-title{
    align-items:flex-start;
    gap:18px;
  }
  .tcg-showcase .tcg-showcase-title h2{
    font-size:34px !important;
  }
}

@media(max-width:560px){
  .tcg-showcase .tcg-showcase-title{
    margin-left:40px !important;
    margin-right:40px !important;
  }
  .tcg-showcase .tcg-showcase-title > a{
    min-height:41px;
    padding:0 13px;
    font-size:12px !important;
  }
}


/* ==========================================================
   v48: category headings without eyebrow pills
   ========================================================== */
.tcg-title-kicker{
  display:none !important;
}
.tcg-showcase-title > div{
  display:flex;
  align-items:center;
}
.tcg-showcase-title h2{
  margin:0 !important;
}


/* v49: Latest News / Guides homepage section removed */
.latest-guides-section,
.latest-news-section{
  display:none !important;
}


/* ==========================================================
   v50: remove Why Choose section + icon-led brand stat cards
   ========================================================== */

/* Why Choose TCGXchange has been removed from homepage markup. */

/* Refine the right-hand brand story cards with premium orange icon tiles */
.home-about-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:142px;
  padding:24px 24px 22px;
}

.home-about-card .about-stat-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-bottom:20px;
  border:1px solid rgba(255,121,30,.38);
  border-radius:13px;
  background:rgba(255,121,30,.10);
  color:#ff791e;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}

.home-about-card .about-stat-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-about-card strong{
  display:block;
  margin-bottom:7px;
  color:#fff;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.025em;
}

.home-about-card > span:not(.about-stat-icon){
  color:rgba(255,255,255,.68);
  font-size:12px;
  line-height:1.45;
}

/* Bring subtle orange detail into each stat without making the cards noisy */
.home-about-card:after{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  width:54px;
  height:3px;
  border-radius:0 0 99px 99px;
  background:#ff791e;
}

@media(max-width:760px){
  .home-about-card{
    min-height:0;
    padding:21px;
  }
}


/* ==========================================================
   v51: fix brand-story stat icons
   ========================================================== */
.brand-story-points article .about-stat-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  margin:0 0 18px 0 !important;
  padding:0 !important;
  border:1px solid rgba(255,121,30,.38) !important;
  border-radius:13px !important;
  background:rgba(255,121,30,.10) !important;
  color:#ff791e !important;
  overflow:hidden !important;
}

.brand-story-points article .about-stat-icon svg{
  display:block !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  max-width:22px !important;
  max-height:22px !important;
  overflow:visible !important;
  fill:none !important;
  stroke:#ff791e !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.brand-story-points article .about-stat-icon svg *{
  fill:none !important;
  stroke:#ff791e !important;
  stroke-width:1.8 !important;
  vector-effect:non-scaling-stroke;
}

.brand-story-points article{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.brand-story-points article strong{
  margin-top:0 !important;
}


/* ==========================================================
   v52: premium footer redesign
   ========================================================== */
.site-footer{
  margin-top:0;
  color:#fff;
  background:#171125;
}

.footer-main{
  padding:72px 0 58px;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,121,30,.09), transparent 28%),
    #171125;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.7fr));
  gap:44px;
  align-items:start;
}

.footer-brand-column{
  max-width:460px;
}

.footer-branding{
  margin-bottom:22px;
}

.footer-branding .custom-logo{
  max-width:250px;
  max-height:70px;
}

.footer-brand-copy{
  max-width:440px;
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:16px;
  line-height:1.75;
}

.footer-trust-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:28px;
}

.footer-trust-row > span{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:76px;
  padding:14px 14px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.footer-trust-row strong{
  color:#fff;
  font-size:13px;
  line-height:1.2;
}

.footer-trust-row small{
  color:rgba(255,255,255,.56);
  font-size:11px;
  line-height:1.35;
}

.footer-column h3{
  margin:2px 0 18px;
  color:#fff;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.01em;
}

.footer-column h3:after{
  content:"";
  display:block;
  width:34px;
  height:3px;
  margin-top:10px;
  border-radius:99px;
  background:#ff791e;
}

.footer-column ul{
  list-style:none;
  margin:0;
  padding:0;
}

.footer-column li + li{
  margin-top:11px;
}

.footer-column a{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.45;
  text-decoration:none;
}

.footer-column a:hover{
  color:#ff791e;
}

.footer-contact-strip{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#211a32;
}

.footer-contact-inner{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}

.footer-contact-inner > div:first-child{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.footer-contact-label{
  color:#ff791e;
  font-size:11px;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.footer-contact-inner strong{
  color:#fff;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.02em;
}

.footer-contact-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 18px;
  color:rgba(255,255,255,.64);
  font-size:13px;
}

.footer-contact-links a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(255,121,30,.45);
  border-radius:10px;
  background:rgba(255,121,30,.08);
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.footer-contact-links a:hover{
  color:#ff791e;
  border-color:#ff791e;
}

.footer-bottom{
  background:#120d1d;
}

.footer-bottom-inner{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:rgba(255,255,255,.50);
  font-size:12px;
  line-height:1.45;
}

@media(max-width:1050px){
  .footer-grid{
    grid-template-columns:1.2fr 1fr 1fr;
  }
  .footer-brand-column{
    grid-column:1/-1;
    max-width:none;
  }
  .footer-brand-copy{
    max-width:700px;
  }
  .footer-trust-row{
    max-width:700px;
  }
}

@media(max-width:760px){
  .footer-main{
    padding:56px 0 44px;
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:36px 26px;
  }
  .footer-brand-column{
    grid-column:1/-1;
  }
  .footer-trust-row{
    grid-template-columns:1fr;
  }
  .footer-contact-inner{
    padding-top:24px;
    padding-bottom:24px;
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-contact-links{
    justify-content:flex-start;
  }
  .footer-bottom-inner{
    padding-top:18px;
    padding-bottom:18px;
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .footer-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v53: connect footer contact strip and copyright bar
   ========================================================== */
.footer-contact-strip{
  border-bottom:0 !important;
}

.footer-bottom{
  border-top:0 !important;
  background:#211a32 !important;
}

.footer-bottom-inner{
  border-top:0 !important;
}

/* Keep the two lower footer bands visually connected as one continuous block */
.footer-contact-strip,
.footer-bottom{
  box-shadow:none !important;
}


/* ==========================================================
   v54: connect support strip directly to copyright bar
   ========================================================== */

/* Match the subtle top divider on the bottom edge too */
.footer-contact-strip{
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  margin-bottom:0 !important;
}

/* Remove any gap between the two lower footer bands */
.footer-bottom{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  background:#211a32 !important;
}

.footer-contact-strip + .footer-bottom{
  margin-top:0 !important;
}

/* Prevent inherited section spacing from creating a dark strip/gap */
.site-footer .footer-contact-strip,
.site-footer .footer-bottom{
  margin-left:0 !important;
  margin-right:0 !important;
}

.footer-bottom-inner{
  margin-top:0 !important;
  border-top:0 !important;
}


/* ==========================================================
   v55: remove newsletter band + footer-specific logo option
   ========================================================== */

/* Newsletter section is removed from homepage markup. Keep the divider that
   visually separates the brand-story section from the footer. */
.brand-story-section{
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

/* Footer-specific Customizer logo */
.footer-branding .footer-custom-logo-link{
  display:flex;
  align-items:center;
  line-height:0;
  text-decoration:none;
}

.footer-branding .footer-custom-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:250px;
  max-height:70px;
  object-fit:contain;
}

@media(max-width:760px){
  .footer-branding .footer-custom-logo{
    max-width:190px;
    max-height:58px;
  }
}


/* ==========================================================
   v56: Shop by Game cards use assigned category thumbnails
   ========================================================== */
.category-discovery-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.category-discovery-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:188px;
  padding:24px 22px 22px;
  border:1px solid rgba(46,37,69,.12);
  border-radius:20px;
  color:#fff;
  text-decoration:none;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(33,26,50,.06), rgba(33,26,50,.54)),
    var(--category-bg-image, none),
    #211a32;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  box-shadow:0 10px 26px rgba(33,26,50,.10);
}

.category-discovery-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,121,30,.95) 0 5px, transparent 5px),
    radial-gradient(circle at 84% 16%, rgba(255,121,30,.16), transparent 32%);
  pointer-events:none;
}

.category-discovery-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg, rgba(23,17,35,.10) 0%, rgba(23,17,35,.32) 38%, rgba(23,17,35,.86) 100%);
  pointer-events:none;
}

.category-discovery-card > *{
  position:relative;
  z-index:1;
}

.category-discovery-badge{
  position:absolute;
  top:22px;
  left:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:46px;
  padding:0 13px;
  border:1px solid rgba(255,121,30,.42);
  border-radius:14px;
  background:rgba(33,26,50,.55);
  backdrop-filter:blur(4px);
  color:#ffb178;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}

.category-discovery-card strong{
  display:block;
  max-width:86%;
  margin:0;
  color:#fff;
  font-size:17px;
  line-height:1.25;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}

.category-discovery-card small{
  display:block;
  margin-top:7px;
  color:#ebe7f2;
  font-size:12px;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}

.category-discovery-card:hover{
  border-color:rgba(255,121,30,.45);
}

.category-discovery-card:hover small{
  color:#fff;
}

@media(max-width:1050px){
  .category-discovery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .category-discovery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .category-discovery-grid{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v57: pull WooCommerce category thumbnails as real images
   ========================================================== */
.category-discovery-card{
  position:relative;
  isolation:isolate;
  background:#211a32 !important;
}

.category-discovery-image{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}

.category-discovery-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(180deg, rgba(33,26,50,.12) 0%, rgba(33,26,50,.42) 42%, rgba(33,26,50,.88) 100%) !important;
  pointer-events:none;
}

.category-discovery-card::before{
  z-index:2 !important;
}

.category-discovery-card > .category-discovery-badge,
.category-discovery-card > strong,
.category-discovery-card > small{
  position:relative !important;
  z-index:3 !important;
}


/* ==========================================================
   v58: simplify Shop by Game cards
   ========================================================== */

/* Remove the PK / MTG / YGO / SWU / DBS eyebrow badges completely */
.category-discovery-badge{
  display:none !important;
}

/* Remove the unintended top overlay block while keeping only the orange top border */
.category-discovery-card::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:auto !important;
  width:100% !important;
  height:4px !important;
  z-index:4 !important;
  background:#ff791e !important;
  border-radius:20px 20px 0 0 !important;
  pointer-events:none !important;
}

/* Keep the image and dark readability overlay clean */
.category-discovery-overlay{
  background:linear-gradient(
    180deg,
    rgba(33,26,50,.08) 0%,
    rgba(33,26,50,.20) 35%,
    rgba(33,26,50,.82) 100%
  ) !important;
}

/* With the badge removed, let the title sit naturally in the lower area */
.category-discovery-card{
  padding-top:22px !important;
}
.category-discovery-card > strong{
  margin-top:auto !important;
}


/* ==========================================================
   v59: fix Shop by Game overlay
   ========================================================== */

/* Remove the stray inline overlay element from layout and rebuild the
   dark image overlay using a pseudo-element so it can never affect flex flow. */
.category-discovery-overlay{
  display:none !important;
}

.category-discovery-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Keep the orange top border on ::before, then use ::after only for the
   dark readability overlay over the category thumbnail image. */
.category-discovery-card::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  height:64% !important;
  z-index:1 !important;
  background:linear-gradient(
    180deg,
    rgba(33,26,50,0) 0%,
    rgba(33,26,50,.08) 30%,
    rgba(33,26,50,.34) 62%,
    rgba(23,17,35,.70) 100%
  ) !important;
  pointer-events:none !important;
}

.category-discovery-card .category-discovery-image{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.category-discovery-card > h4,
.category-discovery-card > small{
  position:relative !important;
  z-index:2 !important;
}

.category-discovery-card > h4{
  margin-top:auto !important;
}

.category-discovery-card > small{
  margin-top:8px !important;
}


/* ==========================================================
   v60: Trustindex reviews moved below category carousels
   ========================================================== */
.trustindex-reviews-section{
  padding:72px 0 78px;
  background:#fff;
  border-top:1px solid #efebf4;
}

.trustindex-reviews-section .container{
  max-width:1280px;
}

/* Keep third-party Trustindex output comfortably spaced without
   forcing typography onto the widget itself. */
.trustindex-reviews-section [class*="ti-"],
.trustindex-reviews-section [id*="ti-"]{
  max-width:100%;
}

@media(max-width:760px){
  .trustindex-reviews-section{
    padding:54px 0 58px;
  }
}






/* ==========================================================
   v65: hero card art restored from reference with exact card text
   ========================================================== */
.hero-box .hero-art.hero-card-composition{
  background-image:url("assets/hero-cards/hero-card-composition.webp") !important;
  background-repeat:no-repeat !important;
  background-position:calc(100% + 12px) center !important;
  background-size:auto 102% !important;
}

.hero-box .hero-art.hero-card-composition::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,
      rgba(8,11,18,.96) 0%,
      rgba(8,11,18,.96) 18%,
      rgba(8,11,18,.82) 27%,
      rgba(8,11,18,.42) 41%,
      rgba(8,11,18,.10) 53%,
      rgba(8,11,18,0) 62%
    ) !important;
}

@media(max-width:1200px){
  .hero-box .hero-art.hero-card-composition{
    background-position:calc(100% + 28px) center !important;
    background-size:auto 104% !important;
  }
}

@media(max-width:860px){
  .hero-box .hero-art.hero-card-composition{
    background-position:82% center !important;
    background-size:auto 100% !important;
  }
}


/* ==========================================================
   v68: display the supplied hero artwork in full, right aligned
   ========================================================== */
.hero-box .hero-art.hero-card-composition{
  background-image:url("assets/hero-cards/hero-right-full.png") !important;
  background-repeat:no-repeat !important;
  background-position:right center !important;
  background-size:auto 100% !important;
}

/* Blend only the left edge of the artwork into the copy area.
   The artwork itself remains fully visible and is not cropped. */
.hero-box .hero-art.hero-card-composition::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:linear-gradient(
    90deg,
    rgba(8,11,18,1) 0%,
    rgba(8,11,18,1) 26%,
    rgba(8,11,18,.98) 31%,
    rgba(8,11,18,.86) 36%,
    rgba(8,11,18,.58) 41%,
    rgba(8,11,18,.26) 46%,
    rgba(8,11,18,.08) 50%,
    rgba(8,11,18,0) 54%
  ) !important;
}

@media(max-width:1200px){
  .hero-box .hero-art.hero-card-composition{
    background-position:right center !important;
    background-size:auto 100% !important;
  }
}

@media(max-width:860px){
  .hero-box .hero-art.hero-card-composition{
    background-position:center bottom !important;
    background-size:100% auto !important;
  }
}


/* ==========================================================
   v69: clean black hero + no artwork gradient overlay
   ========================================================== */

/* Match the entire hero background to the supplied artwork */
.hero-box{
  background:#000000 !important;
}

/* Remove the left-side gradient/fade completely */
.hero-box .hero-art.hero-card-composition::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* Keep the exact supplied artwork fully visible on the right */
.hero-box .hero-art.hero-card-composition{
  background-color:#000000 !important;
  background-position:right center !important;
  background-size:auto 100% !important;
}

/* Ensure the live copy side remains the same true black */
.hero-box .hero-copy{
  background:transparent !important;
}


/* ==========================================================
   v70: mobile hero layout – copy on top, full artwork below
   ========================================================== */
@media(max-width:860px){
  .hero-box{
    height:auto !important;
    min-height:900px !important;
    padding-bottom:0 !important;
    background:#000 !important;
  }

  .hero-box .hero-copy{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:34px 22px 0 !important;
    position:relative !important;
    z-index:3 !important;
  }

  .hero-box .hero-copy h1{
    max-width:320px !important;
    margin:16px 0 18px !important;
  }

  .hero-box .hero-copy p{
    max-width:320px !important;
  }

  .hero-box .hero-copy .buttons{
    margin-top:20px !important;
  }

  .hero-box .hero-art.hero-card-composition{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    height:340px !important;
    min-height:0 !important;
    background-position:center bottom !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
  }
}

@media(max-width:520px){
  .hero-box{
    min-height:800px !important;
    border-radius:18px !important;
  }

  .hero-box .hero-copy{
    padding:28px 18px 0 !important;
  }

  .hero-box .hero-copy h1{
    max-width:295px !important;
    font-size:40px !important;
    line-height:.96 !important;
    letter-spacing:-2.4px !important;
  }

  .hero-box .hero-copy p{
    max-width:300px !important;
    font-size:13px !important;
    line-height:1.5 !important;
  }

  .hero-box .hero-art.hero-card-composition{
    height:300px !important;
    background-position:center bottom !important;
    background-size:contain !important;
  }
}


/* ==========================================================
   v72: stable carousel rendering after tab/background changes
   ========================================================== */

/* Use native viewport scrolling rather than a permanently GPU-composited
   translate3d track. This prevents intermittent blank product images when
   browsers discard/rebuild compositor layers after switching tabs. */
.carousel-viewport{
  overflow:hidden !important;
  scroll-behavior:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}

.carousel-viewport::-webkit-scrollbar{
  display:none;
}

.live-product-grid.carousel-track{
  transform:none !important;
  transition:none !important;
  will-change:auto !important;
  backface-visibility:visible !important;
}

/* Product images stay on ordinary paint layers instead of forced compositor
   layers, while retaining the existing full-resolution contain behavior. */
.carousel-product .live-product-image img{
  backface-visibility:visible !important;
  transform:none !important;
  will-change:auto !important;
}


/* ==========================================================
   v73: premium single-product page
   ========================================================== */

.tcg-single-product-page{
  padding:22px 0 84px;
  background:linear-gradient(180deg,#faf9fc 0,#fff 520px);
}

.tcg-single-product-page .breadcrumbs{
  margin-top:0;
  margin-bottom:20px;
  color:#8a8691;
  font-size:11px;
  line-height:1.5;
}
.tcg-single-product-page .breadcrumbs a{
  color:#5e5968;
  font-weight:700;
}
.tcg-single-product-page .breadcrumbs a:hover{
  color:#ff791e;
}
.tcg-single-product-page .breadcrumbs .sep{
  color:#c9c5ce;
}

/* Main product layout */
.single-product .tcg-single-product-container div.product{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr) !important;
  gap:42px 48px !important;
  align-items:start;
  width:100%;
  margin:0 !important;
}

/* Product gallery */
.single-product .tcg-single-product-container div.product div.images{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:28px !important;
  border:1px solid #e5e1eb !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 12px 38px rgba(33,26,50,.055);
}

.single-product .woocommerce-product-gallery__wrapper{
  margin:0 !important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image:first-child{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:560px !important;
  min-height:560px !important;
  overflow:hidden !important;
  border-radius:15px;
  background:#fff !important;
}

.single-product .woocommerce-product-gallery__image a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}

.single-product .woocommerce-product-gallery__image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:auto !important;
  padding:4px !important;
  object-fit:contain !important;
  object-position:center !important;
}

.single-product .woocommerce-product-gallery__trigger{
  top:18px !important;
  right:18px !important;
  width:42px !important;
  height:42px !important;
  border:1px solid #e7e3ec !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(33,26,50,.08);
}

.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 0 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width:78px !important;
  float:none !important;
  padding:0 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img{
  width:78px !important;
  height:78px !important;
  padding:7px !important;
  border:1px solid #e4e0e9;
  border-radius:11px;
  background:#fff;
  object-fit:contain !important;
  opacity:.65;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{
  border-color:#ff791e;
  opacity:1;
}

/* Product summary card */
.single-product .tcg-single-product-container div.product div.summary{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:34px 36px 32px !important;
  border:1px solid #e5e1eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 38px rgba(33,26,50,.055);
}

.tcg-single-kicker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:17px;
}
.tcg-single-category{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 11px;
  border:1px solid rgba(255,121,30,.25);
  border-radius:999px;
  background:#fff5ee;
  color:#e65d00;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.tcg-single-stock{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#716c79;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.tcg-single-stock i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#9a96a1;
}
.tcg-single-stock.is-in-stock i{background:#1a9d67}
.tcg-single-stock.is-out-of-stock i{background:#c94646}

.single-product .product_title{
  max-width:720px;
  margin:0 0 22px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.single-product .woocommerce-product-rating{
  margin:0 0 18px !important;
}
.single-product .woocommerce-product-rating .star-rating{
  color:#ff791e;
}

.single-product div.product p.price,
.single-product div.product span.price{
  margin:0 0 22px !important;
  color:#211a32 !important;
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}
.single-product div.product p.price del,
.single-product div.product span.price del{
  color:#a29ca8 !important;
  font-size:.62em;
  font-weight:700;
  opacity:1;
}
.single-product div.product p.price ins,
.single-product div.product span.price ins{
  color:#ff791e !important;
  text-decoration:none;
}

.single-product .woocommerce-product-details__short-description{
  margin:0 0 24px;
  color:#68636f;
  font-size:15px;
  line-height:1.75;
}
.single-product .woocommerce-product-details__short-description p:last-child{
  margin-bottom:0;
}

/* Cart controls */
.single-product div.product form.cart{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin:24px 0 0 !important;
  padding:22px 0 0;
  border-top:1px solid #eeeaf1;
}
.single-product .quantity{
  margin:0 !important;
}
.single-product .quantity .qty{
  width:70px !important;
  height:52px !important;
  min-height:52px !important;
  padding:0 8px !important;
  border:1px solid #ddd8e2 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#211a32;
  font-weight:800;
}
.single-product div.product form.cart .button,
.single-product div.product form.cart .single_add_to_cart_button{
  min-height:52px !important;
  padding:0 26px !important;
  border:0 !important;
  border-radius:10px !important;
  background:#ff791e !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.single-product div.product form.cart .button:hover,
.single-product div.product form.cart .single_add_to_cart_button:hover{
  background:#211a32 !important;
  color:#fff !important;
}

/* Variable / grouped products */
.single-product div.product form.cart.variations_form{
  display:block;
}
.single-product div.product form.cart .variations{
  margin:0 0 18px !important;
}
.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td{
  display:block;
  width:100%;
  padding:0 0 8px !important;
  text-align:left;
}
.single-product div.product form.cart .variations label{
  color:#211a32;
  font-size:12px;
  font-weight:850;
}
.single-product div.product form.cart .variations select{
  width:100%;
  min-height:48px;
  padding:0 13px;
  border:1px solid #ddd8e2;
  border-radius:10px;
  background:#fff;
}
.single-product .reset_variations{
  display:inline-block;
  margin-top:8px;
  color:#ff791e;
  font-size:11px;
  font-weight:800;
}
.single-product .woocommerce-variation-add-to-cart{
  display:flex;
  gap:10px;
}

.single-product div.product .stock{
  color:#188a5f !important;
  font-size:12px !important;
  font-weight:800;
}

/* Buying reassurance */
.tcg-product-assurances{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:20px;
}
.tcg-assurance{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-height:61px;
  padding:10px 12px;
  border:1px solid #ebe7ef;
  border-radius:12px;
  background:#faf9fc;
}
.tcg-assurance-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,121,30,.24);
  border-radius:11px;
  background:#fff5ee;
  color:#ff791e;
}
.tcg-assurance-icon svg{
  width:19px;
  height:19px;
}
.tcg-assurance strong{
  display:block;
  margin-bottom:2px;
  color:#211a32;
  font-size:12px;
  line-height:1.25;
}
.tcg-assurance small{
  display:block;
  color:#85808c;
  font-size:10px;
  line-height:1.35;
}

.tcg-free-shipping-note{
  margin-top:11px;
  padding:12px 14px;
  border-radius:10px;
  background:#211a32;
  color:#fff;
  font-size:11px;
  line-height:1.4;
}
.tcg-free-shipping-note strong{
  color:#ff791e;
  font-weight:900;
}

/* Product meta */
.single-product .product_meta{
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid #eeeaf1;
  color:#8b8691;
  font-size:11px;
  line-height:1.8;
}
.single-product .product_meta > span{
  display:block;
}
.single-product .product_meta a{
  color:#4f4958;
  font-weight:700;
}
.single-product .product_meta a:hover{
  color:#ff791e;
}

/* Description / reviews tabs */
.single-product .tcg-single-product-container div.product .woocommerce-tabs{
  grid-column:1/-1 !important;
  width:100% !important;
  margin:4px 0 0 !important;
  padding:28px 32px 32px !important;
  border:1px solid #e5e1eb !important;
  border-radius:22px !important;
  background:#fff;
  box-shadow:0 12px 38px rgba(33,26,50,.045);
}

.single-product div.product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 25px !important;
  padding:0 !important;
  border:0 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 !important;
  border:1px solid #e4e0e8 !important;
  border-radius:10px !important;
  background:#faf9fc !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li a{
  padding:11px 15px !important;
  color:#5f5967 !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li.active{
  border-color:#211a32 !important;
  background:#211a32 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li.active a{
  color:#fff !important;
}
.single-product .woocommerce-Tabs-panel{
  margin:0 !important;
  color:#625d68;
  font-size:15px;
  line-height:1.8;
}
.single-product .woocommerce-Tabs-panel > h2:first-child{
  margin:0 0 16px;
  color:#211a32;
  font-size:27px;
  line-height:1.15;
  letter-spacing:-.025em;
}
.single-product .woocommerce-Tabs-panel p:last-child{
  margin-bottom:0;
}

/* Related products are intentionally removed via WooCommerce hook. */
.single-product .related.products{
  display:none !important;
}

/* Notices */
.single-product .woocommerce-message,
.single-product .woocommerce-error,
.single-product .woocommerce-info{
  margin:0 0 22px !important;
  border-radius:12px;
}

/* Responsive */
@media(max-width:980px){
  .single-product .tcg-single-product-container div.product{
    grid-template-columns:1fr 1fr !important;
    gap:28px !important;
  }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:440px !important;
    min-height:440px !important;
  }
  .single-product .tcg-single-product-container div.product div.summary{
    padding:27px 28px !important;
  }
  .single-product .product_title{
    font-size:36px !important;
  }
}

@media(max-width:760px){
  .tcg-single-product-page{
    padding-top:14px;
    padding-bottom:58px;
  }
  .tcg-single-product-page .breadcrumbs{
    margin-bottom:14px;
  }
  .single-product .tcg-single-product-container div.product{
    display:block !important;
  }
  .single-product .tcg-single-product-container div.product div.images{
    margin-bottom:18px !important;
    padding:18px !important;
    border-radius:17px !important;
  }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:410px !important;
    min-height:410px !important;
  }
  .single-product .tcg-single-product-container div.product div.summary{
    padding:25px 22px !important;
    border-radius:17px;
  }
  .single-product .product_title{
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }
  .single-product div.product p.price,
  .single-product div.product span.price{
    font-size:27px !important;
  }
  .single-product .tcg-single-product-container div.product .woocommerce-tabs{
    margin-top:18px !important;
    padding:22px 20px 24px !important;
    border-radius:17px !important;
  }
}

@media(max-width:480px){
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:340px !important;
    min-height:340px !important;
  }
  .single-product .product_title{
    font-size:30px !important;
  }
  .tcg-single-kicker{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .single-product div.product form.cart{
    flex-wrap:wrap;
  }
  .single-product div.product form.cart .single_add_to_cart_button{
    flex:1;
  }
  .single-product .woocommerce-variation-add-to-cart{
    flex-wrap:wrap;
  }
}


/* ==========================================================
   v74: single-product spacing + padding refinement
   ========================================================== */

/* Compact the page frame and stop WooCommerce clearfix pseudo-elements
   from becoming unwanted grid items. */
.tcg-single-product-page{
  padding:18px 0 56px !important;
}

.single-product .tcg-single-product-container div.product::before,
.single-product .tcg-single-product-container div.product::after{
  content:none !important;
  display:none !important;
}

/* Breadcrumb belongs visually to the product card, without the old
   global breadcrumb top-padding adding extra vertical space. */
.tcg-single-product-page .breadcrumbs{
  padding:0 !important;
  margin:0 auto 14px !important;
  min-height:18px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
}

/* Bring the two main panels closer together and reduce the excessive
   row-gap before any description/review tabs. */
.single-product .tcg-single-product-container div.product{
  gap:26px 28px !important;
}

/* Gallery: less empty framing while retaining a generous product image. */
.single-product .tcg-single-product-container div.product div.images{
  padding:18px !important;
  border-radius:18px !important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image:first-child{
  height:520px !important;
  min-height:520px !important;
  border-radius:13px !important;
}

.single-product .woocommerce-product-gallery__trigger{
  top:12px !important;
  right:12px !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs{
  margin-top:12px !important;
}

/* Summary: tighter vertical rhythm so every element feels intentionally grouped. */
.single-product .tcg-single-product-container div.product div.summary{
  padding:27px 30px 25px !important;
  border-radius:18px !important;
}

.tcg-single-kicker{
  margin-bottom:13px !important;
}

.single-product .product_title{
  margin-bottom:15px !important;
}

.single-product .woocommerce-product-rating{
  margin-bottom:13px !important;
}

.single-product div.product p.price,
.single-product div.product span.price{
  margin-bottom:16px !important;
}

.single-product .woocommerce-product-details__short-description{
  margin-bottom:18px !important;
}

.single-product div.product form.cart{
  margin-top:17px !important;
  padding-top:17px !important;
}

.single-product .quantity .qty{
  height:50px !important;
  min-height:50px !important;
}

.single-product div.product form.cart .button,
.single-product div.product form.cart .single_add_to_cart_button{
  min-height:50px !important;
}

/* Trust blocks should feel connected to the purchase controls, not float
   too far below them. */
.tcg-product-assurances{
  gap:7px !important;
  margin-top:14px !important;
}

.tcg-assurance{
  min-height:56px !important;
  padding:8px 10px !important;
}

.tcg-assurance-icon{
  width:36px !important;
  height:36px !important;
}

.tcg-free-shipping-note{
  margin-top:8px !important;
  padding:10px 12px !important;
}

.single-product .product_meta{
  margin-top:14px !important;
  padding-top:13px !important;
}

/* Tabs sit closer to the main product panels when present. */
.single-product .tcg-single-product-container div.product .woocommerce-tabs{
  margin-top:0 !important;
  padding:25px 28px 28px !important;
  border-radius:18px !important;
}

/* Keep footer separation clean without a large empty white runway. */
.single-product .site-footer{
  margin-top:0 !important;
}

@media(max-width:1100px){
  .single-product .tcg-single-product-container div.product{
    grid-template-columns:minmax(0,1fr) minmax(360px,.92fr) !important;
    gap:24px !important;
  }

  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:470px !important;
    min-height:470px !important;
  }

  .single-product .tcg-single-product-container div.product div.summary{
    padding:24px 25px 23px !important;
  }
}

@media(max-width:760px){
  .tcg-single-product-page{
    padding:12px 0 44px !important;
  }

  .tcg-single-product-page .breadcrumbs{
    margin-bottom:11px !important;
  }

  .single-product .tcg-single-product-container div.product div.images{
    padding:13px !important;
    margin-bottom:14px !important;
  }

  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:390px !important;
    min-height:390px !important;
  }

  .single-product .tcg-single-product-container div.product div.summary{
    padding:22px 18px 20px !important;
  }

  .single-product .product_title{
    margin-bottom:13px !important;
  }

  .single-product div.product form.cart{
    margin-top:15px !important;
    padding-top:15px !important;
  }

  .single-product .tcg-single-product-container div.product .woocommerce-tabs{
    margin-top:14px !important;
    padding:20px 18px 22px !important;
  }
}

@media(max-width:480px){
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image:first-child{
    height:320px !important;
    min-height:320px !important;
  }
}


/* ==========================================================
   v75: open single-product layout – remove outer card containers
   ========================================================== */

/* Keep the product page clean and open rather than placing the
   gallery and product information inside large bordered cards. */
.tcg-single-product-page{
  background:#fff !important;
}

.single-product .tcg-single-product-container div.product{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Remove the large outer container around the product gallery. */
.single-product .tcg-single-product-container div.product div.images{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Keep only the actual image stage clean and lightly separated. */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image:first-child{
  border:0 !important;
  border-radius:14px !important;
  background:#fafafa !important;
}

/* Remove the large outer container around all product information. */
.single-product .tcg-single-product-container div.product div.summary{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Let the content breathe naturally now that the outer cards are gone. */
.single-product .tcg-single-product-container div.product{
  gap:34px 48px !important;
}

/* Keep the internal dividers subtle. */
.single-product div.product form.cart{
  border-top-color:#eeeaf1 !important;
}

.single-product .product_meta{
  border-top-color:#eeeaf1 !important;
}

@media(max-width:980px){
  .single-product .tcg-single-product-container div.product{
    gap:28px !important;
  }
}

@media(max-width:760px){
  .single-product .tcg-single-product-container div.product div.images,
  .single-product .tcg-single-product-container div.product div.summary{
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
  }
}


/* ==========================================================
   v76: remove generic .product card styling from single product wrapper
   ========================================================== */

/*
 * WooCommerce uses <div id="product-..." class="product ..."> as the entire
 * single-product wrapper. The theme also has a generic `.product` card rule
 * used elsewhere, which was adding the border, radius, white background,
 * overflow and hover transition visible in DevTools.
 *
 * Reset the OUTER WooCommerce product wrapper explicitly.
 */
body.single-product.woocommerce div#product.product,
body.single-product.woocommerce-page div#product.product,
body.single-product .tcg-single-product-container > div.product{
  border:0 !important;
  border-width:0 !important;
  border-style:none !important;
  border-color:transparent !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transition:none !important;
  transform:none !important;
}

/* Kill the generic card hover state as well. */
body.single-product.woocommerce div#product.product:hover,
body.single-product.woocommerce-page div#product.product:hover,
body.single-product .tcg-single-product-container > div.product:hover{
  border:0 !important;
  border-color:transparent !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Generic product pseudo-elements must not create decoration or layout items. */
body.single-product div#product.product::before,
body.single-product div#product.product::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Keep the product summary open; gallery styling is handled separately. */
body.single-product div#product.product > .summary{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transition:none !important;
  transform:none !important;
}

/* No hover card effects on the product summary.
   Do NOT reset the gallery border on hover. */
body.single-product div#product.product > .summary:hover{
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}


/* ==========================================================
   v77: single-product wrapper is not a legacy product card
   ========================================================== */
body.single-product #product.product{
  border:none !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  transition:none !important;
  transform:none !important;
}
body.single-product #product.product:hover{
  border:none !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  transform:none !important;
}


/* ==========================================================
   v78: unified shop/archive + homepage carousel product styling
   ========================================================== */

/* ---------- Shop / category archive header controls ---------- */

.woocommerce .shop-toolbar,
.woocommerce .woocommerce-ordering{
  position:relative;
}

.woocommerce .woocommerce-ordering{
  margin:0 0 22px !important;
}

.woocommerce .woocommerce-ordering select{
  appearance:none;
  -webkit-appearance:none;
  min-width:220px;
  min-height:46px;
  padding:0 44px 0 15px;
  border:1px solid #ddd8e2 !important;
  border-radius:11px !important;
  background:
    linear-gradient(45deg, transparent 50%, #211a32 50%) calc(100% - 18px) 19px/5px 5px no-repeat,
    linear-gradient(135deg, #211a32 50%, transparent 50%) calc(100% - 13px) 19px/5px 5px no-repeat,
    #fff !important;
  color:#211a32 !important;
  font-size:13px !important;
  font-weight:750 !important;
  line-height:1;
  box-shadow:0 4px 14px rgba(33,26,50,.035);
  cursor:pointer;
}

.woocommerce .woocommerce-ordering select:hover{
  border-color:#cfc8d8 !important;
}

.woocommerce .woocommerce-ordering select:focus{
  outline:none !important;
  border-color:#ff791e !important;
  box-shadow:0 0 0 4px rgba(255,121,30,.10) !important;
}

.woocommerce .woocommerce-result-count{
  margin:0 0 22px !important;
  color:#77717f;
  font-size:13px;
  line-height:46px;
}

/* ---------- Shared product-card visual language ---------- */

/* Archive cards */
.woocommerce ul.products li.product,
/* Homepage carousel cards */
.carousel-product.live-product-card{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border:1px solid #e6e2ea !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(33,26,50,.05) !important;
  transition:border-color .18s ease, box-shadow .18s ease !important;
}

/* Keep cards still; only polish the border/shadow */
.woocommerce ul.products li.product:hover,
.carousel-product.live-product-card:hover{
  transform:none !important;
  border-color:#d8d1df !important;
  box-shadow:0 11px 30px rgba(33,26,50,.075) !important;
}

/* Archive image link becomes a proper fixed image stage */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link{
  display:block !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
}

/* Match image stages between archive and homepage */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > img,
.carousel-product .live-product-image{
  height:340px !important;
  min-height:340px !important;
  background:#fff !important;
  border-bottom:1px solid #efecf1 !important;
}

/* Archive product images */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  padding:18px !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Homepage image stage remains identical */
.carousel-product .live-product-image{
  padding:18px !important;
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.carousel-product .live-product-info h3{
  color:#211a32 !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}

/* Make archive content spacing match homepage */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:62px;
  margin:0 !important;
  padding:16px 16px 8px !important;
}

.carousel-product .live-product-info{
  padding:16px !important;
}

.carousel-product .live-product-info h3{
  min-height:62px !important;
  margin:0 0 8px !important;
}

/* Price styling */
.woocommerce ul.products li.product .price,
.carousel-product .live-product-price{
  color:#ff791e !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.woocommerce ul.products li.product .price{
  display:block !important;
  margin:0 !important;
  padding:0 16px 14px !important;
}

.carousel-product .live-product-price{
  margin-top:auto !important;
  margin-bottom:14px !important;
}

.woocommerce ul.products li.product .price del,
.carousel-product .live-product-price del{
  color:#9f98a7 !important;
  font-size:.78em;
  font-weight:700 !important;
  opacity:1 !important;
}

.woocommerce ul.products li.product .price ins,
.carousel-product .live-product-price ins{
  color:#ff791e !important;
  text-decoration:none !important;
  font-weight:900 !important;
}

/* ---------- Unified Add to basket / Add to cart buttons ---------- */

.woocommerce ul.products li.product .button,
.carousel-product .live-product-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-height:48px !important;
  margin:0 16px 16px !important;
  padding:0 18px !important;
  border:1px solid #211a32 !important;
  border-radius:10px !important;
  background:#211a32 !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.carousel-product .live-product-button{
  margin:0 !important;
  margin-top:auto !important;
}

.woocommerce ul.products li.product .button:hover,
.carousel-product .live-product-button:hover{
  border-color:#ff791e !important;
  background:#ff791e !important;
  color:#211a32 !important;
  transform:none !important;
}

/* Loading / added states */
.woocommerce ul.products li.product .button.loading,
.woocommerce ul.products li.product .button.added{
  opacity:1 !important;
}

.woocommerce ul.products li.product .added_to_cart{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:-8px 16px 16px;
  padding:0 15px;
  border-radius:9px;
  background:#fff5ee;
  color:#d85d0b;
  font-size:11px;
  font-weight:850;
}

/* Sale badge styling */
.woocommerce span.onsale{
  top:12px !important;
  left:12px !important;
  right:auto !important;
  min-width:auto !important;
  min-height:28px !important;
  padding:0 10px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px !important;
  background:#ff791e !important;
  color:#211a32 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

/* Keep homepage custom badges visually consistent */
.carousel-product .product-badges,
.carousel-product .live-product-badges{
  z-index:3;
}

/* Responsive product image stage + controls */
@media(max-width:900px){
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img,
  .carousel-product .live-product-image{
    height:300px !important;
    min-height:300px !important;
  }

  .woocommerce .woocommerce-ordering select{
    min-width:190px;
  }
}

@media(max-width:560px){
  .woocommerce .woocommerce-result-count{
    float:none !important;
    width:100%;
    margin-bottom:10px !important;
    line-height:1.5;
  }

  .woocommerce .woocommerce-ordering{
    float:none !important;
    width:100%;
    margin-bottom:20px !important;
  }

  .woocommerce .woocommerce-ordering select{
    width:100%;
    min-width:0;
  }

  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
  .woocommerce ul.products li.product a.woocommerce-loop-product__link > img,
  .carousel-product .live-product-image{
    height:230px !important;
    min-height:230px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .carousel-product .live-product-info h3{
    min-height:54px !important;
    font-size:13px !important;
  }

  .woocommerce ul.products li.product .button,
  .carousel-product .live-product-button{
    min-height:46px !important;
    font-size:14px !important;
  }
}


/* ==========================================================
   v79: main description under title + remove reviews/tabs
   ========================================================== */

.tcg-single-main-description{
  max-width:720px;
  margin:0 0 20px;
  color:#625d68;
  font-size:15px;
  line-height:1.75;
}

.tcg-single-main-description p{
  margin:0 0 12px;
}

.tcg-single-main-description p:last-child{
  margin-bottom:0;
}

.tcg-single-main-description ul,
.tcg-single-main-description ol{
  margin:10px 0 14px 20px;
  padding:0;
}

.tcg-single-main-description li + li{
  margin-top:5px;
}

.tcg-single-main-description h2,
.tcg-single-main-description h3,
.tcg-single-main-description h4{
  margin:18px 0 8px;
  color:#211a32;
  line-height:1.2;
  letter-spacing:-.02em;
}

/* Product tabs/reviews are removed from markup, but hide defensively too. */
.single-product .woocommerce-tabs,
.single-product #reviews,
.single-product .woocommerce-Reviews,
.single-product .related.products{
  display:none !important;
}

/* Keep the price visually connected after the description. */
.single-product div.product p.price,
.single-product div.product span.price{
  margin-top:0 !important;
}

@media(max-width:760px){
  .tcg-single-main-description{
    margin-bottom:17px;
    font-size:14px;
    line-height:1.7;
  }
}










/* ==========================================================
   v84: product-page breadcrumb spacing targeting live DOM
   ========================================================== */

/*
 * Important: single WooCommerce products are rendered by woocommerce.php,
 * so the live DOM is:
 * main#main-content
 *   > nav.breadcrumbs.container
 *   > div.container.tcgxchange-woocommerce-content
 *
 * Previous selectors relied on .tcg-single-product-page, which therefore
 * never existed on the live page. These rules target the real elements.
 */
body.single-product main#main-content > nav.breadcrumbs.container{
  display:block !important;
  margin-top:0 !important;
  margin-bottom:32px !important;
  padding:0 !important;
  line-height:1.5 !important;
}

/* Keep a guaranteed visual gap even if another plugin/theme rule alters
   breadcrumb margin behavior later. */
body.single-product main#main-content > nav.breadcrumbs.container + .tcgxchange-woocommerce-content{
  padding-top:0 !important;
}

/* Retain the current gallery treatment on the actual live WooCommerce DOM. */
body.single-product .tcgxchange-woocommerce-content > #product.product{
  align-items:start !important;
}

body.single-product .tcgxchange-woocommerce-content > #product.product > .woocommerce-product-gallery{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:14px !important;
  border:1px solid #e4e0e8 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__wrapper,
body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__image,
body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__image > a{
  background:#fff !important;
}

/* Working centered zoom button on the actual gallery. */
body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__trigger{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  z-index:9 !important;
  display:block !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #e2dee7 !important;
  border-radius:12px !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.75' fill='none' stroke='%23111216' stroke-width='2'/%3E%3Cpath d='M15 15l4.5 4.5' fill='none' stroke='%23111216' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:22px 22px !important;
  box-shadow:0 5px 16px rgba(33,26,50,.06) !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}

body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__trigger::before,
body.single-product .tcgxchange-woocommerce-content .woocommerce-product-gallery__trigger::after{
  content:none !important;
  display:none !important;
}

@media(max-width:760px){
  body.single-product main#main-content > nav.breadcrumbs.container{
    margin-bottom:24px !important;
  }
}








/* ==========================================================
   v88: definitive product-gallery border fix
   ========================================================== */

/* Exact live WooCommerce node:
   <div class="woocommerce-product-gallery ... images"> */
body.single-product div#product.product >
div.woocommerce-product-gallery.images{
  border:1px solid #ded9e3 !important;
  border-radius:18px !important;
  padding:18px !important;
  background:#ffffff !important;
  box-shadow:none !important;
  overflow:hidden !important;
  transition:none !important;
}

/* The border must remain visible while hovering the gallery. */
body.single-product div#product.product >
div.woocommerce-product-gallery.images:hover{
  border:1px solid #ded9e3 !important;
  border-color:#ded9e3 !important;
  border-radius:18px !important;
  background:#ffffff !important;
  box-shadow:none !important;
  transform:none !important;
}

/* Keep every layer of the image area white. */
body.single-product div#product.product >
div.woocommerce-product-gallery.images .woocommerce-product-gallery__wrapper,
body.single-product div#product.product >
div.woocommerce-product-gallery.images .woocommerce-product-gallery__image,
body.single-product div#product.product >
div.woocommerce-product-gallery.images .woocommerce-product-gallery__image > a,
body.single-product div#product.product >
div.woocommerce-product-gallery.images .woocommerce-product-gallery__image img{
  background:#ffffff !important;
}

@media(max-width:760px){
  body.single-product div#product.product >
  div.woocommerce-product-gallery.images{
    padding:12px !important;
    border-radius:15px !important;
  }

  body.single-product div#product.product >
  div.woocommerce-product-gallery.images:hover{
    border-radius:15px !important;
  }
}


/* ==========================================================
   v89: WooCommerce multi-image FlexSlider compatibility
   ========================================================== */

/*
 * Do not force a width on individual gallery slides.
 * WooCommerce/FlexSlider calculates and writes the correct pixel width
 * inline for each .woocommerce-product-gallery__image.
 */
body.single-product
div.woocommerce-product-gallery.images
.flex-viewport{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

body.single-product
div.woocommerce-product-gallery.images
.flex-viewport
.woocommerce-product-gallery__wrapper{
  max-width:none !important;
}

/* IMPORTANT: no width declaration here. FlexSlider's inline width must win. */
body.single-product
div.woocommerce-product-gallery.images
.flex-viewport
.woocommerce-product-gallery__image{
  min-width:0 !important;
  flex:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
}

/* Keep each active image centered within the slide FlexSlider assigns. */
body.single-product
div.woocommerce-product-gallery.images
.flex-viewport
.woocommerce-product-gallery__image > a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}

body.single-product
div.woocommerce-product-gallery.images
.flex-viewport
.woocommerce-product-gallery__image img:not(.zoomImg){
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  margin:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Never let the Woo zoom overlay affect the base-image layout. */
body.single-product
div.woocommerce-product-gallery.images
img.zoomImg{
  max-width:none !important;
  max-height:none !important;
}

/* Before FlexSlider initializes, show the first image in the correct place.
   Once FlexSlider adds .flex-viewport, its calculated slide geometry takes over. */
body.single-product
div.woocommerce-product-gallery.images:not(.flexslider)
.woocommerce-product-gallery__wrapper >
.woocommerce-product-gallery__image:first-child{
  display:flex !important;
}


/* ==========================================================
   v90: larger shop + carousel add-to-basket text
   ========================================================== */
.woocommerce ul.products li.product .button,
.carousel-product .live-product-button{
  font-size:14px !important;
}


/* ==========================================================
   v91: dropdown-only typography + corrected category navigation
   ========================================================== */

/* Only text INSIDE category dropdown menus is increased.
   Top-level header/navigation remains completely unchanged. */
.cat-dropdown strong,
.cat-dropdown .cat-all,
.cat-dropdown li a{
  font-size:14px !important;
}

/* Give the larger dropdown text just enough vertical room without
   changing the header/nav bar dimensions or sticky behaviour. */
.cat-dropdown li a{
  line-height:1.35;
  padding:8px 0;
}

.cat-dropdown .cat-all{
  line-height:1.2;
}


/* ==========================================================
   v92: larger supporting typography in homepage hero
   ========================================================== */

/* Eyebrow / kicker */
.hero-box .hero-kicker{
  font-size:13px !important;
  letter-spacing:.11em !important;
}

/* Supporting paragraph */
.hero-box .hero-copy p{
  font-size:16px !important;
  line-height:1.6 !important;
}

/* Hero CTA buttons */
.hero-box .hero-copy .btn,
.hero-box .hero-copy .button,
.hero-box .hero-copy .buttons a{
  font-size:14px !important;
  font-weight:850 !important;
}

/* Keep mobile readable without touching the main hero heading. */
@media(max-width:860px){
  .hero-box .hero-kicker{
    font-size:12px !important;
  }

  .hero-box .hero-copy p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .hero-box .hero-copy .btn,
  .hero-box .hero-copy .button,
  .hero-box .hero-copy .buttons a{
    font-size:14px !important;
  }
}

@media(max-width:520px){
  .hero-box .hero-copy p{
    font-size:15px !important;
  }
}


/* ==========================================================
   v93: hero eyebrow + CTA hover polish
   ========================================================== */

/* Match the other homepage eyebrow labels. */
.hero-box .hero-copy .kicker{
  font-size:11px !important;
}

/* Subtle hero CTA hover treatment only; no layout movement. */
.hero-box .hero-copy .buttons a{
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}

.hero-box .hero-copy .buttons a:first-child:hover{
  background:#ff8a39 !important;
  color:#211a32 !important;
  border-color:#ff8a39 !important;
  box-shadow:0 8px 20px rgba(255,121,30,.18) !important;
}

.hero-box .hero-copy .buttons a:last-child:hover{
  background:#211a32 !important;
  color:#ffffff !important;
  border-color:#211a32 !important;
  box-shadow:0 8px 20px rgba(33,26,50,.18) !important;
}

/* Keyboard focus gets the same polished feedback. */
.hero-box .hero-copy .buttons a:focus-visible{
  outline:3px solid rgba(255,121,30,.28) !important;
  outline-offset:3px !important;
}


/* ==========================================================
   v94: Facebook footer link + white product-button hover text
   ========================================================== */

/* Facebook footer link */
.footer-social-row{
  margin-top:14px;
}

.footer-facebook-link{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:360px;
  min-height:64px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:#fff;
  text-decoration:none;
  transition:
    border-color .18s ease,
    background-color .18s ease,
    box-shadow .18s ease;
}

.footer-facebook-link:hover{
  border-color:rgba(255,121,30,.48);
  background:rgba(255,121,30,.075);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  color:#fff;
}

.footer-facebook-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:11px;
  background:#1877f2;
  color:#fff;
}

.footer-facebook-icon svg{
  width:23px;
  height:23px;
}

.footer-facebook-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.footer-facebook-copy strong{
  color:#fff;
  font-size:13px;
  line-height:1.2;
}

.footer-facebook-copy small{
  color:rgba(255,255,255,.57);
  font-size:11px;
  line-height:1.35;
}

.footer-facebook-arrow{
  color:#ff791e;
  font-size:18px;
  line-height:1;
  font-weight:900;
}

.footer-facebook-link:focus-visible{
  outline:3px solid rgba(255,121,30,.28);
  outline-offset:3px;
}

/* Shop/category product buttons + homepage carousel buttons:
   keep the orange hover background but use white text. */
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible,
.carousel-product .live-product-button:hover,
.carousel-product .live-product-button:focus-visible{
  color:#ffffff !important;
}

@media(max-width:760px){
  .footer-facebook-link{
    max-width:100%;
  }
}


/* ==========================================================
   v95: footer trust spacing + story CTA + hierarchical breadcrumbs
   ========================================================== */

/* Give the three footer trust blocks more comfortable, even spacing. */
.footer-trust-row{
  gap:12px !important;
}

.footer-trust-row > span{
  justify-content:center !important;
  min-height:84px !important;
  padding:16px 14px !important;
  gap:7px !important;
}

.footer-trust-row strong{
  margin:0 !important;
  line-height:1.2 !important;
}

.footer-trust-row small{
  margin:0 !important;
  line-height:1.4 !important;
}

/* Our Story CTA: white copy + white arrow in normal and hover states. */
.brand-story-button,
.brand-story-button span,
.brand-story-button:hover,
.brand-story-button:hover span,
.brand-story-button:focus-visible,
.brand-story-button:focus-visible span{
  color:#ffffff !important;
}

.brand-story-button:hover{
  background:#ff9149 !important;
}

/* Keep hierarchical category breadcrumbs readable when they become longer. */
.breadcrumbs{
  flex-wrap:wrap;
  row-gap:4px;
}


/* ==========================================================
   v96: dedicated About page
   ========================================================== */

.tcgx-about-page-shell{
  background:#fff;
}

.tcgx-about-page-shell > .breadcrumbs{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-about-entry{
  margin:0;
}

.tcgx-about-page{
  --about-orange:#ff791e;
  --about-purple:#211a32;
  --about-soft:#f7f5fa;
  --about-line:#e8e3ec;
  --about-muted:#686370;
  color:#17141d;
  overflow:hidden;
}

.tcgx-about-page *,
.tcgx-about-page *::before,
.tcgx-about-page *::after{
  box-sizing:border-box;
}

.tcgx-about-page .tcgx-about-container{
  width:min(calc(100% - 36px),1280px);
  margin:0 auto;
}

.tcgx-about-page a{
  text-decoration:none;
}

/* Hero */
.tcgx-about-hero{
  padding:14px 0 84px;
}

.tcgx-about-hero-box{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  min-height:560px;
  overflow:hidden;
  border-radius:26px;
  background:
    radial-gradient(circle at 86% 18%,rgba(255,121,30,.16),transparent 26%),
    radial-gradient(circle at 72% 88%,rgba(255,121,30,.08),transparent 32%),
    var(--about-purple);
  color:#fff;
}

.tcgx-about-hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:68px 30px 68px 64px;
}

.tcgx-about-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:29px;
  padding:0 13px;
  border:1px solid rgba(255,121,30,.32);
  border-radius:999px;
  background:rgba(255,121,30,.10);
  color:#ff9c59;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-about-hero h1{
  max-width:720px;
  margin:22px 0 22px;
  color:#fff;
  font-size:clamp(46px,5.4vw,72px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-about-hero h1 span{
  color:var(--about-orange);
}

.tcgx-about-hero-copy > p{
  max-width:700px;
  margin:0;
  color:#cbc6d3;
  font-size:17px;
  line-height:1.75;
  text-wrap:pretty;
}

.tcgx-about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:28px;
}

.tcgx-about-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:50px;
  padding:0 20px;
  border:1px solid var(--about-orange);
  border-radius:10px;
  background:var(--about-orange);
  color:#fff !important;
  font-size:14px;
  line-height:1;
  font-weight:900;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.tcgx-about-button:hover{
  border-color:#ff9149;
  background:#ff9149;
  color:#fff !important;
  box-shadow:0 9px 24px rgba(255,121,30,.16);
}

.tcgx-about-button.is-secondary{
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.05);
  color:#fff !important;
}

.tcgx-about-button.is-secondary:hover{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.10);
  color:#fff !important;
  box-shadow:none;
}

.tcgx-about-hero-panel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  gap:12px;
  padding:48px 48px 48px 12px;
}

.tcgx-about-stat{
  position:relative;
  min-height:164px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(255,255,255,.055);
}

.tcgx-about-stat::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:58px;
  height:3px;
  border-radius:0 0 99px 0;
  background:var(--about-orange);
}

.tcgx-about-stat-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:22px;
  border:1px solid rgba(255,121,30,.30);
  border-radius:12px;
  background:rgba(255,121,30,.10);
  color:#ff9d5c;
}

.tcgx-about-stat-icon svg{
  width:21px;
  height:21px;
}

.tcgx-about-stat strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-size:21px;
  line-height:1.1;
  letter-spacing:-.025em;
}

.tcgx-about-stat span{
  color:#aaa4b5;
  font-size:12px;
  line-height:1.45;
}

/* Shared headings */
.tcgx-about-section{
  padding:84px 0;
}

.tcgx-about-section.is-soft{
  background:var(--about-soft);
}

.tcgx-about-section-head{
  max-width:820px;
  margin-bottom:38px;
}

.tcgx-about-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 13px;
  margin-bottom:16px;
  border:1px solid rgba(255,121,30,.25);
  border-radius:999px;
  background:#fff5ee;
  color:#e95f00;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-about-section-head h2,
.tcgx-about-story-copy h2,
.tcgx-about-reach-copy h2{
  margin:0;
  color:var(--about-purple);
  font-size:clamp(36px,4vw,52px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-about-section-head h2 span,
.tcgx-about-story-copy h2 span,
.tcgx-about-reach-copy h2 span{
  color:var(--about-orange);
}

.tcgx-about-section-head > p{
  max-width:730px;
  margin:17px 0 0;
  color:var(--about-muted);
  font-size:16px;
  line-height:1.75;
  text-wrap:pretty;
}

/* Story */
.tcgx-about-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);
  gap:70px;
  align-items:center;
}

.tcgx-about-story-copy p{
  max-width:700px;
  margin:18px 0 0;
  color:var(--about-muted);
  font-size:16px;
  line-height:1.8;
  text-wrap:pretty;
}

.tcgx-about-story-card{
  position:relative;
  padding:34px;
  overflow:hidden;
  border:1px solid #e4dfe8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 40px rgba(33,26,50,.055);
}

.tcgx-about-story-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:var(--about-orange);
}

.tcgx-about-story-card > span{
  display:block;
  margin-bottom:14px;
  color:#99939f;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-about-story-card blockquote{
  margin:0;
  color:var(--about-purple);
  font-size:clamp(24px,2.4vw,33px);
  line-height:1.2;
  letter-spacing:-.035em;
  font-weight:850;
  text-wrap:balance;
}

.tcgx-about-story-card p{
  margin:19px 0 0;
  padding-top:18px;
  border-top:1px solid #eeeaf1;
  color:#746e7b;
  font-size:13px;
  line-height:1.65;
}

/* Values */
.tcgx-about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.tcgx-about-value{
  position:relative;
  min-height:245px;
  padding:25px;
  overflow:hidden;
  border:1px solid var(--about-line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 9px 27px rgba(33,26,50,.035);
}

.tcgx-about-value::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--about-orange);
}

.tcgx-about-value-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:26px;
  border:1px solid #ffd8bd;
  border-radius:12px;
  background:#fff6ef;
  color:var(--about-orange);
}

.tcgx-about-value-icon svg{
  width:22px;
  height:22px;
}

.tcgx-about-value small{
  display:block;
  margin-bottom:7px;
  color:#aaa4af;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-about-value h3{
  margin:0 0 10px;
  color:var(--about-purple);
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.025em;
  font-weight:850;
  text-wrap:balance;
}

.tcgx-about-value p{
  margin:0;
  color:#716b77;
  font-size:14px;
  line-height:1.65;
  text-wrap:pretty;
}

/* TCG range */
.tcgx-about-games-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.tcgx-about-game{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:112px;
  padding:19px 20px;
  border:1px solid var(--about-line);
  border-radius:15px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.tcgx-about-game:hover{
  border-color:#d8cfdc;
  box-shadow:0 9px 24px rgba(33,26,50,.055);
}

.tcgx-about-game-copy strong{
  display:block;
  color:var(--about-purple);
  font-size:17px;
  line-height:1.2;
  font-weight:850;
}

.tcgx-about-game-copy span{
  display:block;
  margin-top:5px;
  color:#817b87;
  font-size:12px;
  line-height:1.4;
}

.tcgx-about-game-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#fff5ee;
  color:var(--about-orange);
  font-size:17px;
  font-weight:900;
}

/* Reach / delivery section */
.tcgx-about-reach{
  padding:88px 0;
  background:var(--about-purple);
  color:#fff;
}

.tcgx-about-reach-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:70px;
  align-items:center;
}

.tcgx-about-reach-copy h2{
  color:#fff;
}

.tcgx-about-reach-copy p{
  max-width:720px;
  margin:19px 0 0;
  color:#c5c0cd;
  font-size:16px;
  line-height:1.8;
  text-wrap:pretty;
}

.tcgx-about-reach-list{
  display:grid;
  gap:10px;
}

.tcgx-about-reach-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:13px;
  min-height:72px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:13px;
  background:rgba(255,255,255,.05);
}

.tcgx-about-reach-item-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,121,30,.30);
  border-radius:11px;
  background:rgba(255,121,30,.10);
  color:#ff9d5c;
}

.tcgx-about-reach-item-icon svg{
  width:21px;
  height:21px;
}

.tcgx-about-reach-item strong{
  display:block;
  margin-bottom:3px;
  color:#fff;
  font-size:14px;
  line-height:1.25;
}

.tcgx-about-reach-item span{
  display:block;
  color:#aaa4b5;
  font-size:11px;
  line-height:1.4;
}

/* Final CTA */
.tcgx-about-cta{
  padding:80px 0 88px;
}

.tcgx-about-cta-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  padding:40px 44px;
  border:1px solid #ebe5ef;
  border-radius:20px;
  background:#fff8f3;
}

.tcgx-about-cta-copy{
  max-width:760px;
}

.tcgx-about-cta-copy .tcgx-about-eyebrow{
  margin-bottom:13px;
  background:#fff;
}

.tcgx-about-cta h2{
  margin:0;
  color:var(--about-purple);
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-about-cta p{
  margin:12px 0 0;
  color:#716b77;
  font-size:15px;
  line-height:1.7;
  text-wrap:pretty;
}

.tcgx-about-cta-actions{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.tcgx-about-cta .tcgx-about-button.is-secondary{
  border-color:#d8d0dc;
  background:#fff;
  color:var(--about-purple) !important;
}

.tcgx-about-cta .tcgx-about-button.is-secondary:hover{
  border-color:var(--about-purple);
  background:var(--about-purple);
  color:#fff !important;
}

/* Gutenberg cleanup inside dedicated About page */
.tcgx-about-entry > .wp-block-html,
.tcgx-about-entry > .wp-block-group,
.tcgx-about-entry > p:empty{
  margin:0;
}

.tcgx-about-entry .wp-block-html{
  max-width:none;
}

/* Responsive */
@media(max-width:1020px){
  .tcgx-about-hero-box{
    grid-template-columns:1fr;
  }

  .tcgx-about-hero-copy{
    padding:58px 48px 34px;
  }

  .tcgx-about-hero-panel{
    max-width:760px;
    padding:0 48px 52px;
  }

  .tcgx-about-story-grid,
  .tcgx-about-reach-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .tcgx-about-values-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tcgx-about-games-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .tcgx-about-page-shell > .breadcrumbs{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-about-page .tcgx-about-container{
    width:min(calc(100% - 24px),1280px);
  }

  .tcgx-about-hero{
    padding-top:6px;
    padding-bottom:58px;
  }

  .tcgx-about-hero-box{
    border-radius:20px;
  }

  .tcgx-about-hero-copy{
    padding:40px 22px 28px;
  }

  .tcgx-about-hero h1{
    margin-top:18px;
    font-size:clamp(42px,12vw,58px);
  }

  .tcgx-about-hero-copy > p{
    font-size:15px;
    line-height:1.7;
  }

  .tcgx-about-hero-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:0 22px 28px;
  }

  .tcgx-about-stat{
    min-height:142px;
    padding:18px;
  }

  .tcgx-about-stat-icon{
    margin-bottom:18px;
  }

  .tcgx-about-stat strong{
    font-size:18px;
  }

  .tcgx-about-section{
    padding:62px 0;
  }

  .tcgx-about-section-head{
    margin-bottom:28px;
  }

  .tcgx-about-section-head > p,
  .tcgx-about-story-copy p,
  .tcgx-about-reach-copy p{
    font-size:15px;
  }

  .tcgx-about-values-grid,
  .tcgx-about-games-grid{
    grid-template-columns:1fr;
  }

  .tcgx-about-value{
    min-height:0;
  }

  .tcgx-about-reach{
    padding:64px 0;
  }

  .tcgx-about-cta{
    padding:58px 0 66px;
  }

  .tcgx-about-cta-box{
    display:block;
    padding:28px 24px;
  }

  .tcgx-about-cta-actions{
    justify-content:flex-start;
    margin-top:24px;
  }
}

@media(max-width:480px){
  .tcgx-about-hero-panel{
    grid-template-columns:1fr 1fr;
  }

  .tcgx-about-stat{
    padding:16px;
  }

  .tcgx-about-actions,
  .tcgx-about-cta-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .tcgx-about-button{
    width:100%;
  }
}


/* ==========================================================
   v97: About page reach-card icon fix
   ========================================================== */

/* Keep the three bottom About-page icons crisp, centered and orange.
   These explicit SVG rules prevent inherited/global SVG styles from
   muting or distorting the line icons. */
.tcgx-about-page .tcgx-about-reach-item-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  overflow:hidden !important;
  color:#ff791e !important;
}

.tcgx-about-page .tcgx-about-reach-item-icon svg{
  display:block !important;
  width:21px !important;
  height:21px !important;
  min-width:21px !important;
  min-height:21px !important;
  max-width:21px !important;
  max-height:21px !important;
  margin:0 !important;
  overflow:visible !important;
  color:#ff791e !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.tcgx-about-page .tcgx-about-reach-item-icon svg *{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}


/* ==========================================================
   v98: full-width orange top border on About hero stat cards
   ========================================================== */

.tcgx-about-page .tcgx-about-stat::before{
  left:0 !important;
  right:0 !important;
  width:auto !important;
  height:3px !important;
  border-radius:0 !important;
}




/* ==========================================================
   v100: definitive WooCommerce shop/category archive H1 styling
   ========================================================== */

/*
 * Shop/category pages are rendered through woocommerce.php in this theme.
 * Therefore target the actual WooCommerce archive header inside the
 * .tcgxchange-woocommerce-content wrapper rather than relying on
 * archive-product.php or taxonomy body classes.
 */
.tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title,
.tcgxchange-woocommerce-content .woocommerce-products-header h1.page-title,
.tcgxchange-woocommerce-content > h1.page-title{
  margin:0 0 16px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance !important;
}

/* Match the spacing/rhythm around the stronger archive title. */
.tcgxchange-woocommerce-content .woocommerce-products-header{
  margin:0 0 26px !important;
}

.tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title + .term-description,
.tcgxchange-woocommerce-content .woocommerce-products-header .term-description{
  margin-top:0 !important;
  color:#68636f !important;
  font-size:15px !important;
  line-height:1.7 !important;
}

/* Also cover the theme's legacy custom archive heading if it is ever used. */
body.woocommerce .section-head h1.page-title{
  margin:0 0 16px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance !important;
}

@media(max-width:760px){
  .tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title,
  .tcgxchange-woocommerce-content .woocommerce-products-header h1.page-title,
  .tcgxchange-woocommerce-content > h1.page-title,
  body.woocommerce .section-head h1.page-title{
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }
}

@media(max-width:480px){
  .tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title,
  .tcgxchange-woocommerce-content .woocommerce-products-header h1.page-title,
  .tcgxchange-woocommerce-content > h1.page-title,
  body.woocommerce .section-head h1.page-title{
    font-size:30px !important;
  }
}


/* ==========================================================
   v101: balanced WooCommerce archive heading spacing
   ========================================================== */

/* Match the space above and below the archive H1. */
body.woocommerce main#main-content > nav.breadcrumbs.container{
  margin-bottom:22px !important;
}

.tcgxchange-woocommerce-content .woocommerce-products-header{
  margin:0 !important;
}

.tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title,
.tcgxchange-woocommerce-content .woocommerce-products-header h1.page-title,
.tcgxchange-woocommerce-content > h1.page-title{
  margin:0 0 22px !important;
}

/* Keep the result count aligned with the new heading rhythm. */
.tcgxchange-woocommerce-content .woocommerce-result-count{
  margin-top:0 !important;
}

@media(max-width:760px){
  body.woocommerce main#main-content > nav.breadcrumbs.container{
    margin-bottom:18px !important;
  }

  .tcgxchange-woocommerce-content .woocommerce-products-header__title.page-title,
  .tcgxchange-woocommerce-content .woocommerce-products-header h1.page-title,
  .tcgxchange-woocommerce-content > h1.page-title{
    margin-bottom:18px !important;
  }
}


/* ==========================================================
   v102: infinite WooCommerce catalogue loading
   ========================================================== */

/* Pagination remains in the source as a progressive-enhancement fallback
   and as the next-page URL source, then disappears when JS initializes. */
.woocommerce .woocommerce-pagination.tcgx-pagination-hidden,
.woocommerce nav.woocommerce-pagination.tcgx-pagination-hidden{
  display:none !important;
}

.tcgx-infinite-scroll-sentinel{
  display:flex;
  width:100%;
  min-height:116px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:28px 0 20px;
  color:#89838f;
  text-align:center;
}

.tcgx-infinite-scroll-label{
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

.tcgx-pokeball-spinner{
  position:relative;
  display:none;
  width:48px;
  height:48px;
  overflow:hidden;
  border:3px solid #211a32;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px rgba(33,26,50,.11);
}

.tcgx-infinite-scroll-sentinel.is-loading .tcgx-pokeball-spinner{
  display:block;
  animation:tcgx-pokeball-spin .85s linear infinite;
}

.tcgx-pokeball-top{
  position:absolute;
  inset:0 0 50%;
  background:#ff791e;
}

.tcgx-pokeball-band{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:5px;
  margin-top:-2.5px;
  background:#211a32;
}

.tcgx-pokeball-button{
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:16px;
  height:16px;
  margin:-8px 0 0 -8px;
  border:3px solid #211a32;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 2px #fff;
}

.tcgx-infinite-scroll-sentinel.is-finished{
  min-height:72px;
  padding-top:18px;
}

.tcgx-infinite-scroll-sentinel.is-finished .tcgx-pokeball-spinner{
  display:none;
}

.tcgx-infinite-scroll-sentinel.has-error .tcgx-infinite-scroll-label{
  color:#a84b17;
}

@keyframes tcgx-pokeball-spin{
  to{transform:rotate(360deg)}
}

@media(prefers-reduced-motion:reduce){
  .tcgx-infinite-scroll-sentinel.is-loading .tcgx-pokeball-spinner{
    animation:none;
  }
}

@media(max-width:560px){
  .tcgx-infinite-scroll-sentinel{
    min-height:96px;
    padding-top:22px;
  }

  .tcgx-pokeball-spinner{
    width:42px;
    height:42px;
  }
}


/* ==========================================================
   v103: dedicated FAQ page
   ========================================================== */

.tcgx-faq-page-shell{
  background:#fff;
}

.tcgx-faq-page-shell > .breadcrumbs{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-faq-entry{
  margin:0;
}

.tcgx-faq-page{
  --faq-orange:#ff791e;
  --faq-purple:#211a32;
  --faq-soft:#f7f5fa;
  --faq-line:#e8e3ec;
  --faq-muted:#6d6874;
  color:#17141d;
  overflow:hidden;
}

.tcgx-faq-page *,
.tcgx-faq-page *::before,
.tcgx-faq-page *::after{
  box-sizing:border-box;
}

.tcgx-faq-page .tcgx-faq-container{
  width:min(calc(100% - 36px),1280px);
  margin:0 auto;
}

.tcgx-faq-page a{
  text-decoration:none;
}

/* Hero */
.tcgx-faq-hero{
  padding:14px 0 76px;
}

.tcgx-faq-hero-box{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:28px;
  min-height:470px;
  overflow:hidden;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 14%,rgba(255,121,30,.16),transparent 27%),
    radial-gradient(circle at 72% 90%,rgba(255,121,30,.07),transparent 32%),
    var(--faq-purple);
  color:#fff;
}

.tcgx-faq-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 26px 64px 64px;
}

.tcgx-faq-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:29px;
  padding:0 13px;
  border:1px solid rgba(255,121,30,.32);
  border-radius:999px;
  background:rgba(255,121,30,.10);
  color:#ff9c59;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-faq-hero h1{
  max-width:760px;
  margin:22px 0 21px;
  color:#fff;
  font-size:clamp(46px,5.2vw,70px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-faq-hero h1 span{
  color:var(--faq-orange);
}

.tcgx-faq-hero-copy > p{
  max-width:700px;
  margin:0;
  color:#cbc6d3;
  font-size:17px;
  line-height:1.75;
  text-wrap:pretty;
}

.tcgx-faq-hero-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:27px;
}

.tcgx-faq-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:49px;
  padding:0 19px;
  border:1px solid var(--faq-orange);
  border-radius:10px;
  background:var(--faq-orange);
  color:#fff !important;
  font-size:14px;
  line-height:1;
  font-weight:900;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.tcgx-faq-button:hover{
  border-color:#ff9149;
  background:#ff9149;
  color:#fff !important;
  box-shadow:0 9px 24px rgba(255,121,30,.16);
}

.tcgx-faq-button.is-secondary{
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.05);
  color:#fff !important;
}

.tcgx-faq-button.is-secondary:hover{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.10);
  color:#fff !important;
  box-shadow:none;
}

/* Hero quick-answer panel */
.tcgx-faq-quick-panel{
  display:grid;
  align-content:center;
  gap:10px;
  padding:48px 48px 48px 4px;
}

.tcgx-faq-quick{
  position:relative;
  min-height:100px;
  padding:20px 20px 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  background:rgba(255,255,255,.055);
}

.tcgx-faq-quick::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--faq-orange);
}

.tcgx-faq-quick small{
  display:block;
  margin-bottom:7px;
  color:#ff9d5c;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-faq-quick strong{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.25;
  font-weight:850;
}

.tcgx-faq-quick span{
  display:block;
  margin-top:5px;
  color:#aaa4b5;
  font-size:12px;
  line-height:1.45;
}

/* Shared sections */
.tcgx-faq-section{
  padding:78px 0;
}

.tcgx-faq-section.is-soft{
  background:var(--faq-soft);
}

.tcgx-faq-section-head{
  max-width:820px;
  margin-bottom:32px;
}

.tcgx-faq-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 13px;
  margin-bottom:15px;
  border:1px solid rgba(255,121,30,.25);
  border-radius:999px;
  background:#fff5ee;
  color:#e95f00;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-faq-section-head h2{
  margin:0;
  color:var(--faq-purple);
  font-size:clamp(34px,3.8vw,50px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-faq-section-head h2 span{
  color:var(--faq-orange);
}

.tcgx-faq-section-head > p{
  max-width:730px;
  margin:16px 0 0;
  color:var(--faq-muted);
  font-size:15px;
  line-height:1.75;
  text-wrap:pretty;
}

/* Native FAQ accordion */
.tcgx-faq-list{
  display:grid;
  gap:10px;
  max-width:980px;
}

.tcgx-faq-item{
  overflow:hidden;
  border:1px solid var(--faq-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 20px rgba(33,26,50,.025);
}

.tcgx-faq-item[open]{
  border-color:#ddd5e2;
  box-shadow:0 9px 28px rgba(33,26,50,.05);
}

.tcgx-faq-item summary{
  position:relative;
  display:flex;
  align-items:center;
  min-height:68px;
  padding:17px 58px 17px 20px;
  color:var(--faq-purple);
  font-size:15px;
  line-height:1.4;
  font-weight:850;
  cursor:pointer;
  list-style:none;
  user-select:none;
}

.tcgx-faq-item summary::-webkit-details-marker{
  display:none;
}

.tcgx-faq-item summary::before,
.tcgx-faq-item summary::after{
  content:"";
  position:absolute;
  right:21px;
  top:50%;
  width:14px;
  height:2px;
  border-radius:9px;
  background:var(--faq-orange);
  transform:translateY(-50%);
  transition:transform .18s ease;
}

.tcgx-faq-item summary::after{
  transform:translateY(-50%) rotate(90deg);
}

.tcgx-faq-item[open] summary::after{
  transform:translateY(-50%) rotate(0deg);
}

.tcgx-faq-item summary:hover{
  background:#fffaf7;
}

.tcgx-faq-answer{
  padding:0 20px 20px;
  border-top:1px solid #f0edf2;
  color:#6b6572;
  font-size:14px;
  line-height:1.75;
}

.tcgx-faq-answer p{
  margin:16px 0 0;
}

.tcgx-faq-answer ul{
  margin:13px 0 0 18px;
  padding:0;
}

.tcgx-faq-answer li + li{
  margin-top:6px;
}

.tcgx-faq-answer a{
  color:#e96209;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Policy links */
.tcgx-faq-policy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.tcgx-faq-policy-card{
  position:relative;
  display:flex;
  min-height:180px;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  overflow:hidden;
  border:1px solid var(--faq-line);
  border-radius:16px;
  background:#fff;
  color:inherit;
}

.tcgx-faq-policy-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--faq-orange);
}

.tcgx-faq-policy-card small{
  color:#aaa4af;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-faq-policy-card strong{
  display:block;
  margin:9px 0 8px;
  color:var(--faq-purple);
  font-size:19px;
  line-height:1.2;
  font-weight:850;
}

.tcgx-faq-policy-card p{
  margin:0;
  color:#746e7b;
  font-size:13px;
  line-height:1.6;
}

.tcgx-faq-policy-card > span{
  display:block;
  margin-top:18px;
  color:var(--faq-orange);
  font-size:13px;
  font-weight:900;
}

.tcgx-faq-policy-card:hover{
  border-color:#d9d0df;
  box-shadow:0 10px 28px rgba(33,26,50,.05);
}

/* Final support CTA */
.tcgx-faq-support{
  padding:80px 0 88px;
}

.tcgx-faq-support-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
  padding:40px 44px;
  border:1px solid #ebe5ef;
  border-radius:20px;
  background:#fff8f3;
}

.tcgx-faq-support-copy{
  max-width:760px;
}

.tcgx-faq-support-copy .tcgx-faq-eyebrow{
  margin-bottom:13px;
  background:#fff;
}

.tcgx-faq-support h2{
  margin:0;
  color:var(--faq-purple);
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-faq-support p{
  margin:12px 0 0;
  color:#716b77;
  font-size:15px;
  line-height:1.7;
}

.tcgx-faq-support-actions{
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.tcgx-faq-support .tcgx-faq-button.is-secondary{
  border-color:#d8d0dc;
  background:#fff;
  color:var(--faq-purple) !important;
}

.tcgx-faq-support .tcgx-faq-button.is-secondary:hover{
  border-color:var(--faq-purple);
  background:var(--faq-purple);
  color:#fff !important;
}

/* Gutenberg cleanup */
.tcgx-faq-entry > .wp-block-html,
.tcgx-faq-entry > .wp-block-group,
.tcgx-faq-entry > p:empty{
  margin:0;
}

.tcgx-faq-entry .wp-block-html{
  max-width:none;
}

@media(max-width:1000px){
  .tcgx-faq-hero-box{
    grid-template-columns:1fr;
  }

  .tcgx-faq-hero-copy{
    padding:56px 48px 30px;
  }

  .tcgx-faq-quick-panel{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:0 48px 48px;
  }

  .tcgx-faq-policy-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .tcgx-faq-page-shell > .breadcrumbs{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-faq-page .tcgx-faq-container{
    width:min(calc(100% - 24px),1280px);
  }

  .tcgx-faq-hero{
    padding-top:6px;
    padding-bottom:56px;
  }

  .tcgx-faq-hero-box{
    border-radius:20px;
  }

  .tcgx-faq-hero-copy{
    padding:40px 22px 26px;
  }

  .tcgx-faq-hero h1{
    margin-top:18px;
    font-size:clamp(42px,12vw,58px);
  }

  .tcgx-faq-hero-copy > p{
    font-size:15px;
    line-height:1.7;
  }

  .tcgx-faq-quick-panel{
    grid-template-columns:1fr;
    padding:0 22px 28px;
  }

  .tcgx-faq-quick{
    min-height:0;
  }

  .tcgx-faq-section{
    padding:60px 0;
  }

  .tcgx-faq-section-head{
    margin-bottom:26px;
  }

  .tcgx-faq-policy-grid{
    grid-template-columns:1fr;
  }

  .tcgx-faq-support{
    padding:58px 0 66px;
  }

  .tcgx-faq-support-box{
    display:block;
    padding:28px 24px;
  }

  .tcgx-faq-support-actions{
    justify-content:flex-start;
    margin-top:24px;
  }
}

@media(max-width:480px){
  .tcgx-faq-hero-links,
  .tcgx-faq-support-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .tcgx-faq-button{
    width:100%;
  }

  .tcgx-faq-item summary{
    min-height:64px;
    padding:15px 52px 15px 16px;
    font-size:14px;
  }

  .tcgx-faq-answer{
    padding:0 16px 18px;
  }
}


/* ==========================================================
   v104: simplified FAQ page heading
   ========================================================== */

.tcgx-faq-page-head{
  padding:0 0 52px;
}

.tcgx-faq-page-head .tcgx-faq-container{
  width:min(calc(100% - 36px),1280px);
  margin:0 auto;
}

.tcgx-faq-page-head h1{
  max-width:900px;
  margin:0 0 22px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.tcgx-faq-page-head p{
  max-width:760px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.7;
  text-wrap:pretty;
}

@media(max-width:760px){
  .tcgx-faq-page-head{
    padding-bottom:42px;
  }

  .tcgx-faq-page-head .tcgx-faq-container{
    width:min(calc(100% - 24px),1280px);
  }

  .tcgx-faq-page-head h1{
    margin-bottom:18px !important;
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }
}

@media(max-width:480px){
  .tcgx-faq-page-head h1{
    font-size:30px !important;
  }
}


/* ==========================================================
   v105: dedicated Contact page + Contact Form 7 styling
   ========================================================== */

.tcgx-contact-page-shell{
  background:#fff;
}

.tcgx-contact-page-shell > .breadcrumbs{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-contact-entry{
  margin:0;
}

.tcgx-contact-page{
  --contact-orange:#ff791e;
  --contact-purple:#211a32;
  --contact-soft:#f7f5fa;
  --contact-line:#e8e3ec;
  --contact-muted:#6d6874;
  color:#17141d;
  overflow:hidden;
}

.tcgx-contact-page *,
.tcgx-contact-page *::before,
.tcgx-contact-page *::after{
  box-sizing:border-box;
}

.tcgx-contact-page .tcgx-contact-container{
  width:min(calc(100% - 36px),1280px);
  margin:0 auto;
}

.tcgx-contact-page a{
  text-decoration:none;
}

/* Simple page heading, aligned with Shop/Category H1 styling */
.tcgx-contact-page-head{
  padding:0 0 46px;
}

.tcgx-contact-page-head h1{
  max-width:900px;
  margin:0 0 22px !important;
  color:var(--contact-purple) !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.tcgx-contact-page-head p{
  max-width:760px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.7;
  text-wrap:pretty;
}

/* Main contact layout */
.tcgx-contact-main{
  padding:0 0 80px;
}

.tcgx-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:28px;
  align-items:start;
}

.tcgx-contact-info-panel,
.tcgx-contact-form-panel{
  border:1px solid var(--contact-line);
  border-radius:20px;
  background:#fff;
}

.tcgx-contact-info-panel{
  padding:30px;
  background:
    linear-gradient(180deg,#fff 0%,#fcfafc 100%);
}

.tcgx-contact-form-panel{
  padding:32px;
  box-shadow:0 12px 34px rgba(33,26,50,.04);
}

.tcgx-contact-kicker,
.tcgx-contact-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 13px;
  margin-bottom:15px;
  border:1px solid rgba(255,121,30,.25);
  border-radius:999px;
  background:#fff5ee;
  color:#e95f00;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-contact-info-panel h2,
.tcgx-contact-form-panel h2,
.tcgx-contact-hours h2{
  margin:0;
  color:var(--contact-purple);
  font-size:clamp(28px,3vw,38px);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-contact-info-panel > p,
.tcgx-contact-form-panel > p{
  margin:14px 0 0;
  color:var(--contact-muted);
  font-size:14px;
  line-height:1.75;
}

/* Contact method cards */
.tcgx-contact-methods{
  display:grid;
  gap:10px;
  margin-top:27px;
}

.tcgx-contact-method{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-height:82px;
  padding:15px 16px;
  border:1px solid var(--contact-line);
  border-radius:14px;
  background:#fff;
  color:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.tcgx-contact-method:hover{
  border-color:#d8cfde;
  background:#fffaf7;
  box-shadow:0 8px 24px rgba(33,26,50,.04);
}

.tcgx-contact-method-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,121,30,.28);
  border-radius:11px;
  background:#fff6ef;
  color:var(--contact-orange);
}

.tcgx-contact-method-icon svg{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tcgx-contact-method-copy small{
  display:block;
  margin-bottom:5px;
  color:#9a939f;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-contact-method-copy strong{
  display:block;
  color:var(--contact-purple);
  font-size:15px;
  line-height:1.25;
  font-weight:850;
}

.tcgx-contact-method-copy span{
  display:block;
  margin-top:3px;
  color:#79727f;
  font-size:12px;
  line-height:1.45;
}

.tcgx-contact-method-arrow{
  color:var(--contact-orange);
  font-size:18px;
  font-weight:900;
}

/* Trading hours */
.tcgx-contact-hours{
  margin-top:16px;
  padding:22px;
  border-radius:15px;
  background:var(--contact-purple);
  color:#fff;
}

.tcgx-contact-hours .tcgx-contact-eyebrow{
  margin-bottom:13px;
  border-color:rgba(255,121,30,.35);
  background:rgba(255,121,30,.09);
  color:#ff9b57;
}

.tcgx-contact-hours h2{
  color:#fff;
  font-size:23px;
}

.tcgx-contact-hours-list{
  display:grid;
  gap:10px;
  margin-top:17px;
}

.tcgx-contact-hours-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.10);
  color:#cfc9d6;
  font-size:13px;
}

.tcgx-contact-hours-row:first-child{
  padding-top:0;
  border-top:0;
}

.tcgx-contact-hours-row strong{
  color:#fff;
  font-weight:850;
}

/* Contact Form 7 */
.tcgx-contact-form-wrap{
  margin-top:26px;
}

.tcgx-contact-form-wrap .wpcf7{
  margin:0;
}

.tcgx-contact-form-wrap .wpcf7 form{
  margin:0;
}

.tcgx-contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 16px;
}

.tcgx-contact-field{
  margin:0;
}

.tcgx-contact-field.is-full{
  grid-column:1/-1;
}

.tcgx-contact-field label{
  display:block;
  margin:0 0 8px;
  color:var(--contact-purple);
  font-size:12px;
  line-height:1.3;
  font-weight:850;
}

.tcgx-contact-field label .tcgx-required{
  color:var(--contact-orange);
}

.tcgx-contact-form-wrap .wpcf7-form-control-wrap{
  display:block;
  width:100%;
}

.tcgx-contact-form-wrap input[type="text"],
.tcgx-contact-form-wrap input[type="email"],
.tcgx-contact-form-wrap input[type="tel"],
.tcgx-contact-form-wrap select,
.tcgx-contact-form-wrap textarea{
  display:block;
  width:100%;
  margin:0;
  border:1px solid #ddd7e2;
  border-radius:10px;
  background:#fff;
  color:#211a32;
  font-family:inherit;
  font-size:14px;
  line-height:1.4;
  box-shadow:none;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.tcgx-contact-form-wrap input[type="text"],
.tcgx-contact-form-wrap input[type="email"],
.tcgx-contact-form-wrap input[type="tel"],
.tcgx-contact-form-wrap select{
  min-height:50px;
  padding:0 14px;
}

.tcgx-contact-form-wrap textarea{
  min-height:168px;
  padding:14px;
  resize:vertical;
}

.tcgx-contact-form-wrap select{
  appearance:auto;
}

.tcgx-contact-form-wrap input::placeholder,
.tcgx-contact-form-wrap textarea::placeholder{
  color:#aaa4af;
  opacity:1;
}

.tcgx-contact-form-wrap input:focus,
.tcgx-contact-form-wrap select:focus,
.tcgx-contact-form-wrap textarea:focus{
  border-color:var(--contact-orange);
  box-shadow:0 0 0 3px rgba(255,121,30,.10);
}

.tcgx-contact-form-wrap .wpcf7-not-valid{
  border-color:#d94a4a !important;
}

.tcgx-contact-form-wrap .wpcf7-not-valid-tip{
  margin-top:6px;
  color:#c33d3d;
  font-size:11px;
  font-weight:700;
}

.tcgx-contact-form-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
}

.tcgx-contact-form-wrap input[type="submit"],
.tcgx-contact-form-wrap button[type="submit"],
.tcgx-contact-form-wrap .wpcf7-submit{
  min-height:50px;
  margin:0;
  padding:0 22px;
  border:1px solid var(--contact-orange);
  border-radius:10px;
  background:var(--contact-orange);
  color:#fff !important;
  font-family:inherit;
  font-size:14px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:none;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.tcgx-contact-form-wrap input[type="submit"]:hover,
.tcgx-contact-form-wrap button[type="submit"]:hover,
.tcgx-contact-form-wrap .wpcf7-submit:hover{
  border-color:#ff9149;
  background:#ff9149;
  color:#fff !important;
  box-shadow:0 9px 24px rgba(255,121,30,.16);
}

.tcgx-contact-form-wrap .wpcf7-spinner{
  margin:0;
}

.tcgx-contact-form-wrap .wpcf7-response-output{
  margin:18px 0 0 !important;
  padding:12px 14px !important;
  border-width:1px !important;
  border-radius:10px;
  font-size:12px;
  line-height:1.55;
}

.tcgx-contact-form-wrap form.sent .wpcf7-response-output{
  border-color:#b8dfcf !important;
  background:#f2fbf7;
  color:#207456;
}

.tcgx-contact-form-wrap form.invalid .wpcf7-response-output,
.tcgx-contact-form-wrap form.failed .wpcf7-response-output,
.tcgx-contact-form-wrap form.unaccepted .wpcf7-response-output{
  border-color:#efc4c4 !important;
  background:#fff6f6;
  color:#a23e3e;
}

/* Helpful links row */
.tcgx-contact-help{
  padding:72px 0;
  background:var(--contact-soft);
}

.tcgx-contact-help-head{
  max-width:760px;
  margin-bottom:30px;
}

.tcgx-contact-help-head h2{
  margin:0;
  color:var(--contact-purple);
  font-size:clamp(32px,3.7vw,48px);
  line-height:1.03;
  letter-spacing:-.045em;
  font-weight:900;
  text-wrap:balance;
}

.tcgx-contact-help-head h2 span{
  color:var(--contact-orange);
}

.tcgx-contact-help-head p{
  max-width:680px;
  margin:14px 0 0;
  color:var(--contact-muted);
  font-size:15px;
  line-height:1.7;
}

.tcgx-contact-help-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.tcgx-contact-help-card{
  position:relative;
  min-height:175px;
  padding:23px;
  overflow:hidden;
  border:1px solid var(--contact-line);
  border-radius:16px;
  background:#fff;
  color:inherit;
}

.tcgx-contact-help-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:var(--contact-orange);
}

.tcgx-contact-help-card small{
  display:block;
  color:#9f98a5;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-contact-help-card strong{
  display:block;
  margin:10px 0 8px;
  color:var(--contact-purple);
  font-size:18px;
  line-height:1.25;
  font-weight:850;
}

.tcgx-contact-help-card p{
  margin:0;
  color:#756f7b;
  font-size:13px;
  line-height:1.6;
}

.tcgx-contact-help-card > span{
  display:block;
  margin-top:17px;
  color:var(--contact-orange);
  font-size:13px;
  font-weight:900;
}

.tcgx-contact-help-card:hover{
  border-color:#d8cfde;
  box-shadow:0 10px 28px rgba(33,26,50,.05);
}

/* Gutenberg cleanup */
.tcgx-contact-entry > .wp-block-html,
.tcgx-contact-entry > .wp-block-group,
.tcgx-contact-entry > p:empty{
  margin:0;
}

.tcgx-contact-entry .wp-block-html{
  max-width:none;
}

@media(max-width:960px){
  .tcgx-contact-grid{
    grid-template-columns:1fr;
  }

  .tcgx-contact-help-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .tcgx-contact-page-shell > .breadcrumbs{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-contact-page .tcgx-contact-container{
    width:min(calc(100% - 24px),1280px);
  }

  .tcgx-contact-page-head{
    padding-bottom:38px;
  }

  .tcgx-contact-page-head h1{
    margin-bottom:18px !important;
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }

  .tcgx-contact-main{
    padding-bottom:58px;
  }

  .tcgx-contact-info-panel,
  .tcgx-contact-form-panel{
    padding:24px 20px;
    border-radius:17px;
  }

  .tcgx-contact-form-grid{
    grid-template-columns:1fr;
  }

  .tcgx-contact-field.is-full{
    grid-column:auto;
  }

  .tcgx-contact-help{
    padding:58px 0;
  }

  .tcgx-contact-help-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:480px){
  .tcgx-contact-page-head h1{
    font-size:30px !important;
  }

  .tcgx-contact-method{
    grid-template-columns:42px minmax(0,1fr);
  }

  .tcgx-contact-method-arrow{
    display:none;
  }

  .tcgx-contact-form-actions{
    display:block;
  }

  .tcgx-contact-form-wrap input[type="submit"],
  .tcgx-contact-form-wrap button[type="submit"],
  .tcgx-contact-form-wrap .wpcf7-submit{
    width:100%;
  }

  .tcgx-contact-form-wrap .wpcf7-spinner{
    display:block;
    margin:12px auto 0;
  }
}


/* ==========================================================
   v106: Contact Form 7 spacing + field label refinement
   ========================================================== */

/* Tighten the vertical rhythm between Contact Form 7 rows. */
.tcgx-contact-form-grid{
  gap:14px 16px !important;
}

.tcgx-contact-field label{
  margin-bottom:7px !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:-.01em;
}

/* Remove Contact Form 7 / paragraph margins that can create oversized gaps. */
.tcgx-contact-form-wrap p{
  margin:0 !important;
}

.tcgx-contact-form-wrap .wpcf7-form-control-wrap{
  margin:0 !important;
}

.tcgx-contact-form-wrap input[type="text"],
.tcgx-contact-form-wrap input[type="email"],
.tcgx-contact-form-wrap input[type="tel"],
.tcgx-contact-form-wrap select{
  min-height:48px !important;
}

.tcgx-contact-form-wrap textarea{
  min-height:150px !important;
}

/* Keep the submit button closer to the message field. */
.tcgx-contact-form-actions{
  margin-top:14px !important;
}

@media(max-width:760px){
  .tcgx-contact-form-grid{
    gap:13px !important;
  }

  .tcgx-contact-field label{
    font-size:13px !important;
  }
}


/* ==========================================================
   v1.1: shared Legal / Policy page system
   ========================================================== */

.tcgx-policy-page-shell{
  background:#fff;
}

.tcgx-policy-page-shell > .breadcrumbs{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-policy-entry{
  margin:0;
}

.tcgx-policy-page{
  --policy-orange:#ff791e;
  --policy-purple:#211a32;
  --policy-soft:#f8f6fa;
  --policy-line:#e8e3ec;
  --policy-muted:#6d6874;
  color:#211a32;
  padding:0 0 82px;
}

.tcgx-policy-page *,
.tcgx-policy-page *::before,
.tcgx-policy-page *::after{
  box-sizing:border-box;
}

.tcgx-policy-page .tcgx-policy-container{
  width:min(calc(100% - 36px),1280px);
  margin:0 auto;
}

/* Shop/category-style page heading */
.tcgx-policy-head{
  padding:0 0 42px;
}

.tcgx-policy-head h1{
  max-width:900px;
  margin:0 0 22px !important;
  color:var(--policy-purple) !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.tcgx-policy-head p{
  max-width:790px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.75;
  text-wrap:pretty;
}

/* Main reading layout */
.tcgx-policy-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:30px;
  align-items:start;
}

.tcgx-policy-content{
  overflow:hidden;
  border:1px solid var(--policy-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 32px rgba(33,26,50,.035);
}

.tcgx-policy-section{
  padding:30px 32px;
  border-top:1px solid #eeeaf1;
}

.tcgx-policy-section:first-child{
  border-top:0;
}

.tcgx-policy-section h2{
  margin:0 0 13px;
  color:var(--policy-purple);
  font-size:23px;
  line-height:1.15;
  letter-spacing:-.025em;
  font-weight:900;
}

.tcgx-policy-section h3{
  margin:22px 0 9px;
  color:var(--policy-purple);
  font-size:16px;
  line-height:1.3;
  font-weight:900;
}

.tcgx-policy-section p{
  margin:0;
  color:var(--policy-muted);
  font-size:14px;
  line-height:1.78;
}

.tcgx-policy-section p + p{
  margin-top:12px;
}

.tcgx-policy-section ul,
.tcgx-policy-section ol{
  margin:12px 0 0;
  padding-left:21px;
  color:var(--policy-muted);
  font-size:14px;
  line-height:1.72;
}

.tcgx-policy-section li + li{
  margin-top:7px;
}

.tcgx-policy-section strong{
  color:var(--policy-purple);
  font-weight:850;
}

.tcgx-policy-section a{
  color:#df5d08;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Small callout used only where policy text needs emphasis */
.tcgx-policy-note{
  margin-top:18px;
  padding:15px 17px;
  border:1px solid rgba(255,121,30,.23);
  border-left:3px solid var(--policy-orange);
  border-radius:10px;
  background:#fff8f3;
}

.tcgx-policy-note strong{
  display:block;
  margin-bottom:5px;
  color:var(--policy-purple);
  font-size:13px;
}

.tcgx-policy-note p{
  color:#6d6570;
  font-size:13px;
  line-height:1.65;
}

/* Compact policy metadata */
.tcgx-policy-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}

.tcgx-policy-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border:1px solid #e6e0e9;
  border-radius:999px;
  background:#faf9fb;
  color:#837c88;
  font-size:10px;
  line-height:1;
  font-weight:850;
}

/* Legal navigation */
.tcgx-policy-sidebar{
  position:sticky;
  top:118px;
  display:grid;
  gap:14px;
}

.tcgx-policy-nav,
.tcgx-policy-help{
  padding:20px;
  border:1px solid var(--policy-line);
  border-radius:15px;
  background:var(--policy-soft);
}

.tcgx-policy-nav h2,
.tcgx-policy-help h2{
  margin:0 0 13px;
  color:var(--policy-purple);
  font-size:15px;
  line-height:1.3;
  font-weight:900;
}

.tcgx-policy-nav ul{
  margin:0;
  padding:0;
  list-style:none;
}

.tcgx-policy-nav li + li{
  margin-top:5px;
}

.tcgx-policy-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:39px;
  padding:7px 9px;
  border-radius:8px;
  color:#6c6572;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
  text-decoration:none;
}

.tcgx-policy-nav a::after{
  content:"→";
  color:var(--policy-orange);
  font-weight:900;
}

.tcgx-policy-nav a:hover,
.tcgx-policy-nav a[aria-current="page"]{
  background:#fff;
  color:var(--policy-purple);
}

.tcgx-policy-nav a[aria-current="page"]{
  box-shadow:inset 3px 0 0 var(--policy-orange);
}

.tcgx-policy-help{
  background:var(--policy-purple);
  border-color:var(--policy-purple);
}

.tcgx-policy-help h2{
  color:#fff;
}

.tcgx-policy-help p{
  margin:0;
  color:#c8c2d0;
  font-size:12px;
  line-height:1.65;
}

.tcgx-policy-help a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-top:14px;
  padding:0 14px;
  border-radius:8px;
  background:var(--policy-orange);
  color:#fff !important;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.tcgx-policy-help a:hover{
  background:#ff9149;
  color:#fff !important;
}

/* Gutenberg cleanup */
.tcgx-policy-entry > .wp-block-html,
.tcgx-policy-entry > .wp-block-group,
.tcgx-policy-entry > p:empty{
  margin:0;
}

.tcgx-policy-entry .wp-block-html{
  max-width:none;
}

@media(max-width:900px){
  .tcgx-policy-layout{
    grid-template-columns:1fr;
  }

  .tcgx-policy-sidebar{
    position:static;
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .tcgx-policy-page-shell > .breadcrumbs{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-policy-page{
    padding-bottom:62px;
  }

  .tcgx-policy-page .tcgx-policy-container{
    width:min(calc(100% - 24px),1280px);
  }

  .tcgx-policy-head{
    padding-bottom:34px;
  }

  .tcgx-policy-head h1{
    margin-bottom:18px !important;
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }

  .tcgx-policy-section{
    padding:24px 22px;
  }

  .tcgx-policy-section h2{
    font-size:21px;
  }
}

@media(max-width:560px){
  .tcgx-policy-sidebar{
    grid-template-columns:1fr;
  }
}

@media(max-width:480px){
  .tcgx-policy-head h1{
    font-size:30px !important;
  }

  .tcgx-policy-content{
    border-radius:15px;
  }

  .tcgx-policy-section{
    padding:22px 18px;
  }
}


/* ==========================================================
   v1.2: Pre-Order policy refinements
   ========================================================== */

/* Compact summary cards for the most important pre-order points. */
.tcgx-policy-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 18px;
}

.tcgx-policy-summary-card{
  position:relative;
  min-height:112px;
  padding:18px;
  overflow:hidden;
  border:1px solid var(--policy-line);
  border-radius:13px;
  background:#fff;
}

.tcgx-policy-summary-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--policy-orange);
}

.tcgx-policy-summary-card small{
  display:block;
  margin-bottom:8px;
  color:#9a939f;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-policy-summary-card strong{
  display:block;
  color:var(--policy-purple);
  font-size:15px;
  line-height:1.25;
  font-weight:900;
}

.tcgx-policy-summary-card span{
  display:block;
  margin-top:5px;
  color:#77707d;
  font-size:12px;
  line-height:1.5;
}

/* Slightly stronger warning treatment for release-date / allocation notes. */
.tcgx-policy-note.is-warning{
  border-color:#f0d5c3;
  border-left-color:var(--policy-orange);
  background:#fff8f3;
}

.tcgx-policy-note.is-warning strong{
  color:#c64e00;
}

/* Final policy-change notice */
.tcgx-policy-change-note{
  margin:0;
  padding:17px 19px;
  border-top:1px solid #eeeaf1;
  background:#faf9fb;
  color:#817a87;
  font-size:12px;
  line-height:1.65;
}

.tcgx-policy-change-note strong{
  color:var(--policy-purple);
  font-weight:900;
}

@media(max-width:760px){
  .tcgx-policy-summary-grid{
    grid-template-columns:1fr;
  }

  .tcgx-policy-summary-card{
    min-height:0;
  }
}


/* ==========================================================
   v1.3: policy page typography + spacing refinement
   ========================================================== */

/* Slightly tighter page intro so the policy content starts sooner. */
.tcgx-policy-page .tcgx-policy-head{
  padding-bottom:30px !important;
}

.tcgx-policy-page .tcgx-policy-head h1{
  margin-bottom:16px !important;
}

.tcgx-policy-page .tcgx-policy-head p{
  max-width:820px;
  font-size:16px !important;
  line-height:1.68 !important;
}

/* Give the reading column a little more room and reduce dead space. */
.tcgx-policy-page .tcgx-policy-layout{
  grid-template-columns:minmax(0,1fr) 260px !important;
  gap:24px !important;
}

.tcgx-policy-page .tcgx-policy-section{
  padding:25px 28px !important;
}

.tcgx-policy-page .tcgx-policy-section h2{
  margin-bottom:11px !important;
  font-size:24px !important;
  line-height:1.14 !important;
  letter-spacing:-.03em !important;
}

.tcgx-policy-page .tcgx-policy-section h3{
  font-size:17px !important;
}

.tcgx-policy-page .tcgx-policy-section p,
.tcgx-policy-page .tcgx-policy-section ul,
.tcgx-policy-page .tcgx-policy-section ol{
  font-size:15px !important;
  line-height:1.68 !important;
}

.tcgx-policy-page .tcgx-policy-section p + p{
  margin-top:10px !important;
}

.tcgx-policy-page .tcgx-policy-section ul,
.tcgx-policy-page .tcgx-policy-section ol{
  margin-top:10px !important;
}

/* Make the three pre-order summary items visibly behave as cards even if
   older broad theme rules or Gutenberg wrappers try to flatten them. */
.tcgx-policy-page .tcgx-policy-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 20px !important;
}

.tcgx-policy-page .tcgx-policy-summary-card{
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  min-height:118px !important;
  margin:0 !important;
  padding:19px 18px 17px !important;
  overflow:hidden !important;
  border:1px solid #e5dfe9 !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(33,26,50,.025) !important;
}

.tcgx-policy-page .tcgx-policy-summary-card::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:auto !important;
  height:3px !important;
  background:#ff791e !important;
}

.tcgx-policy-page .tcgx-policy-summary-card small{
  display:block !important;
  margin:0 0 8px !important;
  color:#9a939f !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

.tcgx-policy-page .tcgx-policy-summary-card strong{
  display:block !important;
  margin:0 !important;
  color:#211a32 !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

.tcgx-policy-page .tcgx-policy-summary-card span{
  display:block !important;
  margin:6px 0 0 !important;
  color:#716a77 !important;
  font-size:13px !important;
  line-height:1.48 !important;
}

/* Callouts were a little too small compared with the main policy copy. */
.tcgx-policy-page .tcgx-policy-note{
  margin-top:15px !important;
  padding:14px 16px !important;
}

.tcgx-policy-page .tcgx-policy-note strong{
  margin-bottom:4px !important;
  font-size:14px !important;
}

.tcgx-policy-page .tcgx-policy-note p{
  font-size:13px !important;
  line-height:1.58 !important;
}

/* Improve sidebar readability without making it visually heavy. */
.tcgx-policy-page .tcgx-policy-sidebar{
  top:110px !important;
  gap:12px !important;
}

.tcgx-policy-page .tcgx-policy-nav,
.tcgx-policy-page .tcgx-policy-help{
  padding:18px !important;
}

.tcgx-policy-page .tcgx-policy-nav h2,
.tcgx-policy-page .tcgx-policy-help h2{
  font-size:16px !important;
}

.tcgx-policy-page .tcgx-policy-nav a{
  min-height:38px !important;
  padding:7px 9px !important;
  font-size:13px !important;
  line-height:1.3 !important;
}

.tcgx-policy-page .tcgx-policy-help p{
  font-size:13px !important;
  line-height:1.55 !important;
}

.tcgx-policy-page .tcgx-policy-change-note{
  padding:14px 18px !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

/* Keep bottom spacing proportionate to the tighter reading layout. */
.tcgx-policy-page{
  padding-bottom:68px !important;
}

@media(max-width:900px){
  .tcgx-policy-page .tcgx-policy-layout{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  .tcgx-policy-page .tcgx-policy-head{
    padding-bottom:26px !important;
  }

  .tcgx-policy-page .tcgx-policy-head h1{
    margin-bottom:14px !important;
  }

  .tcgx-policy-page .tcgx-policy-head p{
    font-size:15px !important;
  }

  .tcgx-policy-page .tcgx-policy-summary-grid{
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-bottom:14px !important;
  }

  .tcgx-policy-page .tcgx-policy-summary-card{
    min-height:0 !important;
    padding:17px !important;
  }

  .tcgx-policy-page .tcgx-policy-section{
    padding:22px 20px !important;
  }

  .tcgx-policy-page .tcgx-policy-section h2{
    font-size:21px !important;
  }

  .tcgx-policy-page .tcgx-policy-section p,
  .tcgx-policy-page .tcgx-policy-section ul,
  .tcgx-policy-page .tcgx-policy-section ol{
    font-size:14px !important;
  }
}


/* ==========================================================
   v1.4: Refund Policy refinements
   ========================================================== */

/* Compact summary row used on the Refund Policy page. */
.tcgx-policy-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 20px;
}

.tcgx-policy-status-card{
  position:relative;
  min-height:116px;
  padding:18px;
  overflow:hidden;
  border:1px solid var(--policy-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 18px rgba(33,26,50,.025);
}

.tcgx-policy-status-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--policy-orange);
}

.tcgx-policy-status-card small{
  display:block;
  margin:0 0 8px;
  color:#9a939f;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.tcgx-policy-status-card strong{
  display:block;
  margin:0;
  color:var(--policy-purple);
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}

.tcgx-policy-status-card span{
  display:block;
  margin:6px 0 0;
  color:#716a77;
  font-size:13px;
  line-height:1.48;
}

/* Keep exclusions easy to scan without turning the page into a card-heavy design. */
.tcgx-policy-exclusions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  margin-top:14px;
  padding:0;
  list-style:none;
}

.tcgx-policy-exclusions li{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  min-height:48px;
  margin:0 !important;
  padding:12px 18px;
  border:1px solid #eee9f1;
  border-radius:9px;
  background:#faf9fb;
  color:#625c68;
  font-size:13px;
  line-height:1.45;
}

.tcgx-policy-exclusions li::before{
  content:"×";
  display:flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  color:var(--policy-orange);
  font-size:16px;
  line-height:1;
  font-weight:900;
}

@media(max-width:760px){
  .tcgx-policy-status-grid{
    grid-template-columns:1fr;
    gap:9px;
    margin-bottom:14px;
  }

  .tcgx-policy-status-card{
    min-height:0;
    padding:17px;
  }

  .tcgx-policy-exclusions{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v1.7: remove Refund Policy exclusions left gutter
   ========================================================== */

.tcgx-policy-page .tcgx-policy-section ul.tcgx-policy-exclusions{
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  width:100% !important;
}


/* ==========================================================
   v1.8: Privacy Policy content helpers
   ========================================================== */

/* Clean two-column information groups for privacy/data categories. */
.tcgx-policy-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.tcgx-policy-data-card{
  padding:16px 17px;
  border:1px solid #ece7ef;
  border-radius:10px;
  background:#faf9fb;
}

.tcgx-policy-data-card strong{
  display:block;
  margin:0 0 5px;
  color:var(--policy-purple);
  font-size:14px;
  line-height:1.3;
  font-weight:900;
}

.tcgx-policy-data-card span{
  display:block;
  color:#716a77;
  font-size:13px;
  line-height:1.55;
}

/* Compact rights list without the default policy-list indentation. */
.tcgx-policy-rights{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin:14px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

.tcgx-policy-rights li{
  position:relative;
  margin:0 !important;
  padding:11px 13px 11px 34px;
  border:1px solid #ece7ef;
  border-radius:9px;
  background:#fff;
  color:#625c68;
  font-size:13px;
  line-height:1.5;
}

.tcgx-policy-rights li::before{
  content:"✓";
  position:absolute;
  left:13px;
  top:11px;
  color:var(--policy-orange);
  font-weight:900;
}

@media(max-width:760px){
  .tcgx-policy-data-grid,
  .tcgx-policy-rights{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   v1.9: Terms of Service content helpers
   ========================================================== */

/* Restrained top summary for the Terms page. */
.tcgx-policy-terms-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 20px;
}

.tcgx-policy-terms-card{
  position:relative;
  min-height:112px;
  padding:18px;
  overflow:hidden;
  border:1px solid var(--policy-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 18px rgba(33,26,50,.025);
}

.tcgx-policy-terms-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--policy-orange);
}

.tcgx-policy-terms-card small{
  display:block;
  margin:0 0 8px;
  color:#9a939f;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.tcgx-policy-terms-card strong{
  display:block;
  margin:0;
  color:var(--policy-purple);
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}

.tcgx-policy-terms-card span{
  display:block;
  margin:6px 0 0;
  color:#716a77;
  font-size:13px;
  line-height:1.48;
}

/* Small legal-emphasis box for particularly important terms. */
.tcgx-policy-legal-box{
  margin-top:16px;
  padding:16px 18px;
  border:1px solid #e4dfe8;
  border-radius:10px;
  background:#faf9fb;
}

.tcgx-policy-legal-box strong{
  display:block;
  margin-bottom:5px;
  color:var(--policy-purple);
  font-size:14px;
  font-weight:900;
}

.tcgx-policy-legal-box p{
  margin:0 !important;
  color:#6f6875;
  font-size:13px !important;
  line-height:1.62 !important;
}

@media(max-width:760px){
  .tcgx-policy-terms-grid{
    grid-template-columns:1fr;
    gap:9px;
    margin-bottom:14px;
  }

  .tcgx-policy-terms-card{
    min-height:0;
    padding:17px;
  }
}


/* ==========================================================
   v1.10: policy sidebar sticky offset refinement
   ========================================================== */

@media(min-width:901px){
  .tcgx-policy-page .tcgx-policy-sidebar{
    top:140px !important;
  }
}


/* ==========================================================
   v1.11: Cart page redesign + slide-out mini cart
   ========================================================== */

/* ---------- Cart page frame ---------- */
body.woocommerce-cart{
  background:#fff;
}

body.woocommerce-cart main#main-content > .breadcrumbs.container{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-cart-page{
  padding-bottom:78px;
}

.tcgx-cart-page-head{
  padding:0 0 28px;
}

.tcgx-cart-page-head h1{
  max-width:900px;
  margin:0 0 16px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.tcgx-cart-page-head p{
  max-width:720px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.7;
}

.tcgx-cart-page-content{
  margin:0;
}

/* ---------- WooCommerce Cart Block ---------- */
body.woocommerce-cart .wp-block-woocommerce-cart{
  margin:0 !important;
  max-width:none !important;
}

body.woocommerce-cart .wc-block-cart{
  margin:0 !important;
}

body.woocommerce-cart .wc-block-cart-items{
  overflow:hidden;
  border:1px solid #e7e2ea !important;
  border-radius:16px !important;
  background:#fff;
}

body.woocommerce-cart .wc-block-cart-items thead{
  background:#faf9fb;
}

body.woocommerce-cart .wc-block-cart-items th{
  padding:15px 18px !important;
  border-bottom:1px solid #eae5ed !important;
  color:#8b8490 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase;
}

body.woocommerce-cart .wc-block-cart-items td{
  padding:20px 18px !important;
  border-top:1px solid #eeeaf1 !important;
  vertical-align:middle !important;
}

body.woocommerce-cart .wc-block-cart-item__image img{
  border-radius:10px;
  background:#fff;
}

body.woocommerce-cart .wc-block-components-product-name{
  color:#211a32 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-price{
  color:#211a32 !important;
  font-weight:850 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector{
  min-height:40px;
  border:1px solid #ddd7e2 !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input{
  color:#211a32 !important;
  font-weight:800 !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link{
  color:#8c8591 !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover{
  color:#ff791e !important;
}

body.woocommerce-cart .wc-block-cart__sidebar{
  padding-left:26px !important;
}

body.woocommerce-cart .wc-block-components-sidebar{
  margin:0 !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__totals-title{
  border-color:#e8e3ec !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
  overflow:hidden;
  border:1px solid #e7e2ea;
  border-radius:16px;
  background:#faf9fb;
}

body.woocommerce-cart .wc-block-cart__totals-title{
  padding:18px 20px !important;
  color:#211a32 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-components-totals-item{
  padding-left:20px !important;
  padding-right:20px !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value{
  color:#211a32 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item{
  padding-top:17px !important;
  padding-bottom:17px !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:17px !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-cart__submit-container{
  margin-top:12px !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button{
  min-height:52px !important;
  border-radius:10px !important;
  background:#ff791e !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:none !important;
  transition:background-color .18s ease,box-shadow .18s ease !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:hover{
  background:#ff9149 !important;
  color:#fff !important;
  box-shadow:0 9px 24px rgba(255,121,30,.15) !important;
}

body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-combobox .wc-block-components-combobox-control input{
  border-color:#ddd7e2 !important;
  border-radius:9px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button{
  min-height:42px !important;
  border-radius:8px !important;
}

/* ---------- Empty cart ---------- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  max-width:720px !important;
  margin:4px auto 0 !important;
  padding:50px 40px !important;
  border:1px solid #e8e3ec;
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,121,30,.065),transparent 38%),
    #faf9fb;
  text-align:center;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title{
  margin:0 0 12px !important;
  padding:0 !important;
  color:#211a32 !important;
  font-size:clamp(26px,3vw,34px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{
  display:none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > p.has-text-align-center{
  margin:0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > p.has-text-align-center a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:12px;
  padding:0 20px;
  border-radius:10px;
  background:#ff791e;
  color:#fff !important;
  font-size:13px;
  font-weight:900;
  text-decoration:none !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > p.has-text-align-center a:hover{
  background:#ff9149;
  color:#fff !important;
}

/* Remove WooCommerce's default empty-cart "New in store" recommendations. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-separator,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block > [data-block-name="woocommerce/product-collection"],
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new{
  display:none !important;
}

/* ---------- Drawer ---------- */
body.tcgx-cart-drawer-open{
  overflow:hidden !important;
}

.tcgx-cart-drawer-overlay{
  position:fixed;
  inset:0;
  z-index:99997;
  visibility:hidden;
  background:rgba(18,14,26,.48);
  opacity:0;
  backdrop-filter:blur(2px);
  transition:opacity .24s ease,visibility .24s ease;
}

.tcgx-cart-drawer-overlay.is-open{
  visibility:visible;
  opacity:1;
}

.tcgx-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:99998;
  display:flex;
  width:min(440px,calc(100vw - 24px));
  height:100dvh;
  flex-direction:column;
  visibility:hidden;
  overflow:hidden;
  border-left:1px solid #e6e0e9;
  background:#fff;
  box-shadow:-22px 0 55px rgba(25,18,37,.17);
  transform:translateX(102%);
  transition:transform .28s cubic-bezier(.2,.75,.25,1),visibility .28s ease;
}

.tcgx-cart-drawer.is-open{
  visibility:visible;
  transform:translateX(0);
}

.tcgx-cart-drawer-header{
  position:relative;
  display:flex;
  flex:0 0 auto;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:25px 24px 21px;
  border-bottom:1px solid #ece7ef;
  background:#fff;
}

.tcgx-cart-drawer-kicker{
  display:block;
  margin:0 0 6px;
  color:#ff791e;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.tcgx-cart-drawer-header h2{
  margin:0;
  color:#211a32;
  font-size:27px;
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:900;
}

.tcgx-cart-drawer-count{
  display:block;
  margin-top:7px;
  color:#817a87;
  font-size:12px;
  line-height:1.3;
  font-weight:750;
}

.tcgx-cart-drawer-close{
  position:relative;
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid #e5dfe8;
  border-radius:50%;
  background:#faf9fb;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease;
}

.tcgx-cart-drawer-close:hover{
  border-color:#d7cddd;
  background:#fff4ec;
}

.tcgx-cart-drawer-close span{
  position:absolute;
  left:12px;
  top:19px;
  width:16px;
  height:2px;
  border-radius:3px;
  background:#211a32;
}

.tcgx-cart-drawer-close span:first-child{
  transform:rotate(45deg);
}

.tcgx-cart-drawer-close span:last-child{
  transform:rotate(-45deg);
}

.tcgx-cart-drawer-content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 24px 24px;
  scrollbar-width:thin;
  scrollbar-color:#d9d1de transparent;
}

.tcgx-cart-shipping-progress{
  margin:20px 0 6px;
  padding:15px 16px;
  border:1px solid #eee6e1;
  border-radius:12px;
  background:#fff8f3;
}

.tcgx-cart-shipping-progress-copy strong{
  display:block;
  color:#211a32;
  font-size:13px;
  line-height:1.35;
  font-weight:900;
}

.tcgx-cart-shipping-progress-copy span{
  display:block;
  margin-top:4px;
  color:#7b737d;
  font-size:11px;
  line-height:1.45;
}

.tcgx-cart-shipping-progress-track{
  height:5px;
  margin-top:11px;
  overflow:hidden;
  border-radius:999px;
  background:#eadfd8;
}

.tcgx-cart-shipping-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#ff791e;
}

.tcgx-cart-drawer-mini-cart{
  padding-top:8px;
}

.tcgx-cart-drawer .woocommerce-mini-cart{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  min-height:108px;
  margin:0 !important;
  padding:16px 36px 16px 0 !important;
  border-bottom:1px solid #eeeaf1;
  list-style:none !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart-item::before,
.tcgx-cart-drawer .woocommerce-mini-cart-item::after{
  content:none !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart-item > a:not(.remove){
  display:contents;
  color:#211a32 !important;
  font-size:13px;
  line-height:1.35;
  font-weight:850;
  text-decoration:none !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart-item img{
  grid-column:1;
  grid-row:1 / span 2;
  width:82px !important;
  height:82px !important;
  margin:0 !important;
  object-fit:contain;
  border:1px solid #eeeaf1;
  border-radius:10px;
  background:#fff;
}

.tcgx-cart-drawer .woocommerce-mini-cart-item .quantity{
  grid-column:2;
  display:block;
  margin-top:7px;
  color:#77707d;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}

.tcgx-cart-drawer .remove_from_cart_button{
  position:absolute !important;
  top:17px !important;
  right:0 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:26px !important;
  height:26px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #e4dee7 !important;
  border-radius:50% !important;
  background:#faf9fb !important;
  color:#8a838f !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:500 !important;
  text-decoration:none !important;
}

.tcgx-cart-drawer .remove_from_cart_button:hover{
  border-color:#ffc6a0 !important;
  background:#fff4ec !important;
  color:#e85c00 !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:18px 0 0 !important;
  padding:17px 0 0 !important;
  border-top:0 !important;
  color:#211a32;
}

.tcgx-cart-drawer .woocommerce-mini-cart__total strong{
  font-size:13px;
  font-weight:850;
}

.tcgx-cart-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount{
  font-size:18px;
  font-weight:900;
}

.tcgx-cart-drawer .woocommerce-mini-cart__buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:15px 0 0 !important;
  padding:0 !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__buttons .button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-height:49px;
  margin:0 !important;
  padding:0 14px !important;
  border:1px solid #211a32 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#211a32 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__buttons .button:hover{
  background:#211a32 !important;
  color:#fff !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__buttons .checkout{
  border-color:#ff791e !important;
  background:#ff791e !important;
  color:#fff !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__buttons .checkout:hover{
  border-color:#ff9149 !important;
  background:#ff9149 !important;
  color:#fff !important;
}

.tcgx-cart-drawer .woocommerce-mini-cart__empty-message{
  margin:54px 0 0 !important;
  padding:42px 24px !important;
  border:1px solid #e8e3ec;
  border-radius:15px;
  background:#faf9fb;
  color:#6f6875;
  text-align:center;
  font-size:13px;
  line-height:1.6;
  font-weight:750;
}

.tcgx-cart-drawer-trust{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:50px;
  padding:10px 20px;
  border-top:1px solid #ece7ef;
  background:#faf9fb;
  color:#77707d;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
}

.tcgx-cart-drawer-trust span{
  position:relative;
  padding-left:13px;
}

.tcgx-cart-drawer-trust span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:6px;
  height:6px;
  margin-top:-3px;
  border-radius:50%;
  background:#ff791e;
}

@media(max-width:760px){
  body.woocommerce-cart main#main-content > .breadcrumbs.container{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-cart-page{
    padding-bottom:58px;
  }

  .tcgx-cart-page-head{
    padding-bottom:22px;
  }

  .tcgx-cart-page-head h1{
    margin-bottom:14px !important;
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }

  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
    padding:38px 22px !important;
    border-radius:16px;
  }

  body.woocommerce-cart .wc-block-cart__sidebar{
    padding-left:0 !important;
  }

  .tcgx-cart-drawer{
    width:min(410px,calc(100vw - 12px));
  }

  .tcgx-cart-drawer-header{
    padding:22px 18px 18px;
  }

  .tcgx-cart-drawer-content{
    padding-left:18px;
    padding-right:18px;
  }
}

@media(max-width:480px){
  .tcgx-cart-page-head h1{
    font-size:30px !important;
  }

  .tcgx-cart-drawer{
    width:100vw;
    max-width:none;
    border-left:0;
  }

  .tcgx-cart-drawer .woocommerce-mini-cart-item{
    grid-template-columns:72px minmax(0,1fr);
  }

  .tcgx-cart-drawer .woocommerce-mini-cart-item img{
    width:72px !important;
    height:72px !important;
  }

  .tcgx-cart-drawer .woocommerce-mini-cart__buttons{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .tcgx-cart-drawer,
  .tcgx-cart-drawer-overlay{
    transition:none !important;
  }
}


/* ==========================================================
   v1.12: cart drawer currency + action button refinements
   ========================================================== */

/* Keep the free-shipping Rand amount together and at a readable size. */
.tcgx-cart-shipping-progress-copy strong{
  font-size:14px !important;
  line-height:1.35 !important;
  white-space:nowrap;
}

.tcgx-cart-shipping-progress-copy strong .woocommerce-Price-amount,
.tcgx-cart-shipping-progress-copy strong .woocommerce-Price-amount bdi,
.tcgx-cart-shipping-progress-copy strong .woocommerce-Price-currencySymbol{
  display:inline !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  white-space:nowrap !important;
  vertical-align:baseline !important;
}

/* Match View Basket / Checkout typography to the site's Add to Cart buttons. */
.tcgx-cart-drawer .woocommerce-mini-cart__buttons .button{
  font-size:14px !important;
  font-weight:900 !important;
}


/* ==========================================================
   v1.13: drawer label + cart coupon alignment
   ========================================================== */

/* The WooCommerce Cart Block leaves its coupon section flush against the
   order-summary edge. Align it with the Basket Totals heading and totals rows. */
body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon{
  width:100% !important;
  margin:0 !important;
  padding:16px 20px 18px !important;
  box-sizing:border-box !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon__content{
  width:100% !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon__content form,
body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon__content .wc-block-components-totals-coupon__form{
  width:100% !important;
  margin:0 !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon-link{
  margin:0 !important;
}

/* Keep the input/button row neatly contained within the padded coupon area. */
body.woocommerce-cart
.wp-block-woocommerce-cart-order-summary-block
.wc-block-components-totals-coupon__content .wc-block-components-text-input{
  min-width:0 !important;
}

@media(max-width:480px){
  body.woocommerce-cart
  .wp-block-woocommerce-cart-order-summary-block
  .wc-block-components-totals-coupon{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* ==========================================================
   v1.17: Checkout styling rebuilt from clean v1.13 base
   ========================================================== */

body.woocommerce-checkout{
  background:#fff;
}

body.woocommerce-checkout main#main-content > .breadcrumbs.container{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-checkout-page{
  padding-bottom:82px;
}

.tcgx-checkout-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  padding:0 0 30px;
}

.tcgx-checkout-page-head > div:first-child{
  max-width:720px;
}

.tcgx-checkout-kicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  margin-bottom:14px;
  border:1px solid rgba(255,121,30,.25);
  border-radius:999px;
  background:#fff5ee;
  color:#e95f00;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-checkout-page-head h1{
  margin:0 0 14px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-wrap:balance;
}

.tcgx-checkout-page-head p{
  max-width:650px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.7;
}

.tcgx-checkout-head-trust{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  max-width:430px;
  padding-bottom:2px;
}

.tcgx-checkout-head-trust span{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px 0 27px;
  border:1px solid #e9e4ec;
  border-radius:999px;
  background:#faf9fb;
  color:#706a76;
  font-size:11px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

.tcgx-checkout-head-trust span::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:7px;
  height:7px;
  margin-top:-3.5px;
  border-radius:50%;
  background:#ff791e;
}

/* Preserve WooCommerce's own native checkout column layout. */
body.woocommerce-checkout .wp-block-woocommerce-checkout{
  max-width:none !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Checkout cards */
body.woocommerce-checkout .wc-block-components-checkout-step{
  margin-bottom:14px !important;
  padding:25px 26px !important;
  border:1px solid #e7e2ea !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 28px rgba(33,26,50,.03);
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading{
  margin-bottom:18px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title{
  color:#211a32 !important;
  font-size:21px !important;
  line-height:1.2 !important;
  letter-spacing:-.025em !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description{
  color:#817a87 !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

/* Fields */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-textarea{
  min-height:50px !important;
  border:1px solid #ddd7e2 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#211a32 !important;
  font-family:inherit !important;
  font-size:14px !important;
  box-shadow:none !important;
  outline:none !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus{
  border-color:#ff791e !important;
  box-shadow:0 0 0 3px rgba(255,121,30,.10) !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label{
  color:#7c7582 !important;
  font-size:12px !important;
  font-weight:750 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-radio-control__label{
  color:#211a32 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}

/* Payment/delivery choices */
body.woocommerce-checkout .wc-block-components-radio-control{
  overflow:hidden;
  border:1px solid #e6e0e9 !important;
  border-radius:12px !important;
  background:#fff !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  padding:15px 16px !important;
  border-top:1px solid #eeeaf1 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option{
  padding:15px 16px 15px 52px !important;
  border-top:1px solid #eeeaf1 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:first-child,
body.woocommerce-checkout .wc-block-components-radio-control__option:first-child{
  border-top:0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option-checked{
  background:#fff8f3 !important;
}

/* Place order */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  min-height:54px !important;
  border:1px solid #ff791e !important;
  border-radius:10px !important;
  background:#ff791e !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  border-color:#ff9149 !important;
  background:#ff9149 !important;
  color:#fff !important;
}

/* Terms */
body.woocommerce-checkout .wc-block-checkout__terms{
  color:#77707d !important;
  font-size:12px !important;
  line-height:1.6 !important;
}

body.woocommerce-checkout .wc-block-checkout__terms a{
  color:#df5d08 !important;
  font-weight:800 !important;
  text-underline-offset:2px;
}

/* Order summary visual treatment only */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  overflow:hidden;
  border:1px solid #e4dee8 !important;
  border-radius:16px !important;
  background:#faf9fb !important;
  box-shadow:0 10px 30px rgba(33,26,50,.045);
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-checkout-order-summary__title{
  padding:18px 20px !important;
  border-bottom:1px solid #e7e2ea !important;
}

body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  color:#211a32 !important;
  font-size:18px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary{
  padding-left:20px !important;
  padding-right:20px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item{
  padding-top:16px !important;
  padding-bottom:16px !important;
  border-bottom:1px solid #e9e4ec !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  border:1px solid #e9e4ec;
  border-radius:9px;
  background:#fff;
  object-fit:contain;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description
.wc-block-components-product-name{
  color:#211a32 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:850 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__total-price{
  color:#211a32 !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-wrapper{
  padding-left:20px !important;
  padding-right:20px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-item{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-item__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-item__value{
  color:#211a32 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

/* Coupon */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-coupon{
  margin:0 !important;
  padding:16px 20px 18px !important;
  box-sizing:border-box !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-coupon__content{
  margin-top:12px !important;
  padding:0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-coupon__button{
  min-height:46px !important;
  border-radius:9px !important;
  background:#ff791e !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
}

/* Order received */
.tcgx-checkout-page.is-order-received{
  padding-top:32px;
  padding-bottom:82px;
}

body.woocommerce-order-received .woocommerce-order{
  max-width:900px;
  margin:0 auto;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received{
  margin:0 0 24px !important;
  padding:24px 26px;
  border:1px solid #cfe5d9;
  border-radius:14px;
  background:#f4fbf7;
  color:#226b4e;
  font-size:17px;
  line-height:1.55;
  font-weight:900;
}

@media(max-width:850px){
  .tcgx-checkout-page-head{
    display:block;
  }

  .tcgx-checkout-head-trust{
    justify-content:flex-start;
    max-width:none;
    margin-top:20px;
  }
}

@media(max-width:760px){
  body.woocommerce-checkout main#main-content > .breadcrumbs.container{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-checkout-page{
    padding-bottom:60px;
  }

  .tcgx-checkout-page-head{
    padding-bottom:24px;
  }

  .tcgx-checkout-page-head h1{
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step{
    padding:21px 18px !important;
    border-radius:14px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title,
  body.woocommerce-checkout .wc-block-components-title{
    font-size:19px !important;
  }

  body.woocommerce-checkout .wc-block-components-order-summary{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-totals-wrapper,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-totals-coupon{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

@media(max-width:480px){
  .tcgx-checkout-page-head h1{
    font-size:30px !important;
  }

  .tcgx-checkout-head-trust{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .tcgx-checkout-head-trust span:last-child{
    grid-column:1/-1;
  }
}


/* ==========================================================
   v1.18: Checkout trust + subtotal divider cleanup
   ========================================================== */

/* Keep a clean separator only before the final Total row. */
body.woocommerce-checkout
.wp-block-woocommerce-checkout-order-summary-block
.wc-block-components-totals-footer-item{
  }

/* With only two checkout trust pills remaining, keep their alignment tidy. */
.tcgx-checkout-head-trust{
  max-width:320px;
}


/* ==========================================================
   v1.20: remove Cape Town checkout trust pill
   ========================================================== */

/* Defensive fallback in case a cached Checkout template still contains a
   third trust pill. The current template contains only the first two pills. */
.tcgx-checkout-head-trust span:nth-child(n+3){
  display:none !important;
}


/* ==========================================================
   v1.21: 13px breadcrumbs + fully functional mobile navigation
   ========================================================== */

/* Breadcrumb readability across the theme. */
.breadcrumbs,
.woocommerce .woocommerce-breadcrumb,
.tcg-single-product-page .breadcrumbs{
  font-size:13px !important;
}

/* Desktop: mobile-only controls stay out of the existing header. */
.tcgx-mobile-menu-toggle,
.tcgx-mobile-nav-utility,
.tcgx-mobile-submenu-toggle{
  display:none;
}

@media(max-width:760px){

  /* Keep the existing two-row mobile header, but make the controls fit cleanly. */
  .header-main{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px 12px !important;
    padding:11px 0 !important;
  }

  .header-main .search{
    grid-column:1/-1 !important;
    grid-row:2 !important;
  }

  .header-main .actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    min-width:0;
  }

  /* Account is available at the top of the opened menu; keep Cart visible. */
  .header-main .actions .account-action{
    display:none !important;
  }

  .header-main .actions .cart-action{
    min-height:40px;
    padding:0 4px;
    font-size:12px !important;
    white-space:nowrap;
  }

  .header-main .actions .cart-action:hover{
    transform:none;
  }

  .tcgx-mobile-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:73px;
    height:40px;
    margin:0;
    padding:0 11px;
    border:1px solid #dfd9e3;
    border-radius:10px;
    background:#fff;
    color:#211a32;
    cursor:pointer;
    font-size:12px;
    line-height:1;
    font-weight:900;
    box-shadow:none;
  }

  .tcgx-mobile-menu-toggle:focus-visible{
    outline:2px solid #ff791e;
    outline-offset:2px;
  }

  .tcgx-mobile-menu-icon{
    position:relative;
    display:block;
    width:16px;
    height:14px;
  }

  .tcgx-mobile-menu-icon > span{
    position:absolute;
    left:0;
    display:block;
    width:16px;
    height:2px;
    border-radius:99px;
    background:#211a32;
    transition:transform .18s ease,top .18s ease,opacity .18s ease;
  }

  .tcgx-mobile-menu-icon > span:nth-child(1){top:1px}
  .tcgx-mobile-menu-icon > span:nth-child(2){top:6px}
  .tcgx-mobile-menu-icon > span:nth-child(3){top:11px}

  .header.tcgx-mobile-menu-open .tcgx-mobile-menu-icon > span:nth-child(1){
    top:6px;
    transform:rotate(45deg);
  }

  .header.tcgx-mobile-menu-open .tcgx-mobile-menu-icon > span:nth-child(2){
    opacity:0;
  }

  .header.tcgx-mobile-menu-open .tcgx-mobile-menu-icon > span:nth-child(3){
    top:6px;
    transform:rotate(-45deg);
  }

  /* Replace the old horizontally-scrolling nav with a proper collapsible menu. */
  .header .nav{
    display:block !important;
    max-height:0;
    overflow:hidden !important;
    visibility:hidden;
    opacity:0;
    border-top:0 !important;
    background:#fff;
    transition:max-height .28s ease,opacity .18s ease,visibility .28s ease,border-color .18s ease;
  }

  .header.tcgx-mobile-menu-open .nav{
    max-height:min(72vh,640px);
    overflow-y:auto !important;
    visibility:visible;
    opacity:1;
    border-top:1px solid #ece8ef !important;
    overscroll-behavior:contain;
  }

  .header .nav > .container{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:12px 12px 16px !important;
  }

  .tcgx-mobile-nav-utility{
    display:block;
    margin:0 0 7px;
    padding:0 4px 11px;
    border-bottom:1px solid #eeeaf1;
  }

  .tcgx-mobile-nav-utility a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:40px;
    padding:0 11px;
    border-radius:9px;
    background:#f8f6fa;
    color:#211a32;
    font-size:13px;
    font-weight:900;
  }

  .tcgx-mobile-nav-utility a::after{
    content:"→";
    color:#ff791e;
  }

  .header .nav-list{
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    list-style:none !important;
  }

  .header .nav-list > li{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:48px;
    margin:0 !important;
    border-bottom:1px solid #eeeaf1;
    white-space:normal !important;
  }

  .header .nav-list > li:last-child{
    border-bottom:0;
  }

  .header .nav-list > li > a{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:48px !important;
    height:auto !important;
    padding:10px 48px 10px 10px !important;
    color:#211a32 !important;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
  }

  .header .nav-list > li:not(.cat-menu):not(.menu-item-has-children) > a{
    padding-right:10px !important;
  }

  .header .nav-list > li > a::after{
    display:none !important;
  }

  .header .nav-list > li > a:hover{
    color:#ff791e !important;
  }

  /* Hide the old decorative desktop dropdown arrow; use a real button instead. */
  .header .nav-list > li > a .dropdown-arrow{
    display:none !important;
  }

  .tcgx-mobile-submenu-toggle{
    position:absolute;
    top:4px;
    right:2px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    margin:0;
    padding:0;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#211a32;
    cursor:pointer;
  }

  .tcgx-mobile-submenu-toggle:hover,
  .tcgx-mobile-submenu-toggle:focus-visible{
    background:#fff5ee;
    color:#ff791e;
    outline:0;
  }

  .tcgx-mobile-submenu-toggle > span{
    position:relative;
    display:block;
    width:12px;
    height:12px;
  }

  .tcgx-mobile-submenu-toggle > span::before,
  .tcgx-mobile-submenu-toggle > span::after{
    content:"";
    position:absolute;
    left:1px;
    top:5px;
    width:10px;
    height:2px;
    border-radius:99px;
    background:currentColor;
    transition:transform .18s ease;
  }

  .tcgx-mobile-submenu-toggle > span::after{
    transform:rotate(90deg);
  }

  .tcgx-submenu-open > .tcgx-mobile-submenu-toggle > span::after{
    transform:rotate(0);
  }

  /* Theme category dropdowns become normal accordion sections on mobile. */
  .header .nav-list > li > .cat-dropdown,
  .header .nav-list > li > .sub-menu{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    visibility:hidden !important;
    opacity:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#faf9fb !important;
    box-shadow:none !important;
    transform:none !important;
    pointer-events:none !important;
    transition:max-height .24s ease,opacity .18s ease,visibility .24s ease !important;
  }

  .header .nav-list > li.tcgx-submenu-open > .cat-dropdown,
  .header .nav-list > li.tcgx-submenu-open > .sub-menu{
    max-height:560px !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .header .cat-dropdown-inner{
    padding:12px 13px 14px !important;
  }

  .header .cat-dropdown-inner > div{
    padding:0 0 10px !important;
    margin:0 0 4px !important;
  }

  .header .cat-dropdown strong{
    font-size:13px !important;
  }

  .header .cat-dropdown .cat-all{
    font-size:12px !important;
  }

  .header .cat-dropdown li a,
  .header .nav-list > li > .sub-menu > li > a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:42px;
    padding:8px 10px !important;
    border-radius:8px;
    color:#5e5865 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:750 !important;
  }

  .header .cat-dropdown li a:hover,
  .header .nav-list > li > .sub-menu > li > a:hover{
    padding-left:10px !important;
    background:#fff !important;
    color:#ff791e !important;
  }

  /* Prevent desktop hover/focus rules from forcing accordions open. */
  .header .nav-list > li:hover > .cat-dropdown,
  .header .nav-list > li:focus-within > .cat-dropdown{
    max-height:0 !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  .header .nav-list > li.tcgx-submenu-open:hover > .cat-dropdown,
  .header .nav-list > li.tcgx-submenu-open:focus-within > .cat-dropdown{
    max-height:560px !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media(max-width:480px){
  .site-branding .custom-logo{
    max-width:145px !important;
    max-height:44px !important;
  }

  .site-branding .text-logo{
    font-size:22px !important;
  }

  .tcgx-mobile-menu-toggle{
    min-width:65px;
    padding-left:9px;
    padding-right:9px;
  }

  .tcgx-mobile-menu-label{
    font-size:11px;
  }

  .header-main .actions .cart-action{
    font-size:11px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .header .nav,
  .header .nav-list > li > .cat-dropdown,
  .header .nav-list > li > .sub-menu,
  .tcgx-mobile-menu-icon > span,
  .tcgx-mobile-submenu-toggle > span::after{
    transition:none !important;
  }
}


/* ==========================================================
   v1.22: mobile homepage hero spacing correction
   ========================================================== */

@media(max-width:860px){
  .hero-box{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
  }

  .hero-box .hero-copy{
    order:1;
    flex:0 0 auto;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:34px 22px 0 !important;
  }

  /*
   * Put the supplied artwork in normal document flow directly after the
   * copy instead of pinning it to the bottom of an oversized hero.
   * 1672 / 941 matches the source image's exact aspect ratio.
   */
  .hero-box .hero-art.hero-card-composition{
    order:2;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    flex:0 0 auto;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1672 / 941;
    margin-top:22px !important;
    background-position:center bottom !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
  }
}

@media(max-width:520px){
  .hero-box{
    height:auto !important;
    min-height:0 !important;
  }

  .hero-box .hero-copy{
    padding:28px 18px 0 !important;
  }

  .hero-box .hero-art.hero-card-composition{
    height:auto !important;
    min-height:0 !important;
    margin-top:18px !important;
    aspect-ratio:1672 / 941;
  }
}


/* ==========================================================
   v1.23: shop card cart-state sync + View shopping cart label
   ========================================================== */

.woocommerce ul.products li.product .added_to_cart{
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
}


/* ==========================================================
   v1.24: single product Add to cart button
   ========================================================== */

.single-product div.product form.cart .button,
.single-product div.product form.cart .single_add_to_cart_button{
  color:#fff !important;
}

.single-product div.product form.cart .button:hover,
.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart .button:focus,
.single-product div.product form.cart .single_add_to_cart_button:focus{
  color:#fff !important;
}


/* ==========================================================
   v1.25: persist product-card cart state after page refresh
   ========================================================== */

/* WooCommerce normally adds `.added` only during the AJAX interaction.
   v1.25 restores that class from the live cart after a page refresh. */
.woocommerce ul.products li.product .button.added{
  opacity:1 !important;
}


/* ==========================================================
   v1.27: mobile checkout cleanup
   ========================================================== */

@media(max-width:850px){

  /* WooCommerce renders a second full order-summary panel lower down on
     narrow screens. Keep the compact mobile summary at the top and remove
     the duplicate lower sidebar summary. */
  body.woocommerce-checkout .wc-block-checkout__sidebar{
    display:none !important;
  }

  /* Tighten overall mobile checkout rhythm. */
  body.woocommerce-checkout .tcgx-checkout-page{
    padding-bottom:44px !important;
  }

  body.woocommerce-checkout .tcgx-checkout-page-head{
    padding-bottom:20px !important;
  }

  body.woocommerce-checkout .tcgx-checkout-head-trust{
    margin-top:14px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step{
    margin-bottom:10px !important;
    padding:18px 16px !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }

  /* Remove stacked/double borders from the mobile order-summary treatment. */
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
    box-shadow:none !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title{
    padding:15px 16px !important;
    border-bottom:0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-order-summary{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-order-summary-item{
    padding-top:13px !important;
    padding-bottom:13px !important;
    border-bottom:0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-order-summary-item + .wc-block-components-order-summary-item{
    border-top:1px solid #eeeaf1 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-totals-wrapper{
    border-top:0 !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-totals-coupon{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  /* Give the policy text and final action cleaner breathing room. */
  body.woocommerce-checkout .wp-block-woocommerce-checkout-terms-block,
  body.woocommerce-checkout .wc-block-checkout__terms{
    margin-top:12px !important;
    margin-bottom:14px !important;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block,
  body.woocommerce-checkout .wc-block-checkout__actions{
    margin-top:12px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-place-order-button{
    min-height:52px !important;
  }
}

@media(max-width:480px){
  body.woocommerce-checkout .tcgx-checkout-page-head{
    padding-bottom:18px !important;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step{
    padding:16px 14px !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* ==========================================================
   v1.28: mobile checkout Order Summary border + heading spacing
   ========================================================== */

@media(max-width:850px){

  /* WooCommerce adds an extra bordered inner fill on the mobile
     Order Summary. Remove that inner border so only the outer card remains. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .checkout-order-summary-block-fill{
    border:0 !important;
    box-shadow:none !important;
  }

  /* Match the Order Summary heading inset to Billing Address and
     the other checkout card headings on mobile. */
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title{
    margin:0 !important;
    padding:18px 16px !important;
    border-bottom:0 !important;
    box-sizing:border-box !important;
  }

  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title-text{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }
}

@media(max-width:480px){
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title{
    padding:16px 14px !important;
  }
}


/* ==========================================================
   v1.29: mobile checkout Order Summary heading padding
   ========================================================== */

@media(max-width:850px){
  body.woocommerce-checkout
  .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper
  .wc-block-components-title{
    padding:20px 16px 0 16px !important;
  }
}


/* ==========================================================
   v1.30: live header search + product Search Results page
   ========================================================== */

/* ---------- Header live search ---------- */
.header .search.tcgx-live-search{
  position:relative;
  overflow:visible;
  z-index:35;
}

.header .search.tcgx-live-search > .tcgx-search-input{
  border-radius:11px 0 0 11px;
}

.header .search.tcgx-live-search > button[type="submit"]{
  border-radius:0 11px 11px 0;
}

.tcgx-search-suggestions{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:120;
  overflow:hidden;
  border:1px solid #e3dde7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 48px rgba(33,26,50,.16);
}

.tcgx-search-suggestions[hidden]{
  display:none !important;
}

.tcgx-search-suggestion{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:10px 13px;
  border-bottom:1px solid #eeeaf1;
  background:#fff;
  color:#211a32;
  text-decoration:none;
  transition:background-color .15s ease;
}

.tcgx-search-suggestion:hover,
.tcgx-search-suggestion:focus,
.tcgx-search-suggestion.is-active{
  background:#fff8f3;
  outline:0;
}

.tcgx-search-suggestion-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  overflow:hidden;
  border:1px solid #eee9f1;
  border-radius:9px;
  background:#fff;
}

.tcgx-search-suggestion-media img{
  display:block;
  width:100%;
  height:100%;
  padding:3px;
  object-fit:contain;
}

.tcgx-search-suggestion-copy{
  display:block;
  min-width:0;
}

.tcgx-search-suggestion-copy strong{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#211a32;
  font-size:13px;
  line-height:1.35;
  font-weight:900;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.tcgx-search-suggestion-copy small{
  display:block;
  overflow:hidden;
  margin-top:3px;
  color:#918a96;
  font-size:10px;
  line-height:1.3;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tcgx-search-suggestion-price{
  display:block;
  margin-top:5px;
  color:#ff791e;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
}

.tcgx-search-suggestion-price del{
  margin-right:4px;
  color:#a29ba6;
  font-size:.85em;
  font-weight:700;
}

.tcgx-search-suggestion-price ins{
  color:#ff791e;
  text-decoration:none;
}

.tcgx-search-suggestion-arrow{
  color:#ff791e;
  font-size:16px;
  font-weight:900;
  text-align:right;
}

.tcgx-search-suggestion-status{
  padding:17px 16px;
  color:#7b7480;
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

.tcgx-search-suggestion-status.is-empty{
  color:#5f5965;
}

.tcgx-search-all-results{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:46px;
  padding:0 15px;
  background:#faf9fb;
  color:#211a32;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  text-decoration:none;
}

.tcgx-search-all-results:hover,
.tcgx-search-all-results:focus{
  background:#211a32;
  color:#fff;
  outline:0;
}

.tcgx-search-all-results > span:last-child{
  color:#ff791e;
}

/* ---------- Search Results page ---------- */
.tcgx-search-results-page{
  padding-bottom:78px;
}

body.search main#main-content > .breadcrumbs.container{
  padding-top:24px !important;
  padding-bottom:20px !important;
}

.tcgx-search-results-head{
  padding:0 0 30px;
}

.tcgx-search-results-head h1{
  max-width:900px;
  margin:0 0 16px !important;
  color:#211a32 !important;
  font-size:clamp(34px,3.5vw,50px) !important;
  line-height:1.01 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
}

.tcgx-search-results-head > p{
  max-width:780px;
  margin:0;
  color:#68636f;
  font-size:15px;
  line-height:1.7;
}

.tcgx-search-results-form{
  display:flex;
  width:min(100%,680px);
  min-height:50px;
  margin-top:20px;
  overflow:hidden;
  border:1px solid #ddd7e2;
  border-radius:11px;
  background:#fff;
  box-shadow:0 5px 18px rgba(33,26,50,.025);
}

.tcgx-search-results-form:focus-within{
  border-color:#ff791e;
  box-shadow:0 0 0 3px rgba(255,121,30,.09);
}

.tcgx-search-results-form input[type="search"]{
  flex:1;
  min-width:0;
  padding:0 15px;
  border:0;
  outline:0;
  background:transparent;
  color:#211a32;
  font-size:14px;
}

.tcgx-search-results-form button{
  min-width:108px;
  padding:0 18px;
  border:0;
  background:#211a32;
  color:#fff;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.tcgx-search-results-form button:hover{
  background:#ff791e;
}

.tcgx-search-toolbar.shop-toolbar{
  margin-top:0 !important;
  margin-bottom:24px !important;
}

.tcgx-search-result-count .woocommerce-result-count{
  margin:0 !important;
  color:#716a77 !important;
  font-size:13px !important;
  line-height:1.4 !important;
}

.tcgx-search-ordering .woocommerce-ordering{
  margin:0 !important;
}

.tcgx-search-ordering .woocommerce-ordering select{
  min-height:42px;
  border:1px solid #ddd7e2;
  border-radius:9px;
  background-color:#fff;
  color:#211a32;
  font-size:12px;
  font-weight:750;
}

.tcgx-search-products > ul.products{
  margin-top:0 !important;
}

.tcgx-search-empty{
  max-width:760px;
  padding:42px 36px;
  border:1px solid #e7e2ea;
  border-radius:18px;
  background:#faf9fb;
}

.tcgx-search-empty-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:#ff791e;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tcgx-search-empty h2{
  margin:0 0 10px;
  color:#211a32;
  font-size:26px;
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:900;
}

.tcgx-search-empty p{
  max-width:590px;
  margin:0;
  color:#716a77;
  font-size:14px;
  line-height:1.65;
}

.tcgx-search-empty a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin-top:20px;
  padding:0 17px;
  border-radius:9px;
  background:#ff791e;
  color:#fff !important;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
}

.tcgx-search-empty a:hover{
  background:#ff9149;
  color:#fff !important;
}

@media(max-width:760px){
  .tcgx-search-suggestions{
    top:calc(100% + 6px);
    border-radius:12px;
  }

  .tcgx-search-suggestion{
    grid-template-columns:52px minmax(0,1fr) 18px;
    min-height:72px;
    gap:10px;
    padding:9px 11px;
  }

  .tcgx-search-suggestion-media{
    width:52px;
    height:52px;
  }

  .tcgx-search-suggestion-copy strong{
    font-size:12px;
  }

  body.search main#main-content > .breadcrumbs.container{
    padding-top:18px !important;
    padding-bottom:16px !important;
  }

  .tcgx-search-results-page{
    padding-bottom:58px;
  }

  .tcgx-search-results-head{
    padding-bottom:24px;
  }

  .tcgx-search-results-head h1{
    margin-bottom:13px !important;
    font-size:34px !important;
    letter-spacing:-.035em !important;
  }

  .tcgx-search-results-form{
    min-height:48px;
    margin-top:17px;
  }

  .tcgx-search-toolbar.shop-toolbar{
    align-items:flex-start;
    margin-bottom:20px !important;
  }

  .tcgx-search-empty{
    padding:32px 22px;
    border-radius:15px;
  }
}

@media(max-width:520px){
  .tcgx-search-results-head h1{
    font-size:30px !important;
  }

  .tcgx-search-results-form button{
    min-width:88px;
    padding-left:13px;
    padding-right:13px;
  }

  .tcgx-search-toolbar.shop-toolbar{
    display:grid !important;
    grid-template-columns:1fr;
    gap:10px;
  }

  .tcgx-search-ordering,
  .tcgx-search-ordering .woocommerce-ordering,
  .tcgx-search-ordering select{
    width:100% !important;
  }
}


/* ==========================================================
   v1.31: definitive Search Results layout repair
   ========================================================== */

/*
 * WordPress automatically adds class="search" to <body> on a search page.
 * The old header form used the unscoped `.search` selector, which made the
 * entire page body behave like the header search field. Keep this defensive
 * reset as protection against cached/minified legacy CSS.
 */
body.search{
  display:block !important;
  flex:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

body.search main#main-content{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

body.search .tcgx-search-results-page{
  width:min(calc(100% - 36px),1280px) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.search .tcgx-search-products{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

body.search .tcgx-search-products ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

body.search .tcgx-search-products ul.products::before,
body.search .tcgx-search-products ul.products::after{
  display:none !important;
  content:none !important;
}

body.search .tcgx-search-products ul.products > li.product{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}

@media(max-width:1000px){
  body.search .tcgx-search-products ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body.search .tcgx-search-results-page{
    width:min(calc(100% - 24px),1280px) !important;
  }

  body.search .tcgx-search-products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
}

@media(max-width:420px){
  body.search .tcgx-search-products ul.products{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================================
   v1.32: free-shipping progress on main Shopping Cart page
   ========================================================== */

.tcgx-cart-page-shipping-progress{
  width:100%;
  margin:0 0 20px;
  padding:17px 18px;
  border:1px solid #eee6e1;
  border-radius:14px;
  background:#fff8f3;
  box-sizing:border-box;
}

.tcgx-cart-page-shipping-progress.is-hidden{
  display:none !important;
}

.tcgx-cart-page-shipping-copy strong{
  display:block;
  margin:0;
  color:#211a32;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
}

.tcgx-cart-page-shipping-copy strong .woocommerce-Price-amount,
.tcgx-cart-page-shipping-copy strong .woocommerce-Price-amount bdi,
.tcgx-cart-page-shipping-copy strong .woocommerce-Price-currencySymbol{
  display:inline !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  white-space:nowrap !important;
}

.tcgx-cart-page-shipping-copy span{
  display:block;
  margin-top:5px;
  color:#7b737d;
  font-size:12px;
  line-height:1.5;
}

.tcgx-cart-page-shipping-track{
  height:6px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:#eadfd8;
}

.tcgx-cart-page-shipping-track > span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#ff791e;
  transition:width .22s ease;
}

@media(max-width:760px){
  .tcgx-cart-page-shipping-progress{
    margin-bottom:16px;
    padding:15px 16px;
    border-radius:12px;
  }

  .tcgx-cart-page-shipping-copy strong{
    font-size:14px;
  }

  .tcgx-cart-page-shipping-copy span{
    font-size:11px;
  }
}

@media(prefers-reduced-motion:reduce){
  .tcgx-cart-page-shipping-track > span{
    transition:none !important;
  }
}


/* ==========================================================
   v1.37: instant Cart free-shipping progress feedback
   ========================================================== */

.tcgx-cart-page-shipping-track > span{
  transition:width .14s ease !important;
}


/* ==========================================================
   v1.38: smooth rapid Cart quantity changes
   ========================================================== */

.tcgx-cart-page-shipping-track > span{
  transition:width .12s ease-out !important;
}


/* ==========================================================
   v1.39: free-shipping status icons + unlocked green state
   ========================================================== */

.tcgx-cart-shipping-progress-copy strong,
.tcgx-cart-page-shipping-copy strong{
  display:flex !important;
  align-items:center;
  gap:7px;
}

.tcgx-shipping-status-icon{
  position:relative;
  display:inline-grid;
  place-items:center;
  flex:0 0 18px;
  width:18px;
  height:18px;
  min-width:18px;
  border:1.5px solid currentColor;
  border-radius:50%;
  color:#ff791e;
  font-size:0;
  line-height:0;
}

.tcgx-shipping-status-icon::before{
  content:'×';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:700;
}

.tcgx-cart-shipping-progress.is-unlocked .tcgx-shipping-status-icon,
.tcgx-cart-page-shipping-progress.is-unlocked .tcgx-shipping-status-icon{
  color:#16a34a;
}

.tcgx-cart-shipping-progress.is-unlocked .tcgx-shipping-status-icon::before,
.tcgx-cart-page-shipping-progress.is-unlocked .tcgx-shipping-status-icon::before{
  content:'✓';
  font-size:11px;
}

.tcgx-cart-shipping-progress.is-unlocked .tcgx-cart-shipping-progress-track > span,
.tcgx-cart-page-shipping-progress.is-unlocked .tcgx-cart-page-shipping-track > span{
  background:#16a34a !important;
}


/* ==========================================================
   v1.41: single-source shipping status icon
   ========================================================== */

/* The status circle is intentionally empty in the markup. The X/check is
   rendered only once via ::before so it cannot double up. */
.tcgx-shipping-status-icon{
  overflow:hidden !important;
  text-indent:-9999px !important;
  white-space:nowrap !important;
}

.tcgx-shipping-status-icon::before{
  text-indent:0 !important;
}


/* ==========================================================
   v1.42: Board Games & Accessories dropdown width
   ========================================================== */

@media(min-width:761px){
  .header .nav-list > li.cat-menu-board-games-accessories > .cat-dropdown{
    width:300px;
  }
}


/* ==========================================================
   v1.44: sold-out product button treatment
   ========================================================== */

.woocommerce ul.products li.product .button.tcgx-out-of-stock-button,
.carousel-product .live-product-button.tcgx-out-of-stock-button,
.live-product-button.tcgx-out-of-stock-button,
.product .add.tcgx-out-of-stock-button{
  border-color:#c93b3b !important;
  background:#c93b3b !important;
  color:#fff !important;
  cursor:pointer;
  transform:none !important;
  box-shadow:none !important;
}

.woocommerce ul.products li.product .button.tcgx-out-of-stock-button:hover,
.woocommerce ul.products li.product .button.tcgx-out-of-stock-button:focus,
.carousel-product .live-product-button.tcgx-out-of-stock-button:hover,
.carousel-product .live-product-button.tcgx-out-of-stock-button:focus,
.live-product-button.tcgx-out-of-stock-button:hover,
.live-product-button.tcgx-out-of-stock-button:focus,
.product .add.tcgx-out-of-stock-button:hover,
.product .add.tcgx-out-of-stock-button:focus{
  border-color:#ad3030 !important;
  background:#ad3030 !important;
  color:#fff !important;
  transform:none !important;
  box-shadow:none !important;
}


/* ==========================================================
   v1.45: orange product prices across grids + carousels
   ========================================================== */

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.carousel-product .live-product-price,
.carousel-product .live-product-price .woocommerce-Price-amount,
.carousel-product .live-product-price .woocommerce-Price-currencySymbol,
.product .price-row .price,
.product .price-row .price .woocommerce-Price-amount,
.product .price-row .price .woocommerce-Price-currencySymbol{
  color:#ff791e !important;
}

/* Keep the old/original price muted when a product is on sale. */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol,
.carousel-product .live-product-price del,
.carousel-product .live-product-price del .woocommerce-Price-amount,
.carousel-product .live-product-price del .woocommerce-Price-currencySymbol{
  color:#9f98a7 !important;
}


/* ==========================================================
   v1.46: refined top-bar trading hours + contact details
   ========================================================== */

.topbar .tcgx-topbar-meta{
  display:flex;
  align-items:center;
  gap:0;
  color:#d8d7dc;
  white-space:nowrap;
}

.topbar .tcgx-topbar-meta-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:0 11px;
  color:#f2f1f4;
  font-size:11px;
  line-height:1;
  font-weight:650;
}

.topbar .tcgx-topbar-meta-item:first-child{
  padding-left:0;
}

.topbar .tcgx-topbar-meta-item:last-child{
  padding-right:0;
}

.topbar .tcgx-topbar-meta-item + .tcgx-topbar-meta-item{
  border-left:1px solid rgba(255,255,255,.14);
}

.topbar a.tcgx-topbar-meta-item{
  transition:color .16s ease;
}

.topbar a.tcgx-topbar-meta-item:hover,
.topbar a.tcgx-topbar-meta-item:focus-visible{
  color:#ff791e;
}

.tcgx-topbar-icon{
  display:block;
  flex:0 0 14px;
  width:14px;
  height:14px;
  fill:none;
  stroke:#ff791e;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:920px) and (min-width:761px){
  .topbar .tcgx-topbar-meta-item{
    padding-left:8px;
    padding-right:8px;
    font-size:10px;
  }

  .tcgx-topbar-icon{
    flex-basis:13px;
    width:13px;
    height:13px;
  }
}

/* Existing mobile behaviour stays intentionally unchanged. */
@media(max-width:760px){
  .topbar .secondary.tcgx-topbar-meta{
    display:none !important;
  }
}


/* ==========================================================
   v1.47: refined Account / Cart header utilities
   ========================================================== */

.header-main .actions{
  gap:10px;
}

.header-main .tcgx-header-utility{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:4px 7px 4px 5px;
  border-radius:10px;
  color:#211a32;
  white-space:nowrap;
  transition:background-color .16s ease,color .16s ease;
}

.header-main .tcgx-header-utility:hover,
.header-main .tcgx-header-utility:focus-visible{
  background:#fff7f1;
  color:#ff791e;
  transform:none !important;
}

.tcgx-header-utility-icon{
  display:inline-grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid #e3dee7;
  border-radius:50%;
  background:#faf9fb;
  color:#211a32;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}

.tcgx-header-utility-icon svg{
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.header-main .tcgx-header-utility:hover .tcgx-header-utility-icon,
.header-main .tcgx-header-utility:focus-visible .tcgx-header-utility-icon{
  border-color:#ffd4b7;
  background:#fff;
  color:#ff791e;
}

.tcgx-header-utility-label{
  font-size:12px;
  line-height:1;
  font-weight:900;
}

.header-main .tcgx-header-cart .count{
  min-width:20px;
  height:20px;
  padding:0 6px;
  background:#ff791e;
  color:#fff;
  font-size:10px;
  font-weight:900;
  box-shadow:none;
}

@media(max-width:1180px) and (min-width:761px){
  .header-main .tcgx-header-utility{
    gap:5px;
    padding-left:4px;
    padding-right:5px;
  }

  .tcgx-header-utility-icon{
    flex-basis:28px;
    width:28px;
    height:28px;
  }

  .tcgx-header-utility-label{
    font-size:11px;
  }
}

@media(max-width:760px){
  /* Account remains available inside the mobile menu. */
  .header-main .actions .account-action{
    display:none !important;
  }

  .header-main .actions .cart-action.tcgx-header-utility{
    min-height:40px;
    gap:5px;
    padding:0 3px !important;
    background:transparent;
  }

  .header-main .actions .cart-action .tcgx-header-utility-icon{
    flex-basis:28px;
    width:28px;
    height:28px;
  }

  .header-main .actions .cart-action .tcgx-header-utility-label{
    font-size:11px;
  }

  .header-main .actions .cart-action:hover{
    background:transparent;
  }
}

@media(max-width:430px){
  .header-main .actions .cart-action .tcgx-header-utility-label{
    display:none;
  }
}


/* ==========================================================
   v1.51: homepage hero H1 sizing
   ========================================================== */

.hero-box .hero-copy h1{
  max-width:360px;
  margin:17px 0 20px;
  color:#fff;
  font-size:clamp(44px,4vw,44px);
  line-height:.97;
  letter-spacing:-1.4px;
  font-weight:950;
}


/* ==========================================================
   v1.53: persistent active state for primary navigation
   ========================================================== */

/* Match the existing desktop hover treatment without opening a dropdown. */
.header .nav-list > li.current > a,
.header .nav-list > li.current-menu-item > a,
.header .nav-list > li.current-menu-parent > a,
.header .nav-list > li.current-menu-ancestor > a,
.header .nav-list > li.current_page_item > a,
.header .nav-list > li.current-product_cat-ancestor > a{
  color:#ff791e;
}

.header .nav-list > li.current > a::after,
.header .nav-list > li.current-menu-item > a::after,
.header .nav-list > li.current-menu-parent > a::after,
.header .nav-list > li.current-menu-ancestor > a::after,
.header .nav-list > li.current_page_item > a::after,
.header .nav-list > li.current-product_cat-ancestor > a::after{
  right:0;
}

.header .nav-list > li.current > a .dropdown-arrow,
.header .nav-list > li.current-menu-item > a .dropdown-arrow,
.header .nav-list > li.current-menu-parent > a .dropdown-arrow,
.header .nav-list > li.current-menu-ancestor > a .dropdown-arrow,
.header .nav-list > li.current-product_cat-ancestor > a .dropdown-arrow{
  color:#ff791e;
  opacity:1;
}

@media(max-width:760px){
  .header .nav-list > li.current > a,
  .header .nav-list > li.current-menu-item > a,
  .header .nav-list > li.current-menu-parent > a,
  .header .nav-list > li.current-menu-ancestor > a,
  .header .nav-list > li.current_page_item > a,
  .header .nav-list > li.current-product_cat-ancestor > a{
    color:#ff791e !important;
  }

  .header .nav-list > li.current > .tcgx-mobile-submenu-toggle,
  .header .nav-list > li.current-menu-item > .tcgx-mobile-submenu-toggle,
  .header .nav-list > li.current-menu-parent > .tcgx-mobile-submenu-toggle,
  .header .nav-list > li.current-menu-ancestor > .tcgx-mobile-submenu-toggle,
  .header .nav-list > li.current-product_cat-ancestor > .tcgx-mobile-submenu-toggle{
    color:#ff791e;
  }
}


/* ==========================================================
   v1.54: Shop by Game image clarity + semantic category titles
   ========================================================== */

.category-discovery-card > h4{
  display:block !important;
  max-width:86% !important;
  margin:0 !important;
  margin-top:auto !important;
  padding:0 !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  letter-spacing:normal !important;
  text-shadow:0 2px 10px rgba(0,0,0,.30) !important;
}


/* ==========================================================
   v1.55: WooCommerce Blocks checkout shipping options
   ========================================================== */

/* Woo positions the radio control inside the label; reserve enough room
   so the shipping-method text can never sit underneath the radio circle. */
body.woocommerce-checkout
.wc-block-checkout__shipping-option
.wc-block-components-radio-control__option,
body.woocommerce-checkout
.wc-block-components-shipping-rates-control__package
.wc-block-components-radio-control__option{
  min-height:50px !important;
  padding:15px 16px 15px 52px !important;
  background:#fff !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Keep the selected shipping method subtle and consistent with the theme. */
body.woocommerce-checkout
.wc-block-checkout__shipping-option
.wc-block-components-radio-control__option-checked,
body.woocommerce-checkout
.wc-block-components-shipping-rates-control__package
.wc-block-components-radio-control__option-checked{
  background:#fff8f3 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Give shipping labels/prices clean vertical alignment without changing
   WooCommerce's checkout column structure. */
body.woocommerce-checkout
.wc-block-components-shipping-rates-control__package
.wc-block-components-radio-control__label,
body.woocommerce-checkout
.wc-block-checkout__shipping-option
.wc-block-components-radio-control__label{
  line-height:1.35 !important;
}


/* ==========================================================
   v1.56: remove Woo Blocks payment-option highlight shadow
   ========================================================== */

body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control--highlight-checked
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout
.wc-block-checkout__payment-method
.wc-block-components-radio-control--highlight-checked
label.wc-block-components-radio-control__option--checked-option-highlighted{
  box-shadow:none !important;
}
