
/* APPARELLYBLANK Commerce System - Blocksy/Woo responsive layer */
:root{
  --ab-black:#050505;
  --ab-deep:#0a0a0a;
  --ab-panel:#121212;
  --ab-card:#1a1a1a;
  --ab-border:rgba(242,242,234,.45);       /* was .14 (1.35:1 ❌) → now 4.04:1 ✅ UI component */
  --ab-border-strong:rgba(242,242,234,.55); /* was .32 (2.52:1 ❌) → now 5.65:1 AA ✅ */
  --ab-text:#f2f2ea;
  --ab-muted:#a8a8a0;
  --ab-dim:#8c8c84;    /* was #6f6f68 — 3.44:1 fail → now 5.14:1 AA ✅ */
  --ab-yellow:#ffd84d;
  --ab-cyan:#4cf7ef;
  --ab-magenta:#ff00a8;
  --ab-red:#f75555;    /* was #c62828 — 3.10:1 fail → now 5.29:1 AA ✅ */
  --ab-green:#22c55e;  /* was #0b6b3a — 2.63:1 fail → now 7.64:1 AAA ✅ */
  --ab-radius-xl:clamp(18px,2vw,32px);
  --ab-radius:clamp(14px,1.4vw,22px);
  --ab-gap:clamp(.875rem,2vw,1.5rem);
  --ab-section:clamp(3rem,8vw,7rem);
  --ab-content:min(100% - clamp(1rem,5vw,4rem), 1480px);
  --ab-font-display:"Space Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ab-font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ab-font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--ab-black); color:var(--ab-text); overflow-x:hidden;}
.ab-page-shell{width:var(--ab-content);margin-inline:auto;}
.ab-section{padding-block:var(--ab-section);position:relative;isolation:isolate;}
.ab-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(242,242,234,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(242,242,234,.035) 1px,transparent 1px);background-size:clamp(28px,5vw,72px) clamp(28px,5vw,72px);mask-image:linear-gradient(180deg,transparent,black 15%,black 85%,transparent);}
.ab-eyebrow{font-family:var(--ab-font-mono);font-size:clamp(.7rem,.8vw,.82rem);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-yellow);margin:0 0 .65rem;}
.ab-title{font-family:var(--ab-font-display);font-weight:900;letter-spacing:-.06em;line-height:.86;text-transform:uppercase;font-size:clamp(2.5rem,11vw,10rem);margin:0;max-width:12ch;}
.ab-title-small{font-family:var(--ab-font-display);font-weight:900;letter-spacing:-.045em;line-height:.9;text-transform:uppercase;font-size:clamp(2rem,5vw,5.4rem);margin:0;}
.ab-copy{color:var(--ab-muted);font-family:var(--ab-font-body);font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.65;max-width:62ch;}
.ab-mono{font-family:var(--ab-font-mono);letter-spacing:.08em;}
.ab-panel{border:1px solid var(--ab-border);border-radius:var(--ab-radius-xl);background:linear-gradient(145deg,rgba(26,26,26,.92),rgba(10,10,10,.94));box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden;}
.ab-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:linear-gradient(145deg,rgba(26,26,26,.88),rgba(12,12,12,.94));padding:clamp(1rem,2.2vw,1.75rem);}
.ab-grid{display:grid;gap:var(--ab-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ab-card-min,260px)),1fr));}
.ab-grid-2{--ab-card-min:320px;}
.ab-grid-3{--ab-card-min:260px;}
.ab-grid-4{--ab-card-min:220px;}
.ab-bento{display:grid;gap:var(--ab-gap);grid-template-columns:1fr;}
@media (min-width:880px){.ab-bento{grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr);}.ab-bento-tall{grid-row:span 2;}}
.ab-button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{border-radius:999px!important;border:1px solid var(--ab-border-strong)!important;background:var(--ab-yellow)!important;color:#050505!important;font-family:var(--ab-font-mono)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.12em!important;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;transition:transform .18s ease,border-color .18s ease,background .18s ease!important;}
.ab-button:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.wc-block-components-button:hover{transform:translateY(-1px);background:#ffe36f!important;}
.ab-button-secondary{background:transparent!important;color:var(--ab-text)!important;border-color:var(--ab-border-strong)!important;}
/* ab-product-grid shortcode cards */
.ab-product-grid article.ab-card{overflow:hidden;padding:0;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease;}
.ab-product-grid article.ab-card:hover{border-color:var(--ab-border-strong);transform:translateY(-2px);}
.ab-product-grid article.ab-card>a{display:block;overflow:hidden;}
.ab-product-grid article.ab-card>a img{aspect-ratio:4/5;object-fit:cover;width:100%;background:#0a0a0a;transition:transform .38s ease;}
.ab-product-grid article.ab-card:hover>a img{transform:scale(1.04);}
.ab-product-grid article.ab-card .ab-eyebrow{padding:clamp(.75rem,1.5vw,1rem) clamp(.75rem,1.5vw,1rem) 0;}
.ab-product-grid article.ab-card h3{font-family:var(--ab-font-display);font-weight:700;font-size:.98rem;letter-spacing:-.02em;margin:.25rem 0;padding:0 clamp(.75rem,1.5vw,1rem);color:var(--ab-text);}
.ab-product-grid article.ab-card .ab-copy{font-size:.88rem;font-family:var(--ab-font-mono);color:var(--ab-yellow);max-width:none;padding:0 clamp(.75rem,1.5vw,1rem) .5rem;}
.ab-product-grid article.ab-card .ab-button{margin:auto clamp(.75rem,1.5vw,1rem) clamp(.75rem,1.5vw,1rem);}
.ab-product-grid-empty{border:1px solid var(--ab-border);border-radius:var(--ab-radius);padding:2rem;color:var(--ab-muted);font-family:var(--ab-font-body);text-align:center;}
@media(hover:none){.ab-product-grid article.ab-card:hover>a img{transform:none;}}
.woocommerce ul.products li.product,.wc-block-grid__product{width:auto!important;margin:0!important;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:linear-gradient(145deg,rgba(26,26,26,.92),rgba(10,10,10,.95));padding:clamp(.8rem,1.5vw,1.1rem)!important;overflow:hidden;}
.woocommerce ul.products li.product img,.wc-block-grid__product-image img{border-radius:calc(var(--ab-radius) - 6px);aspect-ratio:4/5;object-fit:cover;background:#0a0a0a;}
.ab-points-wallet,.ab-redeem-card,.ab-plan-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:linear-gradient(145deg,rgba(24,24,24,.94),rgba(8,8,8,.98));padding:clamp(1rem,2vw,1.5rem);}
.ab-points-value{font-family:var(--ab-font-display);font-size:clamp(2.25rem,5vw,4rem);line-height:.9;color:var(--ab-yellow);letter-spacing:-.04em;}
.ab-plan-card{display:flex;flex-direction:column;gap:1rem;min-height:100%;}
.ab-plan-price{font-family:var(--ab-font-display);font-size:clamp(2rem,4vw,3.5rem);line-height:1;color:var(--ab-text);}
.ab-plan-price small{font-family:var(--ab-font-mono);font-size:.8rem;color:var(--ab-muted);}
.ab-plan-features{margin:0;padding-left:1.1rem;color:var(--ab-muted);line-height:1.7;}
.ab-plan-card.is-featured{border-color:rgba(255,216,77,.65);box-shadow:0 0 0 1px rgba(255,216,77,.18),0 30px 70px rgba(0,0,0,.45);}
.ab-hero{min-height:min(860px,calc(100svh - 2rem));display:grid;align-items:center;padding-block:clamp(3rem,8vw,8rem);}
.ab-hero-card{position:relative;min-height:clamp(520px,70svh,780px);display:grid;align-items:end;padding:clamp(1.25rem,4vw,4rem);background:radial-gradient(circle at 70% 28%,rgba(255,216,77,.22),transparent 30%),radial-gradient(circle at 15% 85%,rgba(76,247,239,.1),transparent 32%),linear-gradient(135deg,#050505,#111);}
.ab-hero-card img{position:absolute;inset:auto 0 0 auto;width:min(58vw,780px);max-height:95%;object-fit:contain;opacity:.9;filter:drop-shadow(0 30px 50px rgba(0,0,0,.65));}
.ab-hero-content{position:relative;z-index:2;max-width:900px;}
.ab-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin-top:1.25rem;}
.ab-kpi{border:1px solid var(--ab-border);border-radius:18px;padding:.85rem;background:rgba(0,0,0,.28);}
.ab-kpi strong{display:block;font-family:var(--ab-font-display);font-size:1.2rem;}
.ab-sticky-mobile-cta{position:fixed;inset:auto 0 0 0;z-index:999;background:rgba(5,5,5,.92);backdrop-filter:blur(18px);border-top:1px solid var(--ab-border);padding:max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-right));display:none;}
@media (max-width:767px){.ab-sticky-mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}body{padding-bottom:78px;}.ab-title{font-size:clamp(3.2rem,18vw,5rem)}.ab-section{padding-block:clamp(2.2rem,14vw,4rem)}.ab-card{padding:1rem}.ab-hero-card{min-height:calc(100svh - 120px)}.ab-hero-card img{width:100%;opacity:.48}.wp-block-columns{display:block!important}.wp-block-column{margin-bottom:1rem!important}}
@media (min-width:360px) and (max-width:430px){.ab-button,.wp-block-button__link,.wc-block-components-button{width:100%;}.ab-kpi-row{grid-template-columns:1fr 1fr}.ab-copy{font-size:.96rem}}
@media (min-width:768px) and (max-width:1024px){.ab-grid-4{--ab-card-min:300px}.ab-title{font-size:clamp(5rem,12vw,8rem)}}
@media (hover:none){.ab-button:hover,.wp-block-button__link:hover{transform:none}.woocommerce ul.products li.product img{transform:none!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ── Focus visible — WCAG 2.4.11 (yellow ring = 12.6:1 on card, 14.7:1 on page) ── */
:focus-visible{outline:2px solid var(--ab-yellow);outline-offset:3px;border-radius:4px;}
.ab-button:focus-visible,.wp-block-button__link:focus-visible,.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,.woocommerce input.button:focus-visible,.wc-block-components-button:focus-visible{outline:2px solid var(--ab-yellow)!important;outline-offset:3px;box-shadow:0 0 0 4px rgba(255,216,77,.22);}
a:focus-visible{outline:2px solid var(--ab-yellow);outline-offset:2px;border-radius:2px;}
.ab-redeem-input:focus,.ab-redeem-input:focus-visible{outline:2px solid var(--ab-yellow)!important;outline-offset:0;border-color:var(--ab-yellow)!important;box-shadow:0 0 0 3px rgba(255,216,77,.18)!important;}
.woocommerce-ordering select:focus-visible{outline:2px solid var(--ab-yellow)!important;outline-offset:2px;}
@supports (height:100dvh){.ab-hero{min-height:min(860px,calc(100dvh - 2rem));}}
.ab-redeem-input{width:100%;max-width:220px;margin:0 0 .75rem;padding:.75rem;border-radius:14px;border:1px solid var(--ab-border);background:#050505;color:var(--ab-text);display:block;}

/* Shop page — abk-* class system used in DB content */
.abk-page{width:var(--ab-content);margin-inline:auto;}
.abk-hero{padding-block:clamp(2.5rem,6vw,5rem);}
.abk-hero--quiet{padding-block:clamp(1.75rem,4vw,3.5rem);}
.abk-eyebrow{font-family:var(--ab-font-mono);font-size:clamp(.7rem,.8vw,.82rem);letter-spacing:.18em;text-transform:uppercase;color:var(--ab-yellow);margin:0 0 .65rem;display:block;}
.abk-h1{font-family:var(--ab-font-display);font-weight:900;letter-spacing:-.055em;line-height:.9;text-transform:uppercase;font-size:clamp(2.4rem,7vw,6.5rem);margin:0 0 1rem;max-width:20ch;}
.abk-h2{font-family:var(--ab-font-display);font-weight:900;letter-spacing:-.04em;line-height:.9;text-transform:uppercase;font-size:clamp(1.6rem,3vw,3rem);margin:0 0 .75rem;}
.abk-lede{color:var(--ab-muted);font-family:var(--ab-font-body);font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.6;max-width:58ch;margin:.75rem 0 1.5rem;}
.abk-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;}
.abk-section{padding-block:clamp(1.5rem,4vw,3rem);}
.abk-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:linear-gradient(145deg,rgba(26,26,26,.88),rgba(12,12,12,.94));padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:var(--ab-gap);}
.abk-checklist{padding:0;list-style:none;margin:.75rem 0 0;display:grid;gap:.5rem;}
.abk-checklist li{padding-left:1.6rem;position:relative;color:var(--ab-muted);font-family:var(--ab-font-body);line-height:1.55;font-size:clamp(.9rem,1vw,1rem);}
.abk-checklist li::before{content:"↳";position:absolute;left:0;color:var(--ab-yellow);font-family:var(--ab-font-mono);font-size:.8rem;top:.08em;}
.abk-page--dark{background:var(--ab-black);color:var(--ab-text);}
@media(max-width:767px){.abk-h1{font-size:clamp(2.2rem,14vw,3.5rem)}.abk-actions{flex-direction:column}.abk-actions .wp-block-button{width:100%}.abk-actions .wp-block-button__link{width:100%;justify-content:center;}}

/* ab-checklist — used in shop and pattern info cards */
.ab-checklist{padding:0;list-style:none;margin:.75rem 0 0;display:grid;gap:.5rem;}
.ab-checklist li{padding-left:1.6rem;position:relative;color:var(--ab-muted);font-family:var(--ab-font-body);line-height:1.55;font-size:clamp(.9rem,1vw,1rem);}
.ab-checklist li::before{content:"↳";position:absolute;left:0;color:var(--ab-yellow);font-family:var(--ab-font-mono);font-size:.8rem;top:.08em;}

/* Shop hero quiet variant */
.ab-hero--quiet{min-height:unset!important;padding-block:clamp(2rem,5vw,4rem)!important;}

/* WooCommerce product grid — native archive + shortcode */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:var(--ab-gap)!important;list-style:none!important;padding:0!important;margin:var(--ab-gap) 0 0!important;}

/* Product card hover + typography */
.woocommerce ul.products li.product{transition:border-color .2s ease,transform .2s ease;}
.woocommerce ul.products li.product:hover{border-color:var(--ab-border-strong);transform:translateY(-2px);}
.woocommerce ul.products li.product .woocommerce-loop-product__link img,.woocommerce ul.products li.product>a>img{transition:transform .38s ease;}
.woocommerce ul.products li.product:hover img{transform:scale(1.04);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ab-font-display)!important;font-weight:700!important;font-size:.98rem!important;letter-spacing:-.02em!important;margin:.5rem 0 .2rem!important;color:var(--ab-text)!important;}
.woocommerce ul.products li.product .price{font-family:var(--ab-font-mono)!important;color:var(--ab-yellow)!important;font-size:.88rem!important;}
.woocommerce ul.products li.product .sku{font-family:var(--ab-font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-dim);display:block;margin-bottom:.3rem;}

