/*
Theme Name: SmartSoulDesigns
Theme URI: https://smartsouldesigns.shop
Author: SmartSoulDesigns
Author URI: https://smartsouldesigns.shop
Description: Premium streetwear-style WooCommerce theme — Anton display, Inter Tight body, JetBrains Mono accents. Editorial layouts, oversized typography, acid-lime accent. Built for print-on-demand shops with Printify integration.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smartsouldesigns
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready
WC requires at least: 7.0
WC tested up to: 8.5
*/

/* ─── Design Tokens ─────────────────────────────────────────────── */
:root {
  --bg: #f4f1ea;
  --ink: #0a0a0a;
  --ink-2: #2b2b2b;
  --muted: #8a857a;
  --line: #d9d4c6;
  --paper: #ece8dd;
  --accent: oklch(0.86 0.19 130);
  --accent-ink: #0a0a0a;
}
[data-theme="dark"]  { --bg:#0a0a0a; --ink:#f4f1ea; --ink-2:#d9d4c6; --muted:#6f6c63; --line:#1f1f1d; --paper:#131311; --accent:oklch(0.86 0.19 130); --accent-ink:#0a0a0a; }
[data-theme="warm"]  { --bg:#f1ebde; --ink:#221e16; --ink-2:#3a3527; --muted:#8e8773; --line:#d9cfb8; --paper:#e7dfca; --accent:oklch(0.7 0.16 50); --accent-ink:#fff8ec; }
[data-theme="acid"]  { --bg:#0a0a0a; --ink:#f4f1ea; --ink-2:#d9d4c6; --muted:#6f6c63; --line:#1c1c1a; --paper:#121212; --accent:oklch(0.93 0.22 130); --accent-ink:#0a0a0a; }

/* ─── Reset ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-feature-settings: 'ss01','cv11';
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
::selection { background: var(--accent); color: var(--accent-ink); }

/* ─── Type ──────────────────────────────────────────────────────── */
.display { font-family:'Anton','Bebas Neue',Impact,sans-serif; font-weight:400; letter-spacing:-0.01em; line-height:0.85; text-transform:uppercase; }
.mono    { font-family:'JetBrains Mono',ui-monospace,monospace; font-feature-settings:'zero'; }

/* ─── Layout ────────────────────────────────────────────────────── */
.container       { max-width:1480px; margin:0 auto; padding:0 32px; width:100%; }
.container-tight { max-width:1240px; margin:0 auto; padding:0 32px; width:100%; }
.section         { padding:96px 0; position:relative; }
.section-tight   { padding:64px 0; }
.section-eyebrow {
  display:flex; align-items:baseline; gap:16px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:24px;
}
.section-eyebrow .num { color:var(--ink); font-weight:600; }
.section-eyebrow .ln  { flex:1; height:1px; background:var(--line); }
.section-title { font-size: clamp(28px, 3.4vw, 48px); margin:0 0 12px; font-family:'Anton',sans-serif; line-height:0.95; text-transform:uppercase; letter-spacing:-0.01em; }
.section-sub   { color:var(--muted); font-size:15px; max-width:560px; }

/* ─── Top announcement / marquee ────────────────────────────────── */
.announce {
  background:var(--ink); color:var(--bg);
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em;
  padding:10px 0; overflow:hidden; white-space:nowrap; text-transform:uppercase;
  display:flex; width:100%;
}
.marquee  { display:inline-flex; gap:48px; padding-left:48px; animation:marquee 40s linear infinite; flex-shrink:0; }
.marquee span { display:inline-flex; align-items:center; gap:12px; }
.marquee em   { font-style:normal; opacity:0.5; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-100%); } }

/* Language switch in nav */
.lang-switch {
  display:inline-flex; gap:0; align-items:center; padding:0 4px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em;
  text-transform:uppercase;
}
.lang-switch button {
  background:transparent; border:0; padding:6px 8px; cursor:pointer; color:var(--muted);
  font:inherit; letter-spacing:inherit; text-transform:inherit; font-weight:600;
  transition:color 0.15s;
}
.lang-switch button.active { color:var(--ink); }
.lang-switch button:hover { color:var(--ink); }
.lang-switch .sep { color:var(--muted); opacity:0.6; }

/* ─── Nav ───────────────────────────────────────────────────────── */
.nav {
  position:sticky; top:0; z-index:50;
  background: color-mix(in oklab, var(--bg) 92%, transparent);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav-inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:72px; }
.nav-left, .nav-right { display:flex; align-items:center; gap:24px; }
.nav-right { justify-content:flex-end; }
.nav-link {
  font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  font-weight:500; color:var(--ink-2); padding:6px 0;
  position:relative; cursor:pointer; border:0; background:transparent;
}
.nav-link:hover, .nav-link.current-menu-item a, .nav-link.active { color:var(--ink); }
.nav-link.active::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--accent); }
.nav-logo { display:flex; align-items:center; gap:10px; cursor:pointer; }
.nav-logo img { width:32px; height:32px; }
.nav-logo b   { font-family:'Anton',sans-serif; font-size:18px; line-height:1; letter-spacing:0.5px; }
.nav-logo b span { color:var(--muted); font-weight:400; }
.nav-icon-btn {
  width:36px; height:36px; border:1px solid var(--line); background:transparent;
  display:flex; align-items:center; justify-content:center; color:var(--ink);
  position:relative; transition:background 0.15s, border-color 0.15s;
}
.nav-icon-btn:hover { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.cart-count {
  position:absolute; top:-6px; right:-6px;
  background:var(--accent); color:var(--accent-ink);
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600;
  min-width:18px; height:18px; border-radius:999px;
  display:flex; align-items:center; justify-content:center; padding:0 5px;
}
.menu { list-style:none; padding:0; margin:0; display:flex; gap:24px; }

/* ─── Buttons ───────────────────────────────────────────────────── */
.btn {
  appearance:none; border:0;
  display:inline-flex; align-items:center; gap:10px;
  height:52px; padding:0 28px;
  font-weight:600; font-size:14px; letter-spacing:0.04em; text-transform:uppercase;
  background:var(--ink); color:var(--bg); border-radius:0;
  transition:transform 0.1s, background 0.15s, color 0.15s;
}
.btn:hover  { background:var(--accent); color:var(--accent-ink); }
.btn:active { transform:translateY(1px); }
.btn.lg     { height:64px; padding:0 36px; font-size:16px; }
.btn.outline{ background:transparent; color:var(--ink); border:1px solid var(--ink); }
.btn.outline:hover { background:var(--ink); color:var(--bg); }
.btn.accent { background:var(--accent); color:var(--accent-ink); }
.btn.accent:hover { background:var(--ink); color:var(--bg); }
.btn.full   { width:100%; justify-content:center; }

/* ─── Hero ──────────────────────────────────────────────────────── */
.hero { padding: 48px 0 96px; }
.hero-grid { display:grid; grid-template-columns: 1.1fr 1fr; gap:48px; align-items:end; }
.hero h1 { font-family:'Anton',sans-serif; font-size: clamp(72px, 13vw, 220px); line-height:0.82; letter-spacing:-0.02em; text-transform:uppercase; margin:0; }
.hero h1 em { font-style:normal; color:var(--muted); }
.hero-meta { display:flex; flex-direction:column; gap:18px; }
.hero-meta .mono { font-size:11px; letter-spacing:0.12em; color:var(--muted); }
.hero-meta p   { font-size:18px; line-height:1.4; max-width:420px; }
.hero-image {
  margin-top:48px; position:relative; aspect-ratio: 21/9;
  background: linear-gradient(135deg, var(--paper) 0%, color-mix(in oklab, var(--accent) 18%, var(--paper)) 100%);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-family:'Anton',sans-serif; font-size: clamp(80px, 14vw, 200px); color: color-mix(in oklab, var(--ink) 8%, transparent); letter-spacing:-0.02em;
}

/* ─── USPs ──────────────────────────────────────────────────────── */
.usps { display:grid; grid-template-columns: repeat(4, 1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.usp  { padding:32px 24px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:8px; }
.usp:last-child { border-right:0; }
.usp .num { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.12em; color:var(--muted); }
.usp h3   { margin:0; font-family:'Anton',sans-serif; font-size:32px; line-height:1; text-transform:uppercase; letter-spacing:-0.01em; }
.usp p    { margin:0; color:var(--muted); font-size:13px; }

/* ─── Product grid ──────────────────────────────────────────────── */
ul.products, .product-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns: repeat(4, 1fr); gap:32px; }
ul.products li.product, .product-card { display:flex !important; flex-direction:column !important; gap:0 !important; align-items:stretch !important; text-align:left !important; }
ul.products li.product .product-link, .product-card .product-link {
  display:block !important; width:100% !important; color:var(--ink); text-decoration:none;
}
ul.products li.product .product-link:hover, .product-card .product-link:hover { color:var(--ink); }
.product-thumb {
  position:relative; aspect-ratio: 1/1; overflow:hidden;
  background:transparent; border:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Anton',sans-serif; font-size: 80px; color: color-mix(in oklab, var(--ink) 12%, transparent);
}
.product-thumb img { width:100%; height:100%; object-fit:cover; padding:0; background:transparent; transition:transform 0.6s cubic-bezier(.2,.7,.3,1); }
.product-card:hover .product-thumb img { transform:scale(1.04); }
.product-card .woocommerce-loop-product__title, .product-card h2, .product-title {
  font-size:14px; font-weight:600; margin:12px 0 4px; letter-spacing:0; text-transform:none;
  font-family:'Inter Tight',sans-serif; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ssd-loop-price { font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ink); margin-bottom:12px; }
.ssd-loop-price .price { font-size:13px; }
.ssd-loop-price del { color:var(--muted); margin-right:6px; }
.ssd-loop-cta {
  display:inline-flex !important; align-items:center; justify-content:center; gap:6px;
  padding:12px 16px !important; height:auto !important;
  background:var(--ink) !important; color:var(--bg) !important;
  font-family:'JetBrains Mono',monospace !important; font-size:11px !important; letter-spacing:0.12em !important;
  text-transform:uppercase !important; font-weight:600 !important;
  border:1px solid var(--ink) !important; border-radius:0 !important;
  text-decoration:none !important; transition:background 0.15s, color 0.15s;
  width:100%;
}
.ssd-loop-cta:hover { background:var(--accent) !important; color:var(--accent-ink) !important; border-color:var(--accent) !important; }
}
.product-meta { display:flex; justify-content:space-between; align-items:baseline; }
.product-meta .price, .product-card .price { font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--ink); }
.product-meta .cat { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; color:var(--muted); text-transform:uppercase; }
.onsale, .badge {
  position:absolute; top:12px; left:12px; z-index:2;
  background:var(--accent); color:var(--accent-ink);
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; letter-spacing:0.1em;
  padding:4px 8px; text-transform:uppercase; border-radius:0;
}

