/*
Theme Name: Zoval Supply
Theme URI: https://zovalsupply.com
Author: Zoval Supply
Author URI: https://zovalsupply.com
Description: Premium custom theme for Zoval Supply — research peptide e-commerce. Cream + brass apothecary aesthetic with WooCommerce integration. Compliance-first: RUO disclaimers, mandatory checkout attestation, age gate, restricted-state shipping.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: zoval
Tags: woocommerce, e-commerce, custom-colors, custom-logo, custom-menu
*/

:root{
  --cream:#F2EDD7; --paper:#FBF8E8; --ink:#1A1A1A; --ink-soft:#262626;
  --brass-50:#F4E4C1; --brass-100:#EAD2A0; --brass-400:#B8893E; --brass-700:#6B4F1E;
  --stone-50:#F7F2DC; --stone-100:#ECE6CB; --stone-200:#D8D2B6; --stone-300:#C8C0A0;
  --stone-500:#8A8A6A; --stone-600:#6A6A4A; --stone-700:#4A4A30;
  --display:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono','SF Mono',Menlo,monospace;
  --container:1440px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:38px}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .15s ease,opacity .15s ease}
button,input,select,textarea{font-family:inherit;font-size:inherit}
::selection{background:var(--brass-100);color:var(--ink)}

h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-0.035em;line-height:0.98;margin:0 0 16px;color:var(--ink)}
h1{font-size:clamp(56px,9vw,128px);letter-spacing:-0.05em;line-height:0.92;font-weight:600}
h2{font-size:clamp(40px,5.5vw,72px);letter-spacing:-0.04em;line-height:1}
h3{font-size:clamp(22px,2vw,28px);letter-spacing:-0.025em;font-weight:600}
h4{font-size:18px;letter-spacing:-0.015em;font-weight:600}
p{margin:0 0 16px}

.zs-container{max-width:var(--container);margin:0 auto;padding:0 32px}
.zs-section{padding:120px 0}
.zs-section-sm{padding:64px 0}
@media(max-width:768px){.zs-section{padding:72px 0}body{padding-bottom:34px}}

.zs-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.18em;color:var(--brass-700);font-family:var(--mono);text-transform:uppercase;font-weight:500;margin-bottom:24px}
.zs-eyebrow::before{content:'';width:24px;height:1px;background:var(--brass-400);display:inline-block}
.zs-eyebrow-c{justify-content:center}

/* PROMO BAR */
.zs-promo{background:var(--ink);color:var(--stone-200);padding:11px 24px;font-size:11px;letter-spacing:0.16em;text-align:center;font-family:var(--mono);text-transform:uppercase}
.zs-promo strong{color:var(--brass-50);font-weight:500}

/* HEADER */
.zs-header{position:sticky;top:0;z-index:50;background:rgba(251,248,232,0.85);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:0.5px solid var(--stone-200);padding:18px 0;transition:box-shadow .2s ease}
.zs-header.scrolled{box-shadow:0 1px 0 rgba(26,26,26,0.05)}
.zs-header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.zs-logo{display:flex;align-items:center;gap:12px}
.zs-logo a{display:flex;align-items:center;gap:12px}
.zs-logo img{height:32px;width:auto;filter:brightness(0)}
.zs-logo-wordmark{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-0.03em;color:var(--ink)}
.zs-nav{display:flex;gap:36px;justify-content:center;list-style:none;padding:0;margin:0}
.zs-nav a{font-size:13px;color:var(--stone-700);font-weight:500;letter-spacing:0.005em}
.zs-nav a:hover, .zs-nav a.active, .zs-nav .current-menu-item a{color:var(--ink)}
.zs-actions{display:flex;gap:14px;align-items:center;justify-content:flex-end}
.zs-icon-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--stone-700);transition:background .15s ease,color .15s ease;border:none;background:transparent}
.zs-icon-btn:hover{background:var(--stone-100);color:var(--ink)}
.zs-cart-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);padding:9px 14px 9px 12px;border-radius:100px;font-size:12px;font-weight:500;letter-spacing:0.02em;transition:opacity .15s ease;border:none}
.zs-cart-pill:hover{opacity:.9;color:var(--paper)}
.zs-cart-pill .cnt{font-family:var(--mono);background:rgba(244,228,193,0.18);padding:2px 7px;border-radius:100px;font-size:10px}
@media(max-width:900px){.zs-nav{display:none}.zs-header-inner{grid-template-columns:1fr auto}}