/* Earn-points badge — outlined pill so it doesn't compete with the Add to Cart CTA */
.ab-earn-badge{display:inline-block;width:fit-content;align-self:flex-start;font-family:var(--ab-font-mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-yellow);background:rgba(255,216,77,.1);border:1px solid rgba(255,216,77,.35);border-radius:99px;padding:.2rem .6rem;margin:.15rem 0 .3rem;}
/* Override for custom ab_product_grid shortcode (solid badge is fine there — not a flex column) */
.ab-product-grid .ab-earn-badge{background:var(--ab-yellow);color:#050505;border-color:var(--ab-yellow);}

/* Product card vertical rhythm — tighten spacing, style category meta */
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding-top:.75rem!important;margin-bottom:.15rem!important;}
.woocommerce ul.products li.product .price{margin:.1rem 0 .3rem!important;}
/* Blocksy category meta — small mono label, no noise */
.woocommerce ul.products li.product .entry-meta{margin:.2rem 0 .6rem!important;}
.woocommerce ul.products li.product .meta-categories{font-family:var(--ab-font-mono)!important;font-size:.62rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--ab-dim)!important;list-style:none!important;padding:0!important;margin:0!important;}
.woocommerce ul.products li.product .meta-categories a{color:var(--ab-dim)!important;text-decoration:none!important;}
.woocommerce ul.products li.product .meta-categories a:hover{color:var(--ab-muted)!important;}
/* Blocksy action area — comfortable bottom clearance */
.woocommerce ul.products li.product .ct-woo-card-actions{padding-bottom:clamp(.75rem,1.5vw,1rem)!important;}

