/* ============================================================
   Suburban Thugs — theme.css
   Self-contained. Tokens as custom properties. Light + dark.
   No external imports. MCM self-hosts the declared fonts.
   ============================================================ */

/* ---- Required: overlays ship closed; MCM wires toggle JS ---- */
[hidden]{display:none!important;}

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  /* brand ramps */
  --primary-50:#eef1fb;--primary-100:#dbe1f6;--primary-200:#bcc8ee;--primary-300:#93a6e1;
  --primary-400:#6680cf;--primary-500:#4760b8;--primary-600:#34499c;--primary-700:#22357a;
  --primary-800:#1d2d66;--primary-900:#172250;
  --secondary-50:#e8f6f7;--secondary-100:#c7eaec;--secondary-200:#95d6da;--secondary-300:#5cbcc2;
  --secondary-400:#2c9aa1;--secondary-500:#117e85;--secondary-600:#0c6e77;--secondary-700:#0b5b62;
  --secondary-800:#0c4a4f;--secondary-900:#0a3a3e;
  --accent-50:#fef6e7;--accent-100:#fde9c0;--accent-200:#fbd382;--accent-300:#f9bd44;
  --accent-400:#f59e0b;--accent-500:#d98307;--accent-600:#b45309;--accent-700:#92400e;
  --accent-800:#76350f;--accent-900:#5c2c10;
  --neutral-50:#f6f7f9;--neutral-100:#eceef2;--neutral-200:#dde1e9;--neutral-300:#c7cdd9;
  --neutral-400:#9aa3b4;--neutral-500:#6b7385;--neutral-600:#4b5365;--neutral-700:#353c4c;
  --neutral-800:#232936;--neutral-900:#161b26;

  /* semantic — light */
  --bg-canvas:#ffffff;--bg-subtle:#f6f7f9;
  --surface-default:#ffffff;--surface-raised:#ffffff;--surface-sunken:#eceef2;
  --text-primary:#161b26;--text-secondary:#4b5365;--text-inverse:#ffffff;--text-link:#22357a;
  --border-default:#dde1e9;--border-strong:#6b7385;
  --brand-primary:#22357a;--brand-secondary:#0c6e77;--brand-accent:#f59e0b;
  --focus-ring:#2f57d6;
  --success:#137a45;--error:#c0271b;--warning:#9a6700;--info:#1763a6;
  --sale:#b23410;--price:#161b26;--price-was:#6b7385;
  --on-brand:#ffffff;--on-accent:#161b26;--on-sale:#ffffff;
  --overlay-hero:linear-gradient(180deg,rgba(23,34,80,0.06) 0%,rgba(23,34,80,0.52) 100%);
  --scrim:rgba(22,27,38,0.58);

  /* type */
  --font-heading:"Archivo","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --font-body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.333rem;
  --fs-xl:1.777rem;--fs-2xl:2.369rem;--fs-3xl:3.157rem;--fs-4xl:4.209rem;
  --lh-tight:1.1;--lh-heading:1.2;--lh-snug:1.35;--lh-body:1.6;--measure:66ch;

  /* space / radius / elevation */
  --space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
  --space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(23,34,80,0.06);
  --shadow-sm:0 1px 3px rgba(23,34,80,0.10),0 1px 2px rgba(23,34,80,0.06);
  --shadow-md:0 4px 12px rgba(23,34,80,0.10),0 2px 4px rgba(23,34,80,0.06);
  --shadow-lg:0 12px 28px rgba(23,34,80,0.14),0 4px 8px rgba(23,34,80,0.08);
  --shadow-focus:0 0 0 3px var(--focus-ring);
  --container:1280px;
  --z-header:100;--z-dropdown:200;--z-overlay:900;--z-toast:1000;
}

/* semantic — dark */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg-canvas:#11141c;--bg-subtle:#0d1017;
    --surface-default:#1a1f2b;--surface-raised:#222836;--surface-sunken:#0f131b;
    --text-primary:#e7eaf0;--text-secondary:#a4adc0;--text-inverse:#11141c;--text-link:#9fb4ec;
    --border-default:#2a3140;--border-strong:#3f4759;
    --brand-primary:#3a52aa;--brand-secondary:#2c9aa1;--brand-accent:#f5b53d;
    --focus-ring:#6f8ce0;
    --success:#43c585;--error:#f08a80;--warning:#e0a93a;--info:#6fb0e8;
    --sale:#f0935f;--price:#e7eaf0;--price-was:#8a93a6;
    --on-brand:#ffffff;--on-accent:#11141c;--on-sale:#11141c;
    --overlay-hero:linear-gradient(180deg,rgba(0,0,0,0.10) 0%,rgba(0,0,0,0.66) 100%);
    --scrim:rgba(0,0,0,0.66);
    --shadow-xs:0 1px 2px rgba(0,0,0,0.50);
    --shadow-sm:0 1px 3px rgba(0,0,0,0.50),inset 0 0 0 1px rgba(255,255,255,0.06);
    --shadow-md:0 6px 16px rgba(0,0,0,0.55),inset 0 0 0 1px rgba(255,255,255,0.06);
    --shadow-lg:0 16px 36px rgba(0,0,0,0.62),inset 0 0 0 1px rgba(255,255,255,0.07);
  }
}
[data-theme="dark"]{
  --bg-canvas:#11141c;--bg-subtle:#0d1017;
  --surface-default:#1a1f2b;--surface-raised:#222836;--surface-sunken:#0f131b;
  --text-primary:#e7eaf0;--text-secondary:#a4adc0;--text-inverse:#11141c;--text-link:#9fb4ec;
  --border-default:#2a3140;--border-strong:#3f4759;
  --brand-primary:#3a52aa;--brand-secondary:#2c9aa1;--brand-accent:#f5b53d;
  --focus-ring:#6f8ce0;
  --success:#43c585;--error:#f08a80;--warning:#e0a93a;--info:#6fb0e8;
  --sale:#f0935f;--price:#e7eaf0;--price-was:#8a93a6;
  --on-brand:#ffffff;--on-accent:#11141c;--on-sale:#11141c;
  --overlay-hero:linear-gradient(180deg,rgba(0,0,0,0.10) 0%,rgba(0,0,0,0.66) 100%);
  --scrim:rgba(0,0,0,0.66);
  --shadow-xs:0 1px 2px rgba(0,0,0,0.50);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.50),inset 0 0 0 1px rgba(255,255,255,0.06);
  --shadow-md:0 6px 16px rgba(0,0,0,0.55),inset 0 0 0 1px rgba(255,255,255,0.06);
  --shadow-lg:0 16px 36px rgba(0,0,0,0.62),inset 0 0 0 1px rgba(255,255,255,0.07);
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);
  color:var(--text-primary);background:var(--bg-canvas);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block;}