/* ─── Single product ────────────────────────────────────────────── */
.single-product div.product {
  display:grid; grid-template-columns: 1.05fr 1fr; gap:64px;
  padding:32px 32px 96px; max-width:1480px; margin:0 auto; align-items:start;
}
.single-product .woocommerce-product-gallery {
  margin:0; max-width:100%; width:100%; position:sticky; top:120px;
  background:transparent; border:0; padding:0;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image--placeholder { background:transparent; }
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img {
  width:100%; aspect-ratio: 1/1; object-fit:cover; background:transparent;
}
.single-product .flex-control-thumbs { margin-top:12px; display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
.single-product .flex-control-thumbs li { width:64px; }
.single-product .flex-control-thumbs img { border:1px solid var(--line); aspect-ratio:1/1; object-fit:cover; cursor:pointer; opacity:0.6; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity:1; border-color:var(--ink); }

.single-product .summary { padding-right:8px; display:flex; flex-direction:column; gap:0; }

/* Breadcrumbs above title */
.woocommerce-breadcrumb {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--muted); padding:24px 32px 8px;
  max-width:1480px; margin:0 auto;
}
.woocommerce-breadcrumb a:hover { color:var(--ink); }

/* Title — fluid clamp + JS-driven length class fallback */
.single-product .product_title {
  font-family:'Anton','Bebas Neue',Impact,sans-serif;
  font-size: clamp(24px, 2.8vw, 40px);
  line-height:0.95; text-transform:uppercase; letter-spacing:-0.01em;
  margin:8px 0 8px; text-wrap: balance; word-break: break-word; hyphens: auto;
}
/* Length-based shrinking — added via JS as data-len="…" */
.single-product .product_title[data-len="md"] { font-size: clamp(26px, 3.2vw, 44px); line-height:1; }
.single-product .product_title[data-len="lg"] { font-size: clamp(22px, 2.4vw, 32px); line-height:1.05; }
.single-product .product_title[data-len="xl"] { font-size: clamp(18px, 1.8vw, 24px); line-height:1.15; }

/* Sale & meta badges row */
.ssd-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.ssd-badges .badge {
  position:static; padding:5px 10px; font-size:10px;
  font-family:'JetBrains Mono',monospace; letter-spacing:0.12em; text-transform:uppercase;
}
.ssd-badges .badge.sale { background:var(--accent); color:var(--accent-ink); font-weight:700; }
.ssd-badges .badge.gsm  { background:var(--ink); color:var(--bg); }
.ssd-sku { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em; color:var(--muted); text-transform:uppercase; margin:0 0 16px; }

/* Price row */
.single-product .price {
  font-family:'Anton',sans-serif; font-size:48px; line-height:1;
  margin:0 0 18px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
}
.single-product .price del { color:var(--muted); font-size:24px; opacity:0.7; text-decoration: line-through; }
.single-product .price ins { text-decoration:none; }

/* Short description */
.single-product .woocommerce-product-details__short-description {
  color:var(--ink-2); font-size:15px; line-height:1.55;
  margin:0 0 24px; max-width:520px;
}

/* Variation labels — bigger, clearer */
.single-product .variations { width:100%; margin:0 0 20px; border:0; }
.single-product .variations tr { display:flex; flex-direction:column; margin-bottom:14px; }
.single-product .variations td.label,
.single-product .variations th.label {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--muted); padding:0 0 8px; border:0;
}
.single-product .variations td.label::before { content:'// '; }
.single-product .variations td.value { padding:0; border:0; }
.single-product .variations select {
  width:100%; height:52px; border:1px solid var(--line); background:var(--paper);
  padding:0 16px; font:inherit; font-size:14px; border-radius:0; appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px; background-repeat: no-repeat; padding-right:40px;
}
.single-product .variations select:focus { border-color:var(--ink); outline:none; }
.single-product .reset_variations { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); margin-left:8px; }