/* BUTTONS */
.zs-btn,.button,button[type="submit"],input[type="submit"],.wp-block-button__link,.woocommerce a.button,.woocommerce-page a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;gap:10px;background:var(--ink) !important;color:var(--paper) !important;border:none;padding:16px 28px;font-size:13px;font-weight:500;border-radius:100px;cursor:pointer;font-family:var(--sans);letter-spacing:0.02em;line-height:1;transition:opacity .15s ease,transform .15s ease;text-decoration:none}
.zs-btn:hover,.button:hover,button[type="submit"]:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{opacity:.9;transform:translateY(-1px);color:var(--paper) !important}
.zs-btn-secondary{background:transparent !important;color:var(--ink) !important;border:0.5px solid var(--stone-300)}
.zs-btn-secondary:hover{background:var(--paper) !important;border-color:var(--stone-500);color:var(--ink) !important}
.zs-btn-tertiary{background:transparent;color:var(--brass-700);padding:8px 0;border:none;font-weight:500;font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase}
.zs-btn-tertiary:hover{color:var(--ink);transform:none;opacity:1}
.zs-btn-lg{padding:18px 32px;font-size:14px}
.zs-btn-block{width:100%;justify-content:center}
.zs-btn-ghost{background:transparent !important;color:var(--paper) !important;border:0.5px solid rgba(244,228,193,0.3)}
.zs-btn-ghost:hover{background:rgba(244,228,193,0.1) !important;color:var(--paper) !important}
.zs-btn[disabled],button[disabled].zs-btn{opacity:0.4;cursor:not-allowed;pointer-events:none}

/* HERO */
.zs-hero{padding:88px 0 96px;position:relative;overflow:hidden}
.zs-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(1100px 700px at 100% -10%,var(--brass-50) 0%,transparent 60%),radial-gradient(900px 600px at -10% 110%,var(--paper) 0%,transparent 50%);opacity:.7;pointer-events:none}
.zs-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end}
.zs-hero-badge{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.16em;color:var(--brass-700);background:rgba(244,228,193,0.6);padding:7px 14px;border-radius:100px;font-family:var(--mono);text-transform:uppercase;font-weight:500;margin-bottom:32px;border:0.5px solid var(--brass-100)}
.zs-hero h1{margin-bottom:32px;max-width:900px}
.zs-hero h1 .accent{color:var(--brass-700)}
.zs-hero-lead{font-size:clamp(17px,1.4vw,20px);color:var(--stone-700);max-width:520px;margin-bottom:40px;line-height:1.55}
.zs-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.zs-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:40px;background:var(--paper);border:0.5px solid var(--stone-200);border-radius:24px}
.zs-hero-stat-num{font-family:var(--display);font-size:clamp(42px,4.6vw,64px);font-weight:600;letter-spacing:-0.04em;line-height:1;color:var(--ink);margin-bottom:8px}
.zs-hero-stat-label{font-size:11px;letter-spacing:0.14em;color:var(--stone-600);font-family:var(--mono);text-transform:uppercase}
@media(max-width:960px){.zs-hero-inner{grid-template-columns:1fr;gap:48px;align-items:start}.zs-hero-stats{grid-template-columns:repeat(3,1fr);gap:20px;padding:24px}}
@media(max-width:560px){.zs-hero{padding:48px 0 72px}.zs-hero-stats{grid-template-columns:1fr;gap:24px}}

.zs-hero-product{display:flex;align-items:flex-end;justify-content:center;position:relative;min-height:440px}
.zs-hero-product-vial{width:100%;max-width:600px;height:auto;filter:drop-shadow(0 32px 48px rgba(107,79,30,0.18))}

/* TRUST LINE */
.zs-trust-line{padding:28px 0;background:var(--paper);border-top:0.5px solid var(--stone-200);border-bottom:0.5px solid var(--stone-200)}
.zs-trust-line-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:0.12em;color:var(--stone-700);text-transform:uppercase}
.zs-trust-line-inner > div{display:flex;align-items:center;gap:10px}
.zs-trust-line-inner svg{color:var(--brass-700)}