a{color:var(--text-link);text-decoration:none;}
a:hover{text-decoration:underline;}
button{font:inherit;color:inherit;cursor:pointer;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--lh-heading);margin:0 0 var(--space-3);font-weight:700;letter-spacing:-0.01em;color:var(--text-primary);}
h1{font-size:var(--fs-2xl);}h2{font-size:var(--fs-xl);}h3{font-size:var(--fs-lg);}h4{font-size:var(--fs-md);}
p{margin:0 0 var(--space-4);}
p,li{max-width:var(--measure);}
ul,ol{margin:0 0 var(--space-4);padding-left:1.25em;}
:focus-visible{outline:2px solid transparent;box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.icon-16{width:16px;height:16px;}.icon-20{width:20px;height:20px;}.icon-32{width:32px;height:32px;}
.icon-fill{fill:currentColor;stroke:none;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--space-5);}
.section{padding-block:var(--space-7);}
.skip-link{position:absolute;left:var(--space-3);top:-48px;background:var(--brand-primary);color:var(--on-brand);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:var(--z-toast);transition:top .15s;}
.skip-link:focus{top:var(--space-3);}

/* ============================================================
   3. BUTTONS / BADGES / INPUTS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  min-height:44px;padding:0 var(--space-5);font-family:var(--font-heading);font-weight:600;
  font-size:var(--fs-sm);letter-spacing:.01em;border:1.5px solid transparent;border-radius:var(--radius-md);
  cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;text-decoration:none;
  white-space:nowrap;
}
.btn:hover{text-decoration:none;}
.btn--primary{background:var(--brand-primary);color:var(--on-brand);}
.btn--primary:hover{background:var(--primary-800);}
.btn--secondary{background:var(--brand-secondary);color:var(--on-brand);}
.btn--secondary:hover{background:var(--secondary-700);}
.btn--accent{background:var(--brand-accent);color:var(--on-accent);}
.btn--accent:hover{background:var(--accent-500);}
.btn--outline{background:transparent;color:var(--text-link);border-color:var(--border-strong);}
.btn--outline:hover{background:var(--bg-subtle);border-color:var(--brand-primary);}
.btn--ghost{background:transparent;color:var(--text-primary);}
.btn--ghost:hover{background:var(--bg-subtle);}
.btn--sm{min-height:36px;padding:0 var(--space-4);font-size:var(--fs-xs);}
.btn--lg{min-height:52px;padding:0 var(--space-6);font-size:var(--fs-base);}
.btn--block{display:flex;width:100%;}
.btn--icon{padding:0;width:44px;min-width:44px;}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;}

.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-heading);
  font-size:var(--fs-xs);font-weight:700;line-height:1;padding:5px 9px;border-radius:var(--radius-sm);
  letter-spacing:.03em;text-transform:uppercase;}
.badge--sale{background:var(--sale);color:var(--on-sale);}
.badge--new{background:var(--brand-secondary);color:var(--on-brand);}
.badge--featured{background:var(--brand-accent);color:var(--on-accent);}
.badge--stock{background:var(--success);color:#fff;}
.badge--out{background:var(--surface-sunken);color:var(--text-secondary);}
.badge--au{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200);}
.badge--ship{background:var(--secondary-50);color:var(--secondary-700);border:1px solid var(--secondary-200);text-transform:none;}

.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);}
.field > label{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);}
.input,.select,.textarea{
  width:100%;min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--text-primary);
  background:var(--surface-default);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);
  transition:border-color .15s,box-shadow .15s;
}
.textarea{padding:var(--space-3) var(--space-4);min-height:120px;line-height:var(--lh-body);}
.input::placeholder,.textarea::placeholder{color:var(--neutral-500);}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--shadow-focus);}
.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--error);}
.field__error{font-size:var(--fs-sm);color:var(--error);}
.field__hint{font-size:var(--fs-sm);color:var(--text-secondary);}
.select{appearance:none;background-image:none;padding-right:var(--space-7);}

.qty{display:inline-flex;align-items:stretch;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden;}
.qty button{width:44px;min-height:44px;background:var(--surface-default);border:0;display:grid;place-items:center;}
.qty button:hover{background:var(--bg-subtle);}
.qty input{width:52px;text-align:center;border:0;border-inline:1.5px solid var(--border-default);background:var(--surface-default);font:inherit;color:var(--text-primary);}

/* ============================================================
   4. CHROME: HEADER / NAV / FOOTER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--surface-default);border-bottom:1px solid var(--border-default);}
.header-bar{display:flex;align-items:center;gap:var(--space-5);padding-block:var(--space-3);}
.brand-logo{display:flex;align-items:center;flex:none;}
.brand-logo svg,.brand-logo img{height:34px;width:auto;}
.header-search{flex:1 1 auto;max-width:620px;}
.search-form{display:flex;align-items:stretch;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-default);}
.search-form .search-scope{border:0;border-right:1px solid var(--border-default);background:var(--bg-subtle);padding:0 var(--space-3);font-size:var(--fs-sm);color:var(--text-secondary);max-width:170px;}
.search-form .input{border:0;border-radius:0;min-height:44px;}
.search-form .input:focus{box-shadow:none;}
.search-form .search-submit{border:0;background:var(--brand-primary);color:var(--on-brand);width:52px;display:grid;place-items:center;}
.search-form:focus-within{border-color:var(--brand-primary);box-shadow:var(--shadow-focus);}
.header-actions{display:flex;align-items:center;gap:var(--space-2);flex:none;margin-left:auto;}
.header-icon-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;min-height:44px;justify-content:center;padding:var(--space-1) var(--space-2);background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-xs);}
.header-icon-btn:hover{background:var(--bg-subtle);}
.header-icon-btn .count{position:absolute;top:2px;right:6px;min-width:18px;height:18px;padding:0 4px;background:var(--brand-accent);color:var(--on-accent);border-radius:var(--radius-pill);font-size:11px;font-weight:700;display:grid;place-items:center;}
.au-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200);border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:600;}

/* department nav strip + mega menu */
.dept-bar{background:var(--brand-primary);}
.dept-bar .container{display:flex;align-items:center;gap:var(--space-1);}
.dept-trigger{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);background:var(--primary-800);color:var(--on-brand);border:0;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-sm);}
.dept-trigger:hover{background:var(--primary-900);}
.dept-links{display:flex;gap:0;overflow:hidden;flex-wrap:wrap;}
.dept-links a{color:#dbe1f6;padding:0 var(--space-3);min-height:48px;display:inline-flex;align-items:center;font-size:var(--fs-sm);font-weight:500;}
.dept-links a:hover{color:#fff;background:var(--primary-800);text-decoration:none;}
.dept-mega{position:absolute;left:0;right:0;top:100%;background:var(--surface-default);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);}
.dept-mega__grid{max-width:var(--container);margin-inline:auto;padding:var(--space-5);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3) var(--space-5);}
.dept-mega__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);}
.dept-mega__item:hover{background:var(--bg-subtle);text-decoration:none;}
.dept-mega__item .dept-ico{width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-700);display:grid;place-items:center;flex:none;}
.dept-mega__item b{display:block;color:var(--text-primary);font-size:var(--fs-sm);font-weight:700;}
.dept-mega__item small{color:var(--text-secondary);font-size:var(--fs-xs);}

