/* AUTO-GENERATED by qa/build-theme-css.mjs. Edit the modular source files, then rebuild. */

/* SOURCE: assets/css/fonts.css */
/* VERIPHASE local font faces.
   Source CSS: https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap
   Downloaded from fonts.gstatic.com as WOFF2, retaining latin + latin-ext subsets for EU-language names while avoiding third-party runtime requests. Optional rendering prevents a late font swap on constrained connections. */

@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:500 800;
  font-stretch:100%;
  font-display:optional;
  src:url('../fonts/bricolage-grotesque-latin-ext-500-800.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:500 800;
  font-stretch:100%;
  font-display:optional;
  src:url('../fonts/bricolage-grotesque-latin-500-800.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400 700;
  font-display:optional;
  src:url('../fonts/hanken-grotesk-latin-ext-400-700.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400 700;
  font-display:optional;
  src:url('../fonts/hanken-grotesk-latin-400-700.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-ext-400.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-400.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-ext-500.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:600;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-ext-600.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:600;
  font-display:optional;
  src:url('../fonts/ibm-plex-mono-latin-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}


/* SOURCE: assets/css/tokens.css */
/* VERIPHASE design tokens — single source of truth (mirrors mockup/ north-star) */
:root{
  color-scheme:light;
  /* surfaces */
  --paper:#F5F8F8; --paper-2:#FFFFFF; --paper-3:#EEF3F3;
  /* ink */
  --ink:#0B1A20; --ink-2:#42555E; --ink-3:#5C6F77;
  /* "instrument" surfaces — ALWAYS dark in both themes (do NOT derive from --ink, which flips) */
  --ink-surface:#0B1A20; --ink-surface-2:#10312c;
  --on-ink:#FFFFFF; --on-ink-soft:#DFF1EE; --on-ink-mute:#9FBDB8; --on-ink-faint:#74A8A2;
  --ink-line:rgba(255,255,255,.08);
  /* product specimen stage — light laboratory bench; dark mode restores the instrument surface */
  --specimen-surface:#E9F0F0; --specimen-surface-2:#FFFFFF; --specimen-gradient-stop:78%;
  --specimen-ink:#0B1A20; --specimen-ink-soft:#42555E; --specimen-ink-mute:#5C6F77; --specimen-ink-faint:#4F636B;
  --specimen-accent:#0A6B63; --specimen-accent-strong:#07675F; --specimen-chip:#D2EAE7;
  --specimen-line:rgba(11,26,32,.11); --specimen-bloom:rgba(12,138,128,.10);
  --specimen-panel:rgba(255,255,255,.62); --specimen-shadow:0 2px 6px rgba(11,26,32,.05),0 24px 56px -34px rgba(11,26,32,.30);
  --specimen-contact-shadow:rgba(11,26,32,.17); --specimen-vial-shadow:drop-shadow(0 18px 16px rgba(11,26,32,.14));
  /* lines */
  --line:#DCE6E6; --line-2:#C9D6D6;
  /* teal accent */
  --teal:#0C8A80; --teal-deep:#0A6B63; --teal-bright:#13B6A8; --teal-tint:#E2F2F0; --teal-tint-2:#D2EAE7;
  /* secondary + warning */
  --blue:#1C5E86; --blue-tint:#E5EEF4; --ochre:#9A5B12; --ochre-tint:#F6ECDD; --danger:#B42318;
  /* effects — layered, faintly teal-tinted depth (premium, not flat) */
  --shadow-xs:0 1px 2px rgba(11,26,32,.05);
  --shadow:0 1px 2px rgba(11,26,32,.04),0 8px 24px -14px rgba(11,26,32,.16);
  --shadow-md:0 2px 6px rgba(11,26,32,.05),0 20px 44px -24px rgba(12,138,128,.26);
  --shadow-lg:0 40px 80px -36px rgba(11,26,32,.40),0 12px 32px -20px rgba(12,138,128,.24);
  --glow-teal:0 0 0 1px rgba(19,182,168,.18),0 20px 54px -26px rgba(19,182,168,.50);
  --radius:14px; --radius-sm:9px; --radius-lg:20px; --maxw:1240px;
  /* atmosphere — engineered-paper background layers */
  --grid-line:rgba(11,26,32,.028);
  --bloom:rgba(19,182,168,.07);
  --hairline:rgba(11,26,32,.08);
  /* motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  /* type */
  --serif:'Bricolage Grotesque',-apple-system,system-ui,sans-serif;
  --sans:'Hanken Grotesk',-apple-system,system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}

/* VP_SYSTEM_DARK_SOURCE_START */
:root[data-vp-theme="dark"]{
  color-scheme:dark;
  /* page goes near-black so the instrument surfaces sit ELEVATED above it */
  --paper:#06100F; --paper-2:#0C181B; --paper-3:#11272B;
  --ink:#EAF4F2; --ink-2:#B6C8C4; --ink-3:#7F9894;
  --line:#1E383D; --line-2:#2B4A50;
  --teal:#13B6A8; --teal-deep:#7FD8CF; --teal-bright:#5FE6D8; --teal-tint:#123432; --teal-tint-2:#16433F;
  --blue:#78B9DE; --blue-tint:#102B3A; --ochre:#E0A45E; --ochre-tint:#2C2116; --danger:#FF8A80;
  /* instrument surfaces lift a step above the near-black page + a teal hairline to separate */
  --ink-surface:#0E282C; --ink-surface-2:#143E3A;
  --ink-line:rgba(95,230,216,.14);
  --specimen-surface:var(--ink-surface); --specimen-surface-2:var(--ink-surface-2); --specimen-gradient-stop:62%;
  --specimen-ink:#FFFFFF; --specimen-ink-soft:#CFE6E3; --specimen-ink-mute:#8FB9B4; --specimen-ink-faint:#74A8A2;
  --specimen-accent:#7FD8CF; --specimen-accent-strong:#5FE6D8; --specimen-chip:#16433F;
  --specimen-line:rgba(255,255,255,.08); --specimen-bloom:rgba(19,182,168,.24);
  --specimen-panel:rgba(255,255,255,.04); --specimen-shadow:var(--shadow-lg);
  --specimen-contact-shadow:transparent; --specimen-vial-shadow:none;
  --shadow-xs:0 1px 2px rgba(0,0,0,.18);
  --shadow:0 1px 2px rgba(0,0,0,.22),0 12px 30px -18px rgba(0,0,0,.72);
  --shadow-md:0 2px 8px rgba(0,0,0,.30),0 24px 54px -26px rgba(19,182,168,.20);
  --shadow-lg:0 48px 90px -40px rgba(0,0,0,.78),0 18px 44px -24px rgba(19,182,168,.22);
  --glow-teal:0 0 0 1px rgba(95,230,216,.20),0 24px 60px -30px rgba(95,230,216,.40);
  --grid-line:rgba(223,241,238,.035);
  --bloom:rgba(19,182,168,.13);
  --hairline:rgba(223,241,238,.10);
}
/* VP_SYSTEM_DARK_SOURCE_END */

/* AUTO-GENERATED system-preference fallback from the marked explicit dark rules. */
@media (prefers-color-scheme:dark){
:root:not([data-vp-theme]){
  color-scheme:dark;
  /* page goes near-black so the instrument surfaces sit ELEVATED above it */
  --paper:#06100F; --paper-2:#0C181B; --paper-3:#11272B;
  --ink:#EAF4F2; --ink-2:#B6C8C4; --ink-3:#7F9894;
  --line:#1E383D; --line-2:#2B4A50;
  --teal:#13B6A8; --teal-deep:#7FD8CF; --teal-bright:#5FE6D8; --teal-tint:#123432; --teal-tint-2:#16433F;
  --blue:#78B9DE; --blue-tint:#102B3A; --ochre:#E0A45E; --ochre-tint:#2C2116; --danger:#FF8A80;
  /* instrument surfaces lift a step above the near-black page + a teal hairline to separate */
  --ink-surface:#0E282C; --ink-surface-2:#143E3A;
  --ink-line:rgba(95,230,216,.14);
  --specimen-surface:var(--ink-surface); --specimen-surface-2:var(--ink-surface-2); --specimen-gradient-stop:62%;
  --specimen-ink:#FFFFFF; --specimen-ink-soft:#CFE6E3; --specimen-ink-mute:#8FB9B4; --specimen-ink-faint:#74A8A2;
  --specimen-accent:#7FD8CF; --specimen-accent-strong:#5FE6D8; --specimen-chip:#16433F;
  --specimen-line:rgba(255,255,255,.08); --specimen-bloom:rgba(19,182,168,.24);
  --specimen-panel:rgba(255,255,255,.04); --specimen-shadow:var(--shadow-lg);
  --specimen-contact-shadow:transparent; --specimen-vial-shadow:none;
  --shadow-xs:0 1px 2px rgba(0,0,0,.18);
  --shadow:0 1px 2px rgba(0,0,0,.22),0 12px 30px -18px rgba(0,0,0,.72);
  --shadow-md:0 2px 8px rgba(0,0,0,.30),0 24px 54px -26px rgba(19,182,168,.20);
  --shadow-lg:0 48px 90px -40px rgba(0,0,0,.78),0 18px 44px -24px rgba(19,182,168,.22);
  --glow-teal:0 0 0 1px rgba(95,230,216,.20),0 24px 60px -30px rgba(95,230,216,.40);
  --grid-line:rgba(223,241,238,.035);
  --bloom:rgba(19,182,168,.13);
  --hairline:rgba(223,241,238,.10);
}
}


/* SOURCE: assets/css/base.css */
/* VERIPHASE base — reset-ish, typography, links, buttons, forms, a11y. Child-owned (.vp-* + scoped element styles). */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-padding-top:84px; scroll-padding-bottom:96px; }
/* "engineered paper": soft teal bloom at the top + an ultra-faint technical grid behind everything */
body.veriphase{ font-family:var(--sans); font-size:16px; color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; margin:0;
  background-color:var(--paper);
  background-image:
    radial-gradient(135% 78% at 50% -12%, var(--bloom), transparent 58%),
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:100% 100%, 56px 56px, 56px 56px;
  background-position:0 0, 0 0, 0 0;
}
/* film grain: desktop/fine-pointer only; no blend compositing over mobile scroll. */
@media screen and (min-width:900px) and (hover:hover) and (pointer:fine){
  body.veriphase::before{ content:""; position:fixed; inset:0; z-index:80; pointer-events:none; opacity:.018;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
}
@media print{ body.veriphase::before{ content:none!important; } }
/* refined text selection */
.veriphase ::selection{ background:var(--teal-tint-2); color:var(--ink); }
.veriphase a{ color:var(--teal-deep); text-decoration:none; }
.veriphase a:not(.button):not(.vp-btn):not(.vp-icbtn):not(.vp-release-open):hover{ text-decoration:underline; text-underline-offset:.16em; }
.veriphase h1,.veriphase h2,.veriphase h3,.veriphase h4{ font-family:var(--serif); font-weight:700; line-height:1.08; letter-spacing:0; color:var(--ink); }
.veriphase img{ max-width:100%; height:auto; }
.vp-wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.vp-mono{ font-family:var(--mono); }
.vp-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--teal-deep); font-weight:600; }
.vp-eyebrow::before{ content:""; width:24px; height:1px; background:linear-gradient(90deg,var(--teal),transparent); flex:none; }

/* buttons */
.vp-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.55em; font-family:var(--sans);
  font-weight:600; font-size:15px; letter-spacing:0; padding:14px 24px; border-radius:100px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .35s var(--ease-out), background .25s ease, border-color .25s ease, box-shadow .35s var(--ease-out); line-height:1; }
.veriphase .vp-btn-primary{ background:var(--ink-surface); color:var(--on-ink); box-shadow:var(--shadow-xs); }
.veriphase .vp-btn-primary:hover{ background:var(--ink-surface); color:var(--on-ink); transform:translateY(-2px); box-shadow:var(--glow-teal); }
.veriphase .vp-btn-ghost{ background:rgba(255,255,255,.64); color:var(--ink); border-color:var(--line-2); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.veriphase .vp-btn-ghost:hover{ border-color:var(--teal); color:var(--teal-deep); transform:translateY(-2px); box-shadow:var(--shadow); }
.veriphase .vp-btn-teal{ background:var(--teal-deep); color:var(--paper-2); box-shadow:var(--shadow-xs); }
.veriphase .vp-btn-teal:hover{ background:var(--teal-deep); color:var(--paper-2); transform:translateY(-2px); box-shadow:var(--glow-teal); }

/* signature: the HPLC trace draws itself on load (pathLength=1 -> dash 1->0) */
@media (prefers-reduced-motion: no-preference){
  .vp-chromo-trace{ stroke-dasharray:1; stroke-dashoffset:1; animation:vp-draw 1.7s var(--ease-out) .35s forwards; }
  @keyframes vp-draw{ to{ stroke-dashoffset:0; } }
}

/* accessibility: focus indicator on KEYBOARD nav only.
   Storefront ships a plain a:focus,input:focus,button:focus{outline:2px solid #7f54b3} (purple) that also
   fires on mouse clicks — neutralise it, then drive one teal ring through :focus-visible (text inputs still
   get the ring on click, since browsers flag :focus-visible for fields you type into). */
.veriphase a:focus, .veriphase button:focus, .veriphase input:focus,
.veriphase select:focus, .veriphase textarea:focus, .veriphase .vp-btn:focus{ outline:none; }
.veriphase a:focus-visible, .veriphase button:focus-visible, .veriphase input:focus-visible,
.veriphase select:focus-visible, .veriphase textarea:focus-visible, .veriphase .vp-btn:focus-visible{
  outline:2px solid var(--teal); outline-offset:2px; }
body.veriphase.woocommerce .button:focus,body.veriphase.woocommerce-page .button:focus{ outline:none!important; }
body.veriphase.woocommerce .button:focus-visible,body.veriphase.woocommerce-page .button:focus-visible{
  outline:2px solid var(--teal)!important; outline-offset:2px; }
.veriphase :where(a,button,input,select,textarea,[tabindex]):not([tabindex="-1"]){ scroll-margin-block:8px; }

/* form-control normalisation — Storefront bases inputs on #f2f2f2 and flips them to #ededed ON FOCUS,
   which is a glaring light leak in dark theme (and an inconsistent grey in light). Re-base ALL text-like
   controls to theme tokens for BOTH resting and :focus so nothing ever flips light. Components that need a
   different background (the transparent pill search inputs) opt back out just below. */
.veriphase input[type="text"], .veriphase input[type="email"], .veriphase input[type="tel"],
.veriphase input[type="url"], .veriphase input[type="number"], .veriphase input[type="password"],
.veriphase input[type="date"], .veriphase input[type="search"], .veriphase textarea, .veriphase select,
.veriphase input[type="text"]:focus, .veriphase input[type="email"]:focus, .veriphase input[type="tel"]:focus,
.veriphase input[type="url"]:focus, .veriphase input[type="number"]:focus, .veriphase input[type="password"]:focus,
.veriphase input[type="date"]:focus, .veriphase input[type="search"]:focus, .veriphase textarea:focus, .veriphase select:focus{
  background-color:var(--paper-2); color:var(--ink); }
body.veriphase input::placeholder,body.veriphase textarea::placeholder{ color:var(--ink-3); opacity:1; }
/* transparent search inputs sit inside their own styled pill — keep them transparent, resting + focus */
.veriphase .vp-shop-search input, .veriphase .vp-shop-search input:focus,
.veriphase .vp-404-search input, .veriphase .vp-404-search input:focus{ background-color:transparent; }

/* content container — align Storefront's .col-full with our tokens; default pages get clinical type */
.vp-site-content{ background:var(--paper); overflow-x:clip; } /* clip contains .vp-bleed; sticky header sits outside this */
body.veriphase .col-full{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
/* front page drives its own section widths via .vp-wrap (so bleed + contained bands align) */
body.veriphase.home .col-full{ max-width:none; padding:0; }
body.veriphase.home #content{ padding-top:0; }
body.veriphase.page-template-default:not(.home) .col-full,
body.veriphase.single .col-full,
body.veriphase.blog .col-full,
body.veriphase.archive:not(.woocommerce-page) .col-full{ max-width:860px; padding-top:48px; padding-bottom:64px; }
.veriphase .entry-content{ font-size:16.5px; color:var(--ink-2); }
.veriphase .entry-content h2{ font-size:26px; margin:36px 0 12px; }
.veriphase .entry-content h3{ font-size:20px; margin:28px 0 10px; }
.veriphase .entry-content p{ margin:0 0 16px; }
.veriphase .entry-content ul,.veriphase .entry-content ol{ margin:0 0 16px; padding-left:22px; }
.veriphase .entry-content li{ margin:6px 0; }
.veriphase .vp-merchant-policy-summary{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin-top:44px; padding-top:30px; border-top:1px solid var(--line); }
.veriphase .vp-merchant-policy-summary > h2{ grid-column:1/-1; margin:0 0 18px; }
.veriphase .vp-merchant-policy-summary > div{ min-width:0; }
.veriphase .vp-merchant-policy-summary > div + div{ padding-left:36px; border-left:1px solid var(--line); }
.veriphase .vp-merchant-policy-summary h3{ margin:0 0 10px; }
@media (max-width:680px){
  .veriphase .vp-merchant-policy-summary{ grid-template-columns:1fr; gap:24px; }
  .veriphase .vp-merchant-policy-summary > div + div{ padding:24px 0 0; border-top:1px solid var(--line); border-left:0; }
}
.veriphase .vp-site-content p a:not(.button),
.veriphase .vp-site-content li a:not(.button){ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.16em; }
.veriphase .entry-title,.veriphase .page-title{ font-size:clamp(28px,4vw,42px); margin:0 0 18px; }

/* single-column: kill Storefront's floated sidebar layout */
.veriphase #primary,
.veriphase .content-area{ width:100%; float:none; margin:0; }
.veriphase #secondary,
.veriphase .widget-area,
.veriphase #colophon .storefront-handheld-footer-bar{ display:none; }

/* full-bleed helper for custom templates that live inside .col-full */
.vp-bleed{ width:100vw; margin-left:calc(50% - 50vw); }

/* mobile nav panel */
.vp-mnav{ display:none; border-top:1px solid var(--line); background:var(--paper-2); }
@media(max-width:680px){ .js .vp-mnav.is-open{ display:block; } }
.vp-mnav .vp-wrap{ display:flex; flex-direction:column; padding:6px 28px 12px; }
.vp-mnav a{ padding:11px 0; font-weight:500; color:var(--ink-2); border-bottom:1px solid var(--line); }
.vp-mnav a:last-child{ border-bottom:none; }

/* skip link */
.skip-link{ position:fixed; left:-9999px; top:0; z-index:300; }
.skip-link:focus{ left:12px; top:12px; background:var(--ink-surface); color:var(--on-ink); padding:10px 16px; border-radius:8px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; border:0; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.veriphase [hidden]{ display:none!important; }

/* tags / pills */
.vp-tag{ display:inline-flex; align-items:center; gap:.4em; font-family:var(--mono); font-size:11px;
  letter-spacing:.04em; padding:4px 9px; border-radius:6px; background:var(--teal-tint); color:var(--teal-deep); font-weight:600; }
.vp-tag-ruo{ background:var(--ochre-tint); color:var(--ochre); }

@media (prefers-contrast:more){
  .veriphase a:focus-visible,.veriphase button:focus-visible,.veriphase input:focus-visible,
  .veriphase select:focus-visible,.veriphase textarea:focus-visible,.veriphase .vp-btn:focus-visible{ outline-width:3px; }
  .veriphase .vp-site-content p a:not(.button),.veriphase .vp-site-content li a:not(.button){ text-decoration-thickness:2px; }
  body.veriphase.woocommerce .button:focus-visible,body.veriphase.woocommerce-page .button:focus-visible{ outline-width:3px!important; }
}

@media (forced-colors:active){
  :root,:root[data-vp-theme],:root:not([data-vp-theme]){
    color-scheme:light dark!important;
    --paper:Canvas!important; --paper-2:Canvas!important; --paper-3:Canvas!important;
    --ink:CanvasText!important; --ink-2:CanvasText!important; --ink-3:CanvasText!important;
    --line:CanvasText!important; --line-2:CanvasText!important;
    --teal:Highlight!important; --teal-deep:LinkText!important; --teal-bright:Highlight!important;
    --teal-tint:Canvas!important; --teal-tint-2:Canvas!important;
    --ink-surface:ButtonFace!important; --ink-surface-2:ButtonFace!important;
    --on-ink:ButtonText!important; --on-ink-soft:ButtonText!important; --on-ink-mute:ButtonText!important; --on-ink-faint:ButtonText!important;
    --ochre:CanvasText!important; --ochre-tint:Canvas!important; --danger:CanvasText!important;
    --shadow-xs:none!important; --shadow:none!important; --shadow-md:none!important; --shadow-lg:none!important; --glow-teal:none!important;
  }
  body.veriphase{ background:Canvas; background-image:none; }
  .veriphase ::selection{ background:Highlight; color:HighlightText; }
  .veriphase .vp-btn-primary,.veriphase .vp-btn-teal{
    background:ButtonFace!important; color:ButtonText!important; border-color:ButtonText!important;
  }
  .veriphase .vp-btn,.veriphase .vp-icbtn,.veriphase input,.veriphase select,.veriphase textarea,
  .veriphase .vp-global-search-field,.veriphase .vp-tag,.veriphase .vp-ruo-tag{ border:1px solid ButtonText; box-shadow:none; }
  .veriphase a:focus-visible,.veriphase button:focus-visible,.veriphase input:focus-visible,
  .veriphase select:focus-visible,.veriphase textarea:focus-visible,.veriphase .vp-btn:focus-visible{ outline:3px solid Highlight; }
  body.veriphase.woocommerce .button:focus-visible,body.veriphase.woocommerce-page .button:focus-visible{ outline:3px solid Highlight!important; }
}


/* SOURCE: assets/css/components.css */
/* VERIPHASE components — trust bar, nav, ribbon, hero specimen, proof bar, COA/product/category cards, bands, footer */

/* utility bar — one calm strip: launch status (left) + EU facts + locale (right) */
.vp-utility{ position:relative; background:linear-gradient(180deg,var(--ink-surface-2),var(--ink-surface)); color:var(--on-ink-mute); font-family:var(--mono); font-size:11.5px; letter-spacing:.015em; }
/* instrument scanline at the very top edge */
.vp-utility::before{ content:""; position:absolute; top:0; left:0; right:0; height:2px; z-index:2;
  background:linear-gradient(90deg, transparent, rgba(19,182,168,.25) 18%, var(--teal-bright) 50%, rgba(19,182,168,.25) 82%, transparent); }
.vp-utility .vp-wrap{ display:flex; align-items:center; gap:16px; min-height:34px; padding:6px 28px; }
.vp-utility b{ color:#eaf4f2; font-weight:600; }
.vp-utility .dot{ color:var(--teal-bright); font-size:8px; }
.vp-utility .vp-u-flag{ color:#fff; display:inline-flex; align-items:center; gap:7px; }
.vp-utility .vp-u-right{ margin-left:auto; display:flex; align-items:center; gap:18px; }
.vp-utility .vp-u-right > span{ display:inline-flex; align-items:center; gap:6px; }
.vp-utility .vp-u-mid, .vp-utility .vp-u-locale{ position:relative; padding-left:18px; }
.vp-utility .vp-u-mid::before, .vp-utility .vp-u-locale::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:12px; background:rgba(255,255,255,.16); }

/* header / nav */
.vp-header{ position:sticky; top:0; z-index:100; background:rgba(245,248,248,.78); backdrop-filter:blur(16px) saturate(1.4); -webkit-backdrop-filter:blur(16px) saturate(1.4); border-bottom:1px solid var(--hairline); box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 10px 30px -24px rgba(11,26,32,.5); }
.vp-header .vp-wrap{ display:flex; align-items:center; gap:30px; height:68px; }
.vp-logo{ display:inline-flex; align-items:center; gap:11px; font-family:var(--serif); font-weight:800; font-size:21px; line-height:1; letter-spacing:0; color:var(--ink); }
.vp-logo svg{ width:30px; height:30px; flex:none; display:block; } /* line-height:1 above centres the wordmark on the icon */
.vp-nav{ display:flex; gap:24px; margin-left:8px; }
.vp-nav a{ font-size:15px; font-weight:500; color:var(--ink-2); }
.vp-nav a:hover,.vp-nav a.active{ color:var(--ink); }
.vp-header .vp-spacer{ flex:1; }
.vp-header .vp-icons{ display:flex; align-items:center; gap:14px; }
.vp-icbtn{ width:44px; height:44px; display:grid; flex:0 0 auto; place-items:center; border-radius:10px; color:var(--teal-deep); position:relative; border:0; background:transparent; cursor:pointer; padding:0; font:inherit; }
/* hover: brighten to teal on ALL header icons. The toggle is a <button>, so Storefront's
   button:hover{color:#fff/#333} would otherwise hijack it while the anchor icons go --teal. */
.vp-icbtn:hover{ background:var(--paper-3); color:var(--teal); }
/* header icons inherit the unified teal :focus-visible ring from base.css (no mouse-click outline) */
.vp-theme-toggle span{ display:grid; place-items:center; grid-area:1/1; }
.vp-theme-toggle .vp-theme-sun{ display:none; }
:root[data-vp-theme="dark"] .vp-theme-toggle .vp-theme-moon{ display:none; }
:root[data-vp-theme="dark"] .vp-theme-toggle .vp-theme-sun{ display:grid; }
.vp-cartcount{ position:absolute; top:3px; right:3px; background:var(--ink-surface); color:var(--on-ink); border:1px solid var(--on-ink-faint); font-family:var(--mono); font-size:9px; min-width:15px; height:15px; padding:0 3px; border-radius:8px; display:grid; place-items:center; font-weight:600; }
.vp-burger{ display:none; }
.vp-search-panel{ border-top:1px solid var(--line); background:var(--paper-2); box-shadow:0 18px 32px -28px rgba(11,26,32,.65); }
.vp-search-panel .vp-wrap{ height:auto; display:block; padding:18px 28px 20px; }
.vp-search-panel form{ max-width:760px; margin:0 auto; position:relative; }
.vp-search-panel form>label{ display:block; margin:0 0 7px; font-family:var(--mono); font-size:10.5px; font-weight:600; color:var(--ink-2); text-transform:uppercase; letter-spacing:.08em; }
.vp-global-search-field{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:52px; padding:4px 5px 4px 15px; border:1px solid var(--line-2); border-radius:8px; background:var(--paper); }
.vp-global-search-field:focus-within{ border-color:var(--teal); outline:2px solid color-mix(in srgb,var(--teal) 20%,transparent); outline-offset:1px; }
.vp-global-search-field>svg{ color:var(--ink-3); }
.vp-global-search-field input{ width:100%; min-width:0; border:0; outline:0; padding:10px 0; background:transparent; color:var(--ink); font-size:16px; box-shadow:none; }
.vp-global-search-field .vp-btn{ min-height:42px; border-radius:7px; padding:9px 18px; }
.vp-search-suggestions{ position:absolute; z-index:3; top:100%; left:0; right:0; margin-top:7px; border:1px solid var(--line); border-radius:8px; background:var(--paper); box-shadow:var(--shadow-lg); overflow:hidden; }
.vp-search-suggestion{ display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:64px; padding:8px 12px; color:var(--ink); border-bottom:1px solid var(--line); }
.vp-search-suggestion:last-child{ border-bottom:0; }
.vp-search-suggestion:hover,.vp-search-suggestion[aria-selected="true"]{ background:var(--paper-3); color:var(--teal-deep); }
.vp-search-suggestion img{ width:42px; height:52px; object-fit:contain; }
.vp-search-suggestion strong{ display:block; font-size:14px; line-height:1.2; }
.vp-search-suggestion small{ display:block; margin-top:3px; font-family:var(--mono); font-size:10.5px; color:var(--ink-3); }
.vp-search-suggestion>em{ font-style:normal; font-family:var(--mono); font-size:11px; color:var(--ink-2); }
.vp-search-status{ min-height:17px; margin:6px 0 0; color:var(--ink-3); font-family:var(--mono); font-size:10.5px; }

/* RUO status strip — clinical regulatory-class marker (calm; not a hazard banner) */
.vp-ruo-strip{ background:var(--paper-2); border-bottom:1px solid var(--line); }
.vp-ruo-strip .vp-wrap{ display:flex; align-items:center; gap:11px; padding:7px 28px; justify-content:center; flex-wrap:wrap; }
.vp-ruo-tag{ font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--on-ink); background:var(--ink-surface); border-radius:5px; padding:4px 9px; white-space:nowrap; }
.vp-ruo-txt{ font-size:12px; color:var(--ink-2); }
.vp-ruo-txt b{ color:var(--ink); font-weight:600; }

/* hero entrance — orchestrated staggered rise on load (pure CSS, ends visible if motion is off) */
@media (prefers-reduced-motion: no-preference){
  .vp-hero-copy > *{ animation:vp-rise .85s var(--ease-out) both; }
  .vp-hero-copy > *:nth-child(1){ animation-delay:.06s; }
  .vp-hero-copy > *:nth-child(2){ animation-delay:.14s; }
  .vp-hero-copy > *:nth-child(3){ animation-delay:.22s; }
  .vp-hero-copy > *:nth-child(4){ animation-delay:.30s; }
  .vp-hero-copy > *:nth-child(5){ animation-delay:.38s; }
  .vp-specimen,.vp-specimen--data{ animation:vp-rise-scale .95s var(--ease-out) .22s both; }
  @keyframes vp-rise{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
  @keyframes vp-rise-scale{ from{opacity:0;transform:translateY(20px) scale(.985)} to{opacity:1;transform:none} }
}

/* hero */
.vp-hero{ position:relative; border-bottom:1px solid var(--hairline); overflow:hidden; }
.vp-hero .vp-wrap{ display:grid; grid-template-columns:1.06fr .94fr; gap:54px; align-items:center; padding-top:78px; padding-bottom:82px; }
.vp-hero-copy,.vp-specimen{ min-width:0; }
.vp-hero h1{ font-size:clamp(42px,5.6vw,70px); line-height:1.02; letter-spacing:0; margin:22px 0 22px; }
.vp-hero h1 em{ font-style:normal; color:var(--teal-deep); position:relative; white-space:nowrap; }
.vp-hero h1 em::after{ content:""; position:absolute; left:-.02em; right:-.02em; bottom:.1em; height:.14em; background:linear-gradient(90deg,var(--teal-bright),var(--teal-tint-2)); z-index:-1; border-radius:3px; }
.vp-hero .lede{ font-size:18.5px; line-height:1.62; color:var(--ink-2); max-width:498px; margin-bottom:30px; }
.vp-hero .cta-row{ display:flex; gap:13px; flex-wrap:wrap; margin-bottom:24px; }
.vp-hero .microcopy{ font-family:var(--mono); font-size:12px; color:var(--ink-2); display:flex; align-items:center; gap:8px; }

/* Product-first homepage: the peptide leads and release evidence supports it. */
.vp-commerce-hero{ overflow:hidden; border-bottom:1px solid var(--line); background:var(--paper); }
.vp-commerce-hero-grid{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.62fr); gap:60px; align-items:stretch; min-height:500px; padding-top:30px; padding-bottom:28px; }
.vp-commerce-copy{ min-width:0; align-self:center; padding:10px 0; }
.vp-commerce-copy h1{ max-width:760px; margin:11px 0 10px; font-size:56px; line-height:1.02; letter-spacing:0; }
.vp-commerce-promise{ max-width:690px; margin:0 0 15px; color:var(--teal-deep); font-family:var(--serif); font-size:25px; font-weight:700; line-height:1.2; }
.vp-commerce-lede{ max-width:720px; margin:0 0 20px; color:var(--ink-2); font-size:16px; line-height:1.58; }
.vp-lotfirst-search{ max-width:690px; margin-bottom:0; }
.vp-lotfirst-search>label{ display:block; margin:0 0 7px; color:var(--ink-2); font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase; }
.vp-lotfirst-search>div{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; min-height:54px; padding:4px 4px 4px 15px; border:1px solid var(--line-2); border-radius:8px; background:var(--paper-2); box-shadow:var(--shadow-xs); }
.vp-lotfirst-search>div:focus-within{ border-color:var(--teal); outline:2px solid color-mix(in srgb,var(--teal) 18%,transparent); outline-offset:1px; }
.vp-lotfirst-search svg{ color:var(--ink-3); }
.vp-lotfirst-search .vp-btn svg{ color:inherit; }
.veriphase .vp-lotfirst-search input,
.veriphase .vp-lotfirst-search input:focus,
.veriphase .vp-lotfirst-search input:focus-visible{ min-width:0; width:100%; border:0; outline:0; padding:10px 0; background:transparent; box-shadow:none; color:var(--ink); font-size:15px; }
.vp-lotfirst-search .vp-btn{ min-height:44px; border-radius:6px; }
.vp-lotfirst-quick{ display:flex; flex-wrap:wrap; gap:7px 13px; margin-top:12px; color:var(--ink-3); font-family:var(--mono); font-size:10px; }
.vp-lotfirst-quick span{ text-transform:uppercase; }
.vp-lotfirst-quick a{ color:var(--teal-deep); font-weight:700; }
.vp-lotfirst-quick .vp-commerce-browse{ margin-left:2px; color:var(--ink); }
.vp-commerce-product{ display:grid; grid-template-rows:auto minmax(0,1fr) auto; justify-items:center; min-width:0; padding-left:38px; border-left:1px solid var(--line); color:var(--ink); }
.vp-commerce-product-kicker{ justify-self:start; align-self:end; color:var(--ink-3); font-family:var(--mono); font-size:9.5px; font-weight:700; text-transform:uppercase; }
.vp-commerce-product-visual{ display:flex; align-items:center; justify-content:center; width:100%; min-height:360px; border-bottom:1px solid var(--line); }
.vp-commerce-product-visual img{ display:block; width:auto; max-width:290px; max-height:365px; object-fit:contain; filter:drop-shadow(0 18px 22px rgba(8,33,36,.13)); transition:transform .35s var(--ease-out); }
.vp-commerce-product:hover .vp-commerce-product-visual img{ transform:translateY(-4px); }
.vp-commerce-product-meta{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 18px; align-items:center; width:100%; padding-top:16px; }
.vp-commerce-product-meta>div strong{ display:block; color:var(--ink); font-size:23px; line-height:1.1; }
.vp-commerce-product-meta>div span{ display:block; margin-top:4px; color:var(--ink-3); font-family:var(--mono); font-size:10px; }
.vp-commerce-product-price{ color:var(--ink); font-family:var(--mono); font-size:16px; font-weight:700; }
.vp-commerce-product-price .woocommerce-Price-currencySymbol{ margin-right:1px; }
.vp-commerce-product-meta em{ grid-column:1/-1; color:var(--teal-deep); font-family:var(--mono); font-size:10px; font-style:normal; font-weight:700; }
.vp-commerce-proof{ border-top:1px solid var(--ink-line); background:var(--ink-surface); color:var(--on-ink-soft); }
.vp-commerce-proof>.vp-wrap{ display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.7fr); gap:42px; align-items:center; padding-top:16px; padding-bottom:16px; }
.vp-commerce-proof header>span{ color:#79aaa5; font-family:var(--mono); font-size:9px; font-weight:700; text-transform:uppercase; }
.vp-commerce-proof h2{ margin:5px 0 4px; color:#fff; font-size:20px; line-height:1.2; }
.vp-commerce-proof header>a{ color:#72ddd2; font-family:var(--mono); font-size:10px; font-weight:700; }
.vp-commerce-proof ul{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin:0; padding:0; list-style:none; }
.vp-commerce-proof li{ display:flex; gap:8px; align-items:center; min-height:34px; border-bottom:1px solid rgba(255,255,255,.09); color:#d9ece9; font-size:12px; font-weight:600; }
.vp-commerce-proof li:nth-last-child(-n+3){ border-bottom:0; }
.vp-commerce-proof li svg{ flex:none; color:#5fe6d8; }
.vp-release-board{ min-width:0; overflow:hidden; border:1px solid var(--ink-line); border-radius:8px; background:var(--ink-surface); color:var(--on-ink-soft); box-shadow:var(--shadow-lg); }
.vp-release-board>header{ display:flex; justify-content:space-between; gap:18px; align-items:flex-end; padding:18px 20px 15px; border-bottom:1px solid rgba(255,255,255,.1); }
.vp-release-board h2{ margin:4px 0 0; color:#fff; font-size:21px; }
.vp-release-board>header>a,.vp-release-board>footer>a{ color:#72ddd2; font-family:var(--mono); font-size:10.5px; font-weight:700; }
.vp-release-live{ display:inline-flex; align-items:center; gap:7px; color:#8fb9b4; font-family:var(--mono); font-size:9px; text-transform:uppercase; }
.vp-release-live i{ width:6px; height:6px; border-radius:50%; background:var(--teal-bright); box-shadow:0 0 0 4px rgba(19,182,168,.12); }
.vp-release-columns,.vp-release-row{ display:grid; grid-template-columns:minmax(150px,1.15fr) minmax(170px,1.4fr) minmax(100px,.72fr) 28px; gap:14px; align-items:center; }
.vp-release-columns{ padding:9px 18px; border-bottom:1px solid rgba(255,255,255,.07); color:var(--on-ink-faint); font-family:var(--mono); font-size:8.5px; text-transform:uppercase; }
.vp-release-row{ min-height:74px; padding:11px 18px; border-bottom:1px solid rgba(255,255,255,.08); }
.vp-release-row:last-child{ border-bottom:0; }
.vp-release-row:hover{ background:rgba(255,255,255,.035); }
.vp-release-product>a{ color:#fff; }
.vp-release-product strong{ display:block; font-size:13px; line-height:1.25; }
.vp-release-product>span,.vp-release-product nav{ display:flex; flex-wrap:wrap; gap:5px; margin-top:5px; color:#80aaa5; font-family:var(--mono); font-size:9px; }
.vp-release-product nav a{ padding:2px 4px; border:1px solid rgba(255,255,255,.14); border-radius:3px; color:#9fc4be; }
.vp-release-product nav a.current{ border-color:#35c7b8; color:#75e0d5; }
.vp-release-result span,.vp-release-lot span{ display:block; margin-bottom:3px; color:var(--on-ink-faint); font-family:var(--mono); font-size:8.5px; text-transform:uppercase; }
.vp-release-result b,.vp-release-lot b{ display:block; color:#d9ece9; font-family:var(--mono); font-size:10.5px; line-height:1.35; }
.vp-release-lot b{ color:#fff; }
.vp-release-row.is-pending .vp-release-result b,.vp-release-row.is-pending .vp-release-lot b{ color:#90aaa7; }
.veriphase .vp-release-open{ display:grid; place-items:center; width:28px; height:28px; color:#6de0d4; font-family:var(--mono); font-size:17px; }
.vp-release-board>footer{ display:flex; justify-content:space-between; gap:18px; align-items:center; padding:12px 18px; border-top:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); }
.vp-release-board>footer span{ display:inline-flex; align-items:center; gap:7px; color:#80aaa5; font-size:9.5px; }
.vp-release-board>footer svg{ color:#5fe6d8; flex:none; }
.vp-sechead p{ max-width:680px; margin:8px 0 0; color:var(--ink-2); font-size:14.5px; }
.vp-release-process ol{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin:0; padding:0; list-style:none; }
.vp-release-process li{ padding-top:18px; border-top:2px solid var(--line-2); }
.vp-release-process li>span{ color:var(--teal-deep); font-family:var(--mono); font-size:11px; font-weight:700; }
.vp-release-process h3{ margin:9px 0 7px; font-size:18px; }
.vp-release-process p{ margin:0; color:var(--ink-2); font-size:13.5px; line-height:1.6; }
.vp-lotfirst-close{ max-width:760px; text-align:center; }
.vp-lotfirst-close h2{ margin:10px 0 12px; }
.vp-lotfirst-close>p{ margin:0 auto 22px; color:var(--ink-2); }

/* specimen card (dark) */
.vp-specimen{ background:linear-gradient(165deg,var(--ink-surface-2) 0%,var(--ink-surface) 62%); border-radius:var(--radius-lg); padding:28px; color:var(--on-ink-soft); box-shadow:var(--shadow-lg); position:relative; overflow:hidden; transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out); }
.vp-specimen::before{ content:""; position:absolute; inset:0; background:radial-gradient(82% 60% at 82% 4%,rgba(19,182,168,.26),transparent 58%); }
.vp-specimen::after{ content:""; position:absolute; inset:11px; border:1px solid rgba(255,255,255,.07); border-radius:14px; pointer-events:none; z-index:1; }
.vp-specimen:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg),var(--glow-teal); }
.vp-specimen .head{ display:flex; justify-content:space-between; align-items:flex-start; position:relative; z-index:1; }
.vp-specimen .lot{ font-family:var(--mono); font-size:11px; color:#7fd8cf; letter-spacing:.05em; }
.vp-specimen h3{ color:#fff; font-size:26px; margin:6px 0 2px; position:relative; z-index:1; }
.vp-specimen .sub{ font-family:var(--mono); font-size:12px; color:#8fb9b4; position:relative; z-index:1; margin-bottom:16px; }
.vp-chromo{ position:relative; z-index:1; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:12px; }
.vp-chromo svg{ display:block; width:100%; height:92px; }
.vp-specimen-stats{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; }
.vp-specimen-stats div{ background:rgba(255,255,255,.05); border-radius:9px; padding:9px 11px; }
.vp-specimen-stats .k{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:#74a8a2; }
.vp-specimen-stats .v{ font-family:var(--mono); font-size:17px; color:#fff; font-weight:600; margin-top:3px; }

/* production reference-data hero panel (intrinsic chemistry only — no lot / COA / purity / "verified") */
.vp-specimen--data .vp-spec-cat{ width:36px; height:36px; border-radius:10px; background:rgba(19,182,168,.16); color:var(--teal-bright); display:grid; place-items:center; position:relative; z-index:1; flex:none; }
.vp-spec-seq{ position:relative; z-index:1; margin:16px 0 4px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:11px 13px; }
.vp-spec-seq .k{ font-family:var(--mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:#74a8a2; margin-bottom:5px; }
.vp-spec-seq .v{ font-family:var(--mono); font-size:12.5px; color:var(--on-ink-soft); line-height:1.5; overflow-wrap:anywhere; }
.vp-chromo .vp-spec-cap{ font-family:var(--mono); font-size:9.5px; color:#74a8a2; margin-top:7px; text-align:center; letter-spacing:.02em; }
.vp-specimen--data .vp-specimen-stats .v{ font-size:12.5px; overflow-wrap:anywhere; line-height:1.3; }

/* proof bar */
.vp-proof{ background:linear-gradient(180deg,var(--paper-2),var(--paper)); border-bottom:1px solid var(--hairline); }
.vp-proof .vp-wrap{ display:grid; grid-template-columns:repeat(6,1fr); gap:0; }
.vp-proof .cell{ padding:24px 16px; border-right:1px solid var(--hairline); text-align:center; transition:background .3s ease; }
.vp-proof .cell:last-child{ border-right:none; }
.vp-proof .cell:hover{ background:var(--paper-3); }
.vp-proof .ic{ color:var(--teal); margin-bottom:9px; display:flex; justify-content:center; transition:transform .4s var(--ease-out); }
.vp-proof .cell:hover .ic{ transform:translateY(-2px) scale(1.08); }
.vp-proof .v{ font-family:var(--mono); font-weight:600; font-size:15px; letter-spacing:0; }
.vp-proof .k{ font-size:11.5px; color:var(--ink-3); margin-top:3px; }

/* generic section */
.vp-band{ padding:74px 0; }
.vp-band.alt{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.vp-sechead{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; flex-wrap:wrap; }
.vp-sechead h2{ font-size:clamp(26px,3.4vw,38px); }
.vp-sechead .link{ font-family:var(--mono); font-size:13px; color:var(--teal-deep); font-weight:600; }

/* COA teaser cards */
.vp-coa-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.vp-coa-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:18px; transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .3s ease; }
.vp-coa-card:hover{ border-color:var(--teal); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.vp-coa-card .top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.vp-coa-card .pass{ font-family:var(--mono); font-size:10px; background:var(--teal-tint); color:var(--teal-deep); padding:4px 8px; border-radius:6px; font-weight:600; display:inline-flex; gap:5px; align-items:center; }
.vp-coa-card .pass.rej{ background:var(--ochre-tint); color:var(--ochre); }
.vp-coa-card .date{ font-family:var(--mono); font-size:10.5px; color:var(--ink-3); }
.vp-coa-card h3,.vp-coa-card h4{ font-family:var(--serif); font-size:17px; font-weight:700; margin:0 0 2px; }
.vp-coa-card .lot{ font-family:var(--mono); font-size:11px; color:var(--ink-3); margin-bottom:12px; }
.vp-coa-card .row{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:11.5px; padding:5px 0; border-top:1px dashed var(--line); }
.vp-coa-card .row b{ color:var(--ink); }

/* category cards */
.vp-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.vp-cat-card{ min-height:178px; background:linear-gradient(180deg,#fff 0%,#fbfefe 100%); border:1px solid #cfe0df; border-radius:var(--radius); padding:24px 23px; transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s ease, background .35s ease; display:flex; flex-direction:column; justify-content:flex-start; color:var(--ink); }
.vp-cat-card:hover{ background:#fff; border-color:var(--teal); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.vp-cat-card[style*="--accent"]:hover{ border-color:var(--accent); }
.vp-cat-card:hover .cat-d{ color:var(--ink-2); }
.vp-cat-ic{ width:44px; height:44px; border-radius:11px; background:var(--teal-tint); color:var(--teal-deep); display:grid; place-items:center; margin-bottom:16px; transition:background .25s ease, color .25s ease; }
/* per-category chemistry-class accent on the icon (falls back to teal) */
.vp-cat-card[style*="--accent"] .vp-cat-ic{ color:var(--accent); }
@supports (background:color-mix(in srgb, #000 10%, #fff)){
  .vp-cat-card[style*="--accent"] .vp-cat-ic{ background:color-mix(in srgb, var(--accent) 14%, var(--paper-2)); }
}
.vp-cat-card:hover .vp-cat-ic{ background:var(--teal-tint); color:var(--teal-deep); }
.vp-cat-card[style*="--accent"]:hover .vp-cat-ic{ color:var(--accent); }
@supports (background:color-mix(in srgb, #000 10%, #fff)){
  .vp-cat-card[style*="--accent"]:hover .vp-cat-ic{ background:color-mix(in srgb, var(--accent) 18%, #fff); }
}
.vp-cat-card .cat-n{ font-family:var(--serif); font-size:17px; font-weight:700; color:var(--teal-deep); }
.vp-cat-card .cat-d{ font-size:13.5px; color:var(--ink-3); margin-top:6px; line-height:1.55; }

/* why-us dark band */
.vp-why{ position:relative; background:linear-gradient(165deg,var(--ink-surface-2) 0%,var(--ink-surface) 60%); color:var(--on-ink-soft); overflow:hidden; }
.vp-why::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(58% 80% at 86% 0%, rgba(19,182,168,.15), transparent 55%); }
.vp-why .vp-wrap{ position:relative; z-index:1; }
.vp-why h2{ color:#fff; } .vp-why .vp-eyebrow{ color:var(--teal-bright); }
.vp-why .grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; }
.vp-why .pillar{ background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); border-radius:var(--radius); padding:26px; transition:transform .45s var(--ease-out), background .3s ease, border-color .3s ease; }
.vp-why .pillar:hover{ transform:translateY(-4px); background:rgba(19,182,168,.07); border-color:rgba(19,182,168,.3); }
.vp-why .pillar h3{ color:#fff; font-size:19px; margin:14px 0 8px; }
.vp-why .pillar p{ color:#9fc4be; font-size:14px; margin:0; }
.vp-why .p-ic{ width:46px; height:46px; border-radius:11px; background:rgba(19,182,168,.16); color:var(--teal-bright); display:grid; place-items:center; }

/* footer */
.vp-footer{ position:relative; background:linear-gradient(180deg,var(--paper),var(--paper-2)); border-top:1px solid var(--hairline); padding:56px 0 30px; }
.vp-footer::before{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(19,182,168,.4) 50%, transparent); }
.vp-foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:30px; margin-bottom:34px; }
.vp-foot-grid .vp-foot-heading{ clear:none; font-family:var(--mono); font-size:11px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin:0 0 14px; }
.vp-foot-grid a{ display:block; font-size:14px; color:var(--ink-2); padding:5px 0; }
.vp-foot-grid a:hover{ color:var(--teal-deep); }
/* the brand logo is an <a> inside .vp-foot-grid — restore its flex/size (out-specifies the link rule above) */
.vp-footer .vp-foot-brand .vp-logo{ display:inline-flex; align-items:center; gap:11px; font-size:21px; line-height:1; padding:0; color:var(--ink); }
.vp-footer .vp-foot-brand .vp-logo svg{ width:30px; height:30px; }
.vp-foot-brand p{ font-size:13px; color:var(--ink-2); max-width:260px; }
.vp-foot-ruo{ background:var(--ochre-tint); border:1px solid #ecd9bd; border-radius:12px; padding:16px 20px; margin-bottom:24px; display:flex; gap:14px; align-items:flex-start; }
.vp-foot-ruo svg{ color:var(--ochre); flex:none; margin-top:2px; } .vp-foot-ruo p{ font-size:12.5px; color:#5e4012; line-height:1.6; margin:0; } .vp-foot-ruo b{ color:var(--ochre); }
.vp-foot-bottom{ border-top:1px solid var(--line); padding-top:20px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:center; }
.vp-foot-bottom .legal{ font-family:var(--mono); font-size:11.5px; color:var(--ink-3); line-height:1.7; }
.vp-pay{ display:flex; gap:8px; } .vp-pay span{ height:26px; padding:0 9px; border:1px solid var(--line); border-radius:6px; display:grid; place-items:center; font-family:var(--mono); font-size:9.5px; font-weight:600; color:var(--ink-2); background:var(--paper); }

/* ===== COA Vault ===== */
.vp-vault-title{ font-size:clamp(30px,4vw,44px); margin:8px 0 8px; }
.vp-vault-intro{ color:var(--ink-2); max-width:620px; margin:0 0 26px; }
.vp-vault-stats{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.vp-vault-stats div{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:16px 22px; min-width:150px; }
.vp-vault-stats .v{ font-family:var(--mono); font-size:30px; font-weight:600; color:var(--ink); }
.vp-vault-stats .v.rej{ color:var(--ochre); }
.vp-vault-stats .k{ font-size:12px; color:var(--ink-3); margin-top:2px; }
.vp-vault-band{ padding-top:48px; }
.vp-vault-controls{ display:grid; grid-template-columns:minmax(260px,2fr) repeat(3,minmax(135px,1fr)); gap:12px; align-items:end; margin-bottom:12px; }
.vp-vault-search-field,.vp-vault-filter-field{ display:grid; gap:6px; margin:0; font-family:var(--mono); font-size:10.5px; color:var(--ink-3); }
#vp-vault-search,.vp-vault-filter-field select{ width:100%; min-height:44px; font-family:var(--sans); font-size:14px; padding:10px 13px; border:1px solid var(--line); border-radius:6px; background:var(--paper-2); color:var(--ink); }
#vp-vault-search:focus,.vp-vault-filter-field select:focus{ outline:2px solid var(--teal); outline-offset:1px; }
.vp-vault-pills{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.vp-vault-pills button{ font-family:var(--mono); font-size:12px; padding:9px 15px; border:1px solid var(--line); border-radius:100px; background:var(--paper-2); color:var(--ink-2); cursor:pointer; transition:.15s; }
.vp-vault-pills button:hover{ border-color:var(--teal); color:var(--teal-deep); }
.vp-vault-pills button.active{ background:var(--ink-surface); color:var(--on-ink); border-color:var(--ink-surface); }
.vp-vault-meta{ font-family:var(--mono); font-size:11.5px; color:var(--ink-3); margin-bottom:14px; }
.vp-vault-table{ width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper-2); }
.vp-vault-table thead th{ background:var(--ink-surface); color:var(--on-ink-soft); font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; text-align:left; font-weight:600; padding:13px 18px; }
/* `.veriphase` prefix beats WooCommerce's inline near-white table defaults that otherwise leak in dark theme:
   `table:not(.has-background) tbody td` (#fdfdfd, 0,1,3) AND the even-row zebra
   `…tbody tr:nth-child(2n) td` (#fbfbfb, 0,2,3). Transparent lets the table's --paper-2 + row hover show. */
.veriphase .vp-vault-table tbody td{ background:transparent; border-top:1px solid var(--line); padding:13px 18px; font-size:13.5px; vertical-align:middle; }
.veriphase .vp-vault-table tbody tr:nth-child(2n) td{ background:transparent; }
.vp-vault-table tbody tr:hover{ background:var(--paper); }
.vp-vault-table .c-prod a{ font-weight:600; color:var(--ink); }
.vp-vault-table .c-prod a:hover{ color:var(--teal-deep); }
.vp-vault-table .c-lot,.vp-vault-table .c-date{ font-size:12.5px; color:var(--ink-2); white-space:nowrap; }
.vp-vault-table .c-prod small,.vp-vault-table .c-lot small,.vp-vault-table .c-result small{ display:block; margin-top:3px; font-family:var(--mono); font-size:9.5px; color:var(--ink-3); }
.vp-vault-table .c-result span{ display:block; max-width:220px; font-size:12.5px; line-height:1.45; color:var(--ink-2); }
.vp-vault-table .c-lab{ max-width:170px; font-size:12px; line-height:1.4; color:var(--ink-2); }
.vp-vault-tr--selected{ outline:3px solid var(--teal); outline-offset:-3px; background:var(--teal-tint); }
.vp-lotbadge{ font-family:var(--mono); font-size:10px; font-weight:600; padding:4px 8px; border-radius:6px; background:var(--teal-tint); color:var(--teal-deep); }
.vp-lotbadge.rej{ background:var(--ochre-tint); color:var(--ochre); }
.vp-lotbadge.archived{ background:var(--paper-3); color:var(--ink-2); }
.vp-coa-link{ font-family:var(--mono); font-size:11.5px; font-weight:600; color:var(--teal-deep); display:inline-flex; align-items:center; gap:5px; }
.vp-vault-foot{ display:flex; gap:8px; align-items:center; font-size:11.5px; color:var(--ink-3); margin-top:14px; }
.vp-vault-foot svg{ color:var(--ochre); flex:none; }
.vp-vault-more{ margin-top:18px; }
.vp-review-fixture{ display:inline-block; margin:0 8px 6px 0; padding:3px 6px; border-radius:4px; background:var(--ochre-tint); color:var(--ochre); font-family:var(--mono); font-size:9.5px; font-weight:600; }
/* production (no fixture lots): honest empty state */
.vp-vault-empty{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; margin-top:8px; max-width:680px; }
.vp-vault-empty p{ display:flex; gap:10px; align-items:flex-start; margin:0; font-size:14.5px; line-height:1.6; color:var(--ink-2); }
.vp-vault-empty svg{ color:var(--teal); flex:none; margin-top:2px; }
/* production COA-policy card (shown on PDP in place of the per-lot fixture card) */
.veriphase .vp-coa-card.pdp.vp-coa-card--pending{ border-color:var(--line); }
.vp-coa-pending{ margin:0; font-size:13px; line-height:1.55; color:var(--ink-2); }
/* soft-launch: catalogue visible, ordering not open ("sold-out"/enquire mode) — the launch status now
   lives in the utility bar (.vp-u-flag); per-PDP enquire styling below */
.vp-pdp-enquire{ margin:2px 0; }
.vp-pdp-enquire .vp-btn{ width:100%; justify-content:center; }
.vp-pdp-enquire-note{ margin:8px 0 0; font-size:12.5px; color:var(--ink-3); line-height:1.5; }

/* ===== Learn grid ===== */
.vp-learn-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:6px; }
.vp-learn-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:24px; color:var(--ink); transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s ease; display:flex; flex-direction:column; }
.vp-learn-card:hover{ border-color:var(--teal); box-shadow:var(--shadow-md); transform:translateY(-4px); }
.vp-learn-card:hover .vp-learn-ic{ background:var(--teal); color:#fff; }
.vp-learn-ic{ transition:background .3s ease, color .3s ease; }
.vp-learn-ic{ width:44px; height:44px; border-radius:11px; background:var(--teal-tint); color:var(--teal-deep); display:grid; place-items:center; margin-bottom:14px; }
.vp-learn-meta{ margin:0 0 8px; font-family:var(--mono); font-size:10px; color:var(--ink-3); }
.vp-learn-card h2{ font-size:18px; margin:0 0 8px; }
.vp-learn-card p{ font-size:14.5px; color:var(--ink-2); line-height:1.55; margin:0 0 16px; flex:1; }
.vp-learn-read{ font-family:var(--mono); font-size:12px; font-weight:600; color:var(--teal-deep); }
.vp-learn-empty{ margin:24px 0 0; color:var(--ink-2); }

/* Research-library articles: unframed, answer-first editorial layout. */
.vp-article-main{ padding:58px 0 92px; }
.vp-article-head{ max-width:940px; }
.vp-article-crumb{ display:flex; gap:8px; margin:0 0 32px; font-family:var(--mono); font-size:11px; color:var(--ink-3); }
.vp-article-crumb a{ color:var(--teal-deep); }
.vp-article-head h1{ max-width:880px; margin:10px 0 18px; font-size:clamp(38px,5.5vw,68px); line-height:1.02; }
.vp-article-standfirst{ max-width:760px; margin:0; font-size:20px; line-height:1.55; color:var(--ink-2); }
.vp-article-meta{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:24px; font-family:var(--mono); font-size:11px; color:var(--ink-3); }
.vp-article-meta span+span::before{ content:""; display:inline-block; width:4px; height:4px; margin:0 12px 2px 0; border-radius:50%; background:var(--teal); }
.vp-article-rule{ height:1px; margin:46px 0; background:var(--line); }
.vp-article-body{ display:grid; grid-template-columns:minmax(0,720px) minmax(220px,300px); gap:72px; align-items:start; }
.vp-article-content{ font-size:17px; line-height:1.72; color:var(--ink-2); }
.vp-article-content>p:first-of-type{ font-size:18px; color:var(--ink); }
.vp-article-content h2{ margin:42px 0 12px; font-size:28px; line-height:1.2; color:var(--ink); }
.vp-article-content h3{ margin:30px 0 10px; font-size:21px; color:var(--ink); }
.vp-article-content ul,.vp-article-content ol{ margin:12px 0 24px; }
.vp-article-content a{ color:var(--teal-deep); text-decoration:underline; text-underline-offset:3px; }
.vp-article-context{ position:sticky; top:110px; padding-left:22px; border-left:3px solid var(--teal); }
.vp-article-context h2{ margin:0 0 10px; font-size:18px; }
.vp-article-context p{ margin:0 0 14px; font-size:13.5px; line-height:1.6; color:var(--ink-2); }
.vp-article-context a{ font-family:var(--mono); font-size:11.5px; font-weight:600; color:var(--teal-deep); }
.vp-article-nav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:68px; padding-top:28px; border-top:1px solid var(--line); }
.vp-article-nav a{ display:grid; gap:5px; color:var(--ink); }
.vp-article-nav a:last-child{ text-align:right; }
.vp-article-nav span{ font-family:var(--mono); font-size:10px; color:var(--ink-3); text-transform:uppercase; }
.vp-article-nav strong{ font-size:15px; }
.vp-article-actions{ display:flex; gap:10px; margin-top:38px; }

/* ===== Quality page ===== */
.vp-q-h2{ font-size:clamp(22px,2.6vw,28px); margin:40px 0 18px; }
.vp-q-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.vp-q-step{ position:relative; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:22px 20px; }
.vp-q-stepnum{ position:absolute; top:18px; right:18px; font-family:var(--mono); font-size:12px; font-weight:600; color:var(--ink-3); }
.vp-q-ic{ width:44px; height:44px; border-radius:11px; background:var(--teal-tint); color:var(--teal-deep); display:grid; place-items:center; margin-bottom:14px; }
.vp-q-step h3{ font-size:16.5px; margin:0 0 8px; }
.vp-q-step p{ font-size:13.5px; color:var(--ink-2); margin:0; line-height:1.55; }
.vp-q-tests{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:4px; }
.vp-q-test{ background:var(--paper-2); border:1px solid var(--line); border-left:3px solid var(--teal); border-radius:10px; padding:15px 18px; }
.vp-q-test .k{ font-family:var(--mono); font-size:13px; font-weight:600; color:var(--ink); }
.vp-q-test .d{ font-size:13px; color:var(--ink-2); margin-top:4px; line-height:1.5; }
.vp-q-status{ display:flex; gap:14px; align-items:flex-start; background:var(--ink-surface); color:var(--on-ink-soft); border-radius:var(--radius); padding:22px 24px; margin:26px 0 0; }
.vp-q-status svg{ color:var(--teal-bright); flex:none; margin-top:2px; }
.vp-q-status h3{ color:#fff; font-size:17px; margin:0 0 6px; }
.vp-q-status p{ color:#9fc4be; font-size:14px; margin:0; line-height:1.6; }
.vp-q-status a{ color:#5fe6d8; }
.vp-q-ruo{ display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--ink-3); margin:22px 0 0; }
.vp-q-ruo svg{ color:var(--ochre); flex:none; margin-top:2px; } .vp-q-ruo b{ color:var(--ink-2); }
@media(max-width:900px){ .vp-q-steps{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .vp-q-steps,.vp-q-tests{ grid-template-columns:1fr; } }

/* ===== Tools / calculator ===== */
.vp-tools-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.vp-calc{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:24px; display:flex; flex-direction:column; gap:16px; }
.vp-calc label{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; font-weight:600; color:var(--ink); }
.vp-calc label span{ font-weight:400; color:var(--ink-3); font-family:var(--mono); font-size:11.5px; }
.vp-calc input{ font-family:var(--mono); font-size:16px; padding:11px 14px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); }
.vp-calc input:focus{ outline:2px solid var(--teal); outline-offset:1px; }
.vp-calc-result{ background:var(--ink-surface); color:var(--on-ink-soft); border-radius:var(--radius); padding:24px; }
.vp-calc-eyebrow{ font-size:10.5px; letter-spacing:.14em; color:#74a8a2; margin-bottom:14px; }
.vp-calc-row{ display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:14px; color:#9fc4be; }
.vp-calc-row b{ font-family:var(--mono); font-size:18px; color:#fff; }
.vp-calc-row.hl b{ color:var(--teal-bright); }
.vp-calc-row .muted{ color:#74a8a2; }
.vp-calc-note{ display:flex; gap:8px; align-items:flex-start; font-size:11.5px; color:#8fb9b4; margin:16px 0 0; }
.vp-calc-note svg{ color:var(--teal-bright); flex:none; margin-top:1px; }
.vp-tools-guide{ max-width:100%; }
.vp-tools-guide span:first-child{ min-width:0; }
.vp-tools-guide span[aria-hidden="true"]{ flex:none; }

/* ===== Contact page ===== */
.vp-contact-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:24px; align-items:start; }
.vp-contact-sku{ display:inline-flex; align-items:center; gap:8px; background:var(--teal-tint); color:var(--teal-deep); border:1px solid var(--teal); border-radius:100px; padding:8px 16px; font-size:13px; margin-bottom:14px; }
.vp-contact-sku b{ color:var(--ink); font-size:12.5px; letter-spacing:.04em; }
.vp-contact-card{ background:var(--paper-2); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-md); }
.vp-contact-card h2{ color:var(--ink); font-size:24px; margin:14px 0 8px; }
.vp-contact-card p{ color:var(--ink-2); font-size:14.5px; line-height:1.6; margin:0 0 20px; max-width:620px; }
.vp-contact-card .vp-btn{ font-family:var(--mono); font-size:15px; }
.vp-contact-ic{ width:46px; height:46px; border-radius:8px; background:var(--teal-tint); color:var(--teal-deep); display:grid; place-items:center; }
.vp-support-form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.vp-support-form label:not(.vp-support-consent):not(.vp-lead-hp){ display:flex; flex-direction:column; gap:7px; color:var(--ink); font-size:13px; font-weight:600; }
.vp-support-form label small{ color:var(--ink-3); font-size:11px; font-weight:400; }
.vp-support-form input[type="text"],.vp-support-form input[type="email"],.vp-support-form select,.vp-support-form textarea{ width:100%; min-width:0; border:1px solid var(--line-2); border-radius:6px; background:var(--paper); color:var(--ink); font:inherit; font-weight:400; padding:11px 12px; transition:border-color .2s ease,box-shadow .2s ease; }
.vp-support-form textarea{ resize:vertical; min-height:150px; line-height:1.5; }
.vp-support-form input:focus-visible,.vp-support-form select:focus-visible,.vp-support-form textarea:focus-visible{ border-color:var(--teal); outline:2px solid color-mix(in srgb,var(--teal) 28%,transparent); outline-offset:1px; }
.vp-support-form [aria-invalid="true"]{ border-color:var(--danger); }
.vp-support-full{ grid-column:1/-1; }
.vp-support-consent{ display:flex; gap:10px; align-items:flex-start; color:var(--ink-2); font-size:12.5px; line-height:1.5; }
.vp-support-consent input{ margin-top:3px; flex:none; }
.vp-support-consent a{ color:var(--teal-deep); text-decoration:underline; text-underline-offset:2px; }
.vp-support-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.vp-support-actions span{ color:var(--ink-3); font-family:var(--mono); font-size:11.5px; overflow-wrap:anywhere; }
.vp-support-status{ min-height:1.5em; margin:0!important; font-size:13px!important; }
.vp-support-status:focus{ outline:2px solid var(--teal); outline-offset:4px; border-radius:3px; }
.vp-support-status.is-success{ color:var(--teal-deep)!important; }
.vp-support-status.is-error{ color:var(--danger)!important; }
.vp-support-status a{ color:inherit; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.vp-contact-side{ display:flex; flex-direction:column; gap:14px; }
.vp-contact-mini{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; transition:border-color .3s ease, box-shadow .4s var(--ease-out); }
.vp-contact-mini:hover{ border-color:var(--teal); box-shadow:var(--shadow); }
.vp-contact-mini h3{ font-size:15.5px; margin:0 0 5px; }
.vp-contact-mini p{ font-size:13px; color:var(--ink-2); line-height:1.55; margin:0 0 10px; }
.vp-contact-link{ font-family:var(--mono); font-size:12px; font-weight:600; color:var(--teal-deep); }
.vp-contact-entity{ display:grid; grid-template-columns:auto 1fr; gap:6px 16px; background:var(--paper-3); border:1px dashed var(--line-2); border-radius:var(--radius); padding:16px 20px; font-size:11.5px; }
.vp-contact-entity span{ color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em; font-size:10px; align-self:center; }
.vp-contact-entity b{ color:var(--ink); font-weight:600; overflow-wrap:anywhere; }
@media(max-width:900px){ .vp-contact-grid{ grid-template-columns:1fr; } }
@media(max-width:560px){ .vp-contact-card{ padding:22px; } .vp-support-form{ grid-template-columns:1fr; } .vp-support-full{ grid-column:1; } .vp-support-actions{ align-items:stretch; flex-direction:column; } .vp-support-actions .vp-btn{ width:100%; } }

/* ===== About page ===== */
.vp-about-lede{ font-size:18px; line-height:1.65; color:var(--ink-2); max-width:680px; margin:0 0 30px; }
.vp-about-lede p{ margin:0 0 14px; }
.vp-about-sections{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:0 0 8px; }
.vp-about-card{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:24px; transition:border-color .3s ease, box-shadow .4s var(--ease-out), transform .4s var(--ease-out); }
.vp-about-card:hover{ border-color:var(--teal); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.vp-about-card h2{ font-size:19px; margin:0 0 8px; }
.vp-about-card-body{ font-size:14px; color:var(--ink-2); line-height:1.6; }
.vp-about-card-body p{ margin:0 0 10px; } .vp-about-card-body p:last-child{ margin-bottom:0; }
.vp-about-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin:26px 0 0; }
.vp-about-facts > div{ padding:18px 20px; border-right:1px solid var(--line); }
.vp-about-facts > div:last-child{ border-right:none; }
.vp-about-facts .k{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:5px; }
.vp-about-facts .v{ font-family:var(--mono); font-size:13.5px; font-weight:600; color:var(--ink); }
@media(max-width:900px){ .vp-about-sections{ grid-template-columns:1fr; } .vp-about-facts{ grid-template-columns:1fr 1fr; } .vp-about-facts > div:nth-child(2){ border-right:none; } .vp-about-facts > div:nth-child(-n+2){ border-bottom:1px solid var(--line); } }

/* ===== FAQ accordion ===== */
.vp-faq-wrap{ max-width:840px; }
.vp-faq-list{ display:flex; flex-direction:column; gap:12px; }
.vp-faq-item{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:border-color .3s ease, box-shadow .4s var(--ease-out); }
.vp-faq-item:hover{ border-color:var(--teal); }
.vp-faq-item[open]{ border-color:var(--teal); box-shadow:var(--shadow-md); }
.vp-faq-item summary{ display:flex; align-items:center; gap:16px; padding:18px 22px; cursor:pointer; list-style:none; }
.vp-faq-item summary::-webkit-details-marker{ display:none; }
.vp-faq-num{ font-size:11px; font-weight:600; color:var(--teal-deep); background:var(--teal-tint); border-radius:7px; padding:5px 8px; flex:none; }
.vp-faq-item summary h2{ font-size:17px; margin:0; flex:1; line-height:1.3; }
.vp-faq-chev{ color:var(--ink-3); flex:none; transition:transform .35s var(--ease-out); display:grid; place-items:center; }
.vp-faq-item[open] .vp-faq-chev{ transform:rotate(180deg); color:var(--teal-deep); }
.vp-faq-a{ padding:0 22px 20px 66px; font-size:14.5px; color:var(--ink-2); line-height:1.65; }
.vp-faq-a p{ margin:0 0 10px; } .vp-faq-a p:last-child{ margin-bottom:0; }
@media(max-width:560px){ .vp-faq-a{ padding-left:22px; } .vp-faq-item summary h2{ font-size:15.5px; } }

/* ===== 404 ===== */
.vp-404{ text-align:center; max-width:640px; padding-top:30px; padding-bottom:20px; }
.vp-404 .vp-vault-intro{ margin-left:auto; margin-right:auto; }
.vp-404-code{ font-size:13px; font-weight:600; letter-spacing:.3em; color:var(--teal-deep); background:var(--teal-tint); display:inline-block; border-radius:100px; padding:7px 18px; margin-bottom:18px; }
.vp-404 h1{ font-size:clamp(30px,4.4vw,46px); margin:0 0 14px; }
.vp-404-search{ display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:100px; background:var(--paper-2); padding:6px 8px 6px 18px; max-width:480px; margin:22px auto; transition:border-color .2s ease, box-shadow .2s ease; }
.vp-404-search:focus-within{ border-color:var(--teal); box-shadow:var(--shadow); }
.vp-404-search svg{ color:var(--ink-3); flex:none; }
.vp-404-search input{ flex:1; min-width:0; border:none; background:transparent; font-family:var(--sans); font-size:15px; padding:10px 0; color:var(--ink); outline:none; }
.vp-404-search .vp-btn{ padding:11px 20px; flex:none; }
.vp-404-actions{ display:flex; gap:13px; flex-wrap:wrap; justify-content:center; }

/* ===== empty cart ===== */
.vp-cart-empty{ text-align:center; background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); padding:54px 28px; max-width:560px; margin:18px auto 30px; box-shadow:var(--shadow); }
.vp-cart-empty-ic{ width:58px; height:58px; border-radius:15px; background:var(--teal-tint); color:var(--teal-deep); display:grid; place-items:center; margin:0 auto 16px; }
.vp-cart-empty-ic svg{ display:block; }
.vp-cart-empty h2{ font-size:24px; margin:0 0 8px; }
.vp-cart-empty p{ font-size:14.5px; color:var(--ink-2); line-height:1.6; max-width:400px; margin:0 auto 20px; }
.veriphase .return-to-shop{ display:none; } /* replaced by the designed empty state's CTA */

/* responsive */
@media(max-width:1000px){
	.vp-commerce-hero-grid{ grid-template-columns:minmax(0,1fr) 290px; gap:30px; }
	.vp-commerce-copy h1{ font-size:50px; }
	.vp-commerce-product{ padding-left:28px; }
	.vp-commerce-product-visual{ min-height:360px; }
	.vp-commerce-product-visual img{ max-width:270px; max-height:350px; }
	.vp-commerce-proof>.vp-wrap{ grid-template-columns:220px minmax(0,1fr); gap:28px; }
  .vp-learn-grid{ grid-template-columns:repeat(2,1fr); }
	.vp-article-body{ grid-template-columns:1fr; gap:38px; }
	.vp-article-context{ position:static; max-width:680px; }
  .vp-tools-grid{ grid-template-columns:1fr; }
  .vp-vault-controls{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px){
	.vp-commerce-hero-grid{ grid-template-columns:1fr; min-height:0; padding-bottom:30px; }
	.vp-commerce-product{ grid-template-columns:minmax(220px,.7fr) minmax(0,1fr); grid-template-rows:auto 1fr; padding:24px 0 0; border-top:1px solid var(--line); border-left:0; }
	.vp-commerce-product-kicker{ grid-column:2; padding-left:28px; }
	.vp-commerce-product-visual{ grid-column:1; grid-row:1/3; min-height:300px; border-right:1px solid var(--line); border-bottom:0; }
	.vp-commerce-product-visual img{ max-height:295px; }
	.vp-commerce-product-meta{ grid-column:2; align-self:start; padding:18px 0 0 28px; }
	.vp-commerce-proof>.vp-wrap{ grid-template-columns:1fr; gap:16px; }
  /* responsive table → stacked cards with per-cell labels */
  .vp-vault-table thead{ display:none; }
  .vp-vault-table, .vp-vault-table tbody, .vp-vault-table tr, .vp-vault-table td{ display:block; width:100%; }
  .vp-vault-table{ border:none; background:transparent; }
  .vp-vault-table tr{ border:1px solid var(--line); border-radius:12px; background:var(--paper-2); margin-bottom:10px; padding:6px 12px; }
  .vp-vault-table td{ border:none; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:7px 4px; }
	.vp-vault-table td::before{ content:attr(data-label); font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); }
  .vp-vault-table td.c-prod{ font-size:15px; font-weight:600; padding-top:10px; }
  .vp-vault-table td.c-prod::before{ display:none; }
  .vp-vault-table .c-result span,.vp-vault-table .c-lab{ max-width:58%; text-align:right; }
}
@media(max-width:560px){
  .vp-vault-controls{ grid-template-columns:1fr; }
  .vp-vault-pills{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vp-vault-pills button{ width:100%; }
	.vp-article-main{ padding:38px 0 64px; }
	.vp-article-head h1{ font-size:38px; }
	.vp-article-standfirst{ font-size:17px; }
	.vp-article-meta{ display:grid; gap:5px; }
	.vp-article-meta span+span::before{ display:none; }
	.vp-article-rule{ margin:32px 0; }
	.vp-article-content{ font-size:16px; }
	.vp-article-nav{ grid-template-columns:1fr; gap:20px; }
	.vp-article-nav a:last-child{ text-align:left; }
	.vp-article-actions{ flex-direction:column; align-items:stretch; }
}
@media(max-width:1000px){
  .vp-hero .vp-wrap{ grid-template-columns:1fr; gap:36px; }
  .vp-proof .vp-wrap{ grid-template-columns:repeat(3,1fr); }
  .vp-proof .cell:nth-child(3){ border-right:none; }
  .vp-coa-strip{ grid-template-columns:repeat(2,1fr); }
  .vp-cats{ grid-template-columns:repeat(2,1fr); }
  .vp-why .grid{ grid-template-columns:1fr; }
  .vp-foot-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:680px){
  .vp-nav{ display:none; }
  .vp-burger{ display:grid; }
  .vp-header .vp-wrap{ height:64px; gap:12px; padding:0 18px; }
  .vp-logo{ gap:9px; font-size:19px; }
  .vp-logo svg{ width:28px; height:28px; }
  .vp-header .vp-icons{ gap:6px; }
  .vp-header .vp-coa-shortcut{ display:none; }
  .vp-icbtn{ width:36px; height:36px; border-radius:9px; }
  .vp-search-panel .vp-wrap{ height:auto; padding:14px 18px 18px; }
  .vp-global-search-field{ grid-template-columns:auto minmax(0,1fr); }
  .vp-global-search-field .vp-btn{ grid-column:1/-1; width:100%; }
  .vp-search-suggestions{ position:static; max-height:300px; overflow:auto; }
  .vp-search-suggestion{ grid-template-columns:38px minmax(0,1fr); }
  .vp-search-suggestion>em{ display:none; }
  .vp-utility .vp-u-right{ display:none; } /* mobile: keep only the launch status, centred */
  .vp-utility .vp-wrap{ justify-content:center; gap:8px; padding:6px 18px; }
  .vp-utility .vp-u-flag{ min-width:0; flex-wrap:wrap; justify-content:center; font-size:11px; text-align:center; line-height:1.4; }
  .vp-ruo-strip .vp-wrap{ gap:8px; }
  .vp-ruo-strip .vp-ruo-txt{ font-size:11.5px; }
  .vp-hero .vp-wrap{ gap:30px; padding-top:56px; padding-bottom:58px; }
  .vp-hero h1{ font-size:38px; line-height:1.08; letter-spacing:0; }
  .vp-hero .lede{ font-size:16.5px; line-height:1.62; }
  .vp-hero .microcopy{ align-items:flex-start; line-height:1.45; }
  .vp-proof .vp-wrap{ grid-template-columns:repeat(2,1fr); }
  .vp-coa-strip,.vp-cats{ grid-template-columns:1fr; }
  .vp-band{ padding:52px 0; }
	.vp-commerce-hero-grid{ gap:28px; padding-top:38px; padding-bottom:28px; }
	.vp-commerce-copy{ padding:0; }
	.vp-commerce-copy h1{ font-size:39px; line-height:1.05; }
	.vp-commerce-promise{ font-size:22px; }
	.vp-commerce-lede{ font-size:15.5px; }
	.vp-lotfirst-search>div{ grid-template-columns:auto minmax(0,1fr); }
	.vp-lotfirst-search .vp-btn{ grid-column:1/-1; width:100%; }
	.vp-commerce-product{ grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr) auto; padding-top:20px; }
	.vp-commerce-product-kicker{ grid-column:1; padding-left:0; }
	.vp-commerce-product-visual{ grid-column:1; grid-row:auto; min-height:310px; border-right:0; border-bottom:1px solid var(--line); }
	.vp-commerce-product-visual img{ max-width:240px; max-height:305px; }
	.vp-commerce-product-meta{ grid-column:1; padding:14px 0 0; }
	.vp-commerce-proof>.vp-wrap{ padding-top:24px; padding-bottom:24px; }
	.vp-commerce-proof ul{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
	.vp-commerce-proof li:nth-last-child(-n+3){ border-bottom:1px solid rgba(255,255,255,.09); }
	.vp-commerce-proof li:nth-last-child(-n+2){ border-bottom:0; }
	.vp-release-columns{ display:none; }
	.vp-release-row{ grid-template-columns:minmax(0,1fr) 28px; gap:9px 12px; padding:13px 15px; }
	.vp-release-result,.vp-release-lot{ grid-column:1; }
	.vp-release-open{ grid-column:2; grid-row:1/4; }
	.vp-release-board>footer{ align-items:flex-start; }
	.vp-release-process ol{ grid-template-columns:1fr; gap:24px; }
}
@media(max-width:420px){
  .vp-hero h1{ font-size:34px; }
  .vp-hero .cta-row{ flex-direction:column; align-items:stretch; }
  .vp-hero .vp-btn{ width:100%; }
	.vp-commerce-hero-grid{ gap:10px; padding-top:24px; padding-bottom:12px; }
	.vp-commerce-copy h1{ max-width:none; font-size:29px; }
	.vp-commerce-promise{ font-size:20px; line-height:1.15; }
	.vp-commerce-lede{ margin-bottom:16px; font-size:14.5px; line-height:1.52; }
	.vp-lotfirst-search>div{ grid-template-columns:minmax(0,1fr) 44px; }
	.vp-lotfirst-search>div>svg{ display:none; }
	.vp-lotfirst-search .vp-btn{ grid-column:auto; width:44px; min-width:44px; padding:0; }
	.vp-lotfirst-search .vp-btn .vp-home-search-label{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
	.vp-lotfirst-quick{ display:none; }
	.vp-commerce-product{ position:static; display:grid; grid-template-columns:46px minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; width:100%; padding:9px 0 10px; border-top:1px solid var(--line); border-left:0; }
	.vp-commerce-product-kicker{ display:block; grid-column:2; grid-row:1; align-self:end; justify-self:start; padding:0; }
	.vp-commerce-product-visual{ grid-column:1; grid-row:1/3; min-height:0; border:0; }
	.vp-commerce-product-visual img{ max-width:42px; max-height:76px; filter:drop-shadow(0 8px 10px rgba(8,33,36,.12)); }
	.vp-commerce-product-meta{ display:grid; grid-column:2; grid-row:2; align-self:start; grid-template-columns:minmax(0,1fr); gap:0; padding:2px 0 0; }
	.vp-commerce-product-meta>div strong{ font-size:16px; }
	.vp-commerce-product-meta>div span{ margin-top:2px; font-size:9px; }
	.vp-commerce-product-price,.vp-commerce-product-meta em{ display:none; }
	.vp-release-board>header,.vp-release-board>footer{ align-items:flex-start; flex-direction:column; }
}
@media(max-width:360px){
  .vp-header .vp-wrap{ gap:6px; padding:0 14px; }
  .vp-logo{ font-size:17px; }
  .vp-logo svg{ width:24px; height:24px; }
  .vp-header .vp-icons{ gap:2px; }
  .vp-icbtn{ width:36px; height:36px; }
	.vp-commerce-proof ul{ gap:0 10px; }
	.vp-commerce-proof li{ font-size:11px; }
}
@media(max-width:420px) and (max-height:700px){
	.vp-ruo-strip .vp-ruo-txt,.vp-commerce-lede{ display:none; }
	.vp-ruo-strip .vp-wrap{ padding-top:5px; padding-bottom:5px; }
	.vp-commerce-hero-grid{ padding-top:18px; }
}

/* explicit dark theme overrides for hard-coded premium surfaces */
/* VP_SYSTEM_DARK_SOURCE_START */
:root[data-vp-theme="dark"] .veriphase .vp-header{ background:rgba(7,19,22,.84); box-shadow:0 1px 0 rgba(255,255,255,.07) inset, 0 12px 34px -22px rgba(0,0,0,.8); }
:root[data-vp-theme="dark"] .veriphase .vp-btn-ghost{ background:rgba(13,29,34,.72); border-color:var(--line-2); color:var(--ink); }
:root[data-vp-theme="dark"] .veriphase .vp-cat-card{ background:linear-gradient(180deg,var(--paper-2) 0%,#0A191D 100%); border-color:var(--line); }
:root[data-vp-theme="dark"] .veriphase .vp-cat-card:hover{ background:var(--paper-2); }
@supports (background:color-mix(in srgb, #000 10%, #fff)){
  :root[data-vp-theme="dark"] .veriphase .vp-cat-card[style*="--accent"]:hover .vp-cat-ic{ background:color-mix(in srgb, var(--accent) 24%, var(--paper-2)); }
}
:root[data-vp-theme="dark"] .veriphase .vp-foot-ruo p,
:root[data-vp-theme="dark"] .veriphase .vp-attest label,
:root[data-vp-theme="dark"] .veriphase.woocommerce .woocommerce-error{ color:#F0C892; }
:root[data-vp-theme="dark"] .veriphase .vp-foot-ruo{ border-color:#4B3520; }
:root[data-vp-theme="dark"] .veriphase .vp-pay span{ background:var(--paper-2); }
:root[data-vp-theme="dark"] .veriphase .vp-buybar:not([hidden]){ background:rgba(7,19,22,.92); box-shadow:0 -8px 24px -16px rgba(0,0,0,.85); }
/* elevated-dark separation: instrument panels lift off the near-black page with a teal hairline */
:root[data-vp-theme="dark"] .vp-specimen,
:root[data-vp-theme="dark"] .veriphase .vp-pdp-specimen,
:root[data-vp-theme="dark"] .vp-contact-card,
:root[data-vp-theme="dark"] .vp-q-status,
:root[data-vp-theme="dark"] .vp-calc-result,
:root[data-vp-theme="dark"] .veriphase ul.products li.product.vp-coa-guide{ border:1px solid var(--ink-line); }
/* VP_SYSTEM_DARK_SOURCE_END */

/* AUTO-GENERATED system-preference fallback from the marked explicit dark rules. */
@media (prefers-color-scheme:dark){
:root:not([data-vp-theme]) .veriphase .vp-header{ background:rgba(7,19,22,.84); box-shadow:0 1px 0 rgba(255,255,255,.07) inset, 0 12px 34px -22px rgba(0,0,0,.8); }
:root:not([data-vp-theme]) .veriphase .vp-btn-ghost{ background:rgba(13,29,34,.72); border-color:var(--line-2); color:var(--ink); }
:root:not([data-vp-theme]) .veriphase .vp-cat-card{ background:linear-gradient(180deg,var(--paper-2) 0%,#0A191D 100%); border-color:var(--line); }
:root:not([data-vp-theme]) .veriphase .vp-cat-card:hover{ background:var(--paper-2); }
@supports (background:color-mix(in srgb, #000 10%, #fff)){
  :root:not([data-vp-theme]) .veriphase .vp-cat-card[style*="--accent"]:hover .vp-cat-ic{ background:color-mix(in srgb, var(--accent) 24%, var(--paper-2)); }
}
:root:not([data-vp-theme]) .veriphase .vp-foot-ruo p,
:root:not([data-vp-theme]) .veriphase .vp-attest label,
:root:not([data-vp-theme]) .veriphase.woocommerce .woocommerce-error{ color:#F0C892; }
:root:not([data-vp-theme]) .veriphase .vp-foot-ruo{ border-color:#4B3520; }
:root:not([data-vp-theme]) .veriphase .vp-pay span{ background:var(--paper-2); }
:root:not([data-vp-theme]) .veriphase .vp-buybar:not([hidden]){ background:rgba(7,19,22,.92); box-shadow:0 -8px 24px -16px rgba(0,0,0,.85); }
/* elevated-dark separation: instrument panels lift off the near-black page with a teal hairline */
:root:not([data-vp-theme]) .vp-specimen,
:root:not([data-vp-theme]) .veriphase .vp-pdp-specimen,
:root:not([data-vp-theme]) .vp-contact-card,
:root:not([data-vp-theme]) .vp-q-status,
:root:not([data-vp-theme]) .vp-calc-result,
:root:not([data-vp-theme]) .veriphase ul.products li.product.vp-coa-guide{ border:1px solid var(--ink-line); }
}

/* Controls that cannot operate without JavaScript are not presented as inert affordances. */
.no-js .veriphase .vp-theme-toggle,
.no-js .veriphase .vp-search-toggle,
.no-js .veriphase .vp-burger{ display:none!important; }
@media(max-width:680px){
  .no-js .veriphase .vp-mnav{ display:block; }
}

@media (forced-colors:active){
  .vp-utility,.vp-commerce-proof,.vp-release-board,.vp-specimen,.vp-why,.vp-contact-card,
  .vp-q-status,.vp-calc-result,.veriphase .vp-card-data,.veriphase .vp-pdp-specimen,
  .veriphase .vp-coa-guide,.veriphase.woocommerce div.product .vp-coa-panel{
    background:Canvas!important; color:CanvasText!important;
    --on-ink:CanvasText!important; --on-ink-soft:CanvasText!important;
    --on-ink-mute:CanvasText!important; --on-ink-faint:CanvasText!important;
    --specimen-surface:Canvas!important; --specimen-surface-2:Canvas!important;
    --specimen-ink:CanvasText!important; --specimen-ink-soft:CanvasText!important;
    --specimen-ink-mute:CanvasText!important; --specimen-ink-faint:CanvasText!important;
    --specimen-accent:LinkText!important; --specimen-accent-strong:LinkText!important;
    --specimen-panel:Canvas!important; --specimen-chip:Canvas!important;
  }
  .vp-utility,.vp-header,.vp-ruo-strip,.vp-commerce-proof,.vp-release-board,.vp-specimen,.vp-why,
  .vp-card-data,.vp-contact-card,.vp-q-status,.vp-calc-result,.veriphase .vp-pdp-specimen,
  .veriphase .vp-coa-guide,.veriphase.woocommerce div.product .vp-coa-panel,
  .veriphase .vp-cat-card,.veriphase .vp-learn-card{ border-color:CanvasText; box-shadow:none; }
  :where(.vp-utility,.vp-commerce-proof,.vp-release-board,.vp-specimen,.vp-why,.vp-contact-card,
  .vp-q-status,.vp-calc-result,.veriphase .vp-card-data,.veriphase .vp-pdp-specimen,
  .veriphase .vp-coa-guide,.veriphase.woocommerce div.product .vp-coa-panel) :where(*){ color:CanvasText!important; }
  .vp-utility a,.vp-commerce-proof a,.vp-release-board a,.vp-specimen a,.vp-why a,.vp-contact-card a,
  .vp-q-status a,.vp-calc-result a,.veriphase .vp-card-data a,
  .veriphase .vp-pdp-specimen a,.veriphase .vp-coa-guide a,
  .veriphase.woocommerce div.product .vp-coa-panel a{ color:LinkText!important; }
  .vp-search-suggestion:hover,.vp-search-suggestion[aria-selected="true"]{
    background:Highlight!important; color:HighlightText!important;
    outline:2px solid HighlightText!important; outline-offset:-3px;
  }
  .vp-search-suggestion:hover :where(*),.vp-search-suggestion[aria-selected="true"] :where(*){ color:HighlightText!important; }
  .vp-cartcount{
    forced-color-adjust:none; background:Highlight!important; color:HighlightText!important;
    border:1px solid HighlightText!important;
  }
  .vp-lotbadge,.vp-faq-num{ background:Canvas!important; color:CanvasText!important; border:1px solid CanvasText; }
  .vp-vault-pills button.active{ border:1px solid ButtonText!important; }
  .vp-utility::before{ background:Highlight; }
  .vp-theme-toggle .vp-theme-moon,.vp-theme-toggle .vp-theme-sun{ color:ButtonText; }
}


/* SOURCE: assets/css/woocommerce.css */
/* VERIPHASE WooCommerce overrides — archive grid, product card, PDP, cart, checkout, account, notices */

/* hide default Storefront header/footer chrome if it ever renders (child owns its own) */
.veriphase .site-header{ display:none; }

/* breadcrumbs */
.veriphase.woocommerce{ --shop-muted:#4A5A60; }
.veriphase .vp-breadcrumb{ padding-top:22px; }
.veriphase .vp-breadcrumb ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-family:var(--mono); font-size:12px; color:var(--ink-3); }
.veriphase .vp-breadcrumb li{ display:flex; align-items:center; gap:8px; }
.veriphase .vp-breadcrumb li:not(:last-child)::after{ content:"/"; color:var(--ink-3); }
.veriphase .vp-breadcrumb a{ color:var(--ink-2); }
.veriphase .vp-breadcrumb a:hover{ color:var(--teal-deep); }
.veriphase .vp-breadcrumb li[aria-current]{ color:var(--ink); }

/* shop archive header + toolbar */
.veriphase.woocommerce .woocommerce-products-header{ padding-top:28px; }
.veriphase.woocommerce .woocommerce-products-header__title,
.veriphase.woocommerce .page-title{ font-size:clamp(32px,4vw,46px); margin:0; }
.veriphase.woocommerce .term-description,
.veriphase.woocommerce .woocommerce-products-header p{ color:var(--ink-2); max-width:640px; }
.veriphase.woocommerce .storefront-sorting{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 30px; }
.veriphase.woocommerce .storefront-sorting .woocommerce-notices-wrapper{ flex:0 0 100%; }
.veriphase.woocommerce .storefront-sorting .woocommerce-notices-wrapper:empty{ display:none; }
.veriphase.woocommerce .woocommerce-result-count{ float:none; font-family:var(--mono); font-size:12px; color:var(--shop-muted); margin:0; }
.veriphase.woocommerce .woocommerce-ordering{ float:none; position:relative; order:2; margin:0 0 0 auto; }
.veriphase.woocommerce .woocommerce-ordering select,
.veriphase.woocommerce .woocommerce-ordering .orderby{ min-height:38px; min-width:210px; font-family:var(--mono); font-size:12px; border:1px solid var(--line); border-radius:9px; padding:8px 34px 8px 12px; background:var(--paper-2); color:var(--ink); appearance:none; -webkit-appearance:none; box-shadow:var(--shadow-xs); }
.veriphase.woocommerce .woocommerce-ordering::after{ content:""; position:absolute; right:13px; top:50%; width:7px; height:7px; border-right:1.5px solid var(--shop-muted); border-bottom:1.5px solid var(--shop-muted); transform:translateY(-70%) rotate(45deg); pointer-events:none; }

/* category filter strip */
.vp-catfilter{ display:flex; gap:9px; flex-wrap:wrap; margin:18px 0 16px; }
.vp-catfilter a{ font-family:var(--mono); font-size:12px; padding:8px 14px; border:1px solid var(--line); border-radius:100px; color:var(--ink-2); background:var(--paper-2); transition:border-color .15s ease, color .15s ease, background .15s ease; }
.vp-catfilter a:hover{ border-color:var(--teal); color:var(--teal-deep); }
.vp-catfilter a.active{ background:var(--ink-surface); color:var(--on-ink); border-color:var(--ink-surface); }

/* product grid */
.veriphase ul.products{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:22px; row-gap:28px; margin:0 0 8px; }
.veriphase.woocommerce-shop ul.products{ margin-bottom:96px; }
.veriphase ul.products::before,
.veriphase ul.products::after{ display:none; }
.veriphase ul.products li.product{ width:auto!important; margin:0!important; float:none!important;
  background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); padding:0; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s ease; }
.veriphase ul.products li.product:hover{ border-color:var(--teal); box-shadow:var(--shadow-md); }
.veriphase ul.products li.product .vp-card-ph{ position:relative; background:radial-gradient(120% 90% at 50% 0%,#fff,var(--paper-3));
  border-bottom:1px solid var(--line); height:188px; display:grid; place-items:center; }
.veriphase ul.products li.product .vp-card-ph.has-image{ height:280px; }
.veriphase .vp-card-vial{ display:grid; place-items:center; filter:drop-shadow(0 14px 22px rgba(11,26,32,.12)); }
.veriphase ul.products li.product img{ margin:0; max-height:226px; width:auto; height:auto;
  filter:drop-shadow(0 16px 20px rgba(11,26,32,.16)); transition:transform .45s var(--ease-out); }
.veriphase ul.products li.product .vp-card-body{ padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.veriphase .vp-card-meta-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:28px; margin:-4px 0 8px; }
.veriphase .vp-card-cat{ min-width:0; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--shop-muted,var(--ink-2)); margin:0; }
.veriphase ul.products li.product h2,
.veriphase ul.products li.product .woocommerce-loop-product__title{ font-family:var(--serif); font-size:18px; line-height:1.13; font-weight:700; padding:0; margin:0; color:var(--ink); }
.veriphase ul.products li.product a:hover .woocommerce-loop-product__title{ color:var(--teal-deep); }
.veriphase .vp-card-title-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:2.26em; margin:0 0 12px; }
.veriphase .vp-card-title-row>a{ min-width:0; text-decoration:none; }
.veriphase .vp-card-family{ display:flex; align-items:center; flex-wrap:nowrap; gap:5px; margin:0; }
.veriphase .vp-card-family a{ padding:4px 7px; border:1px solid var(--line); border-radius:5px; color:var(--ink-2); font-family:var(--mono); font-size:10.5px; }
.veriphase .vp-card-family a:hover{ border-color:var(--teal); color:var(--teal-deep); }
.veriphase .vp-card-family a.current{ border-color:var(--ink-surface); background:var(--ink-surface); color:var(--on-ink); }
.veriphase .vp-card-body>a{ text-decoration:none; }
.veriphase .vp-card-release{ display:grid; align-content:center; gap:3px; min-height:52px; margin:0 0 15px; padding:8px 10px; border-left:2px solid var(--line-2); background:var(--paper-3); }
.veriphase .vp-card-release strong{ display:inline-flex; align-items:center; gap:5px; color:var(--ink-2); font-family:var(--mono); font-size:10px; font-weight:700; }
.veriphase .vp-card-release strong svg{ flex:none; color:var(--ink-3); }
.veriphase .vp-card-release>span{ color:var(--ink-3); font-family:var(--mono); font-size:9px; line-height:1.4; overflow-wrap:anywhere; }
.veriphase .vp-card-release.is-available,.veriphase .vp-card-release.is-available_low{ border-left-color:var(--teal); background:var(--teal-tint); }
.veriphase .vp-card-release.is-available strong,.veriphase .vp-card-release.is-available_low strong,.veriphase .vp-card-release.is-available strong svg,.veriphase .vp-card-release.is-available_low strong svg{ color:var(--teal-deep); }
.veriphase .vp-card-release.is-available>span,.veriphase .vp-card-release.is-available_low>span{ color:var(--ink-2); }
.veriphase .vp-card-release.is-supply_paused{ border-left-color:var(--danger); }
.veriphase .vp-card-release.is-supply_paused strong,.veriphase .vp-card-release.is-supply_paused strong svg{ color:var(--danger); }
.veriphase .vp-card-foot{ margin-top:auto; }
.veriphase .vp-price-wrap{ display:flex; align-items:baseline; gap:9px; margin-bottom:14px; flex-wrap:wrap; }
.veriphase ul.products li.product .price{ font-family:var(--mono); font-weight:600; font-size:19px; color:var(--ink); margin:0; }
.veriphase .vp-permg{ font-family:var(--mono); font-size:11px; color:var(--shop-muted,var(--ink-2)); }
.veriphase .vp-card-stock{ margin-left:auto; font-family:var(--mono); font-size:10.5px; font-weight:600; color:var(--teal-deep); }
.veriphase .vp-card-coa{ position:absolute; top:12px; right:12px; font-family:var(--mono); font-size:10px; color:var(--teal-deep); background:var(--teal-tint); padding:4px 7px; border-radius:6px; display:flex; gap:4px; align-items:center; font-weight:600; }
.veriphase .vp-card-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.veriphase ul.products li.product .vp-card-actions a.button,
.veriphase ul.products li.product .vp-card-actions a.added_to_cart{ flex:1 1 112px; min-width:112px; white-space:nowrap; text-align:center; margin:0; border-radius:100px!important;
  background:rgba(255,255,255,.72)!important; color:var(--ink)!important; font-size:13px!important; font-weight:650!important; padding:10px 14px!important; border:1px solid var(--line-2)!important; box-shadow:none!important; }
.veriphase ul.products li.product .vp-card-actions a.button:hover,
.veriphase ul.products li.product .vp-card-actions a.added_to_cart:hover{ background:var(--ink-surface)!important; border-color:var(--ink-surface)!important; color:var(--on-ink)!important; }
.veriphase .vp-compare-toggle{ flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; min-height:28px; margin:0; color:var(--ink-3); font-family:var(--mono); font-size:10.5px; cursor:pointer; }
.veriphase .vp-compare-toggle input{ width:16px; height:16px; margin:0; accent-color:var(--teal); }
.veriphase .vp-compare-toggle:has(input:checked){ color:var(--teal-deep); font-weight:600; }
.veriphase .vp-compare-toggle:has(input:disabled){ opacity:.45; cursor:not-allowed; }

@media (prefers-reduced-motion: no-preference){
  .veriphase ul.products li.product:hover{ transform:translateY(-3px); }
  .veriphase ul.products li.product:hover .vp-card-ph.has-image img{ transform:scale(1.02); }
}
@media (prefers-reduced-motion: reduce){
  .veriphase ul.products li.product,
  .veriphase ul.products li.product img{ transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
}

/* programmatic per-SKU data card — molecular identity instead of an identical vial (no photo case) */
.veriphase .vp-card-data{ position:absolute; inset:0; display:flex; flex-direction:column; padding:15px 17px; overflow:hidden; text-align:left; background:linear-gradient(157deg,var(--ink-surface-2) 0%,var(--ink-surface) 72%); }
.veriphase .vp-card-data::before{ content:""; position:absolute; inset:0; background:radial-gradient(72% 60% at 86% 6%, rgba(19,182,168,.18), transparent 62%); }
@supports (background:color-mix(in srgb, #000 10%, transparent)){
  .veriphase .vp-card-data::before{ background:radial-gradient(72% 60% at 86% 6%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 62%); }
}
.veriphase .vp-card-data > *{ position:relative; z-index:1; }
.veriphase .vp-card-data .dc-cat{ font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.veriphase .vp-card-data .dc-id{ margin-top:auto; }
.veriphase .vp-card-data .dc-formula{ display:block; font-family:var(--mono); font-size:17px; font-weight:600; color:#fff; letter-spacing:.01em; line-height:1.25; overflow-wrap:anywhere; }
.veriphase .vp-card-data .dc-mw{ display:block; font-family:var(--mono); font-size:11px; color:#8fb9b4; margin-top:4px; }
.veriphase .vp-card-data .dc-mw .u{ color:#5d837e; }
.veriphase .vp-card-data .dc-seq{ display:block; font-family:var(--mono); font-size:12px; color:var(--on-ink-soft); line-height:1.45; overflow-wrap:anywhere; }
.veriphase .vp-card-data .dc-formula{ transition:text-shadow .4s var(--ease-out); }
.veriphase .vp-card-data .dc-motif{ margin:8px -17px -15px; height:40px; opacity:.5; transition:opacity .45s var(--ease-out); }
.veriphase .vp-card-data .dc-motif svg{ width:100%; height:100%; display:block; }
/* hover: the molecular identity comes alive */
.veriphase ul.products li.product:hover .vp-card-data .dc-motif{ opacity:.9; }
.veriphase ul.products li.product:hover .vp-card-data .dc-formula{ text-shadow:0 0 24px rgba(19,182,168,.36); }
@supports (text-shadow:0 0 1px color-mix(in srgb, #000 10%, transparent)){
  .veriphase ul.products li.product:hover .vp-card-data .dc-formula{ text-shadow:0 0 24px color-mix(in srgb, var(--accent) 60%, transparent); }
}
/* keep the COA badge above the dark data-card fallback */
.veriphase .vp-card-coa{ z-index:2; }

/* two-cell educational module used only when the 4-column shop grid ends with two empty cells */
.veriphase ul.products li.product.vp-coa-guide{ grid-column:span 2; padding:24px; justify-content:space-between; min-height:100%;
  background:linear-gradient(157deg,var(--ink-surface-2) 0%,var(--ink-surface) 72%); color:var(--on-ink-soft); border-color:rgba(10,107,99,.45); box-shadow:var(--shadow); position:relative; }
.veriphase ul.products li.product.vp-coa-guide::before{ content:""; position:absolute; inset:0; background:radial-gradient(62% 72% at 82% 8%, rgba(19,182,168,.18), transparent 62%); pointer-events:none; }
.veriphase ul.products li.product.vp-coa-guide > *{ position:relative; z-index:1; }
.veriphase .vp-coa-guide-k{ display:inline-flex; margin-bottom:12px; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:#7fd8cf; }
.veriphase ul.products li.product.vp-coa-guide h2{ color:#fff; font-size:24px; line-height:1.05; margin:0 0 8px; min-height:0; }
.veriphase .vp-coa-guide p{ max-width:460px; margin:0; font-size:14px; line-height:1.55; color:#a9c9c4; }
.veriphase .vp-coa-guide-fragment{ display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:24px 0 20px; }
.veriphase .vp-coa-guide-fragment div{ border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.045); padding:11px 12px; }
.veriphase .vp-coa-guide-fragment span{ display:block; font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:#74a8a2; margin-bottom:4px; }
.veriphase .vp-coa-guide-fragment b{ display:block; font-family:var(--mono); font-size:13px; color:#fff; font-weight:650; overflow-wrap:anywhere; }
.veriphase .vp-coa-guide-link{ align-self:flex-start; display:inline-flex; align-items:center; min-height:36px; font-family:var(--mono); font-size:12px; font-weight:700; color:#7fd8cf; }
.veriphase .vp-coa-guide-link:hover{ color:#fff; }

/* PDP */
.veriphase.woocommerce div.product .product_title{ font-family:var(--serif); font-size:clamp(30px,4vw,44px); }
.veriphase.woocommerce div.product p.price,
.veriphase.woocommerce div.product span.price{ font-family:var(--mono); color:var(--ink); }
.veriphase.woocommerce div.product .vp-coa-panel{ background:var(--ink-surface); color:var(--on-ink-soft); border-radius:12px; padding:16px 18px; margin:14px 0; }
.veriphase .vp-coa-panel .k{ font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#8fb9b4; }
.veriphase .vp-coa-panel .v{ font-family:var(--mono); font-size:18px; color:#fff; font-weight:600; }
.veriphase .vp-coa-panel .verify{ display:inline-block; margin-top:8px; font-family:var(--mono); font-size:12px; color:#5fe6d8; border-bottom:1px solid rgba(95,230,216,.4); }
.veriphase.woocommerce div.product .single_add_to_cart_button{ border-radius:100px!important; padding:14px 26px!important; }
.veriphase .vp-moldata{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper-2); margin:16px 0; }
.veriphase .vp-moldata .mrow{ display:flex; justify-content:space-between; gap:18px; padding:12px 16px; border-bottom:1px solid var(--line); font-size:13px; transition:background .2s ease; }
.veriphase .vp-moldata .mrow:last-child{ border-bottom:none; }
.veriphase .vp-moldata .mrow:hover{ background:var(--paper-3); }
.veriphase .vp-moldata .mk{ color:var(--ink-2); font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; align-self:center; }
.veriphase .vp-moldata .mv{ font-family:var(--mono); font-weight:600; color:var(--ink); text-align:right; }
.veriphase .vp-vialnote{ display:flex; gap:11px; border:1px dashed var(--line-2); border-radius:11px; padding:13px 15px; margin:14px 0; background:var(--paper-2); }
.veriphase .vp-vialnote svg{ color:var(--blue); flex:none; margin-top:2px; } .veriphase .vp-vialnote p{ font-size:12.5px; color:var(--ink-2); margin:0; }

/* ===== bespoke PDP ===== */
.veriphase.woocommerce div.product.vp-pdp{ display:block; }
.veriphase .vp-pdp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; margin:8px 0 12px; }
.veriphase .vp-pdp-media{ position:sticky; top:92px; }
.veriphase .vp-pdp-specimen{ background:linear-gradient(165deg,var(--specimen-surface-2) 0%,var(--specimen-surface) var(--specimen-gradient-stop)); border:1px solid var(--specimen-line); border-radius:var(--radius-lg); padding:26px; color:var(--specimen-ink-soft); box-shadow:var(--specimen-shadow); position:relative; overflow:hidden; }
.veriphase .vp-pdp-specimen::before{ content:""; position:absolute; inset:0; background:radial-gradient(82% 60% at 82% 4%,var(--specimen-bloom),transparent 58%); }
.veriphase .vp-pdp-specimen::after{ content:""; position:absolute; inset:11px; border:1px solid var(--specimen-line); border-radius:14px; pointer-events:none; z-index:2; }
.veriphase .vp-pdp-specimen-top{ display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; }
.veriphase .vp-pdp-specimen-top .lot{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--specimen-accent); }
.veriphase .vp-pdp-specimen-top .verified{ font-family:var(--mono); font-size:10.5px; background:var(--specimen-chip); color:var(--specimen-accent-strong); padding:5px 9px; border-radius:6px; display:inline-flex; gap:6px; align-items:center; font-weight:600; }
.veriphase .vp-pdp-vial{ position:relative; z-index:1; display:grid; place-items:center; min-height:430px; padding:28px 0 20px; }
.veriphase .vp-pdp-vial.has-image::before{ content:""; position:absolute; left:50%; bottom:19px; width:min(58%,220px); height:22px; border-radius:50%; background:var(--specimen-contact-shadow); filter:blur(11px); transform:translateX(-50%); }
.veriphase .vp-pdp-vial img{ position:relative; z-index:1; max-height:380px; width:auto; filter:var(--specimen-vial-shadow); }
/* molecular-identity specimen (factual chemistry shown in place of a stock vial) */
.veriphase .vp-pdp-identity{ position:relative; z-index:1; text-align:center; padding:10px 4px; width:100%; }
.veriphase .vp-pdp-formula{ font-family:var(--mono); font-size:clamp(22px,3.2vw,30px); font-weight:600; color:var(--specimen-ink); letter-spacing:.01em; overflow-wrap:anywhere; line-height:1.2; }
.veriphase .vp-pdp-mw{ font-family:var(--mono); font-size:13px; color:var(--specimen-ink-mute); margin-top:7px; }
.veriphase .vp-pdp-mw span{ color:var(--specimen-ink-faint); }
.veriphase .vp-pdp-idseq{ font-family:var(--mono); font-size:12px; color:var(--specimen-ink-soft); margin-top:16px; overflow-wrap:anywhere; line-height:1.5; }
.veriphase .vp-pdp-idseq .k{ display:block; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--specimen-ink-mute); margin-bottom:5px; }
.veriphase .vp-pdp-chromo{ position:relative; z-index:1; background:var(--specimen-panel); border:1px solid var(--specimen-line); border-radius:11px; padding:12px 14px; }
.veriphase .vp-pdp-chromo svg{ display:block; width:100%; height:96px; }
.veriphase .vp-pdp-chromo .cap{ font-family:var(--mono); font-size:10px; color:var(--specimen-ink-mute); margin-top:6px; text-align:center; }

.veriphase .vp-pdp-summary{ float:none!important; width:auto!important; margin:0!important; }
.veriphase .vp-pdp-summary .vp-card-cat a{ color:var(--ink-3); }
.veriphase.woocommerce div.product.vp-pdp .product_title{ margin:4px 0 12px; }
.veriphase .vp-pdp-aliases{ margin:-4px 0 13px; color:var(--ink-2); font-size:13px; }
.veriphase .vp-pdp-aliases span{ margin-right:5px; color:var(--ink-3); font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.07em; }
.veriphase .vp-pdp-pricerow{ display:flex; align-items:baseline; gap:11px; margin-bottom:16px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.veriphase.woocommerce div.product.vp-pdp .vp-pdp-pricerow .price{ font-family:var(--mono); font-size:30px; font-weight:600; color:var(--ink); margin:0; }
.veriphase .vp-pdp-lede{ font-size:16px; line-height:1.6; color:var(--ink-2); margin-bottom:18px; }
.veriphase .vp-pdp-lede p{ margin:0 0 10px; }

/* PDP COA card (light, prominent) */
.veriphase .vp-coa-card.pdp{ background:var(--paper-2); border:1px solid var(--teal); border-radius:var(--radius); padding:18px; margin:0 0 20px; }
.veriphase .vp-coa-card.pdp:hover{ transform:none; box-shadow:none; }
.veriphase .vp-coa-card.pdp .top{ margin-bottom:14px; }
.veriphase .vp-coa-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.veriphase .vp-coa-grid .ck{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); }
.veriphase .vp-coa-grid .cv{ font-family:var(--mono); font-size:18px; font-weight:600; color:var(--ink); margin-top:3px; }
.veriphase .vp-coa-verify{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--teal-deep); border-top:1px dashed var(--line); padding-top:14px; width:100%; }
.veriphase .vp-coa-verify svg{ color:var(--teal); }

/* add-to-cart form — qty stepper (rectangular instrument input) inline with a tall solid CTA */
.veriphase.woocommerce div.product.vp-pdp form.cart{ display:flex; gap:10px; align-items:stretch; margin:14px 0 4px; }
.veriphase.woocommerce div.product.vp-pdp form.cart .quantity{ flex:none; }
.veriphase.woocommerce div.product.vp-pdp form.cart .quantity input.qty{ width:88px; height:54px; border:1px solid var(--line-2); border-radius:10px; text-align:center; font-family:var(--mono); font-size:16px; font-weight:600; background:var(--paper-2); color:var(--ink); }
.veriphase.woocommerce div.product.vp-pdp .single_add_to_cart_button{ flex:1; min-height:54px; font-size:16px!important; border-radius:12px!important; background:var(--ink-surface)!important; color:var(--on-ink)!important; border:none!important; box-shadow:var(--shadow-xs); }
.veriphase.woocommerce div.product.vp-pdp .single_add_to_cart_button:hover{ background:var(--ink-surface)!important; color:var(--on-ink)!important; box-shadow:var(--glow-teal); transform:translateY(-1px); }
.veriphase.woocommerce div.product.vp-pdp form.cart[aria-busy="true"] .single_add_to_cart_button{ cursor:wait; opacity:.76; transform:none; }
.veriphase.woocommerce div.product.vp-pdp .single_add_to_cart_button.is-added{ background:var(--ink-surface)!important; color:var(--on-ink)!important; box-shadow:var(--glow-teal); }
.veriphase .vp-cart-feedback{ min-height:21px; display:flex; align-items:center; gap:9px; margin:5px 0 8px; color:var(--teal-deep); font-family:var(--mono); font-size:11.5px; }
.veriphase .vp-cart-feedback:empty{ visibility:hidden; }
.veriphase .vp-cart-feedback.is-error{ color:var(--danger); }
.veriphase .vp-cart-feedback a{ color:inherit; font-weight:600; text-decoration:underline; text-underline-offset:.16em; }

/* trust row */
.veriphase .vp-pdp-trust{ display:flex; flex-wrap:wrap; gap:8px 20px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:16px; }
.veriphase .vp-pdp-trust span{ display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--ink-2); }
.veriphase .vp-pdp-trust svg{ color:var(--teal); }
.veriphase .vp-pdp-ruo{ display:flex; gap:8px; align-items:flex-start; font-size:12px; color:var(--ink-3); margin:14px 0 0; }
.veriphase .vp-pdp-ruo svg{ color:var(--ochre); flex:none; margin-top:1px; } .veriphase .vp-pdp-ruo b{ color:var(--ink-2); }

/* detail + tabs */
.veriphase .vp-pdp-detail{ margin:30px 0 8px; }
.veriphase .vp-pdp-h2{ font-size:22px; margin:0 0 14px; }
.veriphase .vp-pdp-tabs{ margin-top:28px; }
.veriphase .vp-buybox{ scroll-margin-top:112px; }
.veriphase .vp-reference-record{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid var(--line); }
.veriphase .vp-reference-record>div{ display:grid; grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr); gap:16px; padding:12px 14px; border-bottom:1px solid var(--line); }
.veriphase .vp-reference-record>div:nth-child(odd){ padding-left:0; border-right:1px solid var(--line); }
.veriphase .vp-reference-record dt{ color:var(--ink-3); font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; }
.veriphase .vp-reference-record dd{ margin:0; color:var(--ink); font-family:var(--mono); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.veriphase .vp-composition-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
.veriphase .vp-composition-wrap:focus-visible{ outline:3px solid var(--teal); outline-offset:3px; }
.veriphase .vp-composition-table{ width:100%; min-width:620px; margin:0; border-collapse:collapse; }
.veriphase .vp-composition-table th,.veriphase .vp-composition-table td{ padding:12px 14px; border-bottom:1px solid var(--line); background-color:var(--paper-2)!important; text-align:left; }
.veriphase .vp-composition-table thead th{ background-color:var(--paper-3)!important; color:var(--ink-3); font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; }
.veriphase .vp-composition-table tbody th{ color:var(--ink); font-size:13px; }
.veriphase .vp-composition-table tbody td{ color:var(--ink-2); font-family:var(--mono); font-size:11.5px; }
.veriphase .vp-composition-table td:last-child,.veriphase .vp-composition-table tfoot td{ text-align:right; color:var(--teal-deep); font-family:var(--mono); font-weight:650; white-space:nowrap; }
.veriphase .vp-composition-table tfoot th,.veriphase .vp-composition-table tfoot td{ padding:11px 14px; border:0; background-color:var(--paper-3)!important; font-size:11px; }
.veriphase .vp-pdp-detailwrap .related{ margin-top:38px; }
.veriphase .vp-pdp-detailwrap .related>h2{ margin:0 0 16px; font-size:22px; }
.veriphase .vp-product-reviews{ margin:40px 0 8px; padding:30px 0 0; border-top:1px solid var(--line); }
.veriphase .vp-review-head{ display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:20px; }
.veriphase .vp-review-head h2{ margin:4px 0 0; font-size:22px; }
.veriphase .vp-review-summary{ display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:3px; color:var(--ink-2); }
.veriphase .vp-review-summary strong{ color:var(--ink); font-family:var(--mono); font-size:27px; }
.veriphase .vp-review-summary small{ grid-column:1/-1; color:var(--ink-3); font-size:11px; text-align:right; }
.veriphase .vp-review-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin:0; padding:0; list-style:none; }
.veriphase .vp-review-list>li{ min-width:0; padding:18px 0; border-top:1px solid var(--line); }
.veriphase .vp-review-meta{ display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.veriphase .vp-review-meta strong{ color:var(--ink); font-size:14px; }
.veriphase .vp-review-meta time{ color:var(--ink-3); font-family:var(--mono); font-size:10px; white-space:nowrap; }
.veriphase .vp-review-stars{ margin:6px 0; color:var(--teal-deep); letter-spacing:2px; }
.veriphase .vp-review-copy{ color:var(--ink-2); font-size:14px; line-height:1.6; }
.veriphase .vp-review-copy p{ margin:0 0 8px; }
.veriphase .vp-review-badge{ display:inline-flex; align-items:center; gap:5px; margin-top:8px; color:var(--teal-deep); font-family:var(--mono); font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; }
.veriphase .vp-review-badge.is-demo{ color:var(--ink-3); }
.veriphase .vp-product-reviews .comment-respond{ max-width:680px; margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.veriphase .vp-product-reviews .comment-reply-title{ margin:0 0 8px; font-size:18px; }
.veriphase .vp-product-reviews .comment-notes{ color:var(--ink-3); font-size:12px; }
.veriphase .vp-product-reviews .comment-form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.veriphase .vp-product-reviews .comment-form>*{ grid-column:1/-1; }
.veriphase .vp-product-reviews .comment-form-author,.veriphase .vp-product-reviews .comment-form-email{ grid-column:auto; }
.veriphase .vp-product-reviews label{ display:block; margin-bottom:5px; color:var(--ink-2); font-size:12px; font-weight:600; }
.veriphase .vp-product-reviews input,.veriphase .vp-product-reviews select,.veriphase .vp-product-reviews textarea{ width:100%; }
.veriphase .vp-product-reviews .form-submit{ margin:8px 0 0; }
.veriphase .star-rating{ color:var(--line-2); font-family:Arial,sans-serif!important; letter-spacing:2px; }
.veriphase .star-rating::before,.veriphase .star-rating span::before{ content:"\2605\2605\2605\2605\2605"!important; font-family:Arial,sans-serif!important; }
.veriphase .star-rating span{ color:var(--teal-deep); }

@media(max-width:900px){
  .veriphase .vp-pdp-grid{ grid-template-columns:1fr; gap:28px; }
  .veriphase .vp-pdp-media{ position:static; }
}
@media(max-width:620px){
  .veriphase .vp-reference-record{ grid-template-columns:1fr; }
  .veriphase .vp-reference-record>div:nth-child(n){ grid-template-columns:110px minmax(0,1fr); padding:11px 0; border-right:0; }
  .veriphase .vp-pdp-vial{ min-height:340px; }
  .veriphase .vp-pdp-vial img{ max-height:310px; }
  .veriphase .vp-review-head{ align-items:flex-start; }
  .veriphase .vp-review-list{ grid-template-columns:1fr; }
  .veriphase .vp-product-reviews .comment-form{ grid-template-columns:1fr; }
  .veriphase .vp-product-reviews .comment-form-author,.veriphase .vp-product-reviews .comment-form-email{ grid-column:1/-1; }
}

/* tabs */
.veriphase.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; }
.veriphase.woocommerce div.product .woocommerce-tabs ul.tabs li{ border-radius:8px 8px 0 0; background:var(--paper-3); border-color:var(--line); }
.veriphase.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:var(--paper-2); }
.veriphase.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:var(--mono); font-size:12.5px; color:var(--ink-2); text-transform:uppercase; letter-spacing:.04em; }

/* notices */
.veriphase.woocommerce .woocommerce-message,
.veriphase.woocommerce .woocommerce-info{ border-top-color:var(--teal); }
.veriphase.woocommerce .woocommerce-error{ border-top-color:var(--ochre); }

/* RUO attestation box (from plugin) */
.veriphase .vp-attest{ background:var(--ochre-tint); border:1px solid #ecd9bd; border-radius:12px; padding:14px 16px; margin:14px 0; }
.veriphase .vp-attest label{ font-size:13px; color:#5e4012; display:flex; gap:11px; align-items:flex-start; }
.veriphase .vp-attest input{ width:19px; height:19px; accent-color:var(--ochre); flex:none; margin-top:1px; }
.veriphase .vp-attest b{ color:var(--ochre); }

/* placeholder image → vial glyph */
.veriphase .vp-ph-img{ display:grid; place-items:center; background:radial-gradient(120% 90% at 50% 0%,#fff,var(--paper-3)); border:1px solid var(--line); border-radius:9px; padding:6px; }
.veriphase .vp-ph-img svg{ display:block; }

/* ===== cart / checkout / account polish ===== */
.veriphase.woocommerce table.shop_table{ border:1px solid var(--line); border-radius:var(--radius); border-collapse:separate; overflow:hidden; background:var(--paper-2); }
.veriphase.woocommerce table.shop_table th{ font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); padding:14px 16px; }
.veriphase.woocommerce table.shop_table td{ padding:16px; border-top:1px solid var(--line); vertical-align:middle; }
.veriphase.woocommerce table.cart img,
.veriphase.woocommerce .cart_item .product-thumbnail img{ width:54px; border-radius:8px; }
.veriphase.woocommerce .cart_item .product-name a{ font-weight:600; color:var(--ink); }
.veriphase.woocommerce .cart_item .product-name a:hover{ color:var(--teal-deep); }
.veriphase.woocommerce .cart_item .variation{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 5px; margin:7px 0 0; color:var(--ink-3); font-family:var(--mono); font-size:10px; }
.veriphase.woocommerce .cart_item .variation dt,.veriphase.woocommerce .cart_item .variation dd{ margin:0; }
.veriphase.woocommerce .cart_item .variation p{ margin:0; }
.veriphase.woocommerce td.product-price,
.veriphase.woocommerce td.product-subtotal,
.veriphase.woocommerce .cart-subtotal td, .veriphase.woocommerce .order-total td{ font-family:var(--mono); }
.veriphase.woocommerce .quantity input.qty{ border:1px solid var(--line); border-radius:8px; padding:8px; font-family:var(--mono); width:60px; text-align:center; }
.veriphase.woocommerce .cart-collaterals .cart_totals h2{ font-size:18px; margin-bottom:10px; }
.veriphase.woocommerce a.remove{ color:var(--ink-3)!important; border:1px solid var(--line); }
.veriphase.woocommerce a.remove:hover{ background:var(--paper-3)!important; color:var(--danger)!important; border-color:var(--danger); }
.veriphase.woocommerce .coupon .input-text{ border:1px solid var(--line); border-radius:100px; padding:10px 16px; }

/* Cart pages carry .woocommerce-page without Woo's .woocommerce body class. */
body.veriphase.page-template-default.woocommerce-cart .col-full{ max-width:var(--maxw); }
.veriphase.woocommerce-cart .woocommerce-cart-form,
.veriphase.woocommerce-cart .cart-collaterals{ min-width:0; }
.veriphase.woocommerce-cart .cart-collaterals{ display:grid; grid-template-columns:minmax(0,460px); justify-content:end; align-items:start; }
.veriphase.woocommerce-cart .cart-collaterals::before,
.veriphase.woocommerce-cart .cart-collaterals::after{ content:none; display:none; }
.veriphase.woocommerce-cart .cart-collaterals>.vp-checkout-expectations{ width:100%; margin:8px 0 16px; }
.veriphase.woocommerce-cart table.shop_table{ width:100%; border:1px solid var(--line); border-radius:var(--radius); border-collapse:separate; overflow:hidden; background:var(--paper-2); }
.veriphase.woocommerce-cart table.shop_table th{ padding:13px 12px; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.veriphase.woocommerce-cart table.shop_table td{ padding:14px 12px; border-top:1px solid var(--line); vertical-align:middle; }
.veriphase.woocommerce-cart table.cart{ table-layout:fixed; }
.veriphase.woocommerce-cart table.cart .product-remove{ width:52px; text-align:center; }
.veriphase.woocommerce-cart table.cart .product-thumbnail{ width:92px; text-align:center; }
.veriphase.woocommerce-cart table.cart .product-price{ width:112px; }
.veriphase.woocommerce-cart table.cart .product-quantity{ width:112px; }
.veriphase.woocommerce-cart table.cart .product-subtotal{ width:120px; }
.veriphase.woocommerce-cart .cart_item .product-thumbnail a{ display:flex; align-items:center; justify-content:center; }
.veriphase.woocommerce-cart .cart_item .product-thumbnail img.vp-cart-product-image{ display:block; width:64px; height:136px; max-width:100%; object-fit:contain; border-radius:0; }
.veriphase.woocommerce-cart .cart_item .product-name{ min-width:0; overflow-wrap:anywhere; }
.veriphase.woocommerce-cart .cart_item .product-name>a{ color:var(--ink); font-weight:600; line-height:1.35; }
.veriphase.woocommerce-cart .cart_item .product-name>a:hover{ color:var(--teal-deep); }
.veriphase.woocommerce-cart .cart_item .variation{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 5px; margin:7px 0 0; color:var(--ink-3); font-family:var(--mono); font-size:10px; }
.veriphase.woocommerce-cart .cart_item .variation dt,
.veriphase.woocommerce-cart .cart_item .variation dd,
.veriphase.woocommerce-cart .cart_item .variation p{ margin:0; }
.veriphase.woocommerce-cart td.product-price,
.veriphase.woocommerce-cart td.product-subtotal,
.veriphase.woocommerce-cart .cart-subtotal td,
.veriphase.woocommerce-cart .order-total td{ font-family:var(--mono); }
.veriphase.woocommerce-cart .quantity input.qty{ width:60px; padding:8px; border:1px solid var(--line); border-radius:8px; font-family:var(--mono); text-align:center; }
.veriphase.woocommerce-cart table.cart td.product-remove a.remove{ position:static; inset:auto; display:grid; width:36px; height:36px; margin:auto; padding:0; place-items:center; border:1px solid var(--line); border-radius:8px; background:var(--paper-2); color:var(--ink-3)!important; font-size:0; line-height:1; text-decoration:none; }
.veriphase.woocommerce-cart table.cart td.product-remove a.remove svg{ display:block; width:18px; height:18px; pointer-events:none; }
.veriphase.woocommerce-cart table.cart td.product-remove a.remove:hover,
.veriphase.woocommerce-cart table.cart td.product-remove a.remove:focus-visible{ border-color:var(--danger); background:var(--paper-3)!important; color:var(--danger)!important; }
.veriphase.woocommerce-cart table.cart td.actions{ padding:12px 14px; }
.veriphase.woocommerce-cart .cart-collaterals .cart_totals{ float:none; clear:none; width:100%; }
.veriphase.woocommerce-cart .cart-collaterals .cart_totals h2{ margin:10px 0; font-size:18px; }
.veriphase.woocommerce-cart .button,
.veriphase.woocommerce-cart button.button,
.veriphase.woocommerce-cart input.button,
.veriphase.woocommerce-cart a.checkout-button{ border-radius:100px!important; font-family:var(--sans); font-weight:600; }
.veriphase.woocommerce-cart .button{ border:1px solid var(--line)!important; background:var(--paper-2)!important; color:var(--ink)!important; }
.veriphase.woocommerce-cart .button:hover{ border-color:var(--ink)!important; background:var(--paper-3)!important; }
.veriphase.woocommerce-cart .checkout-button{ width:100%; padding:15px 28px!important; border:0!important; background:var(--ink-surface)!important; color:var(--on-ink)!important; font-size:16px!important; }
.veriphase.woocommerce-cart .checkout-button:hover{ background:var(--ink-surface)!important; color:var(--on-ink)!important; box-shadow:var(--glow-teal); transform:translateY(-1px); }

@media(min-width:1024px){
  .veriphase.woocommerce-cart .cart-collaterals{ grid-template-columns:minmax(0,520px) minmax(400px,460px); column-gap:clamp(48px,6vw,80px); justify-content:space-between; }
  .veriphase.woocommerce-cart .cart-collaterals>.vp-checkout-expectations{ grid-column:1; margin:0; }
  .veriphase.woocommerce-cart .cart-collaterals>.cart_totals{ grid-column:2; }
}

@media(max-width:767px){
  body.veriphase.page-template-default.woocommerce-cart .col-full{ padding:36px 18px 56px; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart{ display:block; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart thead{ display:none; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tbody{ display:block; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tr.cart_item{ position:relative; display:block; min-height:148px; padding:14px; border-top:1px solid var(--line); }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tr.cart_item:first-child{ border-top:0; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td{ display:block; width:auto; padding:6px 0; border:0; min-width:0; text-align:left; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before{ float:none; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-remove{ position:absolute; top:14px; left:14px; padding:0; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-thumbnail{ position:absolute; top:14px; left:62px; display:flex; width:64px; align-items:flex-start; justify-content:center; padding:0; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-name{ margin-left:124px; padding:0 0 8px; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-name::before{ content:none; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-price,
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-quantity,
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.product-subtotal{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin-left:124px; text-align:right; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart .cart_item .product-thumbnail img.vp-cart-product-image{ width:56px; height:120px; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart .cart_item .variation{ grid-template-columns:auto minmax(0,1fr); justify-content:start; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart a.remove{ margin:0; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart tbody>tr:not(.cart_item){ display:block; }
  .veriphase.woocommerce-cart table.shop_table_responsive.cart td.actions{ display:flex; width:100%; justify-content:flex-end; padding:12px 14px; }
  .veriphase.woocommerce-cart .cart-collaterals{ grid-template-columns:minmax(0,1fr); justify-content:stretch; }
  .veriphase.woocommerce-cart .cart-collaterals .cart_totals{ width:100%; }
}

/* buttons */
.veriphase.woocommerce .button,
.veriphase.woocommerce button.button,
.veriphase.woocommerce input.button,
.veriphase.woocommerce a.checkout-button,
.veriphase.woocommerce #place_order{ border-radius:100px!important; font-family:var(--sans); font-weight:600; }
.veriphase.woocommerce .checkout-button,
.veriphase.woocommerce #place_order{ background:var(--ink-surface)!important; color:var(--on-ink)!important; border:none!important; font-size:16px!important; padding:15px 28px!important; width:100%; }
.veriphase.woocommerce .checkout-button:hover,
.veriphase.woocommerce #place_order:hover{ background:var(--ink-surface)!important; color:var(--on-ink)!important; box-shadow:var(--glow-teal); transform:translateY(-1px); }
.veriphase.woocommerce .button.alt,
.veriphase.woocommerce button[name="update_cart"]{ background:var(--paper-3)!important; color:var(--ink)!important; border:1px solid var(--line)!important; }

/* checkout layout */
.veriphase.woocommerce-checkout .col2-set .col-1,
.veriphase.woocommerce-checkout .col2-set .col-2{ float:none; width:100%; }
.veriphase.woocommerce form .form-row label{ font-size:13px; font-weight:600; color:var(--ink-2); }
.veriphase .required{ color:var(--danger); font-weight:700; text-decoration:none; opacity:1; }
.veriphase button.show-password-input::after{
	content:""!important;
	display:block;
	width:18px;
	height:18px;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696C3.597 7.945 7.247 5.5 12 5.5s8.403 2.445 9.938 6.152a1 1 0 0 1 0 .696C20.403 16.055 16.753 18.5 12 18.5S3.597 16.055 2.062 12.348'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696C3.597 7.945 7.247 5.5 12 5.5s8.403 2.445 9.938 6.152a1 1 0 0 1 0 .696C20.403 16.055 16.753 18.5 12 18.5S3.597 16.055 2.062 12.348'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
	font-family:inherit!important;
}
.veriphase button.show-password-input.display-password::after{
	-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.8 10.8 0 0 1-1.444 2.49'/%3E%3Cpath d='M14.084 14.158a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E");
	mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.8 10.8 0 0 1-1.444 2.49'/%3E%3Cpath d='M14.084 14.158a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E");
}
.veriphase.woocommerce form .form-row input.input-text,
.veriphase.woocommerce form .form-row textarea,
.veriphase.woocommerce form .form-row .select2-container,
.veriphase.woocommerce form .form-row select{ border:1px solid var(--line); border-radius:9px; padding:11px 13px; background:var(--paper-2); }
.veriphase.woocommerce #order_review,
.veriphase.woocommerce-page #order_review,
.veriphase.woocommerce-checkout #payment{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius); }
.veriphase.woocommerce-checkout #payment{ padding:6px 18px 18px; }
.veriphase.woocommerce-checkout h3#order_review_heading{ font-size:20px; margin:8px 0 14px; }
.veriphase .vp-checkout-expectations{ display:grid; gap:0; margin:8px 0 16px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.veriphase .vp-checkout-expectations>div{ display:grid; grid-template-columns:18px minmax(0,1fr); gap:9px; align-items:start; padding:10px 2px; border-top:1px solid var(--line); }
.veriphase .vp-checkout-expectations>div:first-child{ border-top:0; }
.veriphase .vp-checkout-expectations svg{ margin-top:2px; color:var(--teal-deep); }
.veriphase .vp-checkout-expectations span{ display:flex; flex-direction:column; min-width:0; }
.veriphase .vp-checkout-expectations b{ color:var(--ink); font-size:12px; }
.veriphase .vp-checkout-expectations small{ color:var(--ink-3); font-size:10.5px; line-height:1.45; }
.veriphase .vp-checkout-expectations.has-issues svg,.veriphase .vp-checkout-expectations.has-issues>div:last-child small{ color:var(--ochre); }
.veriphase.woocommerce-checkout #place_order:disabled{ cursor:not-allowed; opacity:.52; transform:none!important; }
.veriphase.woocommerce form .form-row.woocommerce-invalid input.input-text,
.veriphase.woocommerce form .form-row.woocommerce-invalid select,
.veriphase.woocommerce form .form-row.woocommerce-invalid .select2-selection{ border-color:var(--ochre); box-shadow:0 0 0 2px rgba(195,116,26,.12); }
.veriphase .vp-order-lots{ margin-top:26px; }
.veriphase .vp-order-lots h2{ font-size:20px; }
.veriphase .vp-order-lots ul{ margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.veriphase .vp-order-lots li{ display:flex; justify-content:space-between; gap:18px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); }
.veriphase .vp-order-lots li span{ display:flex; flex-direction:column; min-width:0; }
.veriphase .vp-order-lots li small{ color:var(--ink-3); font-family:var(--mono); font-size:10px; }
.veriphase .vp-order-lots li a{ flex:none; font-family:var(--mono); font-size:11px; }

/* account */
.veriphase.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--paper-2); }
.veriphase.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--line); }
.veriphase.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:13px 18px; color:var(--ink-2); font-weight:500; }
.veriphase.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.veriphase.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--paper-3); color:var(--ink); }
.veriphase.woocommerce-account .col2-set .col-1,
.veriphase.woocommerce-account .col2-set .col-2{ float:none; width:100%; }
.veriphase.woocommerce form.login,
.veriphase.woocommerce form.register{ border:1px solid var(--line); border-radius:var(--radius); padding:24px; background:var(--paper-2); }

/* generic secondary Woo buttons → branded ghost pill (apply coupon, update cart, etc.) */
.veriphase.woocommerce .button{ background:var(--paper-2)!important; color:var(--ink)!important; border:1px solid var(--line)!important; }
.veriphase.woocommerce .button:hover{ border-color:var(--ink)!important; background:var(--paper-3)!important; }
/* primary actions stay dark (override the generic rule) */
.veriphase.woocommerce .checkout-button,
.veriphase.woocommerce #place_order,
.veriphase.woocommerce div.product.vp-pdp .single_add_to_cart_button{ background:var(--ink-surface)!important; color:var(--on-ink)!important; border:none!important; }

/* checkout country select2 → match our text inputs */
.veriphase.woocommerce .select2-container--default .select2-selection--single{ border:1px solid var(--line); border-radius:9px; height:auto; padding:7px 6px; background:var(--paper-2); }
.veriphase.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:1.6; color:var(--ink); padding-left:6px; }
.veriphase.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{ height:100%; }
.veriphase.woocommerce form .form-row select{ border:1px solid var(--line); border-radius:9px; padding:11px 13px; background:var(--paper-2); }

/* Woo notices → brand palette (no stark default blue/green) */
.veriphase.woocommerce-page .woocommerce-info,
.veriphase.woocommerce .woocommerce-info{ background:var(--teal-tint); border-top-color:var(--teal); color:var(--ink); }
.veriphase.woocommerce-page .woocommerce-message,
.veriphase.woocommerce .woocommerce-message{ background:var(--teal-tint); border-top-color:var(--teal-deep); color:var(--ink); }
.veriphase.woocommerce-page .woocommerce-error,
.veriphase.woocommerce .woocommerce-error{ background:var(--ochre-tint); border-top-color:var(--ochre); color:var(--ochre); }
.veriphase.woocommerce-page .woocommerce-error>ul,
.veriphase.woocommerce .woocommerce-error>ul{ margin:0; padding:0; list-style:none; color:inherit; }
.veriphase.woocommerce-page .woocommerce-error>ul>li,
.veriphase.woocommerce .woocommerce-error>ul>li{ margin:0; }
.veriphase.woocommerce-page .woocommerce-info::before,
.veriphase.woocommerce-page .woocommerce-message::before,
.veriphase.woocommerce .woocommerce-info::before,
.veriphase.woocommerce .woocommerce-message::before,
.veriphase.woocommerce-page .woocommerce-error::before,
.veriphase.woocommerce .woocommerce-error::before{ width:1em; text-align:center; font-family:var(--mono); font-weight:700; }
.veriphase.woocommerce-page .woocommerce-info::before,
.veriphase.woocommerce .woocommerce-info::before{ content:"i"; color:var(--teal-deep); }
.veriphase.woocommerce-page .woocommerce-message::before,
.veriphase.woocommerce .woocommerce-message::before{ content:"\2713"; color:var(--teal-deep); }
.veriphase.woocommerce-page .woocommerce-error::before,
.veriphase.woocommerce .woocommerce-error::before{ content:"!"; color:inherit; }

/* PDP molecular table + COA stats: keep long sequences/values from overflowing on mobile */
.veriphase .vp-moldata .mv{ overflow-wrap:anywhere; word-break:break-word; }
@media(max-width:520px){ .veriphase .vp-coa-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:620px){
  .veriphase.woocommerce table.shop_table_responsive .cart_item .variation{ justify-content:end; grid-template-columns:auto auto; }
  .veriphase .vp-order-lots li{ align-items:flex-start; }
}

/* dark theme: Woo/Product surfaces with hard-coded light photography/card treatments */
/* VP_SYSTEM_DARK_SOURCE_START */
:root[data-vp-theme="dark"] .veriphase.woocommerce{ --shop-muted:#93AAA6; }
:root[data-vp-theme="dark"] .veriphase.woocommerce div.product .stock{ color:var(--teal-deep); }
:root[data-vp-theme="dark"] .veriphase ul.products li.product .vp-card-ph{ background:radial-gradient(120% 90% at 50% 0%,#152A30,var(--paper-3)); }
:root[data-vp-theme="dark"] .veriphase ul.products li.product .vp-card-actions a.button,
:root[data-vp-theme="dark"] .veriphase ul.products li.product .vp-card-actions a.added_to_cart{ background:var(--paper-3)!important; color:var(--ink)!important; border-color:var(--line-2)!important; }
:root[data-vp-theme="dark"] .veriphase .vp-ph-img{ background:radial-gradient(120% 90% at 50% 0%,#152A30,var(--paper-3)); }
:root[data-vp-theme="dark"] .veriphase .vp-attest{ border-color:#4B3520; }
:root[data-vp-theme="dark"] .veriphase .vp-attest label,
:root[data-vp-theme="dark"] .veriphase.woocommerce .woocommerce-error{ color:#F0C892; }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page .woocommerce-info,
:root[data-vp-theme="dark"] .veriphase.woocommerce .woocommerce-info,
:root[data-vp-theme="dark"] .veriphase.woocommerce-page .woocommerce-message,
:root[data-vp-theme="dark"] .veriphase.woocommerce .woocommerce-message{ color:var(--ink); }
:root[data-vp-theme="dark"] .veriphase.woocommerce form .form-row input.input-text,
:root[data-vp-theme="dark"] .veriphase.woocommerce form .form-row textarea,
:root[data-vp-theme="dark"] .veriphase.woocommerce form .form-row .select2-container,
:root[data-vp-theme="dark"] .veriphase.woocommerce form .form-row select,
:root[data-vp-theme="dark"] .veriphase.woocommerce .select2-container--default .select2-selection--single{ background:var(--paper-2); color:var(--ink); }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page table.shop_table,
:root[data-vp-theme="dark"] .veriphase.woocommerce-page table.shop_table td{ background:var(--paper-2)!important; color:var(--ink)!important; border-color:var(--line)!important; }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page table.shop_table th{ background:var(--paper-3)!important; color:var(--ink-2)!important; border-color:var(--line)!important; }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page #order_review table.shop_table,
:root[data-vp-theme="dark"] .veriphase.woocommerce-page #order_review table.shop_table th,
:root[data-vp-theme="dark"] .veriphase.woocommerce-page #order_review table.shop_table td{ background:var(--paper-2)!important; color:var(--ink)!important; border-color:var(--line)!important; }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page #order_review table.shop_table thead th{ background:var(--paper-3)!important; color:var(--ink-2)!important; }
:root[data-vp-theme="dark"] .veriphase.woocommerce-checkout .woocommerce-privacy-policy-text,
:root[data-vp-theme="dark"] .veriphase.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{ color:var(--ink-2); }
:root[data-vp-theme="dark"] .veriphase.woocommerce-checkout #payment .place-order{ background:var(--paper-2)!important; color:var(--ink-2); }
:root[data-vp-theme="dark"] .veriphase.woocommerce-checkout .woocommerce-privacy-policy-link,
:root[data-vp-theme="dark"] .veriphase.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a{ color:var(--teal-deep); }
:root[data-vp-theme="dark"] .veriphase.woocommerce-page .select2-container--default .select2-selection--single,
:root[data-vp-theme="dark"] .veriphase.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered{ background:var(--paper-2); color:var(--ink); border-color:var(--line-2); }
:root[data-vp-theme="dark"] .select2-dropdown,
:root[data-vp-theme="dark"] .select2-results__option{ background:var(--paper-2); color:var(--ink); border-color:var(--line); }
:root[data-vp-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--teal-tint); color:var(--ink); }
/* VP_SYSTEM_DARK_SOURCE_END */

/* AUTO-GENERATED system-preference fallback from the marked explicit dark rules. */
@media (prefers-color-scheme:dark){
:root:not([data-vp-theme]) .veriphase.woocommerce{ --shop-muted:#93AAA6; }
:root:not([data-vp-theme]) .veriphase.woocommerce div.product .stock{ color:var(--teal-deep); }
:root:not([data-vp-theme]) .veriphase ul.products li.product .vp-card-ph{ background:radial-gradient(120% 90% at 50% 0%,#152A30,var(--paper-3)); }
:root:not([data-vp-theme]) .veriphase ul.products li.product .vp-card-actions a.button,
:root:not([data-vp-theme]) .veriphase ul.products li.product .vp-card-actions a.added_to_cart{ background:var(--paper-3)!important; color:var(--ink)!important; border-color:var(--line-2)!important; }
:root:not([data-vp-theme]) .veriphase .vp-ph-img{ background:radial-gradient(120% 90% at 50% 0%,#152A30,var(--paper-3)); }
:root:not([data-vp-theme]) .veriphase .vp-attest{ border-color:#4B3520; }
:root:not([data-vp-theme]) .veriphase .vp-attest label,
:root:not([data-vp-theme]) .veriphase.woocommerce .woocommerce-error{ color:#F0C892; }
:root:not([data-vp-theme]) .veriphase.woocommerce-page .woocommerce-info,
:root:not([data-vp-theme]) .veriphase.woocommerce .woocommerce-info,
:root:not([data-vp-theme]) .veriphase.woocommerce-page .woocommerce-message,
:root:not([data-vp-theme]) .veriphase.woocommerce .woocommerce-message{ color:var(--ink); }
:root:not([data-vp-theme]) .veriphase.woocommerce form .form-row input.input-text,
:root:not([data-vp-theme]) .veriphase.woocommerce form .form-row textarea,
:root:not([data-vp-theme]) .veriphase.woocommerce form .form-row .select2-container,
:root:not([data-vp-theme]) .veriphase.woocommerce form .form-row select,
:root:not([data-vp-theme]) .veriphase.woocommerce .select2-container--default .select2-selection--single{ background:var(--paper-2); color:var(--ink); }
:root:not([data-vp-theme]) .veriphase.woocommerce-page table.shop_table,
:root:not([data-vp-theme]) .veriphase.woocommerce-page table.shop_table td{ background:var(--paper-2)!important; color:var(--ink)!important; border-color:var(--line)!important; }
:root:not([data-vp-theme]) .veriphase.woocommerce-page table.shop_table th{ background:var(--paper-3)!important; color:var(--ink-2)!important; border-color:var(--line)!important; }
:root:not([data-vp-theme]) .veriphase.woocommerce-page #order_review table.shop_table,
:root:not([data-vp-theme]) .veriphase.woocommerce-page #order_review table.shop_table th,
:root:not([data-vp-theme]) .veriphase.woocommerce-page #order_review table.shop_table td{ background:var(--paper-2)!important; color:var(--ink)!important; border-color:var(--line)!important; }
:root:not([data-vp-theme]) .veriphase.woocommerce-page #order_review table.shop_table thead th{ background:var(--paper-3)!important; color:var(--ink-2)!important; }
:root:not([data-vp-theme]) .veriphase.woocommerce-checkout .woocommerce-privacy-policy-text,
:root:not([data-vp-theme]) .veriphase.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{ color:var(--ink-2); }
:root:not([data-vp-theme]) .veriphase.woocommerce-checkout #payment .place-order{ background:var(--paper-2)!important; color:var(--ink-2); }
:root:not([data-vp-theme]) .veriphase.woocommerce-checkout .woocommerce-privacy-policy-link,
:root:not([data-vp-theme]) .veriphase.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a{ color:var(--teal-deep); }
:root:not([data-vp-theme]) .veriphase.woocommerce-page .select2-container--default .select2-selection--single,
:root:not([data-vp-theme]) .veriphase.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered{ background:var(--paper-2); color:var(--ink); border-color:var(--line-2); }
:root:not([data-vp-theme]) .select2-dropdown,
:root:not([data-vp-theme]) .select2-results__option{ background:var(--paper-2); color:var(--ink); border-color:var(--line); }
:root:not([data-vp-theme]) .select2-container--default .select2-results__option--highlighted[aria-selected]{ background:var(--teal-tint); color:var(--ink); }
}

/* product grid responsive */
@media(max-width:1000px){ .veriphase ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px){
  .veriphase ul.products{ grid-template-columns:1fr 1fr; }
  .veriphase.woocommerce .storefront-sorting{ align-items:flex-start; margin-bottom:28px; }
  /* category filter becomes a horizontal scroll track instead of wrapping 4-5 lines */
  .vp-catfilter{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:6px; margin-right:-28px; }
  .vp-catfilter::-webkit-scrollbar{ display:none; }
  .vp-catfilter a{ white-space:nowrap; flex:0 0 auto; }
}
@media(max-width:560px){
  .veriphase.woocommerce .storefront-sorting{ flex-direction:column; gap:10px; }
  .veriphase.woocommerce .woocommerce-ordering,
  .veriphase.woocommerce .woocommerce-ordering select,
  .veriphase.woocommerce .woocommerce-ordering .orderby{ width:100%; }
}
@media(max-width:480px){
  .veriphase ul.products{ grid-template-columns:1fr; }
  .veriphase ul.products li.product.vp-coa-guide{ grid-column:span 1; }
  .veriphase .vp-coa-guide-fragment{ grid-template-columns:1fr; }
}

/* =====================================================================
   TIER 3 — functional-premium UX (review-only): data-first PDP spec strip,
   lot-selector pattern, documents block, shop compound search. RUO-safe.
   ===================================================================== */
/* PDP spec strip — intrinsic identifiers (CAS / MW / formula / net) up top */
.veriphase .vp-pdp-specstrip{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 18px; }
.veriphase .vp-spec-chip{ display:inline-flex; align-items:baseline; gap:7px; border:1px solid var(--line); border-radius:8px; padding:6px 11px; background:var(--paper-2); }
.veriphase .vp-spec-chip .k{ font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); }
.veriphase .vp-spec-chip .v{ font-family:var(--mono); font-size:12.5px; font-weight:600; color:var(--ink); overflow-wrap:anywhere; }
/* documents block (offered on request — nothing fabricated) */
.veriphase .vp-pdp-docs{ border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-2); padding:14px 16px; margin:16px 0 0; }
.veriphase .vp-pdp-docs-h{ display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); margin-bottom:8px; }
.veriphase .vp-pdp-docs-h svg{ color:var(--teal); }
.veriphase .vp-pdp-docs ul{ list-style:none; margin:0; padding:0; }
.veriphase .vp-pdp-docs li{ display:flex; justify-content:space-between; gap:14px; align-items:center; padding:8px 0; border-top:1px solid var(--line); font-size:13px; color:var(--ink-2); }
.veriphase .vp-pdp-docs li:first-child{ border-top:none; }
.veriphase .vp-pdp-docs li em{ font-style:normal; font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap; }
/* shared catalogue search + factual facets */
.veriphase .vp-catalog-discovery{ margin:18px 0 18px; }
.veriphase .vp-catalog-controls{ margin:0; }
.veriphase .vp-shop-search{ display:flex; align-items:center; gap:10px; margin:0 0 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper-2); padding:0 14px; max-width:620px; transition:border-color .2s ease, box-shadow .2s ease; }
.veriphase .vp-shop-search svg{ color:var(--ink-3); flex:none; }
.veriphase .vp-shop-search input{ flex:1; border:none; background:transparent; font-family:var(--sans); font-size:15px; padding:13px 0; color:var(--ink); outline:none; }
.veriphase .vp-shop-search:focus-within{ border-color:var(--teal); box-shadow:var(--shadow); }
.veriphase .vp-shop-search-meta{ font-family:var(--mono); font-size:11px; color:var(--ink-3); white-space:nowrap; }
.veriphase .vp-catalog-facets{ display:grid; grid-template-columns:repeat(5,minmax(118px,1fr)) auto; gap:9px; align-items:end; }
.veriphase .vp-catalog-facets label{ min-width:0; margin:0; }
.veriphase .vp-catalog-facets label>span{ display:block; margin:0 0 5px; font-family:var(--mono); font-size:9.5px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.07em; }
.veriphase .vp-catalog-facets select{ width:100%; min-height:42px; margin:0; padding:8px 30px 8px 10px; border:1px solid var(--line); border-radius:7px; background:var(--paper-2); color:var(--ink); font-family:var(--mono); font-size:11.5px; }
.veriphase .vp-catalog-facets .vp-facet-apply{ min-height:42px; border-radius:7px; padding:9px 16px; }
.veriphase .vp-facet-actions{ display:flex; align-items:center; gap:7px; }
.veriphase .vp-facet-reset{ min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:8px 6px; color:var(--teal-deep); font-family:var(--mono); font-size:11.5px; font-weight:600; }
.veriphase .vp-catalog-result-status{ min-height:18px; margin:9px 0 0; color:var(--ink-3); font-family:var(--mono); font-size:11px; }
.veriphase .vp-catalog-empty{ margin:22px 0 34px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.veriphase .vp-catalog-empty h2{ margin:0 0 5px; font-size:20px; }
.veriphase .vp-catalog-empty p{ margin:0 0 10px; color:var(--ink-2); }
.veriphase .vp-category-resources{ display:flex; flex-wrap:wrap; gap:10px 20px; margin:12px 0 2px; font-family:var(--mono); font-size:11.5px; }
.veriphase .vp-category-resources a{ color:var(--teal-deep); }

/* bounded compare workflow */
.vp-compare-tray{ position:fixed; z-index:120; left:50%; bottom:18px; transform:translateX(-50%); width:min(620px,calc(100vw - 28px)); min-height:58px; display:flex; align-items:center; gap:12px; padding:8px 10px 8px 16px; border:1px solid var(--line-2); border-radius:8px; background:var(--paper); box-shadow:var(--shadow-lg); }
.vp-compare-tray>span{ flex:1; color:var(--ink-2); font-family:var(--mono); font-size:11.5px; }
.vp-compare-tray .vp-btn{ min-height:40px; border-radius:7px; padding:8px 16px; }
.vp-compare-tray .vp-btn:disabled{ opacity:.45; cursor:not-allowed; }
.vp-compare-clear{ min-height:38px; padding:7px 9px; border:0; background:transparent; color:var(--teal-deep); font-family:var(--mono); font-size:11px; cursor:pointer; }
.vp-compare-dialog{ width:min(1080px,calc(100vw - 30px)); max-height:86vh; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow-lg); }
.vp-compare-dialog[open]{ display:flex; flex-direction:column; }
.vp-compare-dialog::backdrop{ background:rgba(7,19,22,.62); backdrop-filter:blur(3px); }
.vp-compare-head{ display:flex; flex:none; justify-content:space-between; gap:20px; align-items:flex-start; padding:22px 24px 16px; border-bottom:1px solid var(--line); }
.vp-compare-head h2{ margin:5px 0 0; font-size:26px; }
.vp-compare-close{ flex:none; width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--paper-2); color:var(--ink); font-size:25px; line-height:1; cursor:pointer; }
.vp-compare-table-wrap{ flex:1 1 auto; min-height:0; overflow:auto; padding:0 24px 24px; }
.vp-compare-table-wrap:focus-visible{ outline:3px solid var(--teal); outline-offset:-3px; }
.vp-compare-table{ width:100%; margin:0; border-collapse:collapse; table-layout:fixed; }
.vp-compare-table th,.vp-compare-table td{ padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top; text-align:left; overflow-wrap:anywhere; }
.vp-compare-table th{ width:160px; color:var(--ink-3); font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.vp-compare-table thead th{ color:var(--ink); font-family:var(--sans); font-size:14px; text-transform:none; letter-spacing:0; }
.vp-compare-table thead th:first-child{ color:var(--ink-3); font-family:var(--mono); font-size:10px; text-transform:uppercase; }
.vp-compare-table thead th small{ display:block; margin-top:3px; color:var(--ink-3); font-family:var(--mono); font-size:9.5px; font-weight:500; }
.vp-compare-table td{ color:var(--ink-2); font-size:13px; }
.vp-compare-table a{ color:var(--teal-deep); font-weight:650; }

/* linked family packages retain independent Woo and lot identities */
.vp-family-selector{ margin:0 0 14px; padding:0 0 14px; border-bottom:1px solid var(--line); }
#vp-purchase{ scroll-margin-top:92px; }
.vp-family-label{ display:block; margin:0 0 7px; color:var(--ink-3); font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.vp-family-options{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.vp-family-options a{ min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:52px; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--paper); color:var(--ink); }
.vp-family-options a:hover{ border-color:var(--teal); color:var(--teal-deep); }
.vp-family-options a.is-current{ border-color:var(--teal); background:var(--teal-tint); color:var(--teal-deep); box-shadow:0 0 0 1px var(--teal) inset; }
.vp-family-options span{ font-family:var(--mono); font-size:13px; font-weight:600; }
.vp-family-options small{ margin-top:2px; color:var(--ink-3); font-family:var(--mono); font-size:9px; }
.vp-family-options a.is-current small{ color:var(--ink-2); }
.vp-family-selector>p{ margin:7px 0 0; color:var(--ink-3); font-size:10.5px; line-height:1.4; }
.vp-tier-pricing{ margin:0 0 14px; padding:0 0 14px; border-bottom:1px solid var(--line); }
.vp-tier-pricing-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 7px; }
.vp-tier-pricing-head span{ color:var(--ink-3); font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.vp-tier-pricing-head small{ color:var(--ink-3); font-family:var(--mono); font-size:9px; }
.vp-tier-pricing table{ width:100%; margin:0; border-collapse:collapse; font-family:var(--mono); font-size:11px; }
.vp-tier-pricing th,.vp-tier-pricing td{ padding:7px 8px; border:1px solid var(--line); text-align:left; }
.vp-tier-pricing th{ background:var(--paper-3); color:var(--ink-3); font-size:9px; text-transform:uppercase; }
.vp-tier-pricing td:last-child{ color:var(--teal-deep); font-weight:650; }
.vp-bundle-specimen{ min-height:560px; }
.vp-bundle-vials{ flex:1; display:flex; align-items:flex-end; justify-content:center; min-height:380px; padding:42px 24px 24px; overflow:hidden; }
.vp-bundle-vials figure{ width:42%; margin:0 -8%; transform-origin:bottom center; }
.vp-bundle-vials figure:first-child{ transform:rotate(-5deg) translateY(14px); }
.vp-bundle-vials figure:nth-child(2){ position:relative; z-index:2; transform:scale(1.08); }
.vp-bundle-vials figure:nth-child(3){ transform:rotate(5deg) translateY(14px); }
.vp-bundle-vials img{ display:block; width:100%; height:auto; filter:var(--specimen-vial-shadow); }
.vp-bundle-media-caption{ margin:0 24px 24px; padding:13px 15px; border:1px solid var(--specimen-line); border-radius:7px; color:var(--specimen-ink-mute); font-family:var(--mono); font-size:10.5px; text-align:center; }
.vp-bundle-selection-head{ display:flex; justify-content:space-between; gap:12px; margin:0 0 10px; color:var(--ink-3); font-family:var(--mono); font-size:10px; text-transform:uppercase; }
.vp-bundle-selection-head small{ font-size:9px; text-transform:none; }
.vp-bundle-pdp .grouped_form{ display:block!important; }
.vp-bundle-pdp .woocommerce-grouped-product-list{ width:100%; margin:0 0 12px; border-collapse:collapse; }
.vp-bundle-pdp .woocommerce-grouped-product-list td{ padding:10px 6px; border-bottom:1px solid var(--line); vertical-align:middle; }
.vp-bundle-pdp .woocommerce-grouped-product-list td:first-child{ padding-left:0; }
.vp-bundle-pdp .woocommerce-grouped-product-list td:last-child{ padding-right:0; text-align:right; }
.vp-bundle-pdp .woocommerce-grouped-product-list-item__label a{ color:var(--ink); font-size:12px; font-weight:650; }
.vp-bundle-pdp .woocommerce-grouped-product-list-item__price{ white-space:nowrap; font-family:var(--mono); font-size:11px; }
.vp-bundle-pdp .grouped_form .single_add_to_cart_button{ width:100%; min-height:54px; margin-top:5px; }
.vp-bundle-components{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.vp-bundle-components>div{ display:flex; justify-content:space-between; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); }
.vp-bundle-components>div:nth-child(odd){ padding-right:24px; border-right:1px solid var(--line); }
.vp-bundle-components>div:nth-child(even){ padding-left:24px; }
.vp-bundle-components h3{ margin:5px 0 0; font-size:17px; }
.vp-bundle-components dl{ min-width:170px; margin:0; }
.vp-bundle-components dl>div{ display:flex; justify-content:space-between; gap:14px; padding:3px 0; font-family:var(--mono); font-size:9.5px; }
.vp-bundle-components dt{ color:var(--ink-3); }
.vp-bundle-components dd{ margin:0; color:var(--ink-2); text-align:right; }
.vp-bundle-pdp .vp-pdp-detailwrap{ padding-top:42px; }

@media(max-width:900px){
  .veriphase .vp-catalog-facets{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .veriphase .vp-facet-actions{ grid-column:1/-1; justify-content:flex-end; }
  .vp-compare-table{ min-width:720px; }
}
@media(max-width:560px){
  .veriphase .vp-catalog-facets{ grid-template-columns:1fr; }
  .veriphase .vp-facet-actions{ grid-column:auto; }
  .veriphase .vp-catalog-facets .vp-facet-apply,.veriphase .vp-facet-reset{ width:100%; }
  .vp-compare-tray{ bottom:10px; flex-wrap:wrap; padding:10px 12px; }
  .vp-compare-tray>span{ flex-basis:100%; }
  .vp-compare-tray .vp-btn{ flex:1; }
  .vp-compare-head{ padding:18px 16px 13px; }
  .vp-compare-head h2{ font-size:21px; }
  .vp-compare-table-wrap{ padding:0 16px 18px; }
  .vp-bundle-specimen{ min-height:430px; }
  .vp-bundle-vials{ min-height:285px; padding-inline:12px; }
  .vp-bundle-components{ grid-template-columns:1fr; }
  .vp-bundle-components>div:nth-child(n){ padding:16px 0; border-right:0; }
  .vp-bundle-components>div{ flex-direction:column; gap:10px; }
}

/* =====================================================================
   PDP SHOP-FIRST LAYOUT (adjudicated redesign): full-width title band,
   lean elevated buy card with CTA high, detail moved below, sticky buy-bar.
   ===================================================================== */
/* full-width title band */
.veriphase .vp-pdp-head{ margin:8px 0 26px; }
.veriphase .vp-pdp-head .vp-card-cat{ margin-bottom:8px; }
.veriphase .vp-pdp-head .vp-card-cat a{ color:var(--ink-3); }
.veriphase.woocommerce div.product.vp-pdp .vp-pdp-head .product_title{ margin:0 0 14px; }
.veriphase .vp-pdp-head .vp-pdp-specstrip{ margin:0; }
.veriphase .vp-spec-chip--ruo{ border-color:var(--ochre); }
.veriphase .vp-spec-chip--ruo .v{ color:var(--ochre); letter-spacing:.08em; }

/* hero grid sits under the title band */
.veriphase .vp-pdp-grid{ margin:0 0 8px; }

/* elevated buy card — makes the purchase action read as the focus */
.veriphase .vp-buybox{ background:var(--paper-2); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px; box-shadow:var(--shadow-md); }
.veriphase .vp-buybox .vp-pdp-pricerow{ margin:0 0 14px; padding:0 0 16px; }
.veriphase .vp-buybox .vp-pdp-enquire .vp-btn{ min-height:54px; font-size:16px; border-radius:12px; }

/* Per-SKU double-opt-in waitlist. This is an unframed workflow inside the buy surface. */
.vp-waitlist{ margin:8px 0 4px; padding:18px 0 4px; border-top:1px solid var(--line); }
.vp-waitlist h3{ margin:0 0 5px; font-size:17px; line-height:1.25; }
.vp-waitlist>p{ margin:0 0 14px; color:var(--ink-3); font-size:12.5px; line-height:1.45; }
.vp-waitlist-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; }
.vp-waitlist-row label{ min-width:0; }
.vp-waitlist-row input[type=email]{ width:100%; min-height:48px; margin:0; padding:10px 12px; border:1px solid var(--line-2); border-radius:8px; background:var(--paper); color:var(--ink); box-shadow:none; }
.vp-waitlist-row input[type=email]:focus{ border-color:var(--teal); outline:2px solid color-mix(in srgb,var(--teal) 24%,transparent); outline-offset:1px; }
.vp-waitlist-row .vp-btn{ min-height:48px; padding:10px 16px; white-space:nowrap; border-radius:8px; }
.vp-waitlist-row .vp-btn:disabled{ opacity:.62; cursor:wait; transform:none; }
.vp-waitlist-consent{ display:flex; gap:8px; align-items:flex-start; margin-top:10px; color:var(--ink-3); font-size:11.5px; line-height:1.45; }
.vp-waitlist-consent input{ flex:0 0 auto; margin-top:2px; }
.vp-waitlist-consent a{ color:var(--teal-deep); text-decoration:underline; text-underline-offset:2px; }
.vp-waitlist-status{ min-height:18px; margin:8px 0 0; color:var(--ink-3); font-size:12px; }
.vp-waitlist-status.is-success{ color:var(--teal-deep); }
.vp-waitlist-status.is-error{ color:var(--danger); }
.vp-lead-hp{ position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.vp-launch-lead{ max-width:620px; margin:0 auto 18px; padding:0 0 4px; border-top:0; text-align:left; }
.vp-launch-lead h3,.vp-launch-lead>p{ text-align:center; }
.vp-card-notify.button{ background:var(--ink-surface)!important; color:var(--on-ink)!important; border-color:var(--ink-surface)!important; }
.vp-lead-status-page{ min-height:60vh; padding:72px 0; }
.vp-lead-status-card{ max-width:680px; padding:34px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.vp-lead-status-card h1{ margin:9px 0 12px; font-size:clamp(30px,4vw,48px); letter-spacing:0; }
.vp-lead-status-card p{ max-width:58ch; margin:0 0 22px; color:var(--ink-2); }

@media (max-width:560px){
  .vp-waitlist-row{ grid-template-columns:1fr; }
  .vp-waitlist-row .vp-btn{ width:100%; white-space:normal; }
  .vp-lead-status-page{ padding:40px 0; }
  .vp-lead-status-card{ padding:24px 18px; }
}
/* Current-lot passport: profile-appropriate evidence before the purchase action. */
.veriphase .vp-pdp-passport{ margin:0 0 14px; border-top:2px solid var(--teal); border-bottom:1px solid var(--line); background:var(--paper); }
.veriphase .vp-pdp-passport>header{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 13px; border-bottom:1px solid var(--line); }
.veriphase .vp-pdp-passport>header span{ display:block; margin-bottom:2px; color:var(--ink-3); font-family:var(--mono); font-size:9px; text-transform:uppercase; }
.veriphase .vp-pdp-passport>header h2{ margin:0; color:var(--ink); font-family:var(--mono); font-size:17px; }
.veriphase .vp-pdp-passport>header strong{ display:inline-flex; align-items:center; gap:5px; color:var(--teal-deep); font-family:var(--mono); font-size:9.5px; text-transform:uppercase; white-space:nowrap; }
.veriphase .vp-pdp-passport-results{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.veriphase .vp-pdp-passport-results>div{ display:flex; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px dashed var(--line); }
.veriphase .vp-pdp-passport-results>div:nth-child(odd){ border-right:1px solid var(--line); }
.veriphase .vp-pdp-passport-results dt{ color:var(--ink-2); font-family:var(--mono); font-size:10px; }
.veriphase .vp-pdp-passport-results dt small{ display:block; margin-top:2px; color:var(--ink-3); font-size:8.5px; }
.veriphase .vp-pdp-passport-results dd{ margin:0; color:var(--ink); font-family:var(--mono); font-size:12.5px; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.veriphase .vp-pdp-passport-meta{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); margin:0; }
.veriphase .vp-pdp-passport-meta>div{ padding:9px 13px; border-bottom:1px solid var(--line); }
.veriphase .vp-pdp-passport-meta>div:first-child{ border-right:1px solid var(--line); }
.veriphase .vp-pdp-passport-meta dt{ color:var(--ink-3); font-family:var(--mono); font-size:8.5px; text-transform:uppercase; }
.veriphase .vp-pdp-passport-meta dd{ margin:2px 0 0; color:var(--ink-2); font-family:var(--mono); font-size:9.5px; overflow-wrap:anywhere; }
.veriphase .vp-pdp-passport>p{ margin:0; padding:8px 13px; color:var(--ink-3); font-size:10px; line-height:1.45; }
.veriphase .vp-pdp-passport>p.vp-pdp-assignment a{ color:var(--teal-deep); font-weight:700; }
.veriphase .vp-pdp-continuity{ display:flex; flex-direction:column; gap:3px; align-items:flex-start; padding:9px 13px; border-top:1px solid var(--line); background:var(--paper-3); font-size:10px; line-height:1.4; }
.veriphase .vp-pdp-continuity strong{ color:var(--ink-2); }
.veriphase .vp-pdp-continuity a{ color:var(--teal-deep); font-family:var(--mono); font-size:9.5px; font-weight:700; text-align:left; }
.veriphase .vp-pdp-passport.is-pending{ border-top-color:var(--line-2); }
.veriphase .vp-pdp-passport.is-pending>header strong{ color:var(--ink-2); }
.veriphase .vp-pdp-passport.is-supply_paused{ border-top-color:var(--danger); }
.veriphase .vp-pdp-passport.is-supply_paused>header strong{ color:var(--danger); }
.veriphase .vp-pdp-state-detail{ color:var(--ink-2)!important; font-size:11px!important; }
.veriphase .vp-pdp-progress{ height:5px; margin:0 13px 11px; overflow:hidden; background:var(--line); }
.veriphase .vp-pdp-progress>span{ display:block; height:100%; background:var(--teal); }
.veriphase .vp-buybox-verify{ display:flex; align-items:center; gap:8px; margin:0; padding:10px 13px; border-bottom:1px solid var(--line); background:var(--teal-tint); font-size:11.5px; color:var(--ink); }
.veriphase .vp-buybox-verify:hover,.veriphase .vp-buybox-verify:focus-visible{ background:var(--teal-tint-2); color:var(--ink); }
.veriphase .vp-buybox-verify svg{ color:var(--teal-deep); flex:none; }
.veriphase .vp-buybox-verify span{ flex:1; font-family:var(--mono); }
.veriphase .vp-buybox-verify em{ font-style:normal; font-family:var(--mono); font-size:11px; font-weight:600; color:var(--teal-deep); white-space:nowrap; }
.veriphase .vp-buybox-verify.pending{ border-color:var(--line); background:var(--paper-3); }
.veriphase .vp-buybox-verify.pending svg{ color:var(--ink-3); }
.veriphase .vp-buybox .vp-pdp-trust{ margin:16px 0 0; padding:14px 0 0; border-bottom:none; }
.veriphase .vp-buybox .vp-pdp-ruo{ margin:12px 0 0; }
.veriphase .vp-coa-grid .cv small{ display:block; margin-top:3px; color:var(--ink-3); font-size:9px; font-weight:400; }

@media(max-width:560px){
	.veriphase .vp-pdp-passport-results{ grid-template-columns:1fr; }
	.veriphase .vp-pdp-passport-results>div:nth-child(n){ border-right:0; }
	.veriphase .vp-pdp-passport-meta{ grid-template-columns:1fr; }
	.veriphase .vp-pdp-passport-meta>div:first-child{ border-right:0; }
	.veriphase .vp-pdp-continuity{ align-items:flex-start; flex-direction:column; }
	.veriphase .vp-pdp-continuity a{ text-align:left; }
}

/* detail wrap (below the hero): description, molecular data, analysis & docs, tabs, related */
.veriphase .vp-pdp-detailwrap{ margin-top:8px; }
.veriphase .vp-pdp-detailwrap .vp-pdp-detail{ margin:0 0 30px; }
.veriphase .vp-pdp-detailwrap .vp-moldata{ max-width:680px; }
.veriphase .vp-pdp-detailwrap .vp-coa-card.pdp,
.veriphase .vp-pdp-detailwrap .vp-pdp-docs,
.veriphase .vp-pdp-detailwrap .vp-vialnote{ max-width:680px; }
/* chromatogram divider (signature; draws on load) */
.veriphase .vp-pdp-divider{ opacity:.2; margin:6px 0 30px; }
.veriphase .vp-pdp-divider svg{ display:block; width:100%; height:46px; }

/* mobile sticky buy-bar — appears when the buy card scrolls out of view */
.veriphase .vp-buybar{ display:none; }
@media(max-width:900px){
  .veriphase .vp-buybar:not([hidden]){ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:200;
    align-items:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(245,248,248,.92); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-top:1px solid var(--line); box-shadow:0 -8px 24px -16px rgba(11,26,32,.4); }
  .veriphase .vp-buybar-info{ flex:1; min-width:0; display:flex; flex-direction:column; }
  .veriphase .vp-buybar-name{ font-family:var(--serif); font-weight:700; font-size:14px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .veriphase .vp-buybar-price{ font-family:var(--mono); font-size:13px; font-weight:600; color:var(--ink); }
  .veriphase .vp-buybar .vp-btn{ flex:none; padding:12px 22px; }
}

.no-js .veriphase .vp-compare-toggle,
.no-js .veriphase .vp-compare-tray,
.no-js .veriphase .vp-compare-dialog{ display:none!important; }

@media (forced-colors:active){
  .veriphase button.show-password-input::after{ forced-color-adjust:none; background:CanvasText; }
  .veriphase.woocommerce-page :is(.button,button.button,input.button),
  .veriphase.woocommerce-account :is(.button,button.button,input.button){
    background:ButtonFace!important; color:ButtonText!important; border:1px solid ButtonText!important;
  }
  .veriphase ul.products li.product,.veriphase .vp-buybox,.veriphase .vp-pdp-passport,
  .veriphase .vp-composition-wrap,.vp-compare-tray,.vp-compare-dialog,.vp-family-options a{
    border-color:CanvasText; box-shadow:none;
  }
  .veriphase .vp-card-release,.veriphase .vp-buybox-verify,.veriphase .vp-pdp-continuity,
  .veriphase .vp-composition-table th,.veriphase .vp-composition-table td{ border-color:CanvasText; }
  .veriphase .vp-catfilter a.active,.veriphase .vp-card-family a.current,
  .veriphase.woocommerce div.product.vp-pdp .single_add_to_cart_button,
  .veriphase.woocommerce-cart .checkout-button,.veriphase.woocommerce #place_order,
  .veriphase .vp-card-notify.button{ border:1px solid ButtonText!important; }
}


/* SOURCE: style.css */
/*
Theme Name: VERIPHASE
Theme URI: https://veriphase.local
Description: Clean-clinical child theme for an EU RUO peptide store. Near-white base, single clinical-teal accent, IBM Plex Mono for scientific data, HPLC-chromatogram motif. Child of Storefront. Visual layer lives in assets/css/{tokens,base,components,woocommerce}.css.
Author: VERIPHASE
Template: storefront
Version: 0.3.0
Text Domain: veriphase
*/

/* Styles are modular (assets/css/*). This file is the theme header + a tiny safety net only. */
.veriphase .site-branding,
.veriphase .storefront-handheld-footer-bar{ display:none; }