.zs-section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
.zs-section-head h2{margin:0}
.zs-section-head-text{max-width:560px}
.zs-section-lead{font-size:17px;color:var(--stone-700);line-height:1.6;margin-top:16px}
@media(max-width:768px){.zs-section-head{grid-template-columns:1fr;gap:24px;margin-bottom:40px}}

/* PRODUCT CARDS (used in WC overrides) */
.zs-product-grid,ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px !important;margin:0 !important;padding:0 !important;list-style:none !important}
ul.products::before,ul.products::after{display:none !important;content:none !important}
@media(max-width:780px){.zs-product-grid,ul.products{grid-template-columns:repeat(2,1fr) !important;gap:14px !important}}
@media(max-width:480px){.zs-product-grid,ul.products{grid-template-columns:1fr !important}}

.zs-card,ul.products li.product,ul.products li.product.first,ul.products li.product.last{background:var(--paper);border:0.5px solid var(--stone-200);border-radius:20px;overflow:hidden;display:flex !important;flex-direction:column;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;text-decoration:none;color:var(--ink);position:relative;list-style:none !important;padding:0 !important;margin:0 !important;width:auto !important;max-width:100% !important;float:none !important;clear:none !important}
.zs-card:hover,ul.products li.product:hover{transform:translateY(-4px);border-color:var(--brass-400);box-shadow:0 20px 40px rgba(26,26,26,0.06)}
.zs-card-img,ul.products li.product .zs-card-img{aspect-ratio:1;background:radial-gradient(ellipse at center,var(--stone-50) 0%,var(--cream) 100%);display:flex;align-items:center;justify-content:center;padding:18px;position:relative;border-bottom:0.5px solid var(--stone-200);overflow:hidden}
.zs-card-img img{width:auto;height:auto;max-width:86%;max-height:86%;object-fit:contain;mix-blend-mode:multiply}
.zs-card-badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:0.12em;color:var(--brass-700);background:var(--paper);border:0.5px solid var(--stone-200);padding:5px 11px;border-radius:100px;font-weight:500;text-transform:uppercase;font-family:var(--mono);z-index:2}
.zs-ruo-card-badge{position:absolute;top:14px;right:14px;font-size:9px;letter-spacing:0.16em;color:var(--ink);background:rgba(255,255,255,0.92);border:0.5px solid var(--stone-300);padding:4px 8px;border-radius:100px;font-weight:600;text-transform:uppercase;font-family:var(--mono);z-index:2}
.zs-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.zs-card-meta{font-size:11px;color:var(--stone-600);font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase}
.zs-card-name,ul.products li.product .woocommerce-loop-product__title{font-family:var(--display) !important;font-size:20px !important;font-weight:600 !important;letter-spacing:-0.025em;color:var(--ink) !important;margin:0 !important;line-height:1.05;padding:0 !important}
.zs-card-purity{font-size:11px;color:var(--brass-700);font-family:var(--mono);letter-spacing:0.06em;text-transform:uppercase}
.zs-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:0.5px solid var(--stone-200)}
.zs-card-price,ul.products li.product .price{font-family:var(--display);font-size:18px !important;font-weight:600 !important;color:var(--ink) !important;letter-spacing:-0.02em}
.zs-card-price .from{font-size:10px;font-weight:400;color:var(--stone-600);font-family:var(--mono);text-transform:uppercase;letter-spacing:0.08em;margin-right:6px}
.zs-card-arrow{font-size:11px;color:var(--brass-700);font-weight:500;font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase}

/* CATEGORY GRID */
.zs-cats{background:var(--cream)}
.zs-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:768px){.zs-cat-grid{grid-template-columns:1fr}}
.zs-cat-card{background:var(--paper);border:0.5px solid var(--stone-200);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:12px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none;color:var(--ink);min-height:200px}
.zs-cat-card:hover{transform:translateY(-3px);border-color:var(--brass-400);box-shadow:0 16px 32px rgba(26,26,26,0.05)}
.zs-cat-icon{width:40px;height:40px;color:var(--brass-700)}
.zs-cat-name{font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:-0.025em;color:var(--ink);margin:0;line-height:1.1}
.zs-cat-meta{font-size:12px;color:var(--stone-600);font-family:var(--mono);letter-spacing:0.04em}
.zs-cat-arrow{margin-top:auto;font-size:11px;color:var(--brass-700);font-weight:500;letter-spacing:0.08em;font-family:var(--mono);text-transform:uppercase}