/* Shop toolbar — result count + ordering */
.woocommerce-result-count{color:var(--ab-dim);font-family:var(--ab-font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin:0;}
.woocommerce-ordering,.woocommerce-ordering select{font-family:var(--ab-font-mono);font-size:.75rem;letter-spacing:.06em;}
.woocommerce-ordering select{background:var(--ab-card)!important;border:1px solid var(--ab-border)!important;color:var(--ab-text)!important;border-radius:99px!important;padding:.45rem 1rem!important;cursor:pointer;}
.woocommerce-ordering select:focus{outline:none;border-color:var(--ab-border-strong)!important;}
.woocommerce .woocommerce-breadcrumb{color:var(--ab-dim);font-family:var(--ab-font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;}
.woocommerce .woocommerce-breadcrumb a{color:var(--ab-muted);}

/* Pagination */
.woocommerce nav.woocommerce-pagination{margin:calc(var(--ab-gap)*2) 0 0;display:flex;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul{display:flex!important;gap:.35rem;list-style:none;padding:0;margin:0;flex-wrap:wrap;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--ab-border)!important;background:var(--ab-card)!important;color:var(--ab-text)!important;border-radius:99px!important;width:38px!important;height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:var(--ab-font-mono);font-size:.8rem;transition:border-color .18s ease,transform .18s ease;}
.woocommerce nav.woocommerce-pagination ul li span.current{border-color:rgba(255,216,77,.65)!important;color:var(--ab-yellow)!important;background:rgba(255,216,77,.08)!important;}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--ab-border-strong)!important;transform:translateY(-1px);}

