/*
Theme Name: TCG Haven Shop
Theme URI: https://tcghaven.de/
Author: TCG Haven
Description: Schlankes, eigenständiges WooCommerce-Theme für TCG Haven. Das Design orientiert sich am freigegebenen Shop-Mockup und benötigt keinen Pagebuilder.
Version: 0.4.14
Text Domain: tcg-haven
Requires PHP: 7.4
*/

:root {
  --tcgh-accent: #f47a0b;
  --tcgh-accent-strong: #e96500;
  --tcgh-dark: #191919;
  --tcgh-dark-2: #101010;
  --tcgh-dark-3: #242424;
  --tcgh-surface: #f6f5f3;
  --tcgh-surface-2: #efeeeb;
  --tcgh-white: #ffffff;
  --tcgh-text: #171717;
  --tcgh-muted: #666666;
  --tcgh-line: #e3e1dc;
  --tcgh-success: #1f7a4c;
  --tcgh-radius: 10px;
  --tcgh-radius-sm: 7px;
  --tcgh-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  --tcgh-max: 1320px;
  --tcgh-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width:100%; overflow-x:hidden; }
body {
  margin: 0;
  color: var(--tcgh-text);
  background: var(--tcgh-white);
  font-family: var(--tcgh-font);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  max-width:100%;
  overflow-x:hidden;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--tcgh-accent); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }


/* Clear keyboard focus without changing the mouse/touch appearance. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--tcgh-accent);
  outline-offset: 3px;
}

.tcgh-container {
  width: min(calc(100% - 40px), var(--tcgh-max));
  margin-inline: auto;
}
.tcgh-section { padding: 54px 0; }
.tcgh-section--compact { padding: 28px 0; }
.tcgh-section-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.tcgh-section-title {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.tcgh-section-link {
  color: var(--tcgh-accent);
  font-weight: 750;
  font-size: .92rem;
  white-space: nowrap;
}

/* Top bar */
.tcgh-topbar {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #1f2022 0%, #131416 55%, #0d0e10 100%);
  color: #e9e9e9;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(0,0,0,.35);
  font-size: .78rem;
}
.tcgh-topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.045) 18%, rgba(255,255,255,.01) 50%, rgba(244,122,11,.06) 82%, transparent 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 45%);
}
.tcgh-topbar-inner {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.tcgh-topbar-group { display: flex; align-items: center; gap: 26px; }
.tcgh-topbar-item { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.tcgh-topbar svg { width: 15px; height: 15px; color: var(--tcgh-accent); }
.tcgh-topbar a:hover { color: var(--tcgh-white); }

/* Header */
.tcgh-header {
  position: relative;
  z-index: 100;
  overflow: visible;
  background:
    linear-gradient(180deg, #242527 0%, #191a1c 52%, #141516 100%);
  color: var(--tcgh-white);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 6px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
.tcgh-header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 0%, rgba(244,122,11,.10), transparent 28%),
    radial-gradient(circle at 84% 0%, rgba(255,255,255,.045), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 24%, transparent 76%, rgba(0,0,0,.22));
}
.tcgh-header::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  opacity: .5;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(244,122,11,.4) 16%, rgba(255,255,255,.08) 50%, rgba(244,122,11,.32) 84%, transparent);
}
.tcgh-header-main {
  min-height: 84px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}
.tcgh-brand { display: flex; align-items: center; min-width: 184px; }
.tcgh-brand .custom-logo-link { display: inline-flex; align-items: center; }
.tcgh-brand .custom-logo { width:86px; height:auto; max-height:76px; object-fit:contain; }
.tcgh-brand-fallback {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: .95;
}
.tcgh-brand-mark {
  width: 36px;
  height: 45px;
  border: 3px solid var(--tcgh-accent);
  border-radius: 6px;
  transform: rotate(-8deg);
  position: relative;
  flex: 0 0 auto;
}
.tcgh-brand-mark:after {
  content: "";
  position: absolute;
  width: 18px;
  height: 3px;
  background: var(--tcgh-accent);
  right: -10px;
  top: 17px;
  transform: rotate(-28deg);
}
.tcgh-brand-text { font-size: 1.05rem; }
.tcgh-brand-text strong { color: var(--tcgh-accent); display: inline-block; margin-right: 4px; }
.tcgh-brand-tagline { display: block; color: #a9a9a9; letter-spacing: 0; font-size: .52rem; font-weight: 600; margin-top: 5px; }

.tcgh-primary-nav { min-width: 0; }
.tcgh-primary-nav ul,
.tcgh-primary-nav .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.45vw, 25px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.tcgh-primary-nav li { position: relative; }
.tcgh-primary-nav > ul > li > a,
.tcgh-primary-nav .menu > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 78px;
  font-size: .91rem;
  font-weight: 750;
  color: #f4f4f4;
  white-space: nowrap;
  transition: color .18s ease, transform .18s ease;
}
.tcgh-primary-nav > ul > li > a:before,
.tcgh-primary-nav .menu > li > a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--tcgh-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}
.tcgh-primary-nav li.menu-item-has-children > a,
.tcgh-primary-nav li.page_item_has_children > a {
  gap: 7px;
}
.tcgh-primary-nav li.menu-item-has-children > a:after,
.tcgh-primary-nav li.page_item_has_children > a:after {
  content: "▾";
  font-size: .72em;
  color: rgba(255,255,255,.72);
  transition: transform .18s ease, color .18s ease;
}
.tcgh-primary-nav a:hover,
.tcgh-primary-nav .current-menu-item > a,
.tcgh-primary-nav .current-menu-parent > a,
.tcgh-primary-nav .current_page_item > a {
  color: var(--tcgh-accent);
  transform: translateY(-1px);
}
.tcgh-primary-nav li:hover > a:before,
.tcgh-primary-nav .current-menu-item > a:before,
.tcgh-primary-nav .current-menu-parent > a:before,
.tcgh-primary-nav .current_page_item > a:before {
  transform: scaleX(1);
}
.tcgh-primary-nav li:hover > a:after,
.tcgh-primary-nav li:focus-within > a:after {
  color: var(--tcgh-accent);
  transform: translateY(1px);
}
.tcgh-primary-nav .sub-menu {
  position: absolute;
  z-index: 250;
  top: 66px;
  left: -16px;
  min-width: 240px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(27,27,27,.98);
  border-radius: var(--tcgh-radius-sm);
  box-shadow: var(--tcgh-shadow);
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  backdrop-filter: blur(12px);
}
.tcgh-primary-nav li:hover > .sub-menu,
.tcgh-primary-nav li:focus-within > .sub-menu { display: flex; }
.tcgh-primary-nav .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: .9rem;
  font-weight: 600;
}
.tcgh-primary-nav .sub-menu a:hover { background: rgba(255,255,255,.06); }

.tcgh-header-actions { display: flex; align-items: center; gap: 18px; }
.tcgh-action {
  color: var(--tcgh-white);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 650;
  background: none;
  border: 0;
  padding: 6px 0;
}
.tcgh-action svg { width: 22px; height: 22px; stroke-width: 1.7; }
.tcgh-cart { position: relative; }
.tcgh-cart-count {
  position: absolute;
  top: -4px;
  left: 16px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--tcgh-accent);
  color: var(--tcgh-white);
  font-size: .65rem;
  font-weight: 800;
  line-height: 1;
}
.tcgh-mobile-toggle { display: none; }

.tcgh-search-panel {
  display: none;
  background: #222;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 15px 0;
}
.tcgh-search-panel.is-open { display: block; }
.tcgh-search-form { display: flex; gap: 8px; }
.tcgh-search-form input[type="search"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid #3e3e3e;
  background: #141414;
  color: var(--tcgh-white);
  border-radius: var(--tcgh-radius-sm);
  padding: 0 14px;
}
.tcgh-search-form button {
  border: 0;
  background: var(--tcgh-accent);
  color: var(--tcgh-white);
  border-radius: var(--tcgh-radius-sm);
  padding: 0 20px;
  font-weight: 800;
}