/* ─── Swatches (color + size) ──────────────────────────────────── */
.ssd-swatches { display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.ssd-swatches.is-color .ssd-swatch {
  width:48px; height:48px; padding:0; border:1px solid var(--line);
  background:#0a0a0a; cursor:pointer; border-radius:0;
  position:relative; transition:border-color 0.15s, transform 0.1s;
}
.ssd-swatches.is-color .ssd-swatch:hover { border-color:var(--ink); }
.ssd-swatches.is-color .ssd-swatch.active {
  border:2px solid var(--ink); outline:1px solid var(--bg); outline-offset:-4px;
}
.ssd-swatches.is-size .ssd-swatch, .ssd-swatches.is-text .ssd-swatch {
  min-width:64px; height:48px; padding:0 18px; background:transparent;
  border:1px solid var(--line); color:var(--ink); cursor:pointer;
  font-family:'Inter Tight', sans-serif; font-weight:600; font-size:14px;
  letter-spacing:0.04em; text-transform:uppercase; border-radius:0;
  transition:background 0.15s, color 0.15s, border-color 0.15s;
}
.ssd-swatches.is-size .ssd-swatch:hover, .ssd-swatches.is-text .ssd-swatch:hover {
  border-color:var(--ink);
}
.ssd-swatches.is-size .ssd-swatch.active, .ssd-swatches.is-text .ssd-swatch.active {
  background:var(--ink); color:var(--bg); border-color:var(--ink);
}

/* Attr label row: name on left, currently selected value on right */
.single-product .variations td.label,
.single-product .variations th.label {
  display:flex !important; justify-content:space-between; align-items:center;
}
.ssd-swatch-display {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em;
  color:var(--ink); text-transform:uppercase; font-weight:600;
}

/* CTA row — quantity + add-to-cart prominent (HIGH SPECIFICITY) */
.single-product form.cart,
.woocommerce div.product form.cart {
  display:flex !important; gap:10px !important; align-items:stretch !important;
  flex-wrap:nowrap !important; margin:8px 0 16px !important;
}
.single-product form.cart .quantity,
.woocommerce div.product form.cart .quantity {
  display:flex !important; align-items:center !important;
  border:1px solid var(--ink) !important; height:64px !important; margin:0 !important;
  background:transparent !important;
}
.single-product form.cart .quantity input.qty,
.woocommerce div.product form.cart .quantity input.qty {
  width:64px !important; height:62px !important; border:0 !important; background:transparent !important;
  text-align:center !important; font-family:inherit !important; font-weight:700 !important; font-size:16px !important;
  color:var(--ink) !important; border-radius:0 !important; box-shadow:none !important;
}
.single-product form.cart .quantity input[type=number]::-webkit-inner-spin-button,
.single-product form.cart .quantity input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }

/* Add-to-cart button — kill purple/colored override */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.single-product .single_add_to_cart_button,
button.single_add_to_cart_button.alt {
  flex:1 !important; height:64px !important; padding:0 28px !important;
  background:var(--ink) !important; color:var(--bg) !important;
  border:0 !important; border-radius:0 !important;
  font-family:'Inter Tight', sans-serif !important;
  font-weight:700 !important; font-size:15px !important;
  letter-spacing:0.06em !important; text-transform:uppercase !important;
  cursor:pointer !important; transition:background 0.15s, color 0.15s !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:14px !important;
  text-shadow:none !important; box-shadow:none !important; text-decoration:none !important;
  white-space:nowrap;
}
.woocommerce div.product form.cart .button::after,
.single-product .single_add_to_cart_button::after {
  content:'→'; font-family:'Inter Tight',sans-serif; font-weight:600; transition:transform 0.2s;
}
.woocommerce div.product form.cart .button:hover,
.single-product .single_add_to_cart_button:hover {
  background:var(--accent) !important; color:var(--accent-ink) !important;
}
.single-product .single_add_to_cart_button:hover::after { transform:translateX(4px); }
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button[disabled] { opacity:0.4 !important; cursor:not-allowed !important; }

/* Hide payment-method buttons on PDP (PayPal/SEPA — they belong on checkout) */
.single-product .wc-proceed-to-checkout,
.single-product .ppc-button-wrapper,
.single-product .paypal-buttons,
.single-product .ppcp-messages,
.single-product .ppcp-dcc-gateway,
.single-product div[id^="paypal-button"] { display:none !important; }

/* Product meta — clean styling */
.woocommerce .product_meta,
.single-product .product_meta {
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important; letter-spacing:0.06em !important;
  color:var(--muted) !important; margin:24px 0 0 !important;
  display:flex !important; flex-direction:column !important; gap:6px !important;
  padding-top:20px; border-top:1px solid var(--line);
}
.woocommerce .product_meta > span { display:block; }
.woocommerce .product_meta a { color:var(--ink-2); text-decoration:none; }
.woocommerce .product_meta a:hover { color:var(--ink); }

/* Stock indicator */
.single-product .stock {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; margin:0 0 24px;
}
.single-product .stock::before { content:''; width:8px; height:8px; border-radius:50%; background:#37c468; display:inline-block; }
.single-product .out-of-stock::before { background:#c44; }

/* Trust row */
.ssd-trust {
  display:grid; grid-template-columns:repeat(2, 1fr); gap:0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin:24px 0; padding:0;
}
.ssd-trust > div {
  padding:16px 14px; border-right:1px solid var(--line);
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--ink-2); text-align:center;
}
.ssd-trust > div:last-child { border-right:0; }
.ssd-trust strong { display:block; font-family:'Anton',sans-serif; font-size:18px; letter-spacing:0; color:var(--ink); margin-bottom:2px; }

/* Product meta */
.single-product .product_meta {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.06em;
  color:var(--muted); margin:24px 0 0; display:flex; flex-direction:column; gap:6px;
}

/* Tabs hidden — description rendered as flowing section instead */
.woocommerce-tabs, .wc-tabs-wrapper { display:none !important; }

/* ─── Product description block (below summary, full width) ───── */
.ssd-description {
  max-width:1480px; margin:48px auto 0; padding:48px 32px 0;
  border-top:1px solid var(--line);
}
.ssd-description-wrap { max-width:780px; }
.ssd-section-title {
  font-family:'Anton',sans-serif; font-size:clamp(24px,2.6vw,36px);
  text-transform:uppercase; letter-spacing:-0.01em; line-height:1;
  margin:0 0 24px;
}
.ssd-description-body { font-size:15px; line-height:1.7; color:var(--ink-2); }
.ssd-description-body p { margin:0 0 16px; }
.ssd-description-body h2, .ssd-description-body h3 {
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:18px; margin:24px 0 8px; color:var(--ink); text-transform:none; letter-spacing:0;
}
.ssd-description-body ul, .ssd-description-body ol { padding-left:20px; margin:0 0 16px; }
.ssd-description-body li { margin:0 0 6px; }

/* Reviews — match description column width */
.ssd-reviews-inline { max-width:1480px; margin:0 auto; padding:32px 32px 48px; }
.ssd-reviews-wrap { max-width:780px; }

/* Related: also align to same gutter */
.related.products, .upsells.products {
  padding:48px 32px 96px !important; max-width:1480px !important;
}

/* ─── Static / legal pages (Impressum, AGB, Datenschutz, etc.) ── */
.ssd-page-main { max-width:880px; margin:0 auto; padding:64px 32px 96px; }
.ssd-page-header { margin:0 0 40px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.ssd-page-eyebrow {
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--muted); margin-bottom:12px;
}
.ssd-page-title {
  font-family:'Anton',sans-serif; font-size:clamp(28px,3.4vw,48px);
  line-height:1; letter-spacing:-0.01em; text-transform:uppercase; margin:0;
}
.ssd-page-article {
  font-size:15px; line-height:1.7; color:var(--ink-2);
  font-family:'Inter Tight',sans-serif;
}
.ssd-page-article p { margin:0 0 16px; }
.ssd-page-article h2 {
  font-family:'Anton',sans-serif; font-size:24px; line-height:1.1;
  text-transform:uppercase; letter-spacing:-0.005em; color:var(--ink);
  margin:40px 0 12px;
}
.ssd-page-article h3 {
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:17px; color:var(--ink); margin:28px 0 8px;
}
.ssd-page-article h4 {
  font-family:'Inter Tight',sans-serif; font-weight:700;
  font-size:15px; color:var(--ink); margin:20px 0 6px;
}
.ssd-page-article ul, .ssd-page-article ol { padding-left:20px; margin:0 0 16px; }
.ssd-page-article li { margin:0 0 6px; }
.ssd-page-article a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.ssd-page-article a:hover { color:var(--accent-ink, var(--ink)); }
.ssd-page-article strong { color:var(--ink); font-weight:700; }
.ssd-page-article hr { border:0; border-top:1px solid var(--line); margin:32px 0; }
.ssd-page-article table { width:100%; border-collapse:collapse; margin:0 0 16px; font-size:14px; }
.ssd-page-article th, .ssd-page-article td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; }
.ssd-page-article th { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }

/* Tabs - cleaner accordion-ish look */
.woocommerce-tabs { padding:16px 32px 64px; max-width:1480px; margin:0 auto; }
.woocommerce-tabs ul.tabs {
  list-style:none; padding:0; margin:0; display:flex; gap:0;
  border-bottom:1px solid var(--line);
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display:none; }
.woocommerce-tabs ul.tabs li {
  border:0; background:transparent; padding:0; margin:0;
}
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce-tabs ul.tabs li a {
  display:block; padding:18px 24px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--muted); font-weight:600;
  border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover {
  color:var(--ink); border-bottom-color:var(--ink);
}
.woocommerce-tabs .panel { padding:32px 0; max-width:720px; font-size:15px; line-height:1.65; color:var(--ink-2); }

/* Related products */
.related.products, .upsells.products {
  padding:48px 32px 96px; max-width:1480px; margin:48px auto 0;
  border-top:1px solid var(--line);
  display:block !important;
}
.related.products ul.products, .upsells.products ul.products,
.related.products .products, .upsells.products .products {
  display:grid !important; grid-template-columns:repeat(4, 1fr) !important; gap:32px !important;
  list-style:none !important; padding:0 !important; margin:0 !important;
  float:none !important; width:100% !important;
}
.related.products li.product, .upsells.products li.product {
  width:100% !important; float:none !important; margin:0 !important; clear:none !important;
  display:flex !important; flex-direction:column !important; gap:0 !important;
  grid-column:auto !important;
}
/* Kill any non-<li> children that WC injects into the products grid (cause phantom empty cells) */
.related.products ul.products > *:not(li.product),
.upsells.products ul.products > *:not(li.product),
ul.products > *:not(li.product) { display:none !important; }
/* Force first product to start in first column (in case a stray ::before reserves slot 1) */
.related.products ul.products > li.product:first-of-type,
.upsells.products ul.products > li.product:first-of-type,
ul.products > li.product:first-of-type { grid-column-start:1 !important; }
.related.products ul.products::before, .related.products ul.products::after,
.upsells.products ul.products::before, .upsells.products ul.products::after,
ul.products::before, ul.products::after { display:none !important; content:none !important; }
@media (max-width:900px) {
  .related.products ul.products, .upsells.products ul.products,
  .related.products .products, .upsells.products .products {
    grid-template-columns:repeat(2, 1fr) !important;
  }
}

/* Reviews inline section */
.ssd-reviews-inline {
  max-width:1480px; margin:0 auto; padding:48px 32px;
  border-top:1px solid var(--line);
}
.ssd-reviews-wrap { max-width:780px; }
.ssd-reviews-title {
  font-family:'Anton',sans-serif; font-size:clamp(24px,2.6vw,36px);
  text-transform:uppercase; letter-spacing:-0.01em; line-height:1;
  margin:0 0 24px;
}
.ssd-reviews-inline #reviews { margin:0; }
.ssd-reviews-inline .commentlist { list-style:none; padding:0; margin:0 0 32px; }
.ssd-reviews-inline .commentlist li {
  padding:20px 0; border-bottom:1px solid var(--line); list-style:none;
}
.ssd-reviews-inline .comment-text { font-size:15px; line-height:1.6; color:var(--ink-2); }
.ssd-reviews-inline .meta { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.ssd-reviews-inline #review_form_wrapper { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.ssd-reviews-inline #review_form input[type=text],
.ssd-reviews-inline #review_form input[type=email],
.ssd-reviews-inline #review_form textarea {
  width:100%; border:1px solid var(--line); padding:12px 14px;
  font:inherit; background:var(--paper); border-radius:0; margin-bottom:12px;
}
.ssd-reviews-inline #review_form .submit {
  background:var(--ink); color:var(--bg); border:0; padding:14px 28px;
  font-family:'Inter Tight',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; border-radius:0;
}
.ssd-reviews-inline #review_form .submit:hover { background:var(--accent); color:var(--accent-ink); }
.related.products > h2, .upsells.products > h2 {
  font-family:'Anton',sans-serif; font-size:clamp(24px,2.6vw,36px);
  text-transform:uppercase; letter-spacing:-0.01em; line-height:1;
  margin:0 0 32px;
}

