:root{
  --wase-warm-white:#F5F2EC;
  --wase-warm-white-2:#EDE8DF;
  --wase-iron:#1A1A18;
  --wase-iron-hover:#0F0F0E;
  --wase-graphite:#3D3D38;
  --wase-graphite-2:#2A2A26;
  --wase-orange:#D4581A;
  --wase-orange-hover:#B84813;
  --wase-wood:#C4B49A;
  --wase-wood-tint:#E4DACA;
  --wase-silver:#C0C0B8;

  --surface-page:var(--wase-warm-white);
  --surface-sunken:var(--wase-warm-white-2);
  --surface-dark:var(--wase-iron);
  --text-body:var(--wase-graphite);
  --text-strong:var(--wase-iron);
  --text-muted:#6E6E66;
  --text-on-dark:var(--wase-warm-white);
  --text-accent:var(--wase-orange);
  --line-hairline:#DCD5C8;
  --line-standard:var(--wase-wood);
  --line-strong:var(--wase-iron);
  --line-accent:var(--wase-orange);

  --font-slab:"Zilla Slab","Noto Serif TC",Georgia,serif;
  --font-serif-tc:"Noto Serif TC","Zilla Slab",serif;
  --font-sans:"IBM Plex Sans","Noto Sans TC",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono","Noto Sans TC",ui-monospace,monospace;

  --space-4:16px; --space-5:24px; --space-6:32px;
  --space-7:48px; --space-8:64px; --space-9:96px;
  --gutter:24px; --max-width:1320px;
  --radius-sm:2px; --radius-md:4px; --radius-max:6px;
  --control-h:48px; --nav-h:72px;

  --ease-standard:cubic-bezier(.2,.6,.2,1);
  --duration-fast:120ms; --duration-base:200ms;
}

/* Font stacks: Zilla Slab and IBM Plex carry no CJK, so the Noto TC faces
   pick up Chinese glyphs within the same declaration. */
body{font-family:var(--font-sans);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4,h5,h6,.entry-title,.page-title{font-family:var(--font-slab);color:var(--text-strong)}

/* Numbers are always mono, always with a unit. */
.woocommerce .price,.woocommerce-Price-amount,.wase-num,
.woocommerce .quantity input,.woocommerce-Price-currencySymbol,
.order-total .amount,.cart-subtotal .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

/* Hard rule: this system ships no drop shadows. Borders do the separation work. */
.woocommerce ul.products li.product,.woocommerce div.product,
.woocommerce .cart_totals,.woocommerce-checkout #order_review,
.ct-woocommerce-cart-form,.entry-card,.ct-post-inner{box-shadow:none!important}

.woocommerce ul.products li.product,.entry-card{
  background:var(--wase-warm-white);
  border:1px solid var(--line-standard);
  border-radius:var(--radius-md);
  transition:border-color var(--duration-base) var(--ease-standard);
}
.woocommerce ul.products li.product:hover,.entry-card:hover{
  border-color:var(--line-accent);
  transform:none;
}

/* Radius ceiling is 6px; nothing in WASE is circular. */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.wp-element-button,input,select,textarea{
  border-radius:var(--radius-sm)!important;
}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce button.button.alt{
  background:var(--wase-iron);
  color:var(--text-on-dark);
  font-family:var(--font-sans);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  min-height:var(--control-h);
  box-shadow:none;
  transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce button.button.alt:hover{
  background:var(--wase-iron-hover);
  color:var(--text-on-dark);
}
.woocommerce a.button:active,.woocommerce button.button:active{transform:translateY(1px)}

/* Focus: 2px orange, 2px offset, no glow. */
:focus-visible{outline:2px solid var(--wase-orange);outline-offset:2px}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{
  border-color:var(--wase-orange);
  box-shadow:none;
  outline:none;
}

/* Sale badge: wood tint, squared off, never a circle. */
.woocommerce span.onsale{
  background:var(--wase-wood-tint);
  color:var(--text-strong);
  border-radius:var(--radius-sm);
  font-family:var(--font-sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  min-height:0;
  min-width:0;
  line-height:1.2;
  padding:6px 10px;
}

/* No gradients anywhere in this system. */
.woocommerce .quantity,.woocommerce-info,.woocommerce-message,.woocommerce-error{
  background-image:none;
  border-radius:var(--radius-sm);
}
.woocommerce-info,.woocommerce-message{
  background:var(--surface-sunken);
  border-top:3px solid var(--wase-orange);
  color:var(--text-body);
}
.woocommerce-error{
  background:var(--surface-sunken);
  border-top:3px solid #8C2F14;
  color:var(--text-body);
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