.site-footer{background:var(--neutral-900);color:#c7cdd9;margin-top:var(--space-8);}
[data-theme="dark"] .site-footer,
:root:not([data-theme="light"]) .site-footer{background:#0a0d14;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-6);padding-block:var(--space-8) var(--space-6);}
.footer-col h4{color:#fff;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-4);}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);}
.footer-col a{color:#c7cdd9;font-size:var(--fs-sm);}
.footer-col a:hover{color:#fff;}
.footer-identity .brand-logo svg *{fill:#fff;}
.footer-identity p{color:#9aa3b4;font-size:var(--fs-sm);max-width:34ch;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.10);padding-block:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);}
.footer-bottom small{color:#9aa3b4;font-size:var(--fs-xs);}
.payment-strip{display:flex;align-items:center;gap:var(--space-3);}
.payment-strip .pay-mark{height:24px;width:auto;color:#c7cdd9;}
.social-row{display:flex;gap:var(--space-3);}

/* ============================================================
   5. PRODUCT CARD + GRID
   ============================================================ */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5);}
.product-card{position:relative;display:flex;flex-direction:column;background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,border-color .15s,transform .15s;}
.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);}
.product-card__media{position:relative;aspect-ratio:1/1;background:var(--surface-sunken);overflow:hidden;}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s;}
.product-card:hover .product-card__media img{transform:scale(1.04);}
.product-card__badges{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);}
.product-card__wish{position:absolute;top:var(--space-3);right:var(--space-3);width:38px;height:38px;border-radius:var(--radius-pill);background:var(--surface-default);border:1px solid var(--border-default);display:grid;place-items:center;color:var(--text-secondary);box-shadow:var(--shadow-xs);}
.product-card__wish:hover{color:var(--sale);}
.product-card__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex:1;}
.product-card__brand{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;}
.product-card__title{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;line-height:var(--lh-snug);color:var(--text-primary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.product-card__rating{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);color:var(--text-secondary);}
.stars{display:inline-flex;color:var(--brand-accent);}
.stars .icon{width:15px;height:15px;}
.price-row{display:flex;align-items:baseline;gap:var(--space-2);margin-top:auto;}
.price{font-family:var(--font-heading);font-weight:700;font-size:var(--fs-md);color:var(--price);}
.price--sale{color:var(--sale);}
.price__was{font-size:var(--fs-sm);color:var(--price-was);text-decoration:line-through;}
.product-card__cta{margin-top:var(--space-3);}

/* ============================================================
   6. PLP LAYOUT
   ============================================================ */
.archive-banner{position:relative;background:linear-gradient(120deg,var(--primary-800),var(--secondary-700));color:#fff;border-radius:var(--radius-lg);padding:var(--space-7) var(--space-6);overflow:hidden;}
.archive-banner h1{color:#fff;font-size:var(--fs-2xl);margin-bottom:var(--space-2);}
.archive-banner p{color:#dbe1f6;max-width:60ch;margin:0;}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);padding-block:var(--space-4);}
.breadcrumbs a{color:var(--text-secondary);}
.breadcrumbs a:hover{color:var(--text-link);}
.breadcrumbs .sep{width:16px;height:16px;color:var(--neutral-400);}
.breadcrumbs [aria-current]{color:var(--text-primary);font-weight:600;}
.plp-layout{display:grid;grid-template-columns:264px 1fr;gap:var(--space-6);align-items:start;}
.plp-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--space-5);}
.facet{background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);}
.facet h3{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:var(--space-3);}
.tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.tree a{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-primary);}
.tree a:hover{background:var(--bg-subtle);text-decoration:none;}
.tree a[aria-current]{background:var(--primary-50);color:var(--primary-700);font-weight:600;}
.tree .count{color:var(--text-secondary);font-size:var(--fs-xs);}
.tree .sub{margin-left:var(--space-3);border-left:1px solid var(--border-default);padding-left:var(--space-2);}
.sort-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-5);}
.sort-toolbar .result-count{font-size:var(--fs-sm);color:var(--text-secondary);}
.sort-toolbar .toolbar-right{display:flex;align-items:center;gap:var(--space-3);}
.view-toggle{display:inline-flex;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;}
.view-toggle button{width:40px;height:40px;display:grid;place-items:center;background:var(--surface-default);border:0;color:var(--text-secondary);}
.view-toggle button[aria-pressed="true"]{background:var(--primary-50);color:var(--primary-700);}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-block:var(--space-7);}
.pagination a,.pagination span{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);}
.pagination a:hover{border-color:var(--brand-primary);background:var(--bg-subtle);text-decoration:none;}
.pagination [aria-current]{background:var(--brand-primary);color:var(--on-brand);border-color:var(--brand-primary);}
.pagination .ellipsis{border:0;}

