/*
Theme Name: Aether
Theme URI: https://aether.com.br
Author: Aether (Jovelino Colodetti LTDA)
Description: Tema premium da marca Aether — acessorios para card games (TCG). Landing simples + loja WooCommerce on-brand, direcionando para a loja. Design system: Aether (cosmico, dark-first).
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aether
WC requires at least: 8.0
WC tested up to: 9.9
*/

/* ================================================================
   TOKENS — Aether design system
   Display: Cormorant Garamond (subs FANG) · UI/Body: Hanken Grotesk (subs POLYMATH) · Mono: JetBrains Mono
   ================================================================ */
:root{
  /* --- Brand core --- */
  --brand-black:#070707; --brand-midnight:#0B0B50; --brand-abyss:#10447A; --brand-azure:#0A54A8;
  --brand-aqua:#4EC8D0; --brand-royal:#512973; --brand-indigo:#3E2F7C; --brand-lavender:#785AAA;

  --aqua-100:#E4F8F9; --aqua-200:#BCEEF1; --aqua-300:#8FE0E5; --aqua-400:#6FD8DF; --aqua-500:#4EC8D0; --aqua-600:#3AB3BB; --aqua-700:#2A8E96; --aqua-800:#1E6A70;
  --violet-200:#D8CDEC; --violet-300:#B49FD6; --violet-400:#937BC2; --violet-500:#785AAA; --violet-600:#5E3F92; --violet-700:#512973; --violet-800:#3E2F7C;

  /* --- Surfaces (dark-first) --- */
  --surface-canvas:#060819; --surface-raised:#0E1236; --surface-overlay:#161B44; --surface-brand:#0B0B50; --surface-inset:#04050F;

  /* --- Text --- */
  --text-primary:#F4F6FC; --text-secondary:#B9C2DC; --text-muted:#8F9BC0; --text-faint:#6A76A0; --text-on-accent:#04121A; --text-brand:#4EC8D0;

  /* --- Borders --- */
  --border-subtle:rgba(255,255,255,.07); --border-default:rgba(255,255,255,.12); --border-strong:rgba(255,255,255,.22); --border-brand:#4EC8D0;

  /* --- Accents --- */
  --accent:#4EC8D0; --accent-hover:#6FD8DF; --accent-press:#3AB3BB; --accent-soft:rgba(78,200,208,.12); --accent-violet:#785AAA;

  /* --- Status --- */
  --success:#3FBF8F; --warning:#E6B450; --danger:#E5657A; --info:#4EC8D0;
  --ring:rgba(78,200,208,.55);

  /* --- Type --- */
  --font-display:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;
  --font-sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-heavy:800;

  --text-display-2xl:clamp(3.5rem,7vw,6rem);
  --text-display-xl:clamp(2.75rem,5vw,4.25rem);
  --text-display-lg:clamp(2.25rem,4vw,3.25rem);
  --text-display-md:clamp(1.875rem,3vw,2.5rem);
  --text-display-sm:1.75rem;
  --text-2xl:1.5rem; --text-xl:1.25rem; --text-lg:1.125rem; --text-md:1rem; --text-sm:.875rem; --text-xs:.75rem; --text-2xs:.6875rem;

  --leading-tight:1.05; --leading-snug:1.2; --leading-normal:1.5; --leading-relaxed:1.65;
  --tracking-tight:-0.02em; --tracking-normal:0; --tracking-wide:.04em; --tracking-wider:.12em; --tracking-widest:.24em;

  /* --- Spacing --- */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px; --space-32:128px;
  --container-max:1240px; --gutter:clamp(20px,5vw,64px); --section-y:clamp(64px,9vw,140px);

  /* --- Radius --- */
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:26px; --radius-2xl:36px; --radius-pill:999px;

  /* --- Elevation --- */
  --shadow-sm:0 1px 2px rgba(3,4,15,.45); --shadow-md:0 6px 20px rgba(3,4,15,.5); --shadow-lg:0 18px 44px rgba(3,4,15,.55); --shadow-xl:0 34px 80px rgba(3,4,15,.62);
  --edge-light:inset 0 1px 0 rgba(255,255,255,.08);
  --glow-aqua:0 0 24px rgba(78,200,208,.42); --glow-aqua-lg:0 0 48px rgba(78,200,208,.35); --glow-royal:0 0 32px rgba(120,90,170,.4);

  /* --- Motion --- */
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms;
  --ease-standard:cubic-bezier(.22,1,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);

  /* --- Gradients --- */
  --gradient-nebula:radial-gradient(120% 90% at 15% 10%,#3E2F7C 0%,rgba(62,47,124,0) 55%),radial-gradient(110% 80% at 85% 20%,#10447A 0%,rgba(16,68,122,0) 50%),radial-gradient(120% 120% at 70% 95%,#512973 0%,rgba(81,41,115,0) 55%),linear-gradient(160deg,#06071A 0%,#0B0B50 55%,#070720 100%);
  --gradient-aqua:linear-gradient(120deg,#4EC8D0 0%,#0A54A8 100%);
  --gradient-royal:linear-gradient(135deg,#512973 0%,#785AAA 100%);
  --gradient-space:linear-gradient(180deg,#0B0B50 0%,#070707 100%);
}

/* Webfonts are enqueued in functions.php (aether_assets) — not @import'd here, to avoid a render-blocking request chain. */

/* ================================================================
   BASE
   ================================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0 0 .4em}
p{margin:0 0 1em}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--accent-hover)}
img{max-width:100%;display:block}
::selection{background:rgba(78,200,208,.3);color:#fff}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}

.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{display:inline-block;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-brand)}

/* ================================================================
   BUTTONS
   ================================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 22px;
  font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--fw-semibold);letter-spacing:.01em;line-height:1;white-space:nowrap;
  border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;
  transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),filter var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}
.btn.btn-lg{height:54px;padding:0 30px;font-size:var(--text-lg)}
.btn.btn-sm{height:34px;padding:0 16px;font-size:var(--text-sm)}
.btn-primary{background:var(--gradient-aqua);color:var(--text-on-accent);box-shadow:var(--glow-aqua)}
.btn-primary:hover{filter:brightness(1.06);box-shadow:var(--glow-aqua-lg);color:var(--text-on-accent)}
.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}
.btn-secondary:hover{border-color:var(--border-brand);color:var(--text-brand)}
.btn-ghost{background:transparent;color:var(--text-secondary)}
.btn-ghost:hover{background:rgba(255,255,255,.06);color:var(--text-primary)}
.btn:active{transform:scale(.98)}

/* ================================================================
   CARDS
   ================================================================ */
.card{border-radius:var(--radius-lg);color:var(--text-primary);transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
.card-raised{background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md),var(--edge-light)}
.card-outline{background:transparent;border:1px solid var(--border-default)}
.card-brand{background:var(--gradient-nebula);border:1px solid var(--border-default);box-shadow:var(--shadow-lg)}
.card-interactive:hover{transform:translateY(-4px);border-color:var(--border-brand);box-shadow:var(--shadow-lg),var(--glow-aqua)}

/* ================================================================
   BADGE
   ================================================================ */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.03em;line-height:1.4;text-transform:uppercase}
.badge-violet{background:rgba(120,90,170,.18);color:var(--violet-300)}
.badge-aqua{background:var(--accent-soft);color:var(--aqua-300)}
.badge-solid{background:var(--gradient-aqua);color:var(--text-on-accent)}

/* ================================================================
   NEBULA FIELD — signature cosmic backdrop
   ================================================================ */
.nebula{position:relative;overflow:hidden;background:var(--gradient-nebula)}
.nebula.has-image{background:var(--surface-canvas)}
.nebula .nebula-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.85}
.nebula .nebula-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 30%,rgba(78,200,208,.4) 0%,rgba(78,200,208,0) 60%);mix-blend-mode:screen}
.nebula .nebula-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 40%,rgba(6,8,25,0) 40%,rgba(6,8,25,.85) 100%)}
.nebula .nebula-content{position:relative;z-index:1}