/* METHOD (DARK) */
.zs-method{background:var(--ink);color:var(--paper);padding:120px 0;position:relative;overflow:hidden}
.zs-method::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 600px at 90% 0%,rgba(184,137,62,0.18) 0%,transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(244,228,193,0.04) 0%,transparent 50%);pointer-events:none}
.zs-method-inner{position:relative;z-index:1}
.zs-method-head{margin-bottom:80px;max-width:760px}
.zs-method-head .zs-eyebrow{color:var(--brass-100)}
.zs-method-head .zs-eyebrow::before{background:var(--brass-100)}
.zs-method-head h2{color:var(--paper)}
.zs-method-head h2 .accent{color:var(--brass-100)}
.zs-method-head .zs-section-lead{color:var(--stone-200);font-size:18px}
.zs-method-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(216,210,182,0.2);border:0.5px solid rgba(216,210,182,0.2);border-radius:20px;overflow:hidden}
.zs-method-stat{background:var(--ink);padding:40px 32px}
.zs-method-stat-num{font-family:var(--display);font-size:clamp(48px,5vw,76px);font-weight:600;letter-spacing:-0.045em;line-height:1;color:var(--paper);margin-bottom:16px}
.zs-method-stat-label{font-size:11px;letter-spacing:0.14em;color:var(--stone-200);font-family:var(--mono);text-transform:uppercase;margin-bottom:6px;opacity:.7}
.zs-method-stat-detail{font-size:13px;color:var(--stone-200);line-height:1.5}
@media(max-width:1024px){.zs-method-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.zs-method-stats{grid-template-columns:1fr}.zs-method{padding:72px 0}}

/* MANIFESTO */
.zs-manifesto{background:var(--cream);padding:120px 0}
.zs-manifesto-inner{max-width:920px;margin:0 auto;text-align:center}
.zs-manifesto h2{font-size:clamp(36px,5vw,64px);letter-spacing:-0.04em;line-height:1.05;margin-bottom:32px}
.zs-manifesto h2 .accent{color:var(--brass-700)}
.zs-manifesto p{font-size:18px;color:var(--stone-700);line-height:1.6;max-width:640px;margin:0 auto 24px}
.zs-manifesto-attr{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--stone-600);text-transform:uppercase;margin-top:32px}

/* PROCESS */
.zs-process{background:var(--paper);border-top:0.5px solid var(--stone-200);border-bottom:0.5px solid var(--stone-200)}
.zs-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}
@media(max-width:768px){.zs-process-grid{grid-template-columns:1fr 1fr;gap:32px}}
.zs-process-step .num{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;color:var(--brass-700);text-transform:uppercase;margin-bottom:24px;display:block}
.zs-process-step h4{font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:-0.02em;margin-bottom:12px}
.zs-process-step p{font-size:14px;color:var(--stone-700);line-height:1.6;margin:0}

/* FAQ */
.zs-faq{background:var(--cream)}
.zs-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}
@media(max-width:768px){.zs-faq-grid{grid-template-columns:1fr;gap:32px}}
.zs-faq-list details{border-bottom:0.5px solid var(--stone-200);padding:26px 0}
.zs-faq-list details:first-child{border-top:0.5px solid var(--stone-200)}
.zs-faq-list summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-0.02em;color:var(--ink);list-style:none}
.zs-faq-list summary::-webkit-details-marker{display:none}
.zs-faq-list summary::after{content:'+';font-size:24px;color:var(--brass-700);margin-left:16px;font-weight:300;font-family:var(--display);line-height:1}
.zs-faq-list details[open] summary::after{content:'−'}
.zs-faq-list .a{font-size:15px;color:var(--stone-700);line-height:1.65;padding:14px 0 4px;max-width:680px}