/* Hero – v0.4.11 Haven brand system */
.tcgh-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: var(--tcgh-white);
  background: #0b0b0b;
}
.tcgh-hero-scenes {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.tcgh-hero-scene {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity .65s ease, transform 1.1s ease;
  background:
    radial-gradient(circle at 81% 30%, rgba(var(--tcgh-scene-primary-rgb), .29), transparent 24%),
    radial-gradient(circle at 68% 82%, rgba(var(--tcgh-scene-secondary-rgb), .21), transparent 28%),
    conic-gradient(from 220deg at 78% 56%, transparent 0 29%, rgba(var(--tcgh-scene-primary-rgb), .08) 35%, transparent 44% 65%, rgba(var(--tcgh-scene-secondary-rgb), .08) 72%, transparent 82%),
    linear-gradient(100deg, #111 0%, #0c0c0c 46%, #090909 100%);
}
.tcgh-hero-scene.is-active {
  opacity: 1;
  transform: scale(1);
}
.tcgh-hero-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--tcgh-scene-image, none);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  opacity: .58;
  filter: saturate(.95) contrast(1.04);
}
.tcgh-hero-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,7,7,.99) 0%, rgba(8,8,8,.97) 31%, rgba(8,8,8,.78) 49%, rgba(8,8,8,.30) 70%, rgba(8,8,8,.12) 100%),
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.28));
}
.tcgh-hero-scene-glow,
.tcgh-hero-scene-ring {
  position: absolute;
  display: block;
  pointer-events: none;
}
.tcgh-hero-scene-glow {
  border-radius: 50%;
  filter: blur(70px);
  opacity: .5;
}
.tcgh-hero-scene-glow--one {
  width: 380px;
  height: 240px;
  right: 7%;
  top: 8%;
  background: rgba(var(--tcgh-scene-primary-rgb), .34);
}
.tcgh-hero-scene-glow--two {
  width: 420px;
  height: 180px;
  right: 18%;
  bottom: 5%;
  background: rgba(var(--tcgh-scene-secondary-rgb), .24);
}
.tcgh-hero-scene-ring {
  width: min(48vw, 620px);
  aspect-ratio: 1;
  right: 3%;
  top: 50%;
  transform: translateY(-50%) rotate(-13deg);
  border: 1px solid rgba(var(--tcgh-scene-primary-rgb), .17);
  border-radius: 50%;
  box-shadow:
    0 0 0 42px rgba(var(--tcgh-scene-secondary-rgb), .025),
    0 0 0 96px rgba(var(--tcgh-scene-primary-rgb), .018);
}
.tcgh-hero-inner {
  position: relative;
  z-index: 2;
  min-height: 540px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: stretch;
}
.tcgh-hero-copy {
  position: relative;
  z-index: 4;
  padding: 68px 34px 58px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 720px;
}
.tcgh-hero-eyebrow {
  margin-bottom: 10px;
  color: var(--tcgh-accent);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.tcgh-hero-title {
  margin: 0 0 20px;
  max-width: 700px;
  color: #fff;
  font-size: clamp(2.5rem, 4.8vw, 4.75rem);
  font-weight: 950;
  letter-spacing: -.045em;
  line-height: .94;
  text-transform: uppercase;
}
.tcgh-hero-title .accent {
  display: block;
  color: var(--tcgh-accent);
}
.tcgh-hero-subtitle {
  max-width: 610px;
  margin: 0;
  color: #e5e5e5;
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  font-weight: 580;
  line-height: 1.5;
}
.tcgh-hero-perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 17px;
  margin: 30px 0 28px;
}
.tcgh-hero-perk {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #efefef;
}
.tcgh-hero-perk svg {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--tcgh-accent);
}
.tcgh-hero-perk > span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.tcgh-hero-perk strong {
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.22;
}
.tcgh-hero-perk small {
  color: #c9c9c9;
  font-size: .68rem;
  line-height: 1.28;
}
.tcgh-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.tcgh-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 23px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-weight: 850;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.tcgh-button:hover { transform: translateY(-1px); }
.tcgh-button--primary {
  background: var(--tcgh-accent);
  color: var(--tcgh-white);
  box-shadow: 0 10px 26px rgba(244,122,11,.16);
}
.tcgh-button--primary:hover { background: var(--tcgh-accent-strong); color: var(--tcgh-white); }
.tcgh-button--ghost { border-color: rgba(255,255,255,.38); color: var(--tcgh-white); background: rgba(255,255,255,.025); }
.tcgh-button--ghost:hover { border-color: var(--tcgh-white); color: var(--tcgh-white); background: rgba(255,255,255,.06); }

.tcgh-hero-visual {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 34px 10px 62px;
}
.tcgh-hero-card-stage {
  position: relative;
  width: min(100%, 600px);
  height: 410px;
  display: grid;
  place-items: center;
  perspective: 1100px;
}
.tcgh-hero-card-stage::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: min(72%, 410px);
  height: 52px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(0,0,0,.56);
  filter: blur(18px);
}
.tcgh-hero-focus-card {
  position: absolute;
  width: clamp(250px, 25vw, 318px);
  aspect-ratio: .69;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(var(--tcgh-scene-primary-rgb), .42);
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 50% 32%, rgba(var(--tcgh-scene-primary-rgb), .13), transparent 34%),
    linear-gradient(155deg, #242424 0%, #111 62%, #090909 100%);
  box-shadow:
    0 34px 70px rgba(0,0,0,.56),
    0 0 0 2px rgba(var(--tcgh-scene-secondary-rgb), .06),
    0 0 42px rgba(var(--tcgh-scene-primary-rgb), .18);
  opacity: 0;
  transform: translate3d(54px, 12px, -80px) rotateY(-16deg) rotateZ(1.5deg) scale(.92);
  pointer-events: none;
  transition: opacity .5s ease, transform .7s cubic-bezier(.2,.75,.2,1), border-color .4s ease, box-shadow .4s ease;
}
.tcgh-hero-focus-card.is-active {
  opacity: 1;
  transform: translate3d(0,0,0) rotateY(-5deg) rotateZ(.6deg) scale(1);
  pointer-events: auto;
}
.tcgh-hero-focus-card:hover {
  color: #fff;
  transform: translate3d(0,-5px,14px) rotateY(-2deg) rotateZ(0deg) scale(1.012);
  border-color: rgba(var(--tcgh-scene-secondary-rgb), .72);
  box-shadow:
    0 38px 78px rgba(0,0,0,.62),
    0 0 0 2px rgba(var(--tcgh-scene-secondary-rgb), .10),
    0 0 52px rgba(var(--tcgh-scene-primary-rgb), .24);
}
.tcgh-hero-card-surface {
  position: absolute;
  inset: 15px;
  border: 1px solid rgba(var(--tcgh-scene-secondary-rgb), .34);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 48%, transparent 0 22%, rgba(var(--tcgh-scene-primary-rgb), .07) 22.5% 23%, transparent 23.5% 34%, rgba(var(--tcgh-scene-secondary-rgb), .07) 34.5% 35%, transparent 35.5%),
    linear-gradient(135deg, rgba(255,255,255,.025), transparent 35% 68%, rgba(255,255,255,.018));
}
.tcgh-hero-card-surface::before,
.tcgh-hero-card-surface::after {
  content: "";
  position: absolute;
  width: 42px;
  height: 42px;
  border-color: rgba(var(--tcgh-scene-secondary-rgb), .52);
  border-style: solid;
  opacity: .72;
}
.tcgh-hero-card-surface::before {
  left: 12px;
  top: 12px;
  border-width: 1px 0 0 1px;
}
.tcgh-hero-card-surface::after {
  right: 12px;
  bottom: 12px;
  border-width: 0 1px 1px 0;
}

/* Category-specific card language. These are intentionally original geometric
   TCG Haven motifs: no franchise logos, characters, card backs or protected props. */
.tcgh-hero-focus-card[data-hero-key="pokemon"] .tcgh-hero-card-surface {
  background:
    radial-gradient(circle at 50% 47%, transparent 0 18%, rgba(63,167,255,.10) 18.5% 19.3%, transparent 19.8% 29%, rgba(242,189,62,.10) 29.5% 30.3%, transparent 31%),
    repeating-linear-gradient(125deg, transparent 0 35px, rgba(63,167,255,.035) 36px 37px, transparent 38px 72px),
    linear-gradient(155deg, rgba(242,189,62,.035), transparent 38% 68%, rgba(63,167,255,.03));
}
.tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-surface {
  background:
    radial-gradient(circle at 50% 46%, transparent 0 14%, rgba(123,97,255,.10) 14.5% 15.3%, transparent 16% 25%, rgba(34,198,217,.08) 25.5% 26.2%, transparent 27% 36%, rgba(123,97,255,.07) 36.5% 37.2%, transparent 38%),
    conic-gradient(from 22deg at 50% 46%, transparent 0 11%, rgba(255,255,255,.035) 11.5% 12%, transparent 12.5% 36%, rgba(123,97,255,.045) 36.5% 37%, transparent 37.5% 61%, rgba(34,198,217,.035) 61.5% 62%, transparent 62.5%),
    linear-gradient(145deg, rgba(123,97,255,.025), transparent 56%, rgba(34,198,217,.025));
}
.tcgh-hero-focus-card[data-hero-key="lorcana"] .tcgh-hero-card-surface {
  background:
    radial-gradient(ellipse at 50% 68%, rgba(243,199,92,.10), transparent 24%),
    radial-gradient(circle at 28% 28%, rgba(189,120,255,.09) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 35%, rgba(243,199,92,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 61% 20%, rgba(255,255,255,.06) 0 1px, transparent 2px),
    repeating-radial-gradient(ellipse at 50% 96%, transparent 0 28px, rgba(189,120,255,.035) 29px 30px, transparent 31px 56px),
    linear-gradient(160deg, rgba(243,199,92,.028), transparent 48%, rgba(189,120,255,.035));
}
.tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] .tcgh-hero-card-surface {
  background:
    linear-gradient(32deg, transparent 0 43%, rgba(224,109,50,.055) 43.5% 44.2%, transparent 44.7%),
    linear-gradient(148deg, transparent 0 43%, rgba(195,83,255,.045) 43.5% 44.2%, transparent 44.7%),
    repeating-linear-gradient(90deg, transparent 0 42px, rgba(224,109,50,.028) 43px 44px, transparent 45px 86px),
    repeating-linear-gradient(0deg, transparent 0 58px, rgba(195,83,255,.022) 59px 60px, transparent 61px 116px),
    radial-gradient(circle at 50% 49%, transparent 0 24%, rgba(224,109,50,.07) 24.5% 25.2%, transparent 26% 35%, rgba(195,83,255,.05) 35.5% 36.2%, transparent 37%);
}
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-surface {
  background:
    linear-gradient(118deg, transparent 0 24%, rgba(255,114,28,.055) 24.5% 25.5%, transparent 26% 54%, rgba(166,45,40,.05) 54.5% 55.5%, transparent 56%),
    repeating-linear-gradient(168deg, transparent 0 29px, rgba(255,114,28,.028) 30px 32px, transparent 33px 66px),
    radial-gradient(ellipse at 58% 54%, rgba(166,45,40,.075), transparent 34%),
    linear-gradient(150deg, rgba(255,114,28,.03), transparent 52%, rgba(166,45,40,.035));
}
.tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-surface {
  background:
    repeating-linear-gradient(0deg, transparent 0 15px, rgba(255,255,255,.018) 16px 17px),
    repeating-linear-gradient(90deg, transparent 0 15px, rgba(244,122,11,.022) 16px 17px),
    linear-gradient(145deg, rgba(244,122,11,.028), transparent 46% 68%, rgba(185,185,185,.025));
}
.tcgh-hero-card-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 34px 42px;
  text-align: center;
}
.tcgh-hero-card-kicker {
  margin-bottom: 18px;
  color: rgba(255,255,255,.56);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tcgh-hero-card-title {
  max-width: 9.5ch;
  color: #fff;
  font-size: clamp(1.55rem, 2.35vw, 2.45rem);
  font-weight: 950;
  letter-spacing: -.045em;
  line-height: .96;
  text-transform: uppercase;
  text-shadow: 0 4px 24px rgba(0,0,0,.38);
}
.tcgh-hero-card-title::after {
  content: "";
  display: block;
  width: 68px;
  height: 2px;
  margin: 20px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--tcgh-scene-secondary), transparent);
  box-shadow: 0 0 14px rgba(var(--tcgh-scene-primary-rgb), .38);
}
.tcgh-hero-card-link {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255,255,255,.73);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.tcgh-hero-card-link span { color: var(--tcgh-scene-secondary); font-size: 1.1rem; }
.tcgh-hero-slider-controls {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 8;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
}
.tcgh-hero-slider-button {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(8,8,8,.58);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  backdrop-filter: blur(10px);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.tcgh-hero-slider-button:hover {
  transform: translateY(-1px);
  border-color: rgba(244,122,11,.72);
  background: rgba(244,122,11,.16);
}
.tcgh-hero-dots { display: flex; gap: 8px; }
.tcgh-hero-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.34);
  transition: transform .18s ease, background .18s ease;
}
.tcgh-hero-dot.is-active,
.tcgh-hero-dot:hover {
  background: var(--tcgh-accent);
  transform: scale(1.16);
}