/* No-products notice */
.woocommerce-info{border:1px solid var(--ab-border)!important;border-radius:var(--ab-radius)!important;background:var(--ab-card)!important;color:var(--ab-muted)!important;font-family:var(--ab-font-body)!important;padding:1.5rem!important;margin:var(--ab-gap) 0!important;}
.woocommerce-info::before{display:none!important;}

/* ── WooCommerce notices — use accessible color tokens ─────────────────────── */
.woocommerce-message{border-top-color:var(--ab-green)!important;background:rgba(34,197,94,.1)!important;color:var(--ab-text)!important;border-radius:var(--ab-radius)!important;}
.woocommerce-message::before{color:var(--ab-green)!important;}
.woocommerce-error{border-top-color:var(--ab-red)!important;background:rgba(247,85,85,.1)!important;color:var(--ab-text)!important;border-radius:var(--ab-radius)!important;}
.woocommerce-error::before{color:var(--ab-red)!important;}
.woocommerce-error li{color:var(--ab-text)!important;}

/* ── WooCommerce + site form fields — dark bg, visible border, readable text ── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account select{
  background:#050505!important;
  color:var(--ab-text)!important;
  border:1px solid var(--ab-border)!important;
  border-radius:14px!important;
  padding:.75rem 1rem!important;
  font-family:var(--ab-font-body)!important;
  font-size:1rem!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout input:focus,
.woocommerce-account input:focus,
.woocommerce-checkout select:focus{
  border-color:var(--ab-yellow)!important;
  outline:2px solid var(--ab-yellow)!important;
  outline-offset:0!important;
  box-shadow:0 0 0 3px rgba(255,216,77,.18)!important;
}
.woocommerce form label,
.woocommerce-checkout label{
  color:var(--ab-muted)!important;
  font-family:var(--ab-font-mono)!important;
  font-size:.78rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
/* Placeholder text — #8c8c84 = 5.14:1 on dark bg ✅ */
::placeholder{color:var(--ab-dim);opacity:1;}
:-ms-input-placeholder{color:var(--ab-dim);}