/* EMAIL CAPTURE */
.zs-email-capture{background:var(--ink);color:var(--cream);padding:120px 32px;text-align:center;position:relative;overflow:hidden}
.zs-email-capture::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 600px at 80% 30%,rgba(184,137,62,0.2) 0%,transparent 55%);pointer-events:none}
.zs-email-capture-inner{position:relative;z-index:1;max-width:560px;margin:0 auto}
.zs-email-capture .zs-eyebrow{color:var(--brass-100);justify-content:center}
.zs-email-capture .zs-eyebrow::before{background:var(--brass-100)}
.zs-email-capture h2{color:var(--paper);margin-bottom:16px}
.zs-email-capture h2 .accent{color:var(--brass-100)}
.zs-email-capture p{color:var(--stone-200);font-size:16px;margin-bottom:32px;line-height:1.6}
.zs-email-form{display:flex;gap:8px;max-width:460px;margin:0 auto;background:rgba(255,255,255,0.06);padding:6px;border-radius:100px;border:0.5px solid rgba(255,255,255,0.12)}
.zs-email-form input{flex:1;background:transparent;border:none;color:var(--cream);padding:12px 18px;font-size:14px;outline:none;font-family:var(--sans)}
.zs-email-form input::placeholder{color:var(--stone-500)}
.zs-email-form button{background:var(--cream) !important;color:var(--ink) !important;padding:13px 24px;border-radius:100px}
.zs-email-form button:hover{background:var(--paper) !important;color:var(--ink) !important}
.zs-email-fineprint{font-size:11px;color:var(--stone-500);margin-top:18px;letter-spacing:0.12em;font-family:var(--mono);text-transform:uppercase}

/* FOOTER */
.zs-footer{background:var(--cream);border-top:0.5px solid var(--stone-200);padding:80px 0 32px}
.zs-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:64px;margin-bottom:64px}
@media(max-width:768px){.zs-footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
.zs-footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.zs-footer-brand img{height:28px;filter:brightness(0)}
.zs-footer-brand-name{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-0.03em}
.zs-footer-tagline{font-size:13px;color:var(--stone-700);line-height:1.65;max-width:300px;margin-bottom:24px}
.zs-footer-social{display:flex;gap:10px}
.zs-footer-social a{width:34px;height:34px;border-radius:50%;border:0.5px solid var(--stone-300);display:inline-flex;align-items:center;justify-content:center;color:var(--stone-700);transition:border-color .15s ease,color .15s ease}
.zs-footer-social a:hover{border-color:var(--brass-400);color:var(--brass-700)}
.zs-footer-h{font-size:11px;color:var(--stone-600);letter-spacing:0.14em;margin-bottom:18px;font-family:var(--mono);text-transform:uppercase;font-weight:500}
.zs-footer-list,.zs-footer-list ul{font-size:13px;line-height:2;list-style:none;padding:0;margin:0}
.zs-footer-list a{color:var(--stone-700)}
.zs-footer-list a:hover{color:var(--ink)}
.zs-footer-bottom{padding-top:28px;border-top:0.5px solid var(--stone-200);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--stone-600);letter-spacing:0.08em;font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:14px}
.zs-footer-bottom .ruo{color:var(--brass-700)}
@media(max-width:768px){.zs-footer-bottom{flex-direction:column;text-align:center}}

/* AGE GATE */
.zs-age{position:fixed;inset:0;background:rgba(26,26,26,0.94);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.zs-age-card{background:var(--cream);border-radius:24px;padding:48px 36px;max-width:480px;text-align:center;border:0.5px solid var(--brass-400)}
.zs-age-card .zs-eyebrow{justify-content:center}
.zs-age-card h2{font-size:32px;margin-bottom:14px;letter-spacing:-0.03em}
.zs-age-card p{font-size:14px;color:var(--stone-700);line-height:1.65;margin-bottom:28px}
.zs-age-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* RUO COMPLIANCE */
.zs-ruo-warning{background:#FFF5E6;border:1px solid var(--brass-400);border-radius:14px;padding:18px 20px;margin:20px 0 24px;display:flex;gap:14px;align-items:flex-start}
.zs-ruo-warning-ic{width:32px;height:32px;background:var(--brass-700);color:var(--brass-50);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600}
.zs-ruo-warning-t{font-weight:600;font-size:14px;letter-spacing:-0.005em;margin-bottom:4px;color:var(--ink)}
.zs-ruo-warning-d{font-size:12px;color:var(--brass-700);line-height:1.55}
.zs-ruo-bar-bottom{position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:var(--stone-200);padding:10px 24px;font-size:10.5px;letter-spacing:0.18em;text-align:center;font-family:var(--mono);text-transform:uppercase;z-index:90;border-top:0.5px solid rgba(184,137,62,0.35)}
.zs-ruo-bar-bottom strong{color:var(--brass-100);font-weight:500}
@media(max-width:600px){.zs-ruo-bar-bottom{font-size:9.5px;letter-spacing:0.12em;padding:8px 12px}}

.zs-attest-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--stone-700);line-height:1.5;margin:14px 0;cursor:pointer;text-align:left;font-family:var(--sans);text-transform:none;letter-spacing:0}
.zs-attest-row input[type=checkbox]{accent-color:var(--brass-700);margin-top:2px;cursor:pointer;width:14px;height:14px;flex-shrink:0}