/* empty / no-results / illustration states */
.state-block{text-align:center;max-width:520px;margin-inline:auto;padding-block:var(--space-8);}
.state-block .state-art{width:160px;height:160px;margin:0 auto var(--space-5);color:var(--primary-300);}
.state-block h2{margin-bottom:var(--space-2);}
.state-block p{color:var(--text-secondary);margin-inline:auto;}
.state-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--space-5);}
.suggest-row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-5);}
.suggest-row a{padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:var(--fs-sm);}
.suggest-row a:hover{background:var(--bg-subtle);text-decoration:none;}

/* ============================================================
   7. PDP LAYOUT
   ============================================================ */
.pdp-top{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-7);align-items:start;}
.pdp-gallery{display:grid;grid-template-columns:72px 1fr;gap:var(--space-3);}
.pdp-thumbs{display:flex;flex-direction:column;gap:var(--space-2);}
.pdp-thumbs button{width:72px;height:72px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken);padding:0;}
.pdp-thumbs button[aria-current]{border-color:var(--brand-primary);}
.pdp-stage{aspect-ratio:1/1;border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);position:relative;}
.pdp-stage img{width:100%;height:100%;object-fit:cover;}
.pdp-zoom-hint{position:absolute;bottom:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;gap:6px;background:var(--scrim);color:#fff;padding:6px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);}
.pdp-summary h1{font-size:var(--fs-xl);}
.pdp-summary .pdp-brand{color:var(--text-secondary);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);}
.pdp-price{display:flex;align-items:baseline;gap:var(--space-3);margin-block:var(--space-3);}
.pdp-price .price{font-size:var(--fs-2xl);}
.gst-line{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--space-2);}
.instalment{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);margin-block:var(--space-4);}
.instalment .pay-mark{height:18px;}
.pdp-buy-row{display:flex;gap:var(--space-3);margin-block:var(--space-4);}
.pdp-meta{font-size:var(--fs-sm);color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding-block:var(--space-4);border-block:1px solid var(--border-default);}
.pdp-meta b{color:var(--text-primary);}
.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding:var(--space-4) 0;}
.trust-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm);}
.trust-item .icon{color:var(--brand-secondary);}
.tabs{margin-top:var(--space-7);}
.tablist{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--border-default);}
.tablist button{padding:var(--space-3) var(--space-4);background:transparent;border:0;border-bottom:2px solid transparent;font-family:var(--font-heading);font-weight:600;color:var(--text-secondary);font-size:var(--fs-sm);}
.tablist button[aria-selected="true"]{color:var(--text-primary);border-bottom-color:var(--brand-primary);}
.tabpanel{padding-block:var(--space-5);}

/* ============================================================
   8. CART / CHECKOUT / ACCOUNT
   ============================================================ */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-6);align-items:start;}
.ship-progress{background:var(--secondary-50);border:1px solid var(--secondary-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5);}
[data-theme="dark"] .ship-progress,:root:not([data-theme="light"]) .ship-progress{background:var(--surface-raised);border-color:var(--border-default);}
.ship-progress__bar{height:8px;background:var(--surface-sunken);border-radius:var(--radius-pill);overflow:hidden;margin-top:var(--space-3);}
.ship-progress__fill{height:100%;background:var(--brand-secondary);border-radius:var(--radius-pill);}
.line-item{display:grid;grid-template-columns:84px 1fr auto;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-default);}
.line-item img{width:84px;height:84px;border-radius:var(--radius-md);object-fit:cover;background:var(--surface-sunken);}
.totals-card{position:sticky;top:96px;background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);}
.totals-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--fs-sm);}
.totals-row--grand{border-top:1px solid var(--border-default);margin-top:var(--space-2);padding-top:var(--space-3);font-size:var(--fs-md);font-weight:700;font-family:var(--font-heading);}
.totals-row .muted{color:var(--text-secondary);}
.coupon-row{display:flex;gap:var(--space-2);margin:var(--space-4) 0;}
.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:var(--space-6);align-items:start;}
.account-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-6);align-items:start;}
.account-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.account-nav a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-sm);font-weight:500;}
.account-nav a:hover{background:var(--bg-subtle);text-decoration:none;}
.account-nav a[aria-current]{background:var(--primary-50);color:var(--primary-700);font-weight:600;}

/* generic cards / sections */
.card{background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs);}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);}
.usp-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);}
.usp-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);}
.usp-item .usp-ico{width:44px;height:44px;border-radius:var(--radius-md);background:var(--secondary-50);color:var(--secondary-600);display:grid;place-items:center;flex:none;}
.usp-item b{display:block;font-family:var(--font-heading);font-size:var(--fs-sm);}
.usp-item small{color:var(--text-secondary);font-size:var(--fs-xs);}
.eyebrow{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-secondary);margin-bottom:var(--space-2);}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);}
.dept-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);}
.dept-tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface-default);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color .15s,box-shadow .15s;}
.dept-tile:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm);text-decoration:none;}
.dept-tile .dept-ico{width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-700);display:grid;place-items:center;}
.dept-tile b{font-size:var(--fs-sm);color:var(--text-primary);}
.dept-tile small{font-size:var(--fs-xs);color:var(--text-secondary);}

/* accordion (FAQ) */
.accordion{border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;}
.accordion details{border-bottom:1px solid var(--border-default);}
.accordion details:last-child{border-bottom:0;}
.accordion summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-family:var(--font-heading);font-weight:600;cursor:pointer;list-style:none;}
.accordion summary::-webkit-details-marker{display:none;}
.accordion summary .icon{transition:transform .2s;color:var(--text-secondary);}
.accordion details[open] summary .icon{transform:rotate(180deg);}
.accordion .acc-body{padding:0 var(--space-5) var(--space-5);color:var(--text-secondary);}