/* ── Disabled / loading button state ─────────────────────────────────────────*/
.ab-button:disabled,.ab-button[aria-busy="true"],
.woocommerce button.button:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
  transform:none!important;
  pointer-events:none;
}

/* ── WooCommerce sale flash badge ─────────────────────────────────────────── */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--ab-yellow)!important;
  color:#050505!important;
  font-family:var(--ab-font-mono)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  border-radius:99px!important;
  padding:.2rem .65rem!important;
  min-width:auto!important;
  min-height:auto!important;
  line-height:1.4!important;
}

/* ── Earn badge border — bump opacity to match new border token ────────────── */
.woocommerce ul.products li.product .ab-earn-badge{border-color:rgba(255,216,77,.55);}

/* ── WooCommerce quantity input ───────────────────────────────────────────── */
.woocommerce .quantity input.qty{
  background:#050505!important;
  color:var(--ab-text)!important;
  border:1px solid var(--ab-border)!important;
  border-radius:10px!important;
  padding:.5rem .75rem!important;
  font-family:var(--ab-font-mono)!important;
  text-align:center;
}
.woocommerce .quantity input.qty:focus{border-color:var(--ab-yellow)!important;outline:2px solid var(--ab-yellow)!important;outline-offset:0;}

/* ── WooCommerce table (cart) ─────────────────────────────────────────────── */
.woocommerce table.shop_table{border:1px solid var(--ab-border)!important;border-radius:var(--ab-radius);overflow:hidden;}
.woocommerce table.shop_table th{background:var(--ab-card)!important;color:var(--ab-text)!important;font-family:var(--ab-font-mono)!important;font-size:.75rem!important;letter-spacing:.1em!important;text-transform:uppercase!important;border-bottom:1px solid var(--ab-border)!important;padding:.9rem 1rem!important;}
.woocommerce table.shop_table td{color:var(--ab-muted)!important;border-bottom:1px solid var(--ab-border)!important;padding:.85rem 1rem!important;background:transparent!important;}
.woocommerce table.shop_table .product-name a{color:var(--ab-text)!important;}
.woocommerce table.shop_table .amount{color:var(--ab-yellow)!important;font-family:var(--ab-font-mono)!important;}