/* Policy modal */
.zs-modal-back{position:fixed;inset:0;background:rgba(26,26,26,0.6);z-index:300;opacity:0;pointer-events:none;transition:opacity .2s ease;display:flex;align-items:flex-start;justify-content:center;padding:80px 24px}
.zs-modal-back.open{opacity:1;pointer-events:auto}
.zs-policy-modal{background:var(--cream);max-width:680px;width:100%;border-radius:24px;border:0.5px solid var(--stone-200);overflow:hidden;max-height:80vh;display:flex;flex-direction:column;transform:translateY(-10px);transition:transform .25s ease}
.zs-modal-back.open .zs-policy-modal{transform:translateY(0)}
.zs-policy-h{padding:24px 32px;border-bottom:0.5px solid var(--stone-200);display:flex;justify-content:space-between;align-items:center}
.zs-policy-h h2{font-size:26px;margin:0;letter-spacing:-0.025em}
.zs-policy-body{padding:24px 32px 32px;overflow-y:auto;font-size:14px;line-height:1.65;color:var(--stone-700)}
.zs-policy-body h3{font-family:var(--display);font-size:16px;font-weight:600;color:var(--ink);margin:20px 0 8px;letter-spacing:-0.015em}
.zs-policy-body h3:first-child{margin-top:0}
.zs-policy-body ul{padding-left:20px;margin:8px 0}
.zs-policy-body li{margin-bottom:4px}
.zs-policy-body strong{color:var(--ink);font-weight:600}
.zs-modal-close{position:absolute;top:18px;right:18px;background:transparent;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--stone-700);display:flex;align-items:center;justify-content:center}
.zs-modal-close:hover{background:var(--paper)}

/* WOOCOMMERCE OVERRIDES */
.woocommerce-page,.woocommerce{background:var(--cream)}
.woocommerce-breadcrumb{font-size:12px;color:var(--stone-600);padding:18px 0;margin-bottom:0;font-family:var(--mono);letter-spacing:0.05em;text-transform:uppercase}
.woocommerce-breadcrumb a{color:var(--ink)}
.woocommerce span.onsale{background:var(--brass-50);color:var(--brass-700);font-weight:500;font-size:11px;letter-spacing:0.1em;padding:5px 11px;border-radius:100px;min-height:auto;min-width:auto;text-transform:uppercase;font-family:var(--mono)}
.woocommerce ul.products li.product .onsale{position:absolute;top:14px;left:14px}

/* Single product */
.woocommerce div.product{background:var(--paper);border-radius:24px;padding:40px;border:0.5px solid var(--stone-200);margin:32px auto}
.woocommerce div.product .product_title{font-family:var(--display);font-size:clamp(40px,5vw,64px);letter-spacing:-0.045em;font-weight:600;margin-bottom:8px;line-height:1}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-family:var(--display);font-size:40px;font-weight:600;letter-spacing:-0.03em}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:16px;color:var(--stone-700);line-height:1.7;margin-bottom:22px}
.woocommerce-product-gallery{background:radial-gradient(ellipse at center,var(--stone-50) 0%,var(--cream) 100%);border-radius:24px;padding:24px;border:0.5px solid var(--stone-200)}
.woocommerce-product-gallery img{mix-blend-mode:multiply}
.woocommerce div.product form.cart .quantity .qty{border:0.5px solid var(--stone-300);border-radius:100px;padding:11px 14px;background:var(--paper);font-family:var(--mono);width:80px}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:0.5px solid var(--stone-200);padding:0;margin:28px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:none;border-radius:0;padding:0;margin:0 32px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--stone-600);font-size:13px;padding:16px 0;display:block;letter-spacing:0.05em;text-transform:uppercase;font-family:var(--mono)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);font-weight:500;border-bottom:1.5px solid var(--ink)}