/* Notices — restyle the ugly default WC notice bar */
.woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-notices-wrapper {
  max-width:1480px; margin:0 auto; padding:0 32px;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
  list-style:none; padding:14px 18px; margin:16px 0;
  background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--accent);
  font-size:13px; color:var(--ink); display:flex; align-items:center; gap:12px;
  border-radius:0;
}
.woocommerce-error li, .woocommerce-info li, .woocommerce-message li { list-style:none; }
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { display:none; }
.woocommerce-error { border-left-color:#c44; }
.single-product .price { font-family:'JetBrains Mono',monospace; font-size:24px; margin-bottom:24px; }
.single-product .woocommerce-product-details__short-description { color:var(--ink-2); font-size:16px; line-height:1.55; margin-bottom:32px; max-width:480px; }
.single-product .variations { margin-bottom:24px; }
.single-product .variations label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.single-product table.variations select { height:48px; border:1px solid var(--line); background:var(--paper); padding:0 14px; font:inherit; min-width:200px; border-radius:0; }

/* ─── Force variations to render as block grid (kill <table> defaults) ─── */
.single-product table.variations,
.woocommerce div.product form.cart .variations {
  display:block !important; border:0 !important; margin:0 0 24px !important; width:100% !important;
}
.single-product table.variations tbody,
.woocommerce div.product form.cart .variations tbody { display:block !important; width:100% !important; }
.single-product table.variations tr,
.woocommerce div.product form.cart .variations tr {
  display:block !important; margin-bottom:18px !important; border:0 !important;
}
.single-product table.variations th.label,
.single-product table.variations td.label,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.label {
  display:flex !important; justify-content:space-between !important; align-items:center !important;
  width:100% !important; padding:0 0 8px !important; background:transparent !important;
  font-family:'JetBrains Mono',monospace !important; font-size:11px !important; letter-spacing:0.12em !important;
  text-transform:uppercase !important; color:var(--muted) !important; font-weight:600 !important;
  border:0 !important;
}
.single-product table.variations th.label::before,
.woocommerce div.product form.cart .variations th.label::before { content:'// '; color:var(--muted); }
.single-product table.variations td.value,
.woocommerce div.product form.cart .variations td.value {
  display:block !important; width:100% !important; padding:0 !important; background:transparent !important; border:0 !important;
}

/* Swatches: row, wrap allowed but never column */
.ssd-swatches {
  display:flex !important; flex-direction:row !important; flex-wrap:wrap !important;
  gap:10px !important; margin:0 !important; align-items:stretch !important;
}
.ssd-swatches.is-size { gap:8px !important; }

/* Single variation wrap (price + cart) — stay block, full width */
.single-product .single_variation_wrap,
.woocommerce div.product form.cart .single_variation_wrap {
  display:block !important; width:100% !important; margin-top:8px !important;
}
.single-product .woocommerce-variation-price { margin:8px 0 16px !important; }

/* Disabled add-to-cart should still look like our button, just dimmed */
.woocommerce div.product form.cart .button:disabled,
.woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button:disabled {
  background:var(--ink) !important; color:var(--bg) !important; opacity:0.4 !important;
  cursor:not-allowed !important;
}

/* Breadcrumb: keep inside container, no overflow */
.woocommerce-breadcrumb {
  max-width:1480px !important; margin:0 auto !important; padding:24px 32px 8px !important;
  overflow:hidden !important; text-overflow:ellipsis !important; white-space:normal !important;
  word-break:break-word !important;
}

/* Trust row should sit BELOW the cart row, full width 3-col */
.ssd-trust-row {
  display:grid !important; grid-template-columns:repeat(3, 1fr) !important; gap:0 !important;
  border:1px solid var(--line) !important; margin-top:24px !important; width:100% !important;
}
.single-product .single_add_to_cart_button { /* uses .btn styles via class hook */ }
.single-product form.cart .quantity input.qty {
  width:64px; height:52px; border:1px solid var(--ink); background:transparent; text-align:center; font:inherit; font-weight:600;
}
.single-product form.cart { display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; margin-bottom:24px; }
.single-product .single_add_to_cart_button {
  height:52px; padding:0 28px; background:var(--ink); color:var(--bg); border:0;
  font-weight:600; font-size:14px; letter-spacing:0.04em; text-transform:uppercase;
  cursor:pointer; transition:background 0.15s, color 0.15s;
}
.single-product .single_add_to_cart_button:hover { background:var(--accent); color:var(--accent-ink); }

/* ─── Cart / Checkout ───────────────────────────────────────────── */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:-0.01em;
}
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:0; }
.woocommerce table.shop_table th { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top:3px solid var(--accent); background:var(--paper); border-radius:0; padding:14px 18px;
}
.woocommerce-message::before, .woocommerce-info::before { color:var(--accent-ink); }

.woocommerce form .form-row label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  height:48px; border:1px solid var(--line); background:var(--paper); border-radius:0; padding:0 14px;
  font:inherit; color:var(--ink);
}
.woocommerce form .form-row input.input-text:focus { border-color:var(--ink); background:var(--bg); outline:none; }
#place_order, .checkout-button, .button.alt {
  height:64px; padding:0 36px; background:var(--ink); color:var(--bg); border-radius:0;
  font-weight:600; font-size:16px; letter-spacing:0.04em; text-transform:uppercase; border:0;
}
#place_order:hover, .checkout-button:hover { background:var(--accent); color:var(--accent-ink); }