/* Category tiles */
.tcgh-categories { background: var(--tcgh-white); padding: 28px 0 10px; }
.tcgh-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 12px;
}
.tcgh-category-card {
  min-height: 154px;
  border: 1px solid var(--tcgh-line);
  border-radius: 10px;
  background: linear-gradient(145deg,#fff,#f7f7f6);
  overflow: hidden;
  position: relative;
  isolation: isolate;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tcgh-category-card:before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--tcgh-accent), rgba(244,122,11,0));
  transform: scaleX(.18);
  transform-origin: left;
  transition: transform .2s ease;
  z-index: 5;
}
.tcgh-category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 28px rgba(0,0,0,.15);
  border-color: rgba(244,122,11,.45);
}
.tcgh-category-card:hover:before { transform: scaleX(1); }

.tcgh-category-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  position: relative;
  z-index: 4;
}
.tcgh-category-name { margin: 0 0 6px; font-weight: 900; line-height: 1.05; font-size: .96rem; }
.tcgh-category-desc { margin: 0; color: var(--tcgh-muted); font-size: .72rem; line-height: 1.35; }
.tcgh-category-link {
  color: var(--tcgh-accent);
  display: inline-block;
  margin-top: auto;
  padding-top: 12px;
  font-size: .68rem;
  font-weight: 850;
}

/* Category image fills the card; text sits in a translucent framed panel. */
.tcgh-category-card--image {
  min-height: 174px;
  background: #151515;
  border-color: rgba(255,255,255,.12);
  color: #fff;
  padding: 12px;
  display: flex;
  align-items: stretch;
}
.tcgh-category-card--image:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(8,8,8,.42) 0%, rgba(8,8,8,.14) 58%, rgba(8,8,8,.03) 100%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.22));
  pointer-events: none;
}
.tcgh-category-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: inherit;
}
.tcgh-category-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1.01);
  filter: saturate(.94) contrast(1.03);
  transition: transform .35s ease, filter .35s ease;
}
.tcgh-category-card--image:hover .tcgh-category-bg img {
  transform: scale(1.055);
  filter: saturate(1) contrast(1.06);
}
.tcgh-category-card--image .tcgh-category-copy {
  width: min(72%, 150px);
  min-height: 100%;
  padding: 12px 11px;
  border: 1px solid rgba(255,255,255,.26);
  border-bottom-color: rgba(244,122,11,.85);
  border-radius: 9px;
  background: rgba(13,13,13,.57);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.tcgh-category-card--image .tcgh-category-name {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}
.tcgh-category-card--image .tcgh-category-desc {
  color: rgba(255,255,255,.78);
  text-shadow: 0 1px 3px rgba(0,0,0,.45);
}
.tcgh-category-card--image .tcgh-category-link {
  color: var(--tcgh-accent);
  text-shadow: 0 1px 3px rgba(0,0,0,.65);
}

/* Fallback until a category image is assigned. */
.tcgh-category-card--fallback {
  padding: 15px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 72px;
  gap: 9px;
}
.tcgh-category-monogram {
  align-self: center;
  justify-self: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0efed;
  color: var(--tcgh-dark);
  border: 3px solid rgba(244,122,11,.75);
  font-size: .9rem;
  font-weight: 950;
  letter-spacing: -.03em;
}

/* USP strip */
.tcgh-usps { padding: 14px 0 26px; }
.tcgh-usp-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border: 1px solid var(--tcgh-line);
  border-radius: var(--tcgh-radius-sm);
  background: var(--tcgh-surface);
  overflow: hidden;
}
.tcgh-usp {
  min-height: 92px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  border-right: 1px solid var(--tcgh-line);
}
.tcgh-usp:last-child { border-right: 0; }
.tcgh-usp svg { width: 38px; height: 38px; flex: 0 0 auto; color: var(--tcgh-dark); }
.tcgh-usp strong { display: block; font-size: .88rem; margin-bottom: 2px; }
.tcgh-usp span { display: block; color: var(--tcgh-muted); font-size: .73rem; line-height: 1.35; }

