/*
Theme Name: China Peptide Shop
Theme URI: https://chinapeptideshop.com
Description: Responsive Storefront child theme for China Peptide Shop.
Author: China Peptide Shop
Template: storefront
Version: 0.1.0
Text Domain: cps
*/

:root {
  --ink: #121827;
  --muted: #647084;
  --line: #dfe4ea;
  --paper: #fff;
  --soft: #f4f7f8;
  --mint: #d9f5ec;
  --green: #0d7a5f;
  --green-dark: #075f4a;
  --navy: #0e2435;
  --gold: #ffc857;
  --radius: 18px;
  --shadow: 0 18px 55px rgba(15, 36, 52, .09);
  --wrap: min(1240px, calc(100% - 40px));
}
@font-face { font-family:'Certa DM Sans'; font-style:normal; font-weight:100 1000; font-display:swap; src:url('assets/fonts/dm-sans-latin.woff2') format('woff2'); }
body.cps-theme, .cps-theme button, .cps-theme input, .cps-theme select, .cps-theme textarea { font-family:'Certa DM Sans',Arial,sans-serif; }

/* Reference storefront geometry and palette. */
body.cps-theme { --green: #0fa6a0; --green-dark: #0c8c87; --navy: #0a0f1e; --radius: 6px; }
.cps-theme .cps-hero { background: #0a0f1e; }
.cps-theme .cps-hero h1 { color: #f1f5f9; font-size: 64px; line-height: 1.05; letter-spacing: -.025em; }
.cps-theme .cps-hero h1 em { display: inline; font-family: inherit; font-weight: 800; color: #0fa6a0; }
.cps-theme .cps-hero__copy { color: rgba(226,232,240,.7); font-size: 15px; }
.cps-theme .cps-hero__trust { color: #cbd5e1; }
.cps-theme .cps-hero .cps-btn { background: #0fa6a0; border-color: #0fa6a0; border-radius: 6px; }
.cps-theme .cps-hero .cps-btn--ghost { background: transparent; border-color: #475569; color: #e2e8f0; }
.cps-theme .cps-kicker { color: #3fd5ce; }
.cps-theme .cps-section-head h2 { font-size: 32px; letter-spacing: -.02em; }
.cps-theme .cps-product { border-radius: 6px; }
.cps-theme .cps-announcement { background: #f3f9f8; color: #334155; border-bottom: 1px solid #dce9e7; }
.cps-theme .cps-announcement a { color: #334155; }
.cps-theme .cps-logo img { width: 142px; }
.cps-theme .cps-header__inner { height: 64px; }
.cps-track-banner { display: block; text-align: center; padding: 10px 16px; color: #334155; background: #f3f9f8; font-size: 14px; text-decoration: none; }
.cps-theme .cps-hero__grid { min-height: 780px; }
.cps-theme .cps-hero h1 { font-weight: 800; }
.cps-theme .cps-hero h1 em { display: block; }
.cps-theme .cps-hero .cps-kicker { border: 1px solid #284642; padding: 6px 12px; border-radius: 3px; background: #10262b; font-size: 11px; letter-spacing: .12em; }
.cps-theme .cps-hero .cps-kicker::before { width: 8px; height: 8px; border-radius: 50%; }
.cps-hero-report { display: inline-block; color: #8dd8cf; text-underline-offset: 4px; margin: -12px 0 38px; font-size: 14px; }
.cps-theme .cps-hero__trust { margin-top: 52px; }
.cps-theme .cps-hero__trust a { text-decoration: none; }
.cps-theme .cps-hero-photo { width: min(100%,520px); }
@media(max-width:720px) {
  .cps-theme .cps-hero__grid { min-height: 0; padding-block: 48px; }
  .cps-track-banner { font-size: 11px; }
  .cps-theme .cps-hero h1 { font-size: 40px; }
  .cps-theme .cps-hero-art { display: none; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.cps-wrap { width: var(--wrap); margin-inline: auto; }

.cps-announcement { background: var(--navy); color: #fff; font-size: 12px; letter-spacing: .03em; }
.cps-announcement__inner { min-height: 35px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.cps-announcement a { color: #d8f8ef; text-decoration: none; }
.cps-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.cps-header__inner { height: 76px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
.cps-logo { display: inline-flex; align-items: center; gap: 11px; color: var(--navy); text-decoration: none; font-weight: 800; letter-spacing: -.03em; font-size: 20px; white-space: nowrap; }
.cps-logo img { width: 178px; height: auto; display: block; }
.cps-logo--footer img { filter: brightness(0) invert(1); }
.cps-logo__mark { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #0c8d6d, #064d43); box-shadow: 0 8px 18px rgba(13,122,95,.25); }
.cps-nav { display: flex; justify-content: center; gap: clamp(16px,2.1vw,30px); }
.cps-nav a { color: #263347; text-decoration: none; font-size: 14px; font-weight: 650; }
.cps-nav a:hover { color: var(--green); }
.cps-nav-dropdown { position:relative; }
.cps-nav-dropdown summary { font-size:14px; font-weight:650; cursor:pointer; color:#263347; list-style:none; }
.cps-nav-dropdown summary::after { content:'⌄'; margin-left:6px; font-size:11px; }
.cps-nav-dropdown>div { position:absolute; top:calc(100% + 20px); left:-18px; min-width:220px; display:grid; gap:0; padding:8px; border:1px solid var(--line); border-radius:6px; background:var(--paper); box-shadow:var(--shadow); }
.cps-nav-dropdown>div a { display:block; padding:12px; border-radius:4px; font-size:13px; }
.cps-nav-dropdown>div a:hover { background:var(--soft); }
.cps-actions { display: flex; align-items: center; gap: 7px; }
.cps-icon-btn { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; display: grid; place-items: center; background: transparent; color: var(--ink); text-decoration: none; cursor: pointer; }
.cps-icon-btn:hover { background: var(--soft); }
.cps-cart-count { position: absolute; transform: translate(13px,-13px); min-width: 18px; height: 18px; border-radius: 10px; display: grid; place-items: center; padding: 0 4px; background: var(--green); color: #fff; font-size: 10px; font-weight: 800; }
.cps-menu-btn { display: none; }

.cps-search { position: fixed; inset: 0; z-index: 80; display: none; align-items: flex-start; justify-content: center; padding-top: 14vh; background: rgba(6,18,27,.72); backdrop-filter: blur(5px); }
.cps-search.is-open { display: flex; }
.cps-search__panel { width: min(680px,calc(100% - 32px)); padding: 22px; border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.cps-search__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-weight: 750; }
.cps-search form { display: flex; gap: 10px; }
.cps-search input { flex: 1; min-width: 0; border: 1px solid #cad3dc; border-radius: 12px; padding: 14px 16px; }

.cps-mobile-menu { position: fixed; inset: 0; z-index: 70; pointer-events: none; }
.cps-mobile-menu__shade { position: absolute; inset: 0; opacity: 0; background: rgba(6,18,27,.58); transition: .25s; }
.cps-mobile-menu__panel { position: absolute; top: 0; right: 0; width: min(88vw,390px); height: 100%; padding: 22px; background: #fff; transform: translateX(102%); transition: .28s ease; box-shadow: -15px 0 45px rgba(0,0,0,.16); }
.cps-mobile-menu.is-open { pointer-events: auto; }
.cps-mobile-menu.is-open .cps-mobile-menu__shade { opacity: 1; }
.cps-mobile-menu.is-open .cps-mobile-menu__panel { transform: none; }
.cps-mobile-menu__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.cps-mobile-menu nav { display: grid; margin-top: 12px; }
.cps-mobile-menu nav a { display: flex; justify-content: space-between; padding: 17px 4px; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 700; }

.cps-hero { overflow: hidden; background: radial-gradient(circle at 80% 30%, #ddf7ee 0, #f4faf8 28%, #fff 62%); }
.cps-hero__grid { min-height: 610px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 35px; padding-block: 72px; }
.cps-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.cps-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.cps-hero h1 { max-width: 680px; margin: 0; color: var(--navy); font-size: clamp(52px,6vw,86px); line-height: .95; letter-spacing: -.065em; }
.cps-hero h1 em { display: block; color: var(--green); font-family: Georgia, serif; font-weight: 400; }
.cps-hero__copy { max-width: 590px; margin: 26px 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.cps-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.cps-btn, button.cps-btn, input.cps-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 21px; border: 1px solid var(--navy); border-radius: 999px; background: var(--navy); color: #fff; text-decoration: none; font-size: 14px; font-weight: 750; cursor: pointer; }
.cps-btn:hover { background: var(--green); border-color: var(--green); color: #fff; }
.cps-btn--ghost { background: transparent; color: var(--navy); }
.cps-hero__trust { display: flex; gap: 24px; margin-top: 34px; color: #3b495b; font-size: 12px; font-weight: 700; }
.cps-hero__trust span { display: flex; align-items: center; gap: 7px; }
.cps-hero__trust i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px #d7f2ea; }
.cps-hero-art { position: relative; min-height: 470px; display: grid; place-items: center; }
.cps-hero-art::before { content: ""; position: absolute; width: 410px; height: 410px; border-radius: 50%; background: rgba(15,166,160,.08); filter: blur(60px); }
.cps-hero-photo { position: relative; z-index: 2; width: min(100%,520px); border: 1px solid rgba(14,36,53,.16); border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,.28); }
.cps-vial { position: relative; z-index: 2; width: 165px; height: 290px; border: 4px solid #bcc7cd; border-radius: 30px 30px 48px 48px; background: linear-gradient(90deg,rgba(255,255,255,.7),#eef7f7 45%,rgba(215,233,233,.72)); box-shadow: 25px 35px 60px rgba(16,52,59,.2); transform: rotate(7deg); }
.cps-vial::before { content: ""; position: absolute; left: 15px; right: 15px; top: -42px; height: 48px; border-radius: 8px 8px 4px 4px; background: repeating-linear-gradient(90deg,#8d9a9f 0 4px,#aeb9bd 4px 8px); box-shadow: inset 0 -7px #727d82; }
.cps-vial__label { position: absolute; inset: 74px -7px auto; padding: 25px 8px; border-block: 1px solid #b9d8d2; background: rgba(255,255,255,.94); text-align: center; }
.cps-vial__label strong { display: block; color: var(--green); font-size: 18px; }
.cps-vial__label small { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; letter-spacing: .16em; }
.cps-float-card { position: absolute; z-index: 3; padding: 13px 16px; border: 1px solid rgba(255,255,255,.8); border-radius: 14px; background: rgba(255,255,255,.86); box-shadow: var(--shadow); backdrop-filter: blur(9px); font-size: 12px; font-weight: 750; }
.cps-float-card--one { left: 1%; top: 19%; }
.cps-float-card--two { right: 0; bottom: 21%; }

.cps-proof { background: var(--navy); color: #fff; }
.cps-proof__grid { min-height: 120px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.cps-proof__item { min-height: 58px; padding: 4px 28px; border-left: 1px solid rgba(255,255,255,.14); }
.cps-proof__item:first-child { border-left: 0; padding-left: 0; }
.cps-proof__item strong { display: block; margin-bottom: 7px; color: #d9f5ec; font-size: 13px; }
.cps-proof__item span { color: #aebbc4; font-size: 12px; line-height: 1.45; }

.cps-section { padding: 96px 0; }
.cps-section--soft { background: var(--soft); }
.cps-section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 36px; }
.cps-section-head h2 { margin: 0 0 8px; color: var(--navy); font-size: clamp(34px,4vw,52px); line-height: 1.05; letter-spacing: -.045em; }
.cps-section-head p { margin: 0; color: var(--muted); }
.cps-text-link { color: var(--green); text-decoration: none; font-size: 13px; font-weight: 800; white-space: nowrap; }

.cps-products { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.cps-product { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s, box-shadow .2s; }
.cps-product:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.cps-product__visual { position: relative; height: 245px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(155deg,#f8fbfb,#e8f2f0); }
.cps-product__visual > img { width: 100%; height: 100%; object-fit: cover; margin: 0; }
.cps-mini-vial { width: 72px; height: 135px; border: 2px solid #b9c6c9; border-radius: 12px 12px 20px 20px; background: linear-gradient(90deg,#fff,#dfeceb); transform: rotate(4deg); box-shadow: 12px 18px 24px rgba(17,57,63,.18); }
.cps-mini-vial::before { content: ""; display: block; width: 62px; height: 22px; margin: -18px auto 0; border-radius: 4px; background: #93a2a7; }
.cps-mini-vial::after { content: attr(data-label); display: grid; place-items: center; width: 78px; min-height: 48px; margin: 43px 0 0 -5px; padding: 4px; border-block: 1px solid #bddbd3; background: #fff; color: var(--green); text-align: center; font-size: 9px; font-weight: 850; }
.cps-product__badge { position: absolute; left: 14px; top: 14px; padding: 6px 9px; border-radius: 99px; background: var(--navy); color: #fff; font-size: 10px; font-weight: 750; }
.cps-product__body { padding: 19px; }
.cps-product__cat { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cps-product h3 { margin: 8px 0; font-size: 20px; line-height: 1.2; }
.cps-product h3 a { text-decoration: none; }
.cps-product__meta { display: flex; gap: 9px; flex-wrap: wrap; margin: 13px 0; color: #526073; font-size: 11px; }
.cps-product__bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 13px; border-top: 1px solid var(--line); }
.cps-product__price { font-weight: 850; }
.cps-product__add { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--navy); color: #fff; cursor: pointer; }
.cps-product__add:hover { background: var(--green); }

.cps-lab-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.cps-lab-copy { position: sticky; top: 110px; }
.cps-lab-copy h2 { margin: 9px 0 20px; font-size: clamp(38px,4vw,57px); line-height: 1; letter-spacing: -.05em; }
.cps-lab-copy p { color: var(--muted); line-height: 1.75; }
.cps-reports { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cps-report { display: block; padding: 20px; border: 1px solid #dbe5e2; border-radius: 15px; background: #fff; text-decoration: none; transition: .2s; }
.cps-report:hover { border-color: var(--green); transform: translateY(-2px); }
.cps-report__top { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.cps-report__status { color: var(--green); }
.cps-report h3 { margin: 18px 0 12px; font-size: 18px; }
.cps-report__result { color: var(--green); font-size: 28px; font-weight: 850; }
.cps-report__foot { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }

.cps-features { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }
.cps-feature { min-height: 220px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cps-feature__icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--mint); color: var(--green); font-size: 19px; }
.cps-feature h3 { margin: 28px 0 10px; font-size: 18px; }
.cps-feature p { color: var(--muted); font-size: 13px; line-height: 1.65; }

.cps-journal { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.cps-article { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.cps-article__art { height: 190px; background: linear-gradient(135deg,#112a3a,#168269); }
.cps-article:nth-child(2) .cps-article__art { background: linear-gradient(135deg,#d9f5ec,#789e95); }
.cps-article:nth-child(3) .cps-article__art { background: linear-gradient(135deg,#efcf8e,#8b6a35); }
.cps-article__body { padding: 22px; }
.cps-article__body small { color: var(--green); font-weight: 800; }
.cps-article h3 { margin: 10px 0; font-size: 19px; line-height: 1.35; }
.cps-article p { color: var(--muted); font-size: 13px; line-height: 1.6; }

.cps-referral { padding: 42px 0; background: var(--green); color: #fff; }
.cps-referral__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cps-referral h2 { margin: 3px 0 0; font-size: clamp(28px,4vw,44px); letter-spacing: -.04em; }
.cps-referral p { color: #ccece3; }
.cps-referral .cps-btn { background: #fff; border-color: #fff; color: var(--green); }

.cps-footer { padding: 70px 0 25px; background: #091b29; color: #fff; }
.cps-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 54px; }
.cps-footer h4 { margin: 0 0 19px; color: #8fa2ae; font-size: 11px; letter-spacing: .13em; }
.cps-footer nav { display: grid; gap: 11px; }
.cps-footer nav a { color: #d4dde2; text-decoration: none; font-size: 13px; }
.cps-footer__brand p { max-width: 340px; color: #9fb0ba; font-size: 13px; line-height: 1.7; }
.cps-newsletter { display: grid; gap: 10px; margin-top: 22px; }
.cps-newsletter-row { display:flex; }
.cps-newsletter-consent { display:flex; gap:8px; align-items:flex-start; color:#9fb0ba; font-size:11px; font-weight:400; }
.cps-newsletter-consent input { flex:none; margin-top:3px; }
.cps-newsletter-status { margin:0; }
.cps-newsletter button:disabled { opacity:.5; cursor:not-allowed; }
.cps-newsletter input { min-width: 0; flex: 1; padding: 13px; border: 1px solid #39505e; border-radius: 10px 0 0 10px; background: #102837; color: #fff; }
.cps-newsletter button { border: 0; border-radius: 0 10px 10px 0; padding: 0 16px; background: var(--green); color: #fff; font-weight: 700; }
.cps-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 55px; padding-top: 22px; border-top: 1px solid #223746; color: #80939e; font-size: 11px; }

.cps-toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: calc(100% - 44px); padding: 14px 18px; border-radius: 12px; background: var(--navy); color: #fff; box-shadow: var(--shadow); transform: translateY(30px); opacity: 0; pointer-events: none; transition: .25s; }
.cps-toast.is-visible { transform: none; opacity: 1; }
.cps-mobile-bottom { display:none; }
@media(max-width:720px) {
 .cps-theme { padding-bottom: 64px; }
 .cps-mobile-bottom { display:flex; justify-content:space-around; position:fixed; inset:auto 0 0; z-index:55; background:#fff; border-top:1px solid #dce5e7; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); }
 .cps-mobile-bottom a,.cps-mobile-bottom button { display:grid; justify-items:center; gap:3px; color:#64748b; font-size:23px; background:none; border:0; padding:0 10px; text-decoration:none; line-height:1.1; }
 .cps-mobile-bottom span { font-size:10px; }
 .cps-theme .cps-mobile-buy { bottom:58px; }
 .cps-theme .cps-hero__grid { padding:104px 9px 24px; }
 .cps-theme .cps-hero .cps-buttons { align-items:flex-start; }
 .cps-theme .cps-hero .cps-buttons .cps-btn { flex:none; width:auto; }
 .cps-theme .cps-hero__copy { margin-top:34px; }
}
.cps-mobile-buy { display: none; }
.cps-cart-drawer { position:fixed; inset:0; z-index:85; visibility:hidden; pointer-events:none; }
.cps-cart-drawer.is-open { visibility:visible; pointer-events:auto; }
.cps-cart-shade { position:absolute; inset:0; background:rgba(6,18,27,.6); opacity:0; transition:opacity .25s; }
.is-open .cps-cart-shade { opacity:1; }
.cps-cart-panel { position:absolute; inset:0 0 0 auto; width:min(460px,100%); padding:26px; background:#fff; overflow-y:auto; transform:translateX(100%); transition:transform .25s; }
.is-open .cps-cart-panel { transform:none; }
.cps-cart-panel h2 { margin:0; font-size:24px; }
.cps-cart-panel ul { list-style:none; padding:0; margin:24px 0; }
.cps-cart-panel li { padding:16px 0; border-bottom:1px solid var(--line); }
.cps-cart-panel li img { width:64px; float:right; margin-left:14px; }
.cps-cart-panel .buttons { display:flex; gap:10px; }
.cps-cart-panel .buttons a { flex:1; text-align:center; }
.cps-saved-controls { display:flex; gap:8px; padding:10px 14px; }
.cps-saved-controls button { flex:1; border:1px solid var(--line); background:#fff; color:#475569; padding:8px; border-radius:6px; font-size:12px; cursor:pointer; }
.cps-saved-controls button[aria-pressed="true"] { border-color:var(--green); color:var(--green); background:#effaf8; }
.cps-saved-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.cps-compare-grid { display:flex; gap:18px; overflow-x:auto; padding-bottom:20px; }
.cps-compare-grid > article { flex:0 0 290px; }
.cps-compare-grid .cps-product__body > div:not(.cps-saved-controls) { border-bottom:1px solid var(--line); padding:16px 0; }
.cps-compare-grid strong { display:block; margin-bottom:8px; }
[data-saved-id][hidden], [data-report-record][hidden] { display:none !important; }
.cps-catalog-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start; }
.cps-catalog-sidebar { padding:20px; border:1px solid var(--line); border-radius:6px; position:sticky; top:90px; }
.cps-catalog-sidebar summary { font-weight:750; cursor:pointer; }
.cps-filter-form { display:grid; gap:10px; margin-top:20px; }
.cps-filter-form label { margin-top:10px; font-size:12px; color:var(--muted); }
.cps-filter-form input,.cps-filter-form select { min-width:0; width:100%; padding:10px; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:13px; }
.woocommerce ul.products.cps-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; margin:0; }
.woocommerce ul.products.cps-catalog-grid::before,.woocommerce ul.products.cps-catalog-grid::after { display:none; }
.woocommerce ul.products.cps-catalog-grid li.product { float:none; width:auto; margin:0; padding:0; border-radius:6px; text-align:left; }
.cps-product-excerpt { color:var(--muted); font-size:12px; line-height:1.6; min-height:76px; }
.cps-catalog-add .button { display:block; margin-top:16px; text-align:center; border-radius:6px; }
.cps-catalog-result-count { min-height:40px; color:var(--muted); font-size:13px; }
.cps-report-feed { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.cps-report-feed .cps-report__result { font-size:24px; }
.cps-widget-note { font-size:11px; color:var(--muted); }
.cps-stock-row { display:grid; grid-template-columns:64px minmax(0,1fr) 110px 120px; gap:20px; align-items:center; border-bottom:1px solid var(--line); padding:18px 0; }
.cps-stock-row h2 { font-size:17px; margin:0 0 5px; }
.cps-stock-row a { text-decoration:none; }
.cps-stock-state { color:var(--green); font-size:13px; font-weight:700; }
html[data-theme="dark"] body.cps-theme { --ink:#e2e8f0; --muted:#9baabd; --line:#293448; --paper:#101827; --soft:#151f30; --mint:#173936; --navy:#d9e5ee; color:var(--ink); background:var(--paper); color-scheme:dark; }
html[data-theme="dark"] .cps-theme :is(.cps-header,.cps-announcement,.cps-nav-dropdown>div,.cps-product,.cps-report,.cps-feature,.cps-article,.cps-search__panel,.cps-mobile-menu__panel,.cps-cart-panel,.cps-mobile-bottom,.cps-mobile-buy) { background:var(--paper); color:var(--ink); }
html[data-theme="dark"] .cps-theme :is(.cps-nav a,.cps-nav summary,.cps-announcement a,.cps-icon-btn,.cps-auth-heading h1,.cps-section-head h2,.cps-product h3) { color:var(--ink); }
html[data-theme="dark"] .cps-theme :is(input,select,textarea,.cps-saved-controls button) { background:var(--soft); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] .cps-theme .cps-auth-tabs { background:var(--soft); }
html[data-theme="dark"] .cps-theme .cps-auth-tabs button[aria-selected="true"] { background:#273449; color:var(--ink); }
html[data-theme="dark"] .cps-theme :is(.cps-logo:not(.cps-logo--footer) img) { filter:brightness(0) invert(1); }
html[data-theme="dark"] .cps-theme :is(.cps-btn,.cps-catalog-add .button) { background:#0fa6a0; border-color:#0fa6a0; color:white; }
html[data-theme="dark"] .cps-theme .cps-track-banner { background:#151f30; color:var(--ink); }
@media(max-width:600px){.cps-stock-row{grid-template-columns:48px minmax(0,1fr);gap:12px;}.cps-stock-row>.cps-stock-state{grid-column:2;}.cps-stock-row>.cps-text-link{grid-column:2;}}
.cps-checkout-heading h1 { font-size:clamp(32px,4vw,44px); font-weight:800; }
.cps-checkout-proof { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:24px 0 40px; border-block:1px solid var(--line); padding:22px 0; }
.cps-checkout-proof span { color:var(--muted); font-size:12px; }
.cps-checkout-proof strong { display:block; color:var(--ink); font-size:13px; margin-bottom:5px; }
.cps-checkout-form { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:40px; align-items:start; }
.cps-checkout-fields section { border:1px solid var(--line); border-radius:6px; padding:26px; margin-bottom:24px; }
.cps-checkout-fields input.input-text,.cps-checkout-fields textarea,.cps-checkout-fields select { border:1px solid var(--line); border-radius:5px; background:white; padding:12px; }
.cps-checkout-fields label { font-size:13px; }
.cps-checkout-fields h3 { font-size:22px; }
.cps-checkout-summary { position:sticky; top:90px; }
.cps-checkout-summary h2 { font-size:24px; }
.cps-theme .cps-checkout-summary .woocommerce-checkout-review-order { padding:22px; border-radius:6px; }
.cps-checkout-summary table { display:table; }
.cps-checkout-summary #payment { background:#f7faf9; border-radius:6px; }
.cps-checkout-summary #place_order { border-radius:6px; background:var(--green); width:100%; }
@media(max-width:800px){.cps-checkout-form{grid-template-columns:1fr;gap:16px;}.cps-checkout-summary{position:static;}.cps-checkout-proof{grid-template-columns:1fr 1fr;}.cps-checkout-fields section{padding:18px;}}
.cps-auth { max-width:520px; margin:20px auto 50px; }
.cps-auth-heading { text-align:center; margin-bottom:30px; }
.cps-auth-heading h1 { font-size:32px; font-weight:800; margin:0 0 12px; }
.cps-auth-heading p { font-size:14px; color:var(--muted); }
.cps-auth-tabs { display:flex; padding:4px; background:#f1f5f7; border-radius:8px; margin-bottom:24px; }
.cps-auth-tabs button { flex:1; background:transparent; color:var(--muted); border:0; border-radius:6px; padding:11px; cursor:pointer; }
.cps-auth-tabs button[aria-selected="true"] { background:white; color:var(--ink); box-shadow:0 1px 4px #0001; font-weight:700; }
.cps-auth form { border:1px solid var(--line); border-radius:8px; padding:28px; }
.cps-auth .form-row label { font-size:12px; font-weight:650; display:block; margin-bottom:8px; }
.cps-auth input.input-text { width:100%; min-width:0; border:1px solid var(--line); background:white; padding:12px; border-radius:5px; }
.cps-auth .cps-btn { width:100%; border-radius:5px; background:var(--green); border-color:var(--green); }
.cps-auth-remember { display:flex; justify-content:space-between; gap:12px; font-size:12px; }
.cps-auth-remember label { font-weight:400; }
.cps-auth [hidden] { display:none !important; }
@media(max-width:520px){.cps-auth form{padding:20px;}.cps-auth-heading h1{font-size:28px;}}
.cps-account-header { margin-bottom:24px; }
.cps-account-header h1 { font-size:clamp(30px,4vw,40px); font-weight:750; margin:0 0 12px; }
.cps-account-header>p { color:var(--muted); }
.cps-account-identity { display:flex; gap:14px; align-items:center; padding:22px; border:1px solid var(--line); border-radius:6px; margin-top:28px; }
.cps-account-avatar { display:grid; place-items:center; width:44px; height:44px; background:var(--mint); color:var(--green); border-radius:50%; font-weight:750; }
.cps-account-identity>div { flex:1; min-width:0; }
.cps-account-identity strong,.cps-account-identity span:not(.cps-account-avatar) { display:block; overflow-wrap:anywhere; }
.cps-theme .woocommerce-MyAccount-navigation.cps-account-tabs { float:none; width:100%; margin:0 0 28px; }
.cps-account-tabs ul { display:flex; gap:8px; overflow-x:auto; border-bottom:1px solid var(--line); padding:0; }
.cps-theme .cps-account-tabs ul li { border:0; flex:none; list-style:none; }
.cps-theme .cps-account-tabs ul li a { display:block; padding:14px 18px; font-size:13px; text-decoration:none; }
.cps-theme .cps-account-tabs ul li a::before { display:none; }
.cps-account-tabs a[aria-current="page"] { color:var(--green); border-bottom:2px solid var(--green); font-weight:750; }
.cps-theme .woocommerce-MyAccount-content { float:none; width:100%; }
[data-tracking-form] { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
[data-tracking-form] input { min-width:0; flex:1; padding:12px; border:1px solid var(--line); border-radius:6px; }
@media(max-width:600px){.cps-account-identity{padding:14px;}.cps-account-tabs ul{gap:0;}.cps-theme .cps-account-tabs ul li a{padding:12px;}.cps-account-identity strong{font-size:13px;}.cps-account-identity span{font-size:12px;}}
.cps-affiliate-apply { max-width:720px; margin:48px auto; padding:32px; border:1px solid var(--line); border-radius:8px; }
.cps-affiliate-apply textarea { width:100%; border:1px solid var(--line); border-radius:6px; padding:12px; }
@media(max-width:900px){.cps-report-feed{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.cps-report-feed{display:flex;overflow-x:auto;padding-bottom:14px;}.cps-report-feed>.cps-report{flex:0 0 85%;}}
@media(max-width:1080px){.woocommerce ul.products.cps-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.cps-catalog-layout{grid-template-columns:1fr;}.cps-catalog-sidebar{position:static;}.cps-filter-form{grid-template-columns:1fr;}.woocommerce ul.products.cps-catalog-grid{gap:12px;}.cps-catalog-grid .cps-product__visual{height:170px;}.cps-catalog-grid .cps-product__body{padding:12px;}.cps-catalog-grid .cps-product__cat{font-size:8px;}.cps-catalog-grid .cps-saved-controls{padding:8px;gap:4px;}.cps-catalog-grid .cps-saved-controls button{padding:6px 2px;font-size:10px;}}

/* WooCommerce surfaces */
.cps-page-content { padding-block: 48px 72px; min-height: 60vh; }
.cps-page-content > h1 { font-size: clamp(32px,4vw,48px); letter-spacing: -.03em; }
.cps-page-content p, .cps-page-content li { line-height: 1.75; }
.cps-page-content details { border: 1px solid var(--line); border-radius: 6px; margin-block: 12px; padding: 18px; }
.cps-page-content summary { cursor: pointer; font-weight: 700; }
.cps-page-content table { display: block; max-width: 100%; overflow-x: auto; }
.cps-account-dashboard h1 { margin-bottom: 12px; font-size: clamp(28px,4vw,40px); letter-spacing: -.03em; }
.cps-account-dashboard > p { color: var(--muted); }
.cps-account-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 30px 0; }
.cps-account-stats a { display: grid; gap: 8px; padding: 22px; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; }
.cps-account-stats strong { font-size: 30px; color: var(--green); }
.cps-account-stats span { font-size: 13px; }
.cps-account-orders { padding: 24px; border: 1px solid var(--line); border-radius: 6px; }
@media(max-width:600px) { .cps-account-stats { gap: 8px; } .cps-account-stats a { padding: 12px; } .cps-account-stats span { font-size: 11px; } .cps-account-orders { overflow-x: auto; padding: 16px; } }
.site-content { min-height: 60vh; }
.site-main, .woocommerce .content-area { width: 100%; }
.storefront-breadcrumb { margin: 0; padding: 24px 0; }
.woocommerce-products-header { padding: 45px 0 30px; text-align: left; }
.woocommerce-products-header__title { font-size: clamp(38px,5vw,60px); letter-spacing: -.05em; }
.woocommerce ul.products li.product { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; padding-bottom: 20px; background: #fff; }
.woocommerce ul.products li.product img { background: var(--soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding-inline: 16px; }
.woocommerce ul.products li.product .price { color: var(--green); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .button { border-radius: 999px; background: var(--navy); color: #fff; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--green); color: #fff; }
.single-product div.product .summary { padding-top: 18px; }
.single-product div.product .product_title { font-size: clamp(34px,4vw,54px); letter-spacing: -.04em; }
.single-product div.product form.cart { display: flex; gap: 10px; }
.woocommerce-message, .woocommerce-info { border-left-color: var(--green); border-radius: 12px; background: #eff9f6; }
.woocommerce-checkout .col2-set, .woocommerce-checkout-review-order { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); }

@media (max-width: 1020px) {
  :root { --wrap: min(100% - 32px,900px); }
  .cps-nav { display: none; }
  .cps-header__inner { grid-template-columns: 1fr auto; }
  .cps-menu-btn { display: grid; }
  .cps-hero__grid { min-height: 0; grid-template-columns: 1fr 1fr; }
  .cps-products { grid-template-columns: repeat(2,1fr); }
  .cps-proof__grid { grid-template-columns: repeat(2,1fr); padding: 18px 0; }
  .cps-proof__item { padding: 15px 22px; }
  .cps-proof__item:nth-child(3) { border-left: 0; }
  .cps-features { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
  :root { --wrap: calc(100% - 30px); --radius: 15px; }
  .cps-announcement__inner { justify-content: center; min-height: 31px; }
  .cps-announcement__inner span:last-child { display: none; }
  .cps-header__inner { height: 64px; gap: 10px; }
  .cps-logo { font-size: 17px; }
  .cps-logo__mark { width: 31px; height: 31px; }
  .cps-actions .cps-account { display: none; }
  .cps-icon-btn { width: 36px; height: 36px; }
  .cps-hero { background: linear-gradient(180deg,#f0faf7,#fff); }
  .cps-hero__grid { display: flex; flex-direction: column; align-items: stretch; gap: 25px; padding: 54px 0 38px; }
  .cps-hero h1 { font-size: clamp(48px,15vw,68px); }
  .cps-hero__copy { margin: 20px 0; font-size: 15px; line-height: 1.65; }
  .cps-buttons .cps-btn { flex: 1; padding-inline: 14px; }
  .cps-hero__trust { gap: 14px; flex-wrap: wrap; margin-top: 26px; }
  .cps-hero-art { min-height: 340px; }
  .cps-hero-art::before { width: 270px; height: 270px; }
  .cps-vial { width: 120px; height: 215px; }
  .cps-vial__label { top: 52px; }
  .cps-float-card--one { left: 0; top: 12%; }
  .cps-float-card--two { right: 0; bottom: 12%; }
  .cps-proof__grid { grid-template-columns: 1fr 1fr; }
  .cps-proof__item { padding: 14px 12px; }
  .cps-proof__item:nth-child(odd) { border-left: 0; }
  .cps-section { padding: 68px 0; }
  .cps-section-head { align-items: start; }
  .cps-section-head h2 { font-size: 36px; }
  .cps-products { display: flex; gap: 14px; margin-right: -15px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 15px 15px 0; }
  .cps-product { flex: 0 0 82%; scroll-snap-align: start; }
  .cps-product__visual { height: 220px; }
  .cps-lab-grid { grid-template-columns: 1fr; gap: 30px; }
  .cps-lab-copy { position: static; }
  .cps-reports { grid-template-columns: 1fr; }
  .cps-features { grid-template-columns: 1fr; }
  .cps-feature { min-height: 0; }
  .cps-journal { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -15px; padding: 0 15px 15px 0; }
  .cps-article { flex: 0 0 86%; scroll-snap-align: start; }
  .cps-referral__inner { align-items: flex-start; flex-direction: column; }
  .cps-footer__grid { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
  .cps-footer__brand { grid-column: 1/-1; }
  .cps-footer__bottom { flex-direction: column; margin-top: 38px; }
  .cps-mobile-buy { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 -8px 25px rgba(12,34,47,.1); backdrop-filter: blur(12px); }
  .cps-mobile-buy strong { font-size: 13px; }
  .cps-mobile-buy small { display: block; color: var(--muted); font-size: 10px; }
  .cps-mobile-buy .cps-btn { min-height: 42px; }
  .single-product .cps-mobile-buy { display: flex; }
  body:not(.single-product) .cps-mobile-buy { display: none; }
}

@media (max-width: 430px) {
  .cps-logo__name span { display: none; }
  .cps-buttons { flex-direction: column; }
  .cps-buttons .cps-btn { width: 100%; flex: none; }
  .cps-hero__trust { display: grid; grid-template-columns: 1fr 1fr; }
  .cps-section-head { display: block; }
  .cps-section-head .cps-text-link { display: inline-block; margin-top: 15px; }
  .cps-footer__grid { grid-template-columns: 1fr; }
  .cps-footer__brand { grid-column: auto; }
}

/* Product detail: reference two-column research / purchase surface. */
.cps-product-page { padding-block:32px 64px; }
.cps-compliance { padding:11px 24px; background:#fffbeb; color:#614328; border-bottom:1px solid #e6d989; font-size:13px; line-height:1.6; }
.cps-product-page .woocommerce-breadcrumb { font-size:11px; margin:4px 0 26px; color:var(--muted); }
.cps-product-top { display:grid; grid-template-columns:1.45fr 1fr; gap:56px; align-items:start; }
body.cps-theme.single-product div.product.cps-product-detail .summary { float:none; width:100%; margin:0; padding:0; min-width:0; }
.cps-product-gallery .woocommerce-product-gallery { float:none!important; width:100%!important; margin:0 0 16px!important; padding:32px; border:1px solid var(--line); border-radius:8px; }
.cps-product-gallery .woocommerce-product-gallery img { width:100%; }
.cps-product-category { font-size:9px; font-weight:650; letter-spacing:.15em; text-transform:uppercase; color:var(--green-dark); }
.cps-product-category a { text-decoration:none; }
.cps-product-category span { color:var(--muted); margin-left:8px; font-weight:400; }
.single-product .cps-product-detail .product_title { font-size:40px; font-weight:750; margin:16px 0; line-height:1.15; letter-spacing:-.03em; color:var(--ink); }
.cps-purity-line { font-size:12px; margin:20px 0 14px; }.cps-purity-line span { color:var(--muted); font-size:10px; margin-left:5px; }
.cps-lab-badge { display:inline-block; font-size:11px; color:var(--green-dark); padding:6px 10px; background:var(--soft); border:1px solid var(--line); border-radius:4px; text-decoration:none; }
.cps-selected-report { display:block; margin-bottom:28px; border:1px solid var(--line); background:var(--soft); border-radius:4px; text-decoration:none; font-size:11px; }
.cps-selected-report>span { display:block; padding:10px 12px; color:var(--green-dark); }.cps-selected-report strong { color:var(--ink); padding-left:24px; }.cps-selected-report small { display:block; padding:8px 12px; border-top:1px solid var(--line); color:var(--muted); }
.cps-product-purchase { border-top:1px solid var(--line); padding-top:24px; }
.single-product div.product.cps-product-detail form.cart { display:block; margin:0; padding:0; }
.cps-product-purchase form.cps-enhanced-variants .variations { display:none; }
.cps-size-label { font-size:11px; color:var(--muted); }.cps-size-label strong { margin-left:8px; color:var(--ink); font-weight:500; }
.cps-size-options { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 20px; }
.cps-size-option { min-width:82px; display:grid; gap:4px; padding:12px 10px; background:var(--paper); border:1px solid var(--line); border-radius:9px; color:var(--ink); text-align:center; font-size:11px; line-height:1.3; cursor:pointer; }
.cps-size-option strong { font-size:13px; font-weight:600; }.cps-size-option span,.cps-size-option small { color:var(--muted); font-size:10px; }
.cps-size-option[aria-pressed=true] { border-color:var(--green); background:var(--soft); box-shadow:0 0 0 1px var(--green); }
.cps-size-option:disabled { opacity:.4; cursor:not-allowed; }
.cps-product-purchase .variations { margin:0 0 12px; }.cps-product-purchase .variations td,.cps-product-purchase .variations th { padding:4px 0; background:none; }.cps-product-purchase .variations label { font-size:11px; }
.cps-product-purchase .variations select { border:1px solid var(--line); border-radius:4px; padding:7px; font-size:12px; }
.cps-product-purchase .reset_variations { font-size:11px; }
.cps-product-purchase .woocommerce-variation-price .price,.cps-product-summary>p.price { color:var(--ink); font-size:32px; font-weight:750; margin-bottom:16px; }
.cps-product-purchase .woocommerce-variation-add-to-cart { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.cps-volume-quick { width:100%; display:flex; gap:6px; margin:10px 0 14px; }
.cps-volume-quick button { border:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:10px; padding:7px 10px; border-radius:3px; cursor:pointer; }
.cps-product-purchase input.qty { width:100px; padding:10px; border:1px solid var(--line); border-radius:5px; background:var(--paper); color:var(--ink); }
.cps-product-total { font-size:12px; color:var(--ink); }
.cps-stack-builder{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start;}.cps-stack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.cps-stack-card{padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font-size:12px;}.cps-stack-card.is-selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green);}.cps-stack-card label{display:grid;gap:8px;cursor:pointer;}.cps-stack-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:4px;}.cps-stack-card strong{font-size:12px;}.cps-stack-card select{width:100%;padding:6px;margin-top:8px;border:1px solid var(--line);font-size:11px;}.cps-stack-selection{position:sticky;top:90px;padding:20px;border:1px solid var(--line);border-radius:5px;font-size:12px;}.cps-stack-selection h3{font-size:18px;}.cps-stack-selection .cps-btn{width:100%;padding:12px;font-size:13px;border-radius:4px;}.cps-stack-selection button:disabled{opacity:.4;cursor:not-allowed;}.cps-stack-selection [data-stack-selection] p{padding-bottom:10px;border-bottom:1px solid var(--line);}
@media(max-width:720px){.cps-stack-builder{grid-template-columns:1fr;}.cps-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cps-stack-selection{position:static;}}
.cps-referral-customize { margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:5px; }.cps-referral-customize summary{cursor:pointer;font-size:13px;font-weight:600;}.cps-referral-customize input{display:block;padding:12px;border:1px solid var(--line);border-radius:4px;margin:12px 0;}.cps-referral-sharing{margin:24px 0;}.cps-referral-sharing h4{font-size:11px;letter-spacing:.12em;}.cps-referral-sharing .cps-btn{min-height:36px;padding:8px 16px;font-size:12px;}.cps-referral .cps-referral-sharing{margin-bottom:0;}.cps-account-stats>div{padding:22px;border:1px solid var(--line);border-radius:6px;display:grid;gap:8px;}
.cps-reference-body [data-faq-group][hidden],.cps-reference-body [role=region][hidden] { display:none!important; }.cps-reference-body [data-faq-category][aria-pressed=true]{color:#0fa6a0;border-color:#0fa6a0;background:#0fa6a010;}
.cps-mobile-bottom svg { width:20px;height:20px; }.cps-mobile-menu nav details { border-bottom:1px solid var(--line); }.cps-mobile-menu nav summary { padding:18px 0;font-weight:600;cursor:pointer; }.cps-mobile-menu nav details a{padding-left:18px;font-size:13px;}
.cps-footer__bottom [data-cookie-settings] { background:none;border:0;color:inherit;padding:0;font:inherit;cursor:pointer;text-decoration:underline; }
.cps-cookie-banner { position:fixed;z-index:110;bottom:24px;left:50%;transform:translateX(-50%);width:min(670px,calc(100% - 32px));padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px; }
.cps-cookie-banner[hidden] { display:none; }.cps-cookie-banner h3{font-size:16px;margin:0 0 12px;font-weight:650;}.cps-cookie-banner p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 16px;}.cps-cookie-banner>div,.cps-cookie-dialog>div{display:flex;gap:8px;flex-wrap:wrap;}
.cps-cookie-banner button,.cps-cookie-dialog button{border:1px solid var(--line);border-radius:4px;padding:10px 14px;font-size:12px;cursor:pointer;}.cps-cookie-banner .cps-btn,.cps-cookie-dialog .cps-btn{background:var(--green);color:white;border-color:var(--green);min-height:0;}
.cps-cookie-dialog{width:min(520px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);}.cps-cookie-dialog::backdrop{background:#0a0f1e88;}.cps-cookie-dialog h2{font-size:24px;}.cps-cookie-dialog p{font-size:13px;line-height:1.7;color:var(--muted);}.cps-cookie-dialog label{display:block;margin:18px 0;font-size:13px;}
@media(max-width:720px){.cps-cookie-banner{bottom:72px;padding:20px;}.cps-announcement__inner{font-size:10px;white-space:nowrap;}.cps-cookie-banner button{padding:9px 10px;font-size:11px;}}
.cps-reconstitution { margin-top:20px; padding:16px; border:1px solid #8acac7; border-radius:4px; background:var(--soft); font-size:12px; line-height:1.7; }.cps-reconstitution h3{font-size:14px;margin:0 0 8px;}
.cps-product-purchase .single_add_to_cart_button.button { width:100%; margin-top:10px; background:var(--green); color:white; border-radius:4px; padding:15px; font-size:14px; }
.cps-free-shipping-note { text-align:center; font-size:11px; color:var(--muted); margin:12px 0; }
.cps-purchase-promises { border:1px solid var(--line); padding:12px 16px; border-radius:4px; font-size:11px; line-height:1.6; color:var(--muted); }.cps-purchase-promises p { margin:0 0 12px; }
.cps-shipping-estimate { margin:16px 0; border:1px solid var(--line); border-radius:4px; padding:12px; font-size:12px; }.cps-shipping-estimate summary { cursor:pointer; font-weight:600; }
.cps-product-summary .woocommerce-product-details__short-description { font-size:13px; line-height:1.8; margin:24px 0; }
.cps-research-notice { border:1px solid #e6d989; background:#fffbeb; color:#614328; border-radius:4px; padding:16px; font-size:12px; margin-top:20px; }.cps-research-notice p { margin:8px 0 0; }
.cps-product-detail .woocommerce-tabs { display:block; clear:both; padding:50px 0 0; }
.cps-product-detail .woocommerce-tabs ul.tabs { float:none; width:100%; display:flex; gap:24px; border-bottom:1px solid var(--line); overflow-x:auto; padding:0; margin:0 0 28px; }
.cps-product-detail .woocommerce-tabs ul.tabs li { border:0; flex-shrink:0; }.cps-product-detail .woocommerce-tabs ul.tabs li a { padding:14px 0; font-size:14px; }.cps-product-detail .woocommerce-tabs ul.tabs li::after { display:none; }.cps-product-detail .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--green); }
.cps-product-detail .woocommerce-tabs .panel { float:none; width:100%; font-size:14px; line-height:1.8; }.cps-product-detail .woocommerce-tabs .panel h2 { font-size:24px; }.cps-product-detail .woocommerce-tabs .panel h3 { font-size:20px; margin:24px 0 12px; }
.cps-product-detail .woocommerce-tabs .panel table { width:100%; table-layout:fixed; overflow-wrap:anywhere; }.cps-product-detail .woocommerce-tabs .panel td { padding:12px; }
.cps-product-report { padding:16px 0; border-bottom:1px solid var(--line); }.cps-product-links { display:flex; gap:24px; flex-wrap:wrap; padding:20px 0 40px; font-size:13px; }
.cps-product-detail .related ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.cps-product-detail .related ul.products::before,.cps-product-detail .related ul.products::after { display:none; }.cps-product-detail .related ul.products li.product { float:none; width:auto; margin:0; }
html[data-theme=dark] .cps-product-detail .woocommerce-tabs .panel td { background:var(--soft); }
@media(max-width:900px){.cps-product-top{gap:28px;grid-template-columns:1fr 1fr;}.cps-product-gallery .woocommerce-product-gallery{padding:16px;}}
@media(max-width:720px){.cps-product-page{padding-top:20px;}.cps-compliance{padding:12px;font-size:11px;}.cps-product-top{grid-template-columns:1fr;gap:24px;}.single-product .cps-product-detail .product_title{font-size:32px;}.cps-product-gallery .woocommerce-product-gallery{padding:20px;}.cps-product-detail .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.cps-product-detail .woocommerce-tabs ul.tabs{gap:20px;}.cps-product-detail .woocommerce-tabs ul.tabs li a{font-size:12px;}}