/* doc / legal */
.page-doc{display:grid;grid-template-columns:240px 1fr;gap:var(--space-7);align-items:start;}
.doc-toc{position:sticky;top:96px;font-size:var(--fs-sm);}
.doc-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);border-left:2px solid var(--border-default);}
.doc-toc a{display:block;padding-left:var(--space-4);color:var(--text-secondary);}
.doc-body{max-width:72ch;}
.doc-body h2{margin-top:var(--space-6);}
.last-updated{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--space-5);}

/* two-column value rail (auth/about) */
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;}
.split-2__rail{background:linear-gradient(160deg,var(--primary-800),var(--secondary-800));color:#fff;padding:var(--space-7);display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);}
.split-2__rail h2{color:#fff;}
.split-2__rail ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3);}
.split-2__rail li{display:flex;gap:var(--space-3);color:#dbe1f6;}
.split-2__rail li .icon{color:var(--accent-300);flex:none;}
.split-2__form{padding:var(--space-7);background:var(--surface-default);}

/* about hero w/ asset + scrim */
.media-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff;}
.media-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.media-hero::after{content:"";position:absolute;inset:0;background:var(--overlay-hero);}
.media-hero__inner{position:relative;padding:var(--space-7);max-width:640px;}
.media-hero__inner h1{color:#fff;font-size:var(--fs-3xl);}
.media-hero__inner p{color:#eceef2;}
.au-band{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-xl);padding:var(--space-7);display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;}
[data-theme="dark"] .au-band,:root:not([data-theme="light"]) .au-band{background:var(--surface-raised);border-color:var(--border-default);}

/* order received */
.confirm-hero{text-align:center;padding:var(--space-8) var(--space-5);background:var(--secondary-50);border:1px solid var(--secondary-200);border-radius:var(--radius-xl);}
[data-theme="dark"] .confirm-hero,:root:not([data-theme="light"]) .confirm-hero{background:var(--surface-raised);border-color:var(--border-default);}
.confirm-hero .check-circle{width:72px;height:72px;border-radius:var(--radius-pill);background:var(--success);color:#fff;display:grid;place-items:center;margin:0 auto var(--space-4);}
.step-list{counter-reset:step;list-style:none;padding:0;display:grid;gap:var(--space-4);}
.step-list li{display:flex;gap:var(--space-4);}
.step-list li::before{counter-increment:step;content:counter(step);width:32px;height:32px;flex:none;border-radius:var(--radius-pill);background:var(--brand-primary);color:var(--on-brand);font-family:var(--font-heading);font-weight:700;display:grid;place-items:center;}

/* ============================================================
   9. OVERLAYS (drawers / modals / banners / toast)
   ============================================================ */
.overlay-scrim{position:fixed;inset:0;background:var(--scrim);z-index:var(--z-overlay);}
.drawer{position:fixed;top:0;bottom:0;width:min(420px,92vw);background:var(--surface-default);z-index:calc(var(--z-overlay) + 1);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;}
#mini-cart{right:0;}
#mobile-nav{left:0;}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default);}
.drawer__head h2{margin:0;font-size:var(--fs-md);}
.drawer__body{flex:1;overflow:auto;padding:var(--space-5);}
.drawer__foot{padding:var(--space-5);border-top:1px solid var(--border-default);}
.icon-close{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--text-primary);}
.icon-close:hover{background:var(--bg-subtle);}
.modal{position:fixed;inset:0;z-index:calc(var(--z-overlay) + 1);display:grid;place-items:center;padding:var(--space-5);}
.modal__panel{position:relative;background:var(--surface-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:min(560px,100%);max-height:90vh;overflow:auto;}
.modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default);}
.modal__body{padding:var(--space-5);}
.search-overlay{position:fixed;inset:0;z-index:calc(var(--z-overlay) + 1);background:var(--surface-default);display:flex;flex-direction:column;}
.search-overlay__head{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-5);border-bottom:1px solid var(--border-default);max-width:880px;margin-inline:auto;width:100%;}
.search-overlay__body{max-width:880px;margin-inline:auto;width:100%;padding:var(--space-5);}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-overlay);background:var(--surface-default);border-top:1px solid var(--border-default);box-shadow:var(--shadow-lg);}
.cookie-banner__inner{max-width:var(--container);margin-inline:auto;padding:var(--space-4) var(--space-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);justify-content:space-between;}
.cookie-banner__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;}
.toast{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,92vw);}
.toast__item{background:var(--surface-default);border:1px solid var(--border-default);border-left:4px solid var(--brand-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4);display:flex;gap:var(--space-3);align-items:center;}

/* ============================================================
   10. .wc-scope — thin overrides for native WooCommerce markup
   ============================================================ */
.wc-scope{color:var(--text-primary);font-family:var(--font-body);}
.wc-scope a{color:var(--text-link);}
.wc-scope .button,.wc-scope button.button,.wc-scope .wp-block-button__link,.wc-scope .wc-block-components-button{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  background:var(--brand-primary);color:var(--on-brand);border:0;border-radius:var(--radius-md);
  padding:0 var(--space-5);font-family:var(--font-heading);font-weight:600;font-size:var(--fs-sm);
}
.wc-scope .button:hover,.wc-scope .wc-block-components-button:hover{background:var(--primary-800);}
.wc-scope .button.alt,.wc-scope .single_add_to_cart_button{background:var(--brand-accent);color:var(--on-accent);}
.wc-scope .price,.wc-scope .woocommerce-Price-amount{color:var(--price);font-family:var(--font-heading);font-weight:700;}
.wc-scope del .woocommerce-Price-amount{color:var(--price-was);}
.wc-scope ins .woocommerce-Price-amount{color:var(--sale);text-decoration:none;}
.wc-scope .onsale{background:var(--sale);color:var(--on-sale);border-radius:var(--radius-sm);padding:5px 9px;font-weight:700;font-size:var(--fs-xs);}
.wc-scope input[type="text"],.wc-scope input[type="email"],.wc-scope input[type="tel"],
.wc-scope input[type="password"],.wc-scope input[type="number"],.wc-scope select,.wc-scope textarea{
  min-height:44px;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);
  padding:0 var(--space-4);background:var(--surface-default);color:var(--text-primary);font:inherit;
}
.wc-scope textarea{padding:var(--space-3) var(--space-4);}
.wc-scope input:focus,.wc-scope select:focus,.wc-scope textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--shadow-focus);}
.wc-scope .woocommerce-message,.wc-scope .wc-block-components-notice-banner{
  border-left:4px solid var(--success);background:var(--secondary-50);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);
}
.wc-scope .star-rating span{color:var(--brand-accent);}