/* ─── Mini cart drawer ──────────────────────────────────────────── */
#cart-drawer { position:fixed; inset:0; z-index:100; pointer-events:none; }
#cart-drawer.open { pointer-events:auto; }
#cart-drawer .scrim { position:absolute; inset:0; background:rgba(10,10,10,0.5); opacity:0; transition:opacity 0.2s; }
#cart-drawer.open .scrim { opacity:1; }
#cart-drawer .panel {
  position:absolute; top:0; right:0; bottom:0; width:min(440px, 90vw);
  background:var(--bg); border-left:1px solid var(--line);
  transform:translateX(100%); transition:transform 0.3s cubic-bezier(.2,.7,.3,1);
  display:flex; flex-direction:column;
}
#cart-drawer.open .panel { transform:translateX(0); }
#cart-drawer .panel-head { padding:20px 24px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
#cart-drawer .panel-head h3 { margin:0; font-family:'Anton',sans-serif; font-size:32px; text-transform:uppercase; letter-spacing:-0.01em; }
#cart-drawer .panel-body { flex:1; overflow-y:auto; padding:0; }
#cart-drawer .panel-foot { padding:20px 24px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:10px; background:var(--paper); }
#cart-drawer .ssd-cart-empty { color:var(--muted); font-family:'JetBrains Mono',monospace; font-size:12px; padding:24px; }
#cart-drawer .ssd-cart-empty-state { padding:48px 24px; text-align:center; display:flex; flex-direction:column; gap:16px; }
#cart-drawer .ssd-cart-empty-state p { color:var(--muted); margin:0; font-size:14px; }
#cart-drawer .ssd-mini-cart { list-style:none; padding:0; margin:0; }
#cart-drawer .ssd-mini-cart-item { display:grid; grid-template-columns:80px 1fr; gap:14px; padding:16px 24px; border-bottom:1px solid var(--line); }
#cart-drawer .ssd-mc-thumb { width:80px; height:80px; overflow:hidden; background:var(--paper); }
#cart-drawer .ssd-mc-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
#cart-drawer .ssd-mc-info { display:flex; flex-direction:column; gap:6px; min-width:0; }
#cart-drawer .ssd-mc-name { font-family:'Inter Tight',sans-serif; font-weight:600; font-size:14px; line-height:1.3; color:var(--ink); }
#cart-drawer .ssd-mc-meta { display:flex; justify-content:space-between; align-items:baseline; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.05em; }
#cart-drawer .ssd-mc-price { color:var(--ink); font-weight:600; font-size:13px; }
#cart-drawer .ssd-mc-price .amount, #cart-drawer .ssd-mc-price bdi { font-family:'JetBrains Mono',monospace; }
#cart-drawer .ssd-mc-remove { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); text-decoration:underline; text-underline-offset:3px; align-self:flex-start; margin-top:2px; }
#cart-drawer .ssd-mc-remove:hover { color:var(--ink); }
#cart-drawer .ssd-mc-total { display:flex; justify-content:space-between; align-items:baseline; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); padding-bottom:4px; }
#cart-drawer .ssd-mc-total strong { color:var(--ink); font-family:'Anton',sans-serif; font-size:22px; font-weight:400; letter-spacing:0; text-transform:none; }
#cart-drawer .btn.full { display:flex; align-items:center; justify-content:center; padding:14px 20px; font-family:'Inter Tight',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; border-radius:0; }
#cart-drawer .btn.full.primary { background:var(--ink); color:var(--bg); }
#cart-drawer .btn.full.primary:hover { background:var(--accent); color:var(--accent-ink); }
#cart-drawer .btn.full.ghost { background:transparent; color:var(--ink); border:1px solid var(--ink); }
#cart-drawer .btn.full.ghost:hover { background:var(--ink); color:var(--bg); }