/* Home WooCommerce products */
.tcgh-new-products { padding: 30px 0 52px; }
.tcgh-new-products .woocommerce { margin: 0; }
.tcgh-new-products ul.products,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 18px;
  margin: 0;
}
.tcgh-new-products ul.products:before,
.tcgh-new-products ul.products:after,
.woocommerce ul.products:before,
.woocommerce ul.products:after { display: none !important; }
.tcgh-new-products ul.products li.product,
.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  border: 1px solid var(--tcgh-line);
  border-radius: var(--tcgh-radius-sm);
  background: var(--tcgh-white);
  padding: 12px 12px 14px !important;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: transform .16s ease, box-shadow .16s ease;
}
.tcgh-new-products ul.products li.product:hover,
.woocommerce ul.products li.product:hover { transform: translateY(-2px); box-shadow: var(--tcgh-shadow); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  color: inherit;
}
.woocommerce ul.products li.product a img {
  display: block;
  width: 100%;
  margin: 0 0 12px !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  box-sizing: border-box;
  padding: 8px;
  border-radius: 5px;
  background: #fff;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  font-size: .82rem !important;
  line-height: 1.35;
  color: var(--tcgh-text);
  font-weight: 700;
  padding: 0 !important;
  min-height: 4.4em;
  max-height: 5.4em;
  margin-bottom: 8px;
}
.woocommerce ul.products li.product .price {
  color: var(--tcgh-text) !important;
  font-size: .96rem !important;
  font-weight: 900 !important;
  margin-top: auto !important;
  margin-bottom: 10px !important;
}
.woocommerce ul.products li.product .price del { color: #8c8c8c; font-weight: 600; }
.woocommerce ul.products li.product .price ins { color: var(--tcgh-accent); text-decoration: none; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-components-button:not(.is-link) {
  border: 0 !important;
  background: var(--tcgh-accent) !important;
  color: #fff !important;
  min-height: 40px;
  border-radius: 6px !important;
  font-weight: 800 !important;
  text-align: center;
}
 .woocommerce ul.products li.product .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  margin-top: 0 !important;
  padding: 9px 10px !important;
  line-height: 1.08 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--tcgh-accent-strong) !important; color: #fff !important; }
.woocommerce span.onsale {
  background: var(--tcgh-accent) !important;
  color: #fff !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  padding: 6px 8px !important;
  border-radius: 4px !important;
  top: 9px !important;
  left: 9px !important;
  right: auto !important;
  font-size: .64rem !important;
  font-weight: 850 !important;
  text-transform: uppercase;
}

.tcgh-product-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 18px;
}
.tcgh-placeholder-card { border:1px solid var(--tcgh-line); border-radius:var(--tcgh-radius-sm); padding:12px; }
.tcgh-placeholder-image { aspect-ratio:1/1; border-radius:4px; background:linear-gradient(145deg,#f3f2ef,#e4e2dd); display:grid; place-items:center; color:#888; font-size:.72rem; font-weight:800; }
.tcgh-placeholder-card strong { display:block; margin:12px 0 6px; font-size:.82rem; }
.tcgh-placeholder-card span { font-weight:900; }

/* Newsletter */
.tcgh-newsletter { padding: 0 0 34px; }
.tcgh-newsletter-box {
  max-width: 1060px;
  margin: 0 auto;
  background: var(--tcgh-surface);
  border: 1px solid var(--tcgh-line);
  border-radius: var(--tcgh-radius-sm);
  padding: 20px 28px;
  display: grid;
  grid-template-columns: 1fr minmax(340px,.8fr);
  align-items: center;
  gap: 24px;
}
.tcgh-newsletter-copy { display:flex; align-items:center; gap:16px; }
.tcgh-newsletter-copy svg { width: 42px; height: 42px; color: var(--tcgh-accent); flex:0 0 auto; }
.tcgh-newsletter-copy strong { display:block; font-size:.92rem; }
.tcgh-newsletter-copy span { color:var(--tcgh-muted); font-size:.76rem; }
.tcgh-newsletter-box form { display:flex; gap:0; }
.tcgh-newsletter-box input[type="email"],
.tcgh-newsletter-box input[type="text"] {
  flex:1; min-width:0; min-height:42px; border:1px solid var(--tcgh-line); border-right:0; border-radius:6px 0 0 6px; background:#fff; padding:0 14px;
}
.tcgh-newsletter-box input[type="submit"],
.tcgh-newsletter-box button {
  border:0; border-radius:0 6px 6px 0; background:var(--tcgh-accent); color:#fff; padding:0 24px; font-weight:800;
}

/* Main content / pages */
.tcgh-main { min-height: 55vh; }
.tcgh-content-wrap { width:min(calc(100% - 40px), var(--tcgh-max)); margin:0 auto; padding:52px 0 70px; }
.tcgh-page-title { margin:0 0 28px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.05; }
.tcgh-entry-content > *:first-child { margin-top:0; }
.tcgh-entry-content a { color:var(--tcgh-accent); text-decoration:underline; text-underline-offset:2px; }
.tcgh-entry-content img { border-radius:var(--tcgh-radius-sm); }

/* Woo pages */
.tcgh-woo-wrap { width:min(calc(100% - 40px), var(--tcgh-max)); margin:0 auto; padding:46px 0 72px; }
body.single-product .tcgh-woo-wrap { width:min(calc(100% - clamp(40px,6vw,120px)), 1680px); }
.woocommerce .woocommerce-breadcrumb { color:var(--tcgh-muted); font-size:.8rem; margin-bottom:24px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--tcgh-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color:var(--tcgh-accent); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom:25px; }
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  border:1px solid var(--tcgh-line) !important;
  border-radius:6px !important;
  min-height:46px;
  background:#fff !important;
}
/* Single product: compact, content-first layout */
.woocommerce div.product {
  display:grid;
  grid-template-columns:minmax(410px,560px) minmax(500px,780px);
  gap:clamp(48px,5.5vw,96px);
  align-items:start;
  justify-content:center;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  min-width:0;
}
.woocommerce div.product div.images {
  width:100% !important;
  max-width:560px;
  justify-self:center;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin:0 !important;
  border:1px solid var(--tcgh-line);
  border-radius:var(--tcgh-radius);
  background:#fff;
  overflow:hidden;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
  min-height:520px;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img {
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:520px !important;
  margin:auto !important;
  object-fit:contain;
  border-radius:var(--tcgh-radius-sm);
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  top:14px !important;
  right:14px !important;
}
.woocommerce div.product div.images .flex-control-thumbs {
  margin:12px 0 0 !important;
  padding:0 !important;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  list-style:none;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  border:1px solid var(--tcgh-line);
  border-radius:6px;
  background:#fff;
  overflow:hidden;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  display:block;
  width:100% !important;
  height:74px !important;
  max-height:74px !important;
  object-fit:contain;
  padding:5px;
  opacity:.62;
  transition:opacity .15s ease, box-shadow .15s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  opacity:1;
  box-shadow:inset 0 -3px 0 var(--tcgh-accent);
}
.woocommerce div.product div.summary {
  max-width:780px;
  padding-top:4px;
}
.woocommerce div.product .product_title {
  font-size:clamp(1.85rem,2.5vw,2.45rem);
  line-height:1.08;
  margin:0 0 18px;
  letter-spacing:-.025em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color:var(--tcgh-accent); font-size:1.55rem; font-weight:900; }
.woocommerce div.product .woocommerce-product-details__short-description {
  max-width:650px;
  color:#444;
  font-size:.96rem;
  line-height:1.6;
}
.woocommerce div.product form.cart { display:flex; align-items:stretch; gap:10px; margin:24px 0 18px; }
.woocommerce div.product div.summary .ppc-button-wrapper,
.woocommerce div.product div.summary #ppc-button,
.woocommerce div.product div.summary [id^="ppc-button"] {
  width:100%;
  max-width:520px;
}
.woocommerce div.product div.summary .ppc-button-wrapper { margin-top:10px; }
.woocommerce div.product div.summary .ppc-button-wrapper iframe,
.woocommerce div.product div.summary #ppc-button iframe { max-width:100% !important; }
.woocommerce .quantity .qty { min-height:44px; border:1px solid var(--tcgh-line); border-radius:6px; }
.woocommerce div.product .product_meta {
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--tcgh-line);
  color:var(--tcgh-muted);
  font-size:.8rem;
  line-height:1.65;
}
.woocommerce div.product .product_meta a { color:var(--tcgh-text); font-weight:700; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column:1/-1; }
.woocommerce div.product .woocommerce-tabs {
  width:100%;
  max-width:1320px;
  justify-self:center;
  margin-top:42px;
  padding-top:6px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding-left:0 !important;
  margin:0 0 0 !important;
  border-bottom:1px solid var(--tcgh-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs:before { border-bottom:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color:var(--tcgh-line) !important;
  background:var(--tcgh-surface) !important;
  margin:0 5px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:#fff !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  margin:0 !important;
  padding:28px clamp(18px,3vw,34px) 34px;
  border:1px solid var(--tcgh-line);
  border-top:0;
  border-radius:0 0 var(--tcgh-radius) var(--tcgh-radius);
  background:#fff;
  line-height:1.65;
}
.woocommerce div.product .woocommerce-tabs .panel > *:first-child { margin-top:0; }
.woocommerce div.product .woocommerce-tabs .panel > *:last-child { margin-bottom:0; }
.woocommerce div.product .woocommerce-product-attributes {
  max-width:760px;
  border:1px solid var(--tcgh-line);
  border-collapse:collapse;
}
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
  padding:12px 16px !important;
  border-bottom:1px solid var(--tcgh-line) !important;
}

/* GPSR / product-safety tab */
.tcgh-gpsr-content { max-width:980px; }
.tcgh-gpsr-intro { color:var(--tcgh-muted); margin-bottom:24px; }
.tcgh-gpsr-brand-block { margin:0 0 28px; }
.tcgh-gpsr-brand-block > h3 { margin:0 0 14px; font-size:1.12rem; }
.tcgh-gpsr-card,
.tcgh-gpsr-safety,
.tcgh-gpsr-identification {
  border:1px solid var(--tcgh-line);
  border-radius:var(--tcgh-radius-sm);
  background:var(--tcgh-surface);
  padding:18px 20px;
  margin:12px 0;
}
.tcgh-gpsr-card h4,
.tcgh-gpsr-safety h4,
.tcgh-gpsr-safety h3,
.tcgh-gpsr-identification h3 { margin:0 0 10px; font-size:.95rem; }
.tcgh-gpsr-card strong { display:block; margin-bottom:3px; }
.tcgh-gpsr-card a { color:var(--tcgh-accent); text-decoration:underline; text-underline-offset:2px; }
.tcgh-gpsr-identification dl { margin:0; }
.tcgh-gpsr-identification dl > div { display:grid; grid-template-columns:minmax(190px,.65fr) 1fr; gap:18px; padding:7px 0; border-bottom:1px solid rgba(0,0,0,.07); }
.tcgh-gpsr-identification dl > div:last-child { border-bottom:0; }
.tcgh-gpsr-identification dt { font-weight:800; }
.tcgh-gpsr-identification dd { margin:0; overflow-wrap:anywhere; }
.tcgh-gpsr-product-safety { background:#fff8ef; border-color:rgba(244,122,11,.28); }
.tcgh-gpsr-directory .tcgh-gpsr-brand-block { padding:24px 0; border-bottom:1px solid var(--tcgh-line); }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color:var(--tcgh-accent) !important; background:var(--tcgh-surface) !important; }
.woocommerce-message::before,
.woocommerce-info::before { color:var(--tcgh-accent) !important; }
.woocommerce-cart table.cart img { width:88px; }
.woocommerce table.shop_table { border-color:var(--tcgh-line) !important; border-radius:var(--tcgh-radius-sm) !important; }
.woocommerce table.shop_table th { font-weight:850; }
.woocommerce-checkout #payment { background:var(--tcgh-surface) !important; border-radius:var(--tcgh-radius-sm) !important; }
.woocommerce-checkout #payment div.payment_box { background:#eae8e4 !important; }
.woocommerce-checkout #payment div.payment_box:before { border-bottom-color:#eae8e4 !important; }

/* Product express payments: keep Apple Pay visually aligned with the other wallet buttons. */
.woocommerce div.product div.summary #ppc-button-ppcp-applepay,
.woocommerce div.product div.summary .ppcp-button-applepay,
.woocommerce div.product div.summary [id*="applepay"][id*="ppc-button"],
.woocommerce div.product div.summary [class*="applepay"][class*="ppcp-button"] {
  width:min(100%,520px) !important;
  max-width:520px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}
.woocommerce div.product div.summary #ppc-button-ppcp-applepay iframe,
.woocommerce div.product div.summary .ppcp-button-applepay iframe,
.woocommerce div.product div.summary [id*="applepay"][id*="ppc-button"] iframe {
  width:100% !important;
  max-width:100% !important;
}


/* v0.4.12: WooCommerce PayPal Payments can render Apple Pay with different
   wrappers/custom elements depending on plugin/browser version. Keep every
   Apple-Pay-specific layer inside the product summary at the same calm width. */
.woocommerce div.product div.summary [id*="apple-pay" i],
.woocommerce div.product div.summary [id*="applepay" i],
.woocommerce div.product div.summary [class*="apple-pay" i],
.woocommerce div.product div.summary [class*="applepay" i],
.woocommerce div.product div.summary [data-funding-source="applepay" i],
.woocommerce div.product div.summary [data-button-type="applepay" i],
.woocommerce div.product div.summary apple-pay-button {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 520px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
.woocommerce div.product div.summary [id*="apple-pay" i] > *,
.woocommerce div.product div.summary [id*="applepay" i] > *,
.woocommerce div.product div.summary [class*="apple-pay" i] > *,
.woocommerce div.product div.summary [class*="applepay" i] > *,
.woocommerce div.product div.summary apple-pay-button > * {
  max-width: 100% !important;
}

/* Cart/Checkout blocks */
.wc-block-cart,
.wc-block-checkout { --wp--preset--color--contrast: var(--tcgh-text); }
.wc-block-components-order-summary,
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar { border-color:var(--tcgh-line); }
.wc-block-components-totals-wrapper { border-color:var(--tcgh-line) !important; }

.tcgh-free-shipping-progress {
  margin:12px 0 18px;
  padding:14px 16px;
  border:1px solid var(--tcgh-line);
  border-radius:var(--tcgh-radius-sm);
  background:var(--tcgh-surface);
}
.tcgh-free-shipping-progress__text { font-size:.84rem; font-weight:750; line-height:1.35; }
.tcgh-free-shipping-progress__bar {
  height:6px;
  margin-top:10px;
  border-radius:999px;
  overflow:hidden;
  background:#dedcd7;
}
.tcgh-free-shipping-progress__fill {
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:var(--tcgh-accent);
  transition:width .25s ease;
}
.tcgh-free-shipping-progress.is-unlocked { border-color:rgba(31,122,76,.28); }

/* Footer */
.tcgh-footer {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, #262729 0%, #1a1b1d 42%, #141517 100%);
  color:#d8d8d8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.tcgh-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 0%, rgba(244,122,11,.08), transparent 30%),
    radial-gradient(circle at 86% 0%, rgba(255,255,255,.04), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 18%, transparent 78%, rgba(0,0,0,.20));
}
.tcgh-footer::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  opacity: .5;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(244,122,11,.34) 14%, rgba(255,255,255,.08) 50%, rgba(244,122,11,.26) 86%, transparent);
}
.tcgh-footer-main { padding:38px 0 34px; display:grid; grid-template-columns:1.35fr .9fr 1.7fr 1.05fr 1.15fr; gap:34px; }
.tcgh-footer-main, .tcgh-footer-bottom, .tcgh-topbar-inner, .tcgh-header-main { position: relative; z-index: 1; }
.tcgh-footer-brand .custom-logo { width:min(150px,100%); height:auto; max-height:120px; object-fit:contain; margin-bottom:14px; }
.tcgh-footer-brand p { color:#aaa; font-size:.77rem; margin:10px 0 14px; max-width:230px; }
.tcgh-footer-heading { margin:0 0 14px; color:#fff; font-size:.78rem; font-weight:900; text-transform:uppercase; }
.tcgh-footer ul { list-style:none; margin:0; padding:0; }
.tcgh-footer li { margin:7px 0; }
.tcgh-footer li a { color:#bdbdbd; font-size:.76rem; }
.tcgh-footer li a:hover { color:var(--tcgh-accent); }
.tcgh-footer-service-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 26px; }
.tcgh-footer-service-grid li { margin-top:0; margin-bottom:7px; }
.tcgh-withdrawal-action--footer-end { margin-top:14px !important; }
.tcgh-withdrawal-action--footer-end a { display:inline-flex; align-items:center; gap:8px; }
.tcgh-footer-trust { display:flex; flex-direction:column; gap:14px; }
.tcgh-footer-trust-item { display:flex; gap:10px; align-items:flex-start; font-size:.75rem; line-height:1.3; }
.tcgh-footer-trust-item svg { width:24px; height:24px; color:var(--tcgh-accent); flex:0 0 auto; }
.tcgh-socials { display:flex; gap:10px; }
.tcgh-socials a { width:28px; height:28px; border-radius:50%; border:1px solid #555; display:grid; place-items:center; color:#ddd; font-size:.72rem; font-weight:900; }
.tcgh-socials a:hover { border-color:var(--tcgh-accent); color:var(--tcgh-accent); }
.tcgh-footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding:17px 0; color:#8e8e8e; font-size:.72rem; }
.tcgh-footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tcgh-legal { display:flex; gap:17px; flex-wrap:wrap; }
.tcgh-legal a { color:#a7a7a7; }
.tcgh-legal a:hover { color:#fff; }

/* Search / 404 */
.tcgh-search-results article { padding:20px 0; border-bottom:1px solid var(--tcgh-line); }
.tcgh-search-results article h2 { margin:0 0 6px; }
.tcgh-empty-state { padding:70px 0; text-align:center; }

/* Accessibility */
.screen-reader-text {
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important;
}
.screen-reader-text:focus { background:#f1f1f1; clip:auto !important; clip-path:none; color:#21759b; display:block; font-size:14px; font-weight:700; height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px; width:auto; z-index:100000; }


/* Central TCG overview */
.tcgh-tcg-overview__section + .tcgh-tcg-overview__section { margin-top: 34px; }
.tcgh-tcg-overview__heading { margin-bottom: 18px; }
.tcgh-tcg-overview .products { margin-bottom: 0 !important; }

/* Responsive */
@media (max-width: 1180px) {
  .tcgh-header-main { grid-template-columns:auto 1fr auto; gap:18px; }
  .tcgh-primary-nav ul, .tcgh-primary-nav .menu { gap:13px; }
  .tcgh-primary-nav > ul > li > a, .tcgh-primary-nav .menu > li > a { font-size:.8rem; }
  .tcgh-action span.tcgh-action-label { display:none; }
  .tcgh-category-grid { grid-template-columns:repeat(3,1fr); }
  .tcgh-category-card { min-height:132px; }
  .tcgh-category-card--image { min-height:160px; }
  .tcgh-category-card--image .tcgh-category-copy { width:min(64%, 180px); }
  .tcgh-new-products ul.products, .woocommerce ul.products, .tcgh-product-placeholder-grid { grid-template-columns:repeat(3,1fr); }
  .tcgh-footer-main { grid-template-columns:1.2fr 1fr 1.55fr 1fr; }
  .tcgh-footer-brand { grid-row:span 2; }
  .tcgh-footer-trust { grid-column:2/-1; flex-direction:row; flex-wrap:wrap; }
}

@media (max-width: 900px) {
  .tcgh-topbar-inner { justify-content:center; }
  .tcgh-topbar-group--right { display:none; }
  .tcgh-topbar-group { gap:18px; }
  .tcgh-header-main { min-height:66px; grid-template-columns:1fr auto; }
  .tcgh-brand .custom-logo { width:68px; height:auto; max-height:58px; }
  .tcgh-primary-nav {
    display:none;
    position:absolute;
    top:66px;
    left:0;
    width:100%;
    background:#1f1f1f;
    border-top:1px solid rgba(255,255,255,.08);
    padding:12px 20px 18px;
    box-shadow:0 12px 24px rgba(0,0,0,.25);
  }
  .tcgh-primary-nav.is-open { display:block; }
  .tcgh-primary-nav ul, .tcgh-primary-nav .menu { display:block; }
  .tcgh-primary-nav > ul > li > a, .tcgh-primary-nav .menu > li > a { min-height:auto; width:100%; padding:11px 0; font-size:.95rem; }
  .tcgh-primary-nav > ul > li > a:before, .tcgh-primary-nav .menu > li > a:before { bottom: 6px; }
  .tcgh-primary-nav .sub-menu { position:static; display:block; box-shadow:none; border:0; background:transparent; padding:0 0 0 14px; }
  .tcgh-header-actions { gap:15px; }
  .tcgh-mobile-toggle { display:inline-flex; }
  .tcgh-hero-inner { grid-template-columns:1fr; }
  .tcgh-hero-copy { padding:54px 20px 18px; max-width:760px; }
  .tcgh-hero-visual { min-height:430px; padding:8px 0 64px; }
  .tcgh-hero-card-stage { height:350px; width:min(100%,560px); }
  .tcgh-hero-focus-card { width:clamp(225px,36vw,288px); }
  .tcgh-hero-scene-ring { width:min(72vw,560px); right:50%; transform:translate(50%,-50%) rotate(-13deg); }
  .tcgh-hero-scene::after { background:linear-gradient(180deg,rgba(7,7,7,.98) 0%,rgba(8,8,8,.92) 42%,rgba(8,8,8,.48) 68%,rgba(8,8,8,.22) 100%); }
  .tcgh-usp-grid { grid-template-columns:repeat(2,1fr); }
  .tcgh-usp:nth-child(2) { border-right:0; }
  .tcgh-usp:nth-child(-n+2) { border-bottom:1px solid var(--tcgh-line); }
  .tcgh-newsletter-box { grid-template-columns:1fr; }
  .woocommerce div.product { grid-template-columns:1fr; gap:30px; }
  .woocommerce div.product div.images { max-width:500px; }
  .woocommerce div.product div.summary { max-width:680px; width:100% !important; justify-self:center; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a { min-height:440px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img { max-height:440px !important; }
  .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .tcgh-footer-main { grid-template-columns:1fr 1.55fr 1fr; }
  .tcgh-footer-brand, .tcgh-footer-trust { grid-row:auto; }
  .tcgh-footer-brand { grid-column:1/-1; }
  .tcgh-footer-trust { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; }
}

@media (max-width: 640px) {
  .tcgh-container, .tcgh-content-wrap, .tcgh-woo-wrap { width:min(calc(100% - 28px), var(--tcgh-max)); }
  .tcgh-topbar { font-size:.69rem; }
  .tcgh-topbar-group { width:100%; justify-content:space-between; gap:8px; }
  .tcgh-topbar-item:nth-child(2) { text-align:right; }
  .tcgh-header-main { gap:10px; }
  .tcgh-brand { min-width:0; }
  .tcgh-brand-text { font-size:.88rem; }
  .tcgh-brand-tagline { display:none; }
  .tcgh-brand-mark { width:28px; height:36px; }
  .tcgh-header-actions { gap:11px; }
  .tcgh-action svg { width:20px; height:20px; }
  .tcgh-account-link { display:none; }
  .tcgh-hero-copy { padding:34px 4px 12px; }
  .tcgh-hero-eyebrow { margin-bottom:7px; font-size:.68rem; }
  .tcgh-hero-title { margin-bottom:15px; font-size:clamp(2rem,10vw,2.8rem); line-height:.93; }
  .tcgh-hero-subtitle { max-width:34rem; font-size:.91rem; line-height:1.42; }
  .tcgh-hero-perks { grid-template-columns:1fr; gap:9px; margin:19px 0; }
  .tcgh-hero-perk { align-items:center; }
  .tcgh-hero-perk small { font-size:.7rem; }
  .tcgh-hero-actions { display:grid; grid-template-columns:1fr; gap:10px; }
  .tcgh-button { width:100%; min-height:44px; }
  .tcgh-hero-visual { min-height:338px; padding:0 0 56px; }
  .tcgh-hero-card-stage { width:min(100%,340px); height:290px; }
  .tcgh-hero-focus-card { width:205px; border-radius:16px; }
  .tcgh-hero-card-surface { inset:11px; border-radius:11px; }
  .tcgh-hero-card-content { padding:38px 24px 34px; }
  .tcgh-hero-card-title { font-size:1.55rem; }
  .tcgh-hero-card-kicker { font-size:.5rem; margin-bottom:13px; }
  .tcgh-hero-card-link { left:20px; right:20px; bottom:19px; font-size:.6rem; }
  .tcgh-hero-slider-controls { bottom:12px; gap:7px; }
  .tcgh-hero-slider-button { width:30px; height:30px; }
  .tcgh-hero-dot { width:9px; height:9px; }
  .tcgh-hero-scene::before { background-image:var(--tcgh-scene-image-mobile,var(--tcgh-scene-image,none)); background-position:center; opacity:.45; }
  .tcgh-hero-scene-glow--one { right:-10%; top:38%; }
  .tcgh-hero-scene-glow--two { right:20%; bottom:-5%; }
  .tcgh-categories { padding-top:20px; }
  .tcgh-category-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .tcgh-category-card { min-height:126px; }
  .tcgh-category-card--fallback { grid-template-columns:minmax(0,1fr) 52px; padding:12px; }
  .tcgh-category-card--image { min-height:150px; padding:9px; }
  .tcgh-category-card--image .tcgh-category-copy { width:min(72%, 155px); padding:10px; }
  .tcgh-category-card--image .tcgh-category-desc { font-size:.68rem; }
  .tcgh-category-card--image .tcgh-category-link { font-size:.65rem; }
  .tcgh-category-monogram { width:48px; height:48px; font-size:.7rem; }
  .tcgh-usp-grid { grid-template-columns:1fr; }
  .tcgh-usp { border-right:0; border-bottom:1px solid var(--tcgh-line); min-height:78px; padding:14px 17px; }
  .tcgh-usp:last-child { border-bottom:0; }
  .tcgh-usp:nth-child(2) { border-bottom:1px solid var(--tcgh-line); }
  .tcgh-new-products ul.products, .woocommerce ul.products, .tcgh-product-placeholder-grid { grid-template-columns:repeat(2,1fr); gap:11px; }
  .woocommerce ul.products li.product { padding:9px 9px 11px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.76rem !important; min-height:4.2em; max-height:5.4em; }
  .tcgh-section-title-row { align-items:center; }
  .tcgh-section-link { font-size:.76rem; }
  .tcgh-newsletter-box { padding:18px; }
  .tcgh-newsletter-box form { display:grid; grid-template-columns:1fr; gap:8px; }
  .tcgh-newsletter-box input[type="email"], .tcgh-newsletter-box input[type="text"], .tcgh-newsletter-box input[type="submit"], .tcgh-newsletter-box button { border-radius:6px; border:1px solid var(--tcgh-line); min-height:42px; }
  .tcgh-footer-main { grid-template-columns:1fr 1fr; gap:28px 18px; }
  .tcgh-footer-brand, .tcgh-footer-trust { grid-column:1/-1; }
  .tcgh-footer-bottom-inner { align-items:flex-start; flex-direction:column; }
  .woocommerce div.product div.images { max-width:100%; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a { min-height:330px; padding:12px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image > a > img { max-height:330px !important; }
  .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
  .woocommerce div.product div.images .flex-control-thumbs li img { height:62px !important; max-height:62px !important; }
  .woocommerce div.product .woocommerce-tabs { margin-top:26px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; overflow-x:auto; white-space:nowrap; }
  .woocommerce div.product .woocommerce-tabs .panel { padding:22px 16px 26px; }
  .tcgh-gpsr-identification dl > div { grid-template-columns:1fr; gap:2px; }
}

@media (max-width: 480px) {
  .tcgh-hero-copy { padding-top:28px; }
  .tcgh-hero-title { font-size:clamp(1.9rem,9.6vw,2.35rem); }
  .tcgh-hero-subtitle { font-size:.88rem; }
  .tcgh-hero-perk strong { font-size:.75rem; }
  .tcgh-hero-perk small { font-size:.66rem; }
  .tcgh-topbar-inner { min-height: 0; }
  .tcgh-topbar-group { flex-direction: column; align-items: flex-start; gap: 2px; padding: 6px 0; }
  .tcgh-topbar-item:nth-child(2) { text-align: left; }
  .tcgh-footer-main { grid-template-columns: 1fr; }
  .tcgh-footer-brand, .tcgh-footer-trust { grid-column: auto; }
  .tcgh-footer-service-grid { grid-template-columns: 1fr; gap:0; }
  .tcgh-search-form { display: grid; grid-template-columns: 1fr; }
  .tcgh-search-form button { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Editorial pages – v0.2.8 */
.tcgh-page-shell {
  --tcgh-page-copy: 880px;
  display: grid;
  gap: 28px;
}
.tcgh-page-shell--narrow { max-width: 940px; }
.tcgh-page-lead {
  max-width: var(--tcgh-page-copy);
  margin: 0;
  color: #3e3e3e;
  font-size: clamp(1.04rem, 1.7vw, 1.28rem);
  line-height: 1.7;
}
.tcgh-page-kicker {
  margin: -8px 0 -10px;
  color: var(--tcgh-accent);
  font-size: clamp(1.3rem, 3vw, 2.15rem);
  font-weight: 950;
  letter-spacing: -.025em;
}
.tcgh-page-section {
  padding: 32px 0 0;
  border-top: 1px solid var(--tcgh-line);
}
.tcgh-page-section > h2,
.tcgh-contact-card h2,
.tcgh-safety-callout h2 {
  margin: 0 0 14px;
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  line-height: 1.2;
}
.tcgh-page-section > p { max-width: var(--tcgh-page-copy); }
.tcgh-page-section--soft,
.tcgh-page-section--dark,
.tcgh-contact-card,
.tcgh-safety-callout,
.tcgh-event-card {
  border: 1px solid var(--tcgh-line);
  border-radius: 14px;
  padding: clamp(22px, 4vw, 38px);
}
.tcgh-page-section--soft { background: var(--tcgh-surface); }
.tcgh-page-section--dark {
  background: linear-gradient(145deg, #242424, #151515);
  border-color: #323232;
  color: #f3f3f3;
}
.tcgh-page-section--dark p { color: #c8c8c8; }
.tcgh-page-finale {
  text-align: center;
  padding-top: clamp(28px, 4vw, 42px);
  padding-bottom: clamp(28px, 4vw, 42px);
}
.tcgh-page-finale > * { margin-inline: auto; }
.tcgh-page-finale > p:not(.tcgh-brand-claim) { max-width: 780px; }
.tcgh-brand-claim {
  display: inline-block;
  margin: 24px auto 0 !important;
  border-top: 1px solid rgba(255,255,255,.16);
  padding: 18px 18px 0;
  color: var(--tcgh-accent) !important;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.tcgh-eyebrow,
.tcgh-info-card__label,
.tcgh-event-card__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--tcgh-accent);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tcgh-info-grid {
  display: grid;
  gap: 16px;
}
.tcgh-info-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tcgh-info-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tcgh-info-card,
.tcgh-price-card {
  border: 1px solid var(--tcgh-line);
  border-radius: 12px;
  background: #fff;
  padding: 22px;
}
.tcgh-info-card h2,
.tcgh-info-card h3 { margin: 0 0 10px; line-height: 1.25; }
.tcgh-info-card h2 { font-size: 1.25rem; }
.tcgh-info-card h3 { font-size: 1.05rem; }
.tcgh-info-card > strong {
  display: block;
  margin-bottom: 8px;
  color: #111;
  font-size: 1.35rem;
}
.tcgh-info-card p:last-child,
.tcgh-price-card p:last-child { margin-bottom: 0; }
.tcgh-price-card span { display: block; font-weight: 900; }
.tcgh-price-card strong {
  display: block;
  margin: 6px 0 10px;
  color: var(--tcgh-accent);
  font-size: 1.6rem;
  line-height: 1;
}
.tcgh-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 7px;
  background: var(--tcgh-accent);
  color: #fff !important;
  font-size: .88rem;
  font-weight: 850;
  text-decoration: none !important;
}
.tcgh-page-button:hover { background: var(--tcgh-accent-strong); color: #fff !important; }
.tcgh-page-button--dark { background: #151515; }
.tcgh-page-button--dark:hover { background: #000; }
.tcgh-contact-card {
  background: linear-gradient(135deg, #fff 0%, #f7f5f1 100%);
}
.tcgh-contact-mail {
  display: inline-block;
  margin: 0 0 12px;
  color: #111 !important;
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 950;
  text-decoration: none !important;
}
.tcgh-contact-mail:hover { color: var(--tcgh-accent) !important; }
.tcgh-pill-row { display: flex; gap: 9px; flex-wrap: wrap; }
.tcgh-pill-row span {
  border: 1px solid var(--tcgh-line);
  border-radius: 999px;
  background: #fff;
  padding: 8px 12px;
  color: #444;
  font-size: .8rem;
  font-weight: 750;
}
.tcgh-quote-card {
  max-width: 900px;
  margin-top: 24px;
  border-left: 4px solid var(--tcgh-accent);
  border-radius: 0 10px 10px 0;
  background: var(--tcgh-surface);
  padding: 22px 24px;
}
.tcgh-quote-card p { margin-top: 0; }
.tcgh-quote-card strong { font-size: 1.1rem; }
.tcgh-thoughts { display: grid; gap: 9px; max-width: 760px; margin: 20px 0; }
.tcgh-thoughts span {
  border-left: 3px solid var(--tcgh-accent);
  background: var(--tcgh-surface);
  padding: 10px 14px;
  font-weight: 750;
}
.tcgh-section-heading-inline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.tcgh-section-heading-inline h2 { margin: 0; }
.tcgh-text-link {
  color: var(--tcgh-accent) !important;
  font-weight: 850;
  text-decoration: none !important;
}
.tcgh-page-note {
  border: 1px dashed #cbc7bf;
  border-radius: 10px;
  background: #faf9f7;
  padding: 18px;
  color: #555;
}
.tcgh-event-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #faf9f7 0%, #f3f1ed 100%);
  border: 1px solid var(--tcgh-line);
  border-left: 4px solid var(--tcgh-accent);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .045);
  color: #151515;
}
.tcgh-event-card::after { display: none; }
.tcgh-event-card__eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  border-radius: 999px;
  background: rgba(244, 122, 11, .10);
  padding: 6px 10px;
  color: #9c4800;
  font-size: .68rem;
}
.tcgh-event-card__date {
  margin-bottom: 14px;
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  font-weight: 950;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.tcgh-event-card__meta {
  display: flex;
  gap: 8px 18px;
  flex-wrap: wrap;
  margin-bottom: 20px;
  color: #444;
  font-size: .92rem;
  font-weight: 750;
}
.tcgh-event-card__meta span { position: relative; }
.tcgh-safety-callout {
  border-color: #f2b270;
  background: #fff7ef;
}
.tcgh-safety-callout > strong {
  display: block;
  margin: 10px 0;
  color: #7a3200;
  font-size: 1.05rem;
}
.tcgh-manufacturer-list,
.tcgh-faq-list { display: grid; gap: 12px; }
.tcgh-manufacturer-card,
.tcgh-faq-item {
  border: 1px solid var(--tcgh-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.tcgh-manufacturer-card > summary,
.tcgh-faq-item > summary {
  list-style: none;
  cursor: pointer;
  padding: 17px 19px;
  font-weight: 900;
}
.tcgh-manufacturer-card > summary::-webkit-details-marker,
.tcgh-faq-item > summary::-webkit-details-marker { display: none; }
.tcgh-manufacturer-card > summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}
.tcgh-manufacturer-card__hint { color: var(--tcgh-accent); font-size: .76rem; font-weight: 800; }
.tcgh-manufacturer-card[open] > summary,
.tcgh-faq-item[open] > summary { border-bottom: 1px solid var(--tcgh-line); background: var(--tcgh-surface); }
.tcgh-manufacturer-card__body,
.tcgh-faq-item > div { padding: 19px; }
.tcgh-manufacturer-card__body .tcgh-gpsr-brand-block { margin: 0 0 18px; }
.tcgh-manufacturer-card__body .tcgh-gpsr-brand-block > h3 { display: none; }
.tcgh-faq-item > div > :first-child { margin-top: 0; }
.tcgh-faq-item > div > :last-child { margin-bottom: 0; }

@media (max-width: 820px) {
  .tcgh-info-grid--2,
  .tcgh-info-grid--3 { grid-template-columns: 1fr; }
  .tcgh-section-heading-inline { align-items: flex-start; flex-direction: column; }
  .tcgh-event-card__meta { display: grid; }
}

/* Hero – v0.4.11 clean foreground cards + subtle scene interaction */
.tcgh-hero-scene::before {
  opacity: .82;
  transform: scale(1.01);
  transform-origin: 72% 50%;
  filter: saturate(1.02) contrast(1.035);
  transition: transform .72s cubic-bezier(.2,.7,.2,1), opacity .45s ease, filter .45s ease;
}
.tcgh-hero-scene::after {
  background:
    linear-gradient(90deg, rgba(7,7,7,.995) 0%, rgba(8,8,8,.975) 28%, rgba(8,8,8,.83) 45%, rgba(8,8,8,.38) 64%, rgba(8,8,8,.08) 100%),
    linear-gradient(180deg, rgba(0,0,0,.07), rgba(0,0,0,.17));
}
.tcgh-hero.is-visual-hovered .tcgh-hero-scene.is-active::before {
  transform: scale(1.032);
  filter: saturate(1.055) contrast(1.045);
}
.tcgh-hero-scene-glow,
.tcgh-hero-scene-ring {
  display: none;
}

.tcgh-hero-card-stage {
  width: min(100%, 600px);
  height: 410px;
}
.tcgh-hero-card-stage::before {
  bottom: 12px;
  width: min(70%, 390px);
  height: 52px;
  background: rgba(0,0,0,.6);
  filter: blur(20px);
}
.tcgh-hero-focus-card {
  --tcgh-card-tilt: .55deg;
  width: clamp(250px, 24.5vw, 310px);
  aspect-ratio: .69;
  overflow: hidden;
  border: 1px solid rgba(var(--tcgh-scene-secondary-rgb), .42);
  border-radius: 18px;
  background:
    radial-gradient(circle at 34% 14%, rgba(255,255,255,.04), transparent 22%),
    linear-gradient(150deg, #242321 0%, #151515 48%, #090909 100%);
  box-shadow:
    0 34px 72px rgba(0,0,0,.58),
    0 0 0 1px rgba(var(--tcgh-scene-primary-rgb), .07),
    0 0 34px rgba(var(--tcgh-scene-primary-rgb), .13);
  transform: translate3d(52px, 8px, -60px) rotateY(-14deg) rotateZ(var(--tcgh-card-tilt)) scale(.92);
  transition: opacity .45s ease, transform .46s cubic-bezier(.2,.76,.22,1), border-color .35s ease, box-shadow .35s ease;
}
.tcgh-hero-focus-card.is-active {
  transform: translate3d(18px,4px,0) rotateY(-11deg) rotateZ(var(--tcgh-card-tilt)) scale(.965);
}
.tcgh-hero-focus-card.is-active:hover,
.tcgh-hero-focus-card.is-active:focus-visible {
  transform: translate3d(0,-4px,18px) rotateY(-2deg) rotateZ(0deg) scale(.985);
  border-color: rgba(var(--tcgh-scene-secondary-rgb), .7);
  box-shadow:
    0 40px 82px rgba(0,0,0,.64),
    0 0 0 1px rgba(var(--tcgh-scene-secondary-rgb), .13),
    0 0 42px rgba(var(--tcgh-scene-primary-rgb), .18);
}
.tcgh-hero-focus-card[data-hero-key="pokemon"] { --tcgh-card-tilt: .9deg; }
.tcgh-hero-focus-card[data-hero-key="magic"] { --tcgh-card-tilt: -.75deg; }
.tcgh-hero-focus-card[data-hero-key="lorcana"] { --tcgh-card-tilt: .55deg; }
.tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] { --tcgh-card-tilt: -.9deg; }
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] { --tcgh-card-tilt: .75deg; }
.tcgh-hero-focus-card[data-hero-key="zubehoer"] { --tcgh-card-tilt: -.45deg; }

.tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="pokemon"] .tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="lorcana"] .tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] .tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-surface,
.tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-surface {
  inset: 14px;
  border: 1px solid rgba(var(--tcgh-scene-secondary-rgb), .34);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255,255,255,.012), transparent 30% 70%, rgba(255,255,255,.008));
}
.tcgh-hero-card-surface::before,
.tcgh-hero-card-surface::after {
  width: 26px;
  height: 26px;
  opacity: .5;
}

.tcgh-hero-card-content {
  padding: 48px 30px 44px;
}
.tcgh-hero-card-title {
  width: 100%;
  max-width: 100%;
  color: #e5ded3;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.8rem, 2.55vw, 2.55rem);
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.08;
  text-transform: none;
  text-shadow: 0 4px 24px rgba(0,0,0,.46);
}
.tcgh-hero-card-title::after { display: none; }
.tcgh-hero-card-link {
  left: 28px;
  right: 28px;
  bottom: 24px;
  justify-content: center;
  gap: 10px;
  color: rgba(231,221,206,.78);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .78rem;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: none;
}
.tcgh-hero-card-link span {
  color: var(--tcgh-scene-secondary);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  font-style: normal;
  transition: transform .25s ease;
}
.tcgh-hero-focus-card:hover .tcgh-hero-card-link span,
.tcgh-hero-focus-card:focus-visible .tcgh-hero-card-link span {
  transform: translateX(3px);
}

.tcgh-hero-focus-card[data-hero-key="pokemon"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="pokemon"] .tcgh-hero-card-link { color: #e2c77d; }
.tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-link { color: #d8d9e7; }
.tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-title { font-size: clamp(1.55rem, 2.2vw, 2.18rem); }
.tcgh-hero-focus-card[data-hero-key="lorcana"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="lorcana"] .tcgh-hero-card-link { color: #d3ab67; }
.tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] .tcgh-hero-card-link {
  color: #d1afd8;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 700;
}
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-link {
  color: #d79a55;
  font-family: 'Trebuchet MS', Arial, sans-serif;
  font-style: italic;
  font-weight: 800;
}
.tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-title {
  font-size: clamp(1.75rem, 2.55vw, 2.5rem);
}

/* Zubehör deliberately reads as a premium leather binder rather than a fantasy card. */
.tcgh-hero-focus-card[data-hero-key="zubehoer"] {
  width: clamp(270px, 26.5vw, 330px);
  aspect-ratio: .77;
  border-radius: 20px 27px 27px 20px;
  background:
    radial-gradient(ellipse at 20% 6%, rgba(255,255,255,.055), transparent 28%),
    repeating-linear-gradient(18deg, rgba(255,255,255,.014) 0 1px, transparent 1px 4px),
    linear-gradient(145deg, #2a2622, #151311 62%, #0d0c0b);
  box-shadow: 0 30px 62px rgba(0,0,0,.62), 0 0 24px rgba(244,122,11,.08);
}
.tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-surface {
  inset: 13px;
  border-style: dashed;
  border-color: rgba(210,138,74,.42);
  border-radius: 13px 21px 21px 13px;
  background: transparent;
}
.tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-title,
.tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-link {
  color: #8b725e;
  font-family: Georgia, 'Times New Roman', serif;
  text-shadow: -1px -1px 0 rgba(255,255,255,.09), 1px 1px 1px rgba(0,0,0,.9);
}
.tcgh-hero-focus-card[data-hero-key="zubehoer"]::after {
  content: "";
  position: absolute;
  z-index: 4;
  right: 2px;
  top: 49%;
  width: 50px;
  height: 66px;
  transform: translateY(-50%);
  border: 1px dashed rgba(210,138,74,.42);
  border-right: 0;
  border-radius: 11px 0 0 11px;
  background: linear-gradient(145deg,#28231f,#151310);
  box-shadow: -7px 5px 14px rgba(0,0,0,.24);
  pointer-events: none;
}

@media (max-width: 980px) {
  .tcgh-hero-card-stage { height: 350px; }
  .tcgh-hero-focus-card { width: clamp(225px, 34vw, 280px); }
  .tcgh-hero-focus-card[data-hero-key="zubehoer"] { width: clamp(236px, 36vw, 292px); }
}

@media (max-width: 760px) {
  .tcgh-hero-scene::before {
    opacity: .66;
    transform: scale(1.01);
    background-position: center center;
  }
  .tcgh-hero.is-visual-hovered .tcgh-hero-scene.is-active::before { transform: scale(1.01); }
  .tcgh-hero-visual { min-height: 350px; padding-bottom: 58px; }
  .tcgh-hero-card-stage { width:min(100%,340px); height:290px; }
  .tcgh-hero-focus-card { width:205px; border-radius:15px; }
  .tcgh-hero-focus-card[data-hero-key="zubehoer"] { width:218px; border-radius:15px 20px 20px 15px; }
  .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="pokemon"] .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="lorcana"] .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="yu-gi-oh"] .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-surface,
  .tcgh-hero-focus-card[data-hero-key="zubehoer"] .tcgh-hero-card-surface { inset:10px; border-radius:10px; }
  .tcgh-hero-card-content { padding:38px 21px 34px; }
  .tcgh-hero-card-title { font-size:1.55rem; }
  .tcgh-hero-focus-card[data-hero-key="magic"] .tcgh-hero-card-title { font-size:1.28rem; }
  .tcgh-hero-focus-card[data-hero-key="naruto-mythos"] .tcgh-hero-card-title { font-size:1.45rem; }
  .tcgh-hero-card-link { left:18px; right:18px; bottom:18px; font-size:.64rem; }
  .tcgh-hero-focus-card.is-active:hover,
  .tcgh-hero-focus-card.is-active:focus-visible {
    transform: translate3d(18px,4px,0) rotateY(-11deg) rotateZ(var(--tcgh-card-tilt)) scale(.965);
  }
  .tcgh-hero-focus-card[data-hero-key="zubehoer"]::after { width:36px; height:48px; }
}

@media (prefers-reduced-motion: reduce) {
  .tcgh-hero-scene::before,
  .tcgh-hero-focus-card,
  .tcgh-hero-card-link span { transition: none !important; }
  .tcgh-hero.is-visual-hovered .tcgh-hero-scene.is-active::before { transform: none; }
}


/* Toolkit v0.5.0 – preorder, filters and withdrawal UX */
.hct-preorder-badge {
  position:absolute;
  z-index:8;
  top:12px;
  left:12px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(244,122,11,.42);
  border-radius:999px;
  background:rgba(20,20,20,.92);
  color:#ff9a3d;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.035em;
  line-height:1.15;
  text-transform:uppercase;
}
.single-product .summary .hct-preorder-badge { position:static; width:max-content; margin:0 0 9px; }
.hct-preorder-note {
  display:grid;
  gap:4px;
  margin:14px 0 18px;
  padding:13px 15px;
  border:1px solid rgba(244,122,11,.28);
  border-left:4px solid var(--tcgh-accent);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(244,122,11,.08),rgba(244,122,11,.025));
  color:#3f3328;
}
.hct-preorder-note strong { color:#a84d00; }
.hct-preorder-note span { font-size:.88rem; }

.hct-catalog-filters {
  width:100%;
  display:flex;
  align-items:end;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px;
  padding:13px 14px;
  border:1px solid var(--tcgh-line);
  border-radius:10px;
  background:linear-gradient(180deg,#fafafa,#f4f3f1);
  box-shadow:0 5px 15px rgba(0,0,0,.035);
}
.hct-catalog-filter-field { display:grid; gap:4px; min-width:150px; }
.hct-catalog-filter-field label {
  color:#666;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.hct-catalog-filter-field select {
  min-height:39px;
  padding:6px 34px 6px 10px;
  border:1px solid #d5d2cc;
  border-radius:7px;
  background:#fff;
  color:#222;
}
.hct-catalog-filter-submit.button {
  min-height:39px;
  padding:7px 17px;
  border:0;
  border-radius:7px;
  background:var(--tcgh-accent);
  color:#fff;
  font-weight:800;
}
.hct-catalog-filter-submit.button:hover { background:var(--tcgh-accent-strong); color:#fff; }
.hct-catalog-filter-reset { min-height:39px; display:inline-flex; align-items:center; padding:0 6px; font-size:.78rem; font-weight:750; }

.tcgh-withdrawal-action { margin-top:11px !important; }
.tcgh-withdrawal-action a {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid rgba(244,122,11,.38);
  border-radius:7px;
  background:rgba(244,122,11,.055);
  color:#e7d7c8 !important;
  font-weight:750;
}
.tcgh-withdrawal-action a:hover { border-color:var(--tcgh-accent); background:rgba(244,122,11,.12); color:#fff !important; }
.tcgh-withdrawal-action span { color:var(--tcgh-accent); }

@media (max-width:760px) {
  .hct-catalog-filters { align-items:stretch; }
  .hct-catalog-filter-field { flex:1 1 calc(50% - 8px); min-width:130px; }
  .hct-catalog-filter-submit.button { flex:1 1 130px; }
  .hct-catalog-filter-reset { justify-content:center; }
}

/* v0.4.14 – TCG landing page reuses the homepage shop-card system */
.tcgh-page-shell--tcgs { gap: 22px; }
.tcgh-tcg-overview { display: grid; gap: 42px; }
.tcgh-tcg-overview__section,
.tcgh-tcg-overview__section + .tcgh-tcg-overview__section {
  margin: 0;
  padding-top: 30px;
}
.tcgh-tcg-overview__heading { margin-bottom: 18px; }
.tcgh-tcg-overview__products { margin: 0; }
.tcgh-tcg-overview__products ul.products { margin: 0 !important; }
@media (max-width: 900px) {
  .tcgh-tcg-overview { gap: 32px; }
  .tcgh-tcg-overview__section,
  .tcgh-tcg-overview__section + .tcgh-tcg-overview__section { padding-top: 24px; }
}