/* ============================================================
   11. RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .dept-tiles{grid-template-columns:repeat(4,1fr);}
  .dept-mega__grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .plp-layout{grid-template-columns:1fr;}
  .plp-sidebar{position:static;}
  .pdp-top{grid-template-columns:1fr;}
  .cart-layout,.checkout-layout,.account-layout,.split-2,.page-doc{grid-template-columns:1fr;}
  .usp-strip{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
  .header-search{order:3;flex-basis:100%;max-width:none;}
  .header-bar{flex-wrap:wrap;}
  .dept-links{display:none;}
  .dept-tiles{grid-template-columns:repeat(2,1fr);}
  .usp-strip{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .dept-mega__grid{grid-template-columns:1fr;}
  h1{font-size:var(--fs-xl);}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

/* ---- MCM WC-LOOP BRIDGE (generated; maps WC classic loop onto design tokens) */
/* the design's product [data-wc] containers are themselves N-column grids sized
   for tile children; the resolvers emit one wrapper (div.woocommerce via the
   [products] shortcode) or the bare legacy-loop ul — span either across ALL the
   design-grid columns and let ul.products run its own grid */
.wc-scope [data-wc="product_loop"] > *,
.wc-scope [data-wc="featured_products"] > *{grid-column:1/-1;width:100%;}
.wc-scope ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:var(--space-5);list-style:none;margin:var(--space-5) 0;padding:0;}
.wc-scope ul.products::before,.wc-scope ul.products::after{display:none;}
.wc-scope ul.products li.product{width:auto!important;float:none!important;margin:0!important;
  background:var(--surface-default);border:1px solid var(--border-default);
  border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;
  gap:var(--space-2);transition:box-shadow .15s ease,transform .15s ease;position:relative;}
.wc-scope ul.products li.product:hover{box-shadow:var(--shadow-md,0 6px 18px rgba(32,27,92,.12));
  transform:translateY(-2px);}
.wc-scope ul.products li.product img{width:100%;aspect-ratio:1/1;object-fit:contain;
  border-radius:var(--radius-sm);background:var(--surface-sunken);}
.wc-scope ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--text-primary);
  line-height:1.35;min-height:2.6em;}
.wc-scope ul.products li.product .price{margin-top:auto;}
.wc-scope ul.products li.product .button{width:100%;text-align:center;margin-top:var(--space-2);}
.wc-scope ul.products li.product .onsale{position:absolute;top:var(--space-3);left:var(--space-3);
  z-index:2;padding:2px 10px;font-size:.75rem;font-weight:700;}
/* the design banner carries the archive title; hide the legacy loop's duplicate
   header (title + archive description — the description hook also re-renders
   stale shop-page content) */
.wc-scope .woocommerce-products-header{display:none;}
.wc-scope .woocommerce-result-count{color:var(--text-secondary);}
.wc-scope .woocommerce-ordering select{min-height:40px;}
.wc-scope nav.woocommerce-pagination ul{display:flex;gap:var(--space-2);list-style:none;
  padding:0;justify-content:center;border:none;}
.wc-scope nav.woocommerce-pagination ul li{border:none;}
.wc-scope nav.woocommerce-pagination ul li a,.wc-scope nav.woocommerce-pagination ul li span{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;
  border:1px solid var(--border-default);border-radius:var(--radius-sm);
  color:var(--text-primary);background:var(--surface-default);}
.wc-scope nav.woocommerce-pagination ul li span.current{background:var(--brand-primary);
  color:var(--text-inverse);border-color:var(--brand-primary);}
/* dark bands: keep loop cards readable on tinted backgrounds */
.band--dark .wc-scope ul.products li.product,.deals .wc-scope ul.products li.product{
  background:var(--surface-default);}
@media (max-width:640px){.wc-scope ul.products{grid-template-columns:repeat(2,1fr);
  gap:var(--space-3);}}

/* ---- MCM v2 BRIDGE ADDITIONS ------------------------------------------------ */
/* content-product.php now emits the design's li.prod-card; let the design's own
   .prod-card styles drive, and bridge WC's add-to-cart + price into it */
.wc-scope ul.products li.prod-card{background:var(--surface-default);
  border:1px solid var(--border-default);border-radius:var(--radius-md);
  padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);position:relative;}
.wc-scope li.prod-card .prod-media{position:relative;}
.wc-scope li.prod-card .prod-media img{width:100%;aspect-ratio:1/1;object-fit:contain;
  border-radius:var(--radius-sm);background:var(--surface-sunken);}
.wc-scope li.prod-card .prod-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--text-secondary);text-decoration:none;}
.wc-scope li.prod-card .prod-title a{font-family:var(--font-body);font-size:.95rem;font-weight:500;
  color:var(--text-primary);text-decoration:none;line-height:1.35;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.wc-scope li.prod-card .prod-price{margin-top:auto;font-family:var(--font-display);
  font-weight:700;color:var(--price);}
.wc-scope li.prod-card .prod-price del{color:var(--price-was);font-weight:500;margin-left:6px;}
.wc-scope li.prod-card .prod-price ins{color:var(--sale-text);text-decoration:none;}
.wc-scope li.prod-card .prod-add .button{width:100%;text-align:center;}
.wc-scope li.prod-card .prod-add a.added_to_cart{display:none;}
.wc-scope li.prod-card .prod-badges{position:absolute;top:var(--space-2);left:var(--space-2);
  z-index:2;display:flex;gap:4px;}

/* Defect 4: the legal/doc layout gets the same polish the FAQ accordion has */
.wc-scope.page-doc .doc-body,.page-doc .doc-body{max-width:72ch;}
.page-doc .doc-body h2{font-family:var(--font-display);margin:var(--space-6) 0 var(--space-3);}
.page-doc .doc-body h3{margin:var(--space-5) 0 var(--space-2);}
.page-doc .doc-body p,.page-doc .doc-body li{line-height:1.7;color:var(--text-primary);}
.page-doc .doc-body ul,.page-doc .doc-body ol{margin:var(--space-3) 0;padding-left:var(--space-5);}
.page-doc .doc-layout{display:block;}
.page-doc .doc-head{margin-bottom:var(--space-5);border-bottom:1px solid var(--border-default);
  padding-bottom:var(--space-4);}

/* Defect 5: the injected full-department mega panel */
.dept-mega{position:absolute;left:0;right:0;z-index:40;background:var(--surface-default);
  border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-lg,0 12px 32px rgba(32,27,92,.18));}