/* ── Coupon / promo code input ────────────────────────────────────────────── */
.woocommerce form.checkout_coupon input[type="text"],
.woocommerce-cart .coupon input[type="text"]{
  background:#050505!important;
  color:var(--ab-text)!important;
  border:1px solid var(--ab-border)!important;
  border-radius:14px!important;
  padding:.65rem 1rem!important;
  font-family:var(--ab-font-body)!important;
}

/* ── My Account nav ───────────────────────────────────────────────────────── */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 var(--ab-gap);}
.woocommerce-MyAccount-navigation li a{display:block;color:var(--ab-muted)!important;font-family:var(--ab-font-mono)!important;font-size:.78rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:.65rem .9rem;border:1px solid transparent;border-radius:10px;}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{color:var(--ab-text)!important;border-color:var(--ab-border)!important;background:var(--ab-card)!important;}

/* ── Blocksy header ─────────────────────────────────────────────────────────── */
:root{--theme-palette-color-1:var(--ab-yellow);--theme-palette-color-2:var(--ab-text);--theme-palette-color-8:var(--ab-black);}
.ct-header{background:rgba(5,5,5,.9)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;border-bottom:1px solid var(--ab-border)!important;position:sticky!important;top:0!important;z-index:999!important;transition:background .25s ease,box-shadow .25s ease!important;}
.ct-header.ab-header-scrolled{background:rgba(5,5,5,.97)!important;box-shadow:0 2px 32px rgba(0,0,0,.6)!important;}
.ct-menu>li>a,.ct-header .ct-nav-links a{font-family:var(--ab-font-mono)!important;font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ab-muted)!important;transition:color .15s!important;}
.ct-menu>li>a:hover,.ct-menu>li.current-menu-item>a,.ct-menu>li.current-page-ancestor>a{color:var(--ab-yellow)!important;}
.ct-header .site-title a,.ct-header .ct-logo{font-family:var(--ab-font-display)!important;font-weight:900!important;letter-spacing:-.04em!important;text-transform:uppercase!important;color:var(--ab-text)!important;}
.ct-header .ct-cart-content{color:var(--ab-text)!important;}
.ct-header [data-id="icon"] svg path,.ct-header [data-id="icon"] svg rect,.ct-header [data-id="icon"] svg circle{fill:var(--ab-text)!important;}
.ct-header .ct-header-inner{padding-block:clamp(.5rem,.8vw,.85rem)!important;}

/* ── Home page — missing classes ────────────────────────────────────────────── */
.ab-homepage{min-height:100vh;}
.ab-hero-copy{max-width:52ch;}
.ab-button-row{margin-top:1.5rem!important;}
.ab-button-row .wp-block-buttons{gap:.75rem!important;}