/* ─── Cart page polish ───────────────────────────────────────── */
.woocommerce-cart .woocommerce { max-width:1280px; margin:0 auto; padding:48px 32px 96px; }
.woocommerce-cart .woocommerce > h1, .woocommerce-cart .entry-title {
  font-family:'Anton',sans-serif; font-size:clamp(36px,5vw,72px);
  text-transform:uppercase; letter-spacing:-0.01em; line-height:0.95; margin:0 0 32px;
}
.woocommerce-cart table.shop_table {
  border:0 !important; width:100%; border-collapse:collapse;
}
.woocommerce-cart table.shop_table thead th {
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--muted); padding:14px 12px;
  border-bottom:1px solid var(--line); background:transparent;
}
.woocommerce-cart table.shop_table tr.cart_item td {
  border-top:1px solid var(--line); border-bottom:0; padding:20px 12px; background:transparent;
  vertical-align:middle;
}
.woocommerce-cart .product-thumbnail img { width:96px; height:96px; object-fit:cover; display:block; }
.woocommerce-cart .product-name a { font-family:'Inter Tight',sans-serif; font-weight:600; color:var(--ink); text-decoration:none; font-size:15px; }
.woocommerce-cart .product-name a:hover { color:var(--accent-ink, var(--ink)); }
.woocommerce-cart .product-price, .woocommerce-cart .product-subtotal { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--ink); }
.woocommerce-cart .product-quantity .qty {
  width:64px; height:44px; border:1px solid var(--line); background:transparent;
  text-align:center; font:inherit; font-weight:600; border-radius:0; padding:0;
}
.woocommerce-cart .product-remove a.remove {
  width:32px; height:32px; line-height:30px; text-align:center;
  font-size:18px; color:var(--muted) !important; background:transparent !important;
  border:1px solid var(--line); border-radius:50%;
}
.woocommerce-cart .product-remove a.remove:hover { color:var(--ink) !important; border-color:var(--ink); }
.woocommerce-cart .actions { padding:20px 0 !important; border:0 !important; display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.woocommerce-cart .actions .coupon { display:flex; gap:0; flex:1; max-width:380px; }
.woocommerce-cart .actions .coupon input[type=text] {
  flex:1; height:48px; border:1px solid var(--line); padding:0 14px; font:inherit; border-radius:0; background:transparent;
}
.woocommerce-cart .actions .coupon button, .woocommerce-cart .actions button {
  height:48px; padding:0 24px; background:var(--ink); color:var(--bg); border:0;
  font-family:'Inter Tight',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; border-radius:0;
}
.woocommerce-cart .actions .coupon button:hover, .woocommerce-cart .actions button:hover { background:var(--accent); color:var(--accent-ink); }
.woocommerce-cart .cart-collaterals {
  display:grid; grid-template-columns: 1fr; max-width:480px; margin-left:auto; margin-top:32px;
}
.woocommerce-cart .cart_totals {
  background:var(--paper); border:1px solid var(--line); padding:24px 28px;
}
.woocommerce-cart .cart_totals h2 {
  font-family:'Anton',sans-serif; font-size:24px; line-height:1; text-transform:uppercase; letter-spacing:-0.01em; margin:0 0 20px;
}
.woocommerce-cart .cart_totals table { border:0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td {
  border:0; padding:10px 0; font-family:'JetBrains Mono',monospace; font-size:12px; background:transparent;
}
.woocommerce-cart .cart_totals table th { letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.woocommerce-cart .cart_totals .order-total th, .woocommerce-cart .cart_totals .order-total td {
  border-top:1px solid var(--line); padding-top:16px; font-size:16px;
}
.woocommerce-cart .cart_totals .order-total td { font-family:'Anton',sans-serif; font-size:28px; color:var(--ink); }
.woocommerce-cart .wc-proceed-to-checkout { padding:16px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display:flex; align-items:center; justify-content:center; width:100%;
  height:56px; background:var(--ink); color:var(--bg) !important; border:0;
  font-family:'Inter Tight',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; border-radius:0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background:var(--accent); color:var(--accent-ink) !important; }
.woocommerce-cart .return-to-shop { margin:24px 0; }
.woocommerce-cart .return-to-shop a { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }

/* ─── Checkout page polish ──────────────────────────────────── */
.woocommerce-checkout .woocommerce { max-width:1280px; margin:0 auto; padding:48px 32px 96px; }
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; }
.woocommerce-checkout #customer_details { min-width:0; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 {
  font-family:'Anton',sans-serif; font-size:24px; line-height:1; text-transform:uppercase; letter-spacing:-0.01em; margin:0 0 16px;
}
.woocommerce-checkout form .form-row label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:6px; }
.woocommerce-checkout form .form-row input,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select {
  width:100%; height:48px; border:1px solid var(--line); background:transparent;
  padding:0 14px; font:inherit; color:var(--ink); border-radius:0;
}
.woocommerce-checkout form .form-row textarea { height:auto; padding:12px 14px; min-height:80px; }
.woocommerce-checkout #order_review { background:var(--paper); border:1px solid var(--line); padding:24px 28px; align-self:start; position:sticky; top:120px; }
.woocommerce-checkout #payment { background:transparent; }
.woocommerce-checkout #payment .payment_methods { padding:0; margin:0 0 16px; }
.woocommerce-checkout #payment .payment_methods li { background:var(--bg); border:1px solid var(--line); padding:14px 16px; margin-bottom:8px; list-style:none; }
.woocommerce-checkout #place_order {
  width:100%; height:56px; background:var(--ink); color:var(--bg); border:0;
  font-family:'Inter Tight',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; border-radius:0;
}
.woocommerce-checkout #place_order:hover { background:var(--accent); color:var(--accent-ink); }
@media (max-width:900px) {
  .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
  .woocommerce-checkout #order_review { position:static; }
}

/* ─── Footer ────────────────────────────────────────────────────── */
.footer { background:var(--ink); color:var(--bg); }
.footer-inner { padding:80px 32px 32px; max-width:1480px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:1.5fr repeat(3, 1fr); gap:48px; }
.footer h4 { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; margin:0 0 16px; color:color-mix(in oklab, var(--bg) 50%, transparent); }
.footer ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.footer li, .footer a { font-size:14px; color:color-mix(in oklab, var(--bg) 75%, transparent); }
.footer a:hover { color:var(--bg); }
.footer-mega { font-family:'Anton',sans-serif; font-size:clamp(60px,12vw,180px); line-height:0.85; margin:64px 0 32px; letter-spacing:-0.02em; text-transform:uppercase; opacity:0.92; }
.footer-bot { display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid color-mix(in oklab, var(--bg) 18%, transparent); font-family:'JetBrains Mono',monospace; font-size:11px; color:color-mix(in oklab, var(--bg) 50%, transparent); letter-spacing:0.06em; text-transform:uppercase; }

/* ─── Responsive ────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .hero-grid, .single-product div.product { grid-template-columns: 1fr; gap:32px; padding:32px 20px; }
  .single-product .woocommerce-product-gallery { position:static; }
  .single-product .product_title { font-size: clamp(24px, 6vw, 40px); max-width:100%; }
  ul.products, .product-grid { grid-template-columns: repeat(2, 1fr); gap:20px; }
  .usps { grid-template-columns: repeat(2, 1fr); }
  .usp:nth-child(2) { border-right:0; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .container, .container-tight { padding: 0 20px; }
  .nav-inner { grid-template-columns: 1fr 1fr; }
  .nav-left .menu { display:none; }
  .section { padding: 64px 0; }
  ul.products, .product-grid { grid-template-columns: 1fr 1fr; gap:14px; }
  .footer-top { grid-template-columns: 1fr; gap:32px; }
}