/* ================================================================
   HEADER
   ================================================================ */
.site-header{position:sticky;top:0;z-index:50;transition:background var(--dur-base) var(--ease-standard),backdrop-filter var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(6,8,25,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border-subtle)}
.site-header .nav{display:flex;align-items:center;gap:32px;height:76px}
.site-header .brand img{height:26px;width:auto;display:block}
.site-header nav.menu{display:flex;gap:28px;margin-left:8px}
.site-header nav.menu a{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}
.site-header nav.menu a:hover{color:var(--text-primary)}
.site-header .actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-pill);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}
.icon-btn:hover{background:rgba(255,255,255,.06);color:var(--text-primary)}
.cart-link{position:relative;display:inline-flex}
.cart-count{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--text-on-accent);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--glow-aqua)}

/* ================================================================
   HERO
   ================================================================ */
.hero{min-height:88vh;display:flex;align-items:center;text-align:center;padding:calc(var(--section-y) * .6) 0}
.hero-inner{max-width:900px;margin:0 auto;padding:0 var(--gutter)}
/* Deliberately NOT --text-display-2xl (clamps up to 6rem): on wide monitors that size
   forces each two-word half of the headline to wrap again, turning 2 lines into 4. */
.hero h1{font-size:clamp(2.75rem,4.2vw,4.75rem);font-weight:600;line-height:1.05;letter-spacing:-.02em;margin:20px 0 22px}
.hero p.lead{font-size:var(--text-lg);color:var(--text-secondary);max-width:560px;margin:0 auto 34px}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ================================================================
   SECTIONS
   ================================================================ */