/* Promo strip / ticker */
.ab-promo-strip{background:var(--ab-yellow);overflow:hidden;padding:.55rem 0;position:relative;}
.ab-promo-strip.ab-marquee-active{display:flex;align-items:center;}
.ab-promo-text{font-family:var(--ab-font-mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#050505;white-space:nowrap;padding:0 3rem;flex-shrink:0;animation:ab-marquee 28s linear infinite;}
@keyframes ab-marquee{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.ab-promo-strip:hover .ab-promo-text{animation-play-state:paused;}

/* Trust / feature cards grid */
.ab-trust-section .ab-trust-grid{gap:var(--ab-gap)!important;}
.ab-trust-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:linear-gradient(145deg,rgba(26,26,26,.88),rgba(12,12,12,.94));padding:clamp(1.25rem,2.5vw,2rem);}
.ab-trust-card h3{font-family:var(--ab-font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;margin:0 0 .6rem;}
.ab-trust-card p{color:var(--ab-muted);font-size:.9rem;line-height:1.6;margin:0;}

/* Confidence section */
.ab-confidence-section .ab-card h3{font-family:var(--ab-font-display);font-weight:700;font-size:1rem;margin:0 0 .5rem;}
.ab-confidence-section .ab-card p{color:var(--ab-muted);font-size:.9rem;line-height:1.6;margin:0;}

/* KPI row enhancements */
.ab-kpi span{font-family:var(--ab-font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-dim);}
.ab-kpi strong{color:var(--ab-yellow);}

/* Scroll reveal CSS lives in wp_head critical overrides (functions.php) — guarded by .ab-js */

/* ── Particle canvas ────────────────────────────────────────────────────────── */
.ab-particle-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.55;}
.ab-hero-card{position:relative;}
.ab-hero-content{position:relative;z-index:2;}

/* ── Background animation — section grid pulse ──────────────────────────────── */
.ab-section::before{animation:ab-grid-breathe 8s ease-in-out infinite;}
@keyframes ab-grid-breathe{0%,100%{opacity:.6}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ab-section::before{animation:none;}}

/* ── Footer ─────────────────────────────────────────────────────────────────── */
.ab-footer{background:var(--ab-deep);border-top:1px solid var(--ab-border);}
.ab-footer-top{padding:clamp(3rem,8vw,5.5rem) 0 0;}
.ab-footer-inner{width:var(--ab-content);margin-inline:auto;display:grid;grid-template-columns:minmax(220px,.9fr) 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start;padding-bottom:clamp(2rem,5vw,3.5rem);border-bottom:1px solid var(--ab-border);}
.ab-footer-logo{font-family:var(--ab-font-display);font-weight:900;font-size:clamp(1.25rem,1.8vw,1.65rem);letter-spacing:-.04em;text-transform:uppercase;color:var(--ab-text);text-decoration:none;display:block;transition:color .15s;}
.ab-footer-logo:hover{color:var(--ab-yellow);}
.ab-footer-logo sup{font-size:.5em;vertical-align:super;}
.ab-footer-tagline{font-family:var(--ab-font-display);font-weight:700;font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:-.03em;color:var(--ab-muted);margin:.45rem 0 .3rem;}
.ab-footer-sub-tagline{font-family:var(--ab-font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-dim);line-height:1.7;margin:0;}
.ab-footer-nav{display:flex;gap:clamp(1.5rem,3.5vw,3.5rem);flex-wrap:wrap;justify-content:flex-end;}
.ab-footer-col{display:flex;flex-direction:column;gap:.42rem;min-width:120px;}
.ab-footer-col-label{font-family:var(--ab-font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ab-yellow);margin:0 0 .4rem;}
.ab-footer-col a{font-family:var(--ab-font-body);font-size:.88rem;color:var(--ab-muted);text-decoration:none;transition:color .15s;}
.ab-footer-col a:hover{color:var(--ab-text);}
.ab-footer-bottom{border-top:1px solid var(--ab-border);}
.ab-footer-bottom-inner{width:var(--ab-content);margin-inline:auto;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;flex-wrap:wrap;gap:.5rem;}
.ab-footer-legal{font-family:var(--ab-font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--ab-dim);}
.ab-footer-legal a{color:var(--ab-dim);text-decoration:none;}
.ab-footer-legal a:hover{color:var(--ab-muted);}
.ab-footer-made{font-family:var(--ab-font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-dim);}
@media(max-width:767px){.ab-footer-inner{grid-template-columns:1fr}.ab-footer-nav{justify-content:flex-start;gap:1.5rem}.ab-footer-bottom-inner{flex-direction:column;text-align:center;gap:.35rem}}