.dept-mega-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:var(--space-2);padding:var(--space-5) 0;}
.dept-mega-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);
  border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none;}
.dept-mega-item:hover{background:var(--surface-sunken);}
.dept-mega-item .icon{color:var(--brand-primary);flex:none;}
.deptnav-links .view-all{margin-left:auto;color:var(--brand-accent);font-weight:600;}

/* help-centre card heading scale (was sized like a section heading) */
.help-grid .help-card h2{font-size:1.15rem;margin:var(--space-2) 0;}
.help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);}
.help-card{padding:var(--space-5);text-decoration:none;color:var(--text-primary);}

/* ==== MCM WC-SURFACE BRIDGE (generated) ====================================== */
/* WooCommerce renders its OWN markup for the PDP gallery/tabs/meta/related, the
   PLP sidebar, cart/checkout/account, notices and order pages. The design wrappers
   around them were unstyled (the theme styled only the loop card), so these
   surfaces fell back to browser defaults. These rules re-skin WC's real markup
   onto the design tokens. (fallbacks via var(--x, default) where a token may be
   absent from a given design's theme.json.) */

/* ---- PDP gallery: WC flexslider (main slide + thumbnail rail + zoom/lightbox) */
.wc-scope .woocommerce-product-gallery{position:relative;margin:0;}
.wc-scope .woocommerce-product-gallery__wrapper{margin:0;}
.wc-scope .woocommerce-product-gallery__image img{border-radius:var(--radius-lg,12px);background:var(--surface-sunken,#f4f4f8);}
.wc-scope .woocommerce-product-gallery .flex-viewport{border-radius:var(--radius-lg,12px);background:var(--surface-sunken,#f4f4f8);}
.wc-scope .woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:var(--space-3) 0 0;padding:0;list-style:none;}
.wc-scope .woocommerce-product-gallery .flex-control-thumbs li{width:72px;margin:0;}
.wc-scope .woocommerce-product-gallery .flex-control-thumbs img{border:1.5px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s;}
.wc-scope .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;}
.wc-scope .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--brand-primary,#4a3fd4);opacity:1;}
.wc-scope .woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:3;}
/* pre-init safety: before flexslider initialises, never show the raw stacked column */
.wc-scope .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:not(:first-child){display:none;}

/* ---- PDP tabs: tab nav + hide inactive panels (WC tabs.js shows the active one) */
.wc-scope .woocommerce-tabs ul.wc-tabs{display:flex;flex-wrap:wrap;gap:var(--space-4);list-style:none;margin:0 0 var(--space-4);padding:0;border-bottom:1px solid var(--border-default,#e3e3ec);}
.wc-scope .woocommerce-tabs ul.wc-tabs li{margin:0;padding:0;background:none;border:none;}
.wc-scope .woocommerce-tabs ul.wc-tabs li a{display:inline-block;padding:var(--space-3) 0;font-family:var(--font-display);font-weight:600;color:var(--text-secondary,#6b6b80);text-decoration:none;border-bottom:2px solid transparent;}
.wc-scope .woocommerce-tabs ul.wc-tabs li.active a{color:var(--text-primary,#1a1a2e);border-bottom-color:var(--brand-primary,#4a3fd4);}
.wc-scope .woocommerce-tabs .woocommerce-Tabs-panel{display:none;line-height:1.7;color:var(--text-primary,#1a1a2e);}
.wc-scope .woocommerce-no-js .woocommerce-tabs .woocommerce-Tabs-panel{display:block;}

/* ---- PDP product meta (sku / categories / tags) */
.wc-scope .product_meta{font-size:.85rem;color:var(--text-secondary,#6b6b80);margin-top:var(--space-4);}
.wc-scope .product_meta > span{display:block;padding:2px 0;}
.wc-scope .product_meta a{color:var(--brand-primary,#4a3fd4);text-decoration:none;}

/* ---- related / up-sell grids (span the design grid, run WC's own grid) */
.wc-scope [data-wc="related_products"] > *{grid-column:1/-1;width:100%;}
.wc-scope .related.products,.wc-scope .up-sells.products{margin-top:var(--space-6);clear:both;}
.wc-scope .related.products > h2,.wc-scope .up-sells.products > h2{font-family:var(--font-display);font-size:1.4rem;margin-bottom:var(--space-4);}

/* ---- breadcrumbs */
.wc-scope .woocommerce-breadcrumb,.wc-scope .wc-block-breadcrumbs{font-size:.82rem;color:var(--text-secondary,#6b6b80);}
.wc-scope .woocommerce-breadcrumb a,.wc-scope .wc-block-breadcrumbs a{color:var(--text-secondary,#6b6b80);text-decoration:none;}
.wc-scope .woocommerce-breadcrumb a:hover,.wc-scope .wc-block-breadcrumbs a:hover{color:var(--brand-primary,#4a3fd4);}

/* ---- PLP category sidebar (WC product-categories block — was a raw bullet list).
   Real WC markup per list item: <li>{<a><span.__name>Name</a> <span.-count>N</span> <ul>children</ul>}
   The count is a SIBLING of <a> (not a child), so the FLEX ROW must live on the <li>,
   the children <ul> wraps to its own full-width line, and the SR text in the count is hidden. */
.wc-scope .wc-block-product-categories ul,.wc-scope .wc-block-product-categories-list{list-style:none;margin:0;padding:0;}
.wc-scope .wc-block-product-categories-list-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-default,#e3e3ec);}
.wc-scope .wc-block-product-categories-list-item > a{flex:1;min-width:0;padding:var(--space-2) 0;color:var(--text-primary,#1a1a2e);text-decoration:none;font-size:.92rem;}
.wc-scope .wc-block-product-categories-list-item > a:hover{color:var(--brand-primary,#4a3fd4);}
.wc-scope .wc-block-product-categories-list-item-count{flex:none;color:var(--text-secondary,#6b6b80);font-size:.78rem;background:var(--surface-sunken,#f4f4f8);border-radius:999px;padding:1px 9px;line-height:1.6;}
.wc-scope .wc-block-product-categories-list-item-count .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px;}
.wc-scope .wc-block-product-categories-list-item > ul{flex-basis:100%;margin:0 0 0 var(--space-4);padding-left:var(--space-2);border-left:1px solid var(--border-default,#e3e3ec);}
.wc-scope .wc-block-product-categories-list-item > ul .wc-block-product-categories-list-item{border-bottom:none;}
.wc-scope .wc-block-product-categories-list-item > ul .wc-block-product-categories-list-item > a{font-size:.86rem;color:var(--text-secondary,#6b6b80);}

/* ---- cart (classic shop_table + block cart) */
.wc-scope table.shop_table{border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);border-collapse:separate;border-spacing:0;width:100%;}
.wc-scope table.shop_table th{background:var(--surface-sunken,#f4f4f8);font-family:var(--font-display);text-align:left;padding:var(--space-3);}
.wc-scope table.shop_table td{padding:var(--space-3);border-top:1px solid var(--border-default,#e3e3ec);vertical-align:middle;}
.wc-scope .cart_totals{background:var(--surface-default,#fff);border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);padding:var(--space-5);}
.wc-scope .cart_totals h2{font-family:var(--font-display);margin-top:0;}
.wc-scope .quantity .qty{min-width:64px;min-height:40px;border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-sm,5px);padding:0 var(--space-2);}
.wc-scope .wc-block-cart .wc-block-cart-items{border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);}
.wc-scope .wc-block-components-totals-wrapper,.wc-scope .wc-block-cart__totals-title{font-family:var(--font-display);}

/* ---- checkout (classic + block) */
.wc-scope .woocommerce-checkout .form-row{margin-bottom:var(--space-3);}
.wc-scope .woocommerce-checkout .input-text,.wc-scope .woocommerce-checkout select,.wc-scope .wc-block-components-text-input input{min-height:44px;border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-sm,5px);padding:0 var(--space-3);width:100%;}
.wc-scope .woocommerce-checkout .input-text:focus,.wc-scope .wc-block-components-text-input input:focus{outline:none;border-color:var(--brand-primary,#4a3fd4);box-shadow:0 0 0 3px var(--brand-primary-soft,rgba(74,63,212,.15));}
@media(min-width:1024px){.wc-scope #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);}}
.wc-scope #order_review,.wc-scope .wc-block-checkout__sidebar{background:var(--surface-default,#fff);border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);padding:var(--space-5);}
.wc-scope #place_order,.wc-scope .wc-block-components-checkout-place-order-button{width:100%;min-height:50px;}

/* ---- my-account (sidebar nav + login/register forms) */
@media(min-width:768px){.wc-scope .woocommerce-MyAccount-navigation{float:left;width:240px;}
  .wc-scope .woocommerce-MyAccount-content{float:right;width:calc(100% - 280px);}}
.wc-scope .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);overflow:hidden;}
.wc-scope .woocommerce-MyAccount-navigation li a{display:block;padding:var(--space-3) var(--space-4);color:var(--text-primary,#1a1a2e);text-decoration:none;border-bottom:1px solid var(--border-default,#e3e3ec);}
.wc-scope .woocommerce-MyAccount-navigation li.is-active a{background:var(--brand-primary,#4a3fd4);color:var(--text-inverse,#fff);}
.wc-scope .woocommerce-form-login,.wc-scope .woocommerce-form-register{background:var(--surface-default,#fff);border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);padding:var(--space-5);max-width:480px;}
.wc-scope .woocommerce-form-login .input-text,.wc-scope .woocommerce-form-register .input-text{min-height:44px;border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-sm,5px);padding:0 var(--space-3);width:100%;}

/* ---- WC notices (cart/checkout/account/add-to-cart feedback — highest coverage) */
.wc-scope .woocommerce-message,.wc-scope .woocommerce-info,.wc-scope .woocommerce-error,.wc-scope .wc-block-components-notice-banner{border-radius:var(--radius-md,8px);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);list-style:none;border:1px solid var(--border-default,#e3e3ec);}
.wc-scope .woocommerce-message{background:var(--success-soft,#eaf7ee);border-color:var(--success,#2f9e57);color:var(--success-text,#1c6b3a);}
.wc-scope .woocommerce-info{background:var(--surface-sunken,#f4f4f8);}
.wc-scope .woocommerce-error{background:var(--error-soft,#fdecec);border-color:var(--error,#d64545);color:var(--error-text,#a12727);}
.wc-scope .woocommerce-error li,.wc-scope .woocommerce-message li{list-style:none;}

/* ---- order-received / thank-you */
.wc-scope .woocommerce-order{max-width:760px;margin:0 auto;}
.wc-scope .woocommerce-order .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:var(--space-4);list-style:none;padding:var(--space-4);margin:var(--space-4) 0;border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-md,8px);}

/* ---- wishlist (YITH) + star ratings */
.wc-scope .yith-wcwl-add-to-wishlist a,.wc-scope a.add_to_wishlist{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-default,#e3e3ec);border-radius:var(--radius-sm,5px);color:var(--text-primary,#1a1a2e);text-decoration:none;background:var(--surface-default,#fff);}
.wc-scope .star-rating{color:var(--rating,#f6a609);}

/* ---- JS-contract baseline (classes mcm-ui.js toggles but nothing styled) */
.is-stuck{position:sticky;top:0;z-index:50;box-shadow:var(--shadow-md,0 4px 16px rgba(32,27,92,.1));}
body[class*="has-overlay"]{overflow:hidden;}