.section{padding:var(--section-y) var(--gutter)}
.section-head{text-align:center;max-width:640px;margin:0 auto var(--space-12)}
.section-head h2{font-size:var(--text-display-md)}
.section-head p{color:var(--text-secondary);font-size:var(--text-lg);margin-top:var(--space-3)}

/* ================================================================
   PRODUCT CARD (landing showcase)
   ================================================================ */
.product-grid{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product-card{overflow:hidden;display:flex;flex-direction:column}
.product-card .thumb{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--gradient-space)}
.product-card .thumb img{width:100%;height:100%;object-fit:contain;padding:22px;transition:transform var(--dur-slow) var(--ease-standard)}
.product-card:hover .thumb img{transform:scale(1.05)}
.product-card .thumb .badge{position:absolute;top:14px;left:14px}
.product-card .body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.product-card .body .eyebrow{font-size:var(--text-2xs)}
.product-card .body h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin:0;line-height:1.15}
.product-card .body h3 a{color:inherit}
.product-card .price-row{margin-top:auto;padding-top:8px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}

.price{display:flex;flex-direction:column;gap:2px}
.price .amount-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price .amount{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.01em}
.price .compare{font-size:var(--text-sm);color:var(--text-faint);text-decoration:line-through}
.price .from{font-size:var(--text-xs);color:var(--text-muted)}

.showcase-more{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;background:var(--gradient-nebula);border:1px solid var(--border-default)}

/* ================================================================
   STATEMENT BAND
   ================================================================ */
.statement{padding:var(--section-y) 0;text-align:center}
.statement img.mark{height:56px;margin:0 auto 26px;opacity:.95}
.statement h2{font-size:var(--text-display-xl);font-weight:500;line-height:1.15;max-width:880px;margin:0 auto 14px}
.statement p{font-size:var(--text-lg);color:var(--text-secondary);margin:0}

/* ================================================================
   FINAL CTA
   ================================================================ */
.final-cta{padding:var(--section-y) 0;text-align:center}
.final-cta .eyebrow{margin-bottom:14px}
.final-cta h2{font-size:var(--text-display-lg);margin-bottom:16px}
.final-cta p{color:var(--text-secondary);font-size:var(--text-lg);max-width:480px;margin:0 auto 30px}

/* ================================================================
   FOOTER
   ================================================================ */
.site-footer{border-top:1px solid var(--border-subtle);background:var(--gradient-space)}
.site-footer .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding:52px var(--gutter) 36px;max-width:var(--container-max);margin:0 auto}
.site-footer .flogo{height:24px;margin-bottom:18px}
.site-footer p.ft{color:var(--text-muted);font-size:var(--text-sm);max-width:280px;margin:0}
.site-footer h4{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer ul a{color:var(--text-muted);font-size:var(--text-sm)}
.site-footer ul a:hover{color:var(--text-brand)}
.site-footer .copy{border-top:1px solid var(--border-subtle);padding:18px var(--gutter);max-width:var(--container-max);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--text-faint);font-size:var(--text-xs)}

/* ================================================================
   GENERIC PAGE
   ================================================================ */
.page-shell{max-width:840px;margin:0 auto;padding:80px var(--gutter) 100px}
.page-shell h1{font-size:var(--text-display-md)}
.page-shell .entry{color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed)}

/* ================================================================
   WOOCOMMERCE — on-brand
   ================================================================ */
/* NOTE: .woocommerce / .woocommerce-page are WordPress BODY classes on shop/product pages —
   never set layout (width/margin) on them. The horizontal container comes from the
   `.wrap.woo-wrap` div functions.php wraps the main content in. */
.woo-wrap{padding:56px 0 100px}
.woocommerce .page-title,.woocommerce h1.entry-title{font-family:var(--font-display);font-size:var(--text-display-md);color:var(--text-primary);margin-bottom:8px}
.woocommerce-breadcrumb{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:28px;display:block}
.woocommerce-breadcrumb a{color:var(--text-brand)}
.woocommerce-result-count,.woocommerce-ordering{color:var(--text-muted);font-size:var(--text-sm)}
.woocommerce-ordering select{background:var(--surface-inset);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 12px}