/* Tables (cart, checkout) */
.woocommerce table.shop_table{border:0.5px solid var(--stone-200);border-radius:20px;background:var(--paper);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--cream);color:var(--stone-600);font-size:11px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:16px;border-bottom:0.5px solid var(--stone-200);font-family:var(--mono)}
.woocommerce table.shop_table td{padding:18px 16px;border-bottom:0.5px solid var(--stone-200)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout .woocommerce-checkout-review-order{background:var(--paper);border:0.5px solid var(--stone-200);border-radius:20px;padding:28px}

/* Notices */
.woocommerce-message,.woocommerce-info{background:var(--brass-50);color:var(--brass-700);border-top-color:var(--brass-400);border-radius:12px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brass-700)}
.woocommerce-error{background:#F9ECEC;color:#8A2A2A;border-top-color:#8A2A2A;border-radius:12px}

/* Forms */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{background:var(--paper);border:0.5px solid var(--stone-300);border-radius:10px;padding:12px 14px;font-size:14px;font-family:var(--sans)}

/* Checkout attestation */
.zs-checkout-attest{background:var(--brass-50);border:1px solid var(--brass-400);border-radius:14px;padding:20px 22px;margin:24px 0;display:flex;gap:14px;align-items:flex-start}
.zs-checkout-attest .zs-attest-row{margin:0;font-size:13px;color:var(--ink);line-height:1.55}
.zs-checkout-attest .zs-attest-row input{margin-top:3px}

/* ============ MOBILE DEFENSIVE ============ */
html, body { overflow-x: hidden; max-width: 100vw; }
img, svg { max-width: 100%; height: auto; }
@media (max-width: 700px) {
  .zs-promo { font-size: 9.5px; padding: 8px 10px; letter-spacing: 0.08em; }
  .zs-container { padding: 0 18px; }
  .zs-hero { padding: 40px 0 56px; }
  .zs-hero h1 { font-size: clamp(38px, 11vw, 56px) !important; letter-spacing: -0.04em !important; }
  .zs-hero-lead { font-size: 16px; }
  .zs-hero-inner { gap: 28px; align-items: start; }
  .zs-hero-stats { grid-template-columns: 1fr !important; padding: 18px !important; gap: 14px !important; }
  .zs-hero-stat-num { font-size: 36px !important; }
  .zs-hero-product { min-height: 280px; }
  .zs-hero-product-vial { max-width: 320px; }
  .zs-section, .zs-method, .zs-manifesto, .zs-email-capture { padding: 48px 0; }
  .zs-section-head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
  .zs-section-head h2, h2 { font-size: clamp(28px, 8vw, 44px) !important; }
  .zs-trust-line-inner { gap: 14px; font-size: 10px; letter-spacing: 0.08em; justify-content: flex-start; }
  .zs-cat-grid, .zs-product-grid, ul.products, .zs-method-stats, .zs-process-grid, .zs-faq-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .zs-card-img, ul.products li.product .zs-card-img { aspect-ratio: 1.2; padding: 18px 16px 8px; }
  .zs-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 24px; }
  .zs-footer-bottom { font-size: 9px; letter-spacing: 0.04em; }
  .zs-email-capture { padding: 56px 18px; }
  .zs-email-form { flex-direction: column; padding: 8px; border-radius: 20px; }
  .zs-email-form input, .zs-email-form button { width: 100%; border-radius: 12px !important; }
  .zs-actions { gap: 8px; }
  .zs-cart-pill { padding: 8px 12px 8px 10px; font-size: 11px; }
}
@media (max-width: 480px) {
  .zs-hero-product-vial { max-width: 260px; }
  .zs-footer-grid { grid-template-columns: 1fr !important; }
}