/* shop loop */
.woocommerce ul.products,.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;margin:0 0 40px;padding:0}
.woocommerce ul.products li.product,.wc-block-grid__product{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),var(--edge-light);padding:0!important;overflow:hidden;text-align:center;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);margin:0!important;list-style:none}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--border-brand);box-shadow:var(--shadow-lg),var(--glow-aqua)}
.woocommerce ul.products li.product a{display:block;color:inherit}
.woocommerce ul.products li.product img{aspect-ratio:4/5;object-fit:contain;background:var(--gradient-space);padding:24px;width:100%;height:auto;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text-primary);padding:16px 16px 4px;margin:0}
.woocommerce ul.products li.product .price{padding:0 16px 20px;display:block;color:var(--text-primary);font-family:var(--font-sans)}
.woocommerce .price,.woocommerce-Price-amount,.wc-block-components-product-price{color:var(--text-primary)!important;font-weight:var(--fw-bold)}
.woocommerce del .woocommerce-Price-amount{color:var(--text-faint)!important;font-weight:var(--fw-regular);opacity:1}
.woocommerce ins{text-decoration:none}
.woocommerce span.onsale{position:absolute;top:14px;left:14px;background:var(--gradient-aqua);color:var(--text-on-accent)!important;border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;min-height:0;min-width:0;line-height:1.4}
.woocommerce ul.products li.product{position:relative}

/* buttons everywhere in WC */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.wc-block-components-button,.wp-element-button{
  background:var(--gradient-aqua)!important;color:var(--text-on-accent)!important;
  font-family:var(--font-sans)!important;font-weight:var(--fw-semibold)!important;letter-spacing:.01em;font-size:var(--text-sm)!important;
  border:none!important;border-radius:var(--radius-pill)!important;padding:12px 26px!important;box-shadow:var(--glow-aqua);
  transition:filter var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:hover,.wp-element-button:hover{filter:brightness(1.06);box-shadow:var(--glow-aqua-lg)}
.woocommerce a.button.loading,.woocommerce a.added_to_cart{margin-left:10px;font-size:var(--text-xs);color:var(--text-brand)}
.woocommerce a.button.added,.add_to_cart_button.added{background:var(--success)!important;color:#04140F!important}

/* single product */
.woocommerce div.product .product_title{font-family:var(--font-display);font-size:var(--text-display-sm);margin-bottom:12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--text-primary);font-size:var(--text-2xl);font-family:var(--font-sans);font-weight:var(--fw-bold)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-relaxed)}
.woocommerce div.product form.cart{margin-top:24px}
.woocommerce div.product .woocommerce-tabs{margin-top:56px;border-top:1px solid var(--border-subtle);padding-top:32px}
.woocommerce div.product .woocommerce-tabs ul.tabs{border:none;padding:0;margin:0 0 24px;display:flex;gap:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:8px 18px;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--accent-soft);border-color:var(--border-brand)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--text-secondary)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--text-brand)}
.woocommerce #reviews h2,.woocommerce #reviews h3{font-family:var(--font-display)}
.woocommerce table.shop_attributes{border:1px solid var(--border-subtle);border-collapse:collapse}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:1px solid var(--border-subtle);color:var(--text-secondary);padding:10px 14px}
.woocommerce div.product .woocommerce-product-gallery{border-radius:var(--radius-lg);overflow:hidden;background:var(--gradient-space)}

/* quantity input */
.woocommerce .quantity .qty,.wc-block-components-quantity-selector input{background:var(--surface-inset);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);height:44px;text-align:center}

/* forms / cart / checkout */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container .select2-selection,
.wc-block-components-text-input input,.wc-block-components-address-form input,.wc-block-components-radio-control__input{
  background:var(--surface-inset)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important}
.woocommerce form .form-row label,.wc-block-components-text-input label{color:var(--text-secondary)!important}
.woocommerce table.shop_table,.wc-block-cart,.wc-block-checkout{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-primary)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--border-subtle);color:var(--text-primary)}
.woocommerce .cart_totals,.wc-block-components-totals-item{color:var(--text-primary)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--accent);background:var(--surface-raised);color:var(--text-primary);border-radius:var(--radius-md)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media(max-width:960px){
  .product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
  .site-footer .fgrid{grid-template-columns:1fr}
  .site-header nav.menu{display:none}
}
@media(max-width:560px){
  .product-grid,.woocommerce ul.products{grid-template-columns:1fr!important}
  .hero h1{font-size:var(--text-display-xl)}
}
