/* =============================================================================
 * NVO Health  -  css/theme.css   (v4: bold, colorful, fun)
 * Loads AFTER nvo.css and only overrides. Delete the <link> in header.php to
 * roll back to the previous look.
 * ===========================================================================*/
:root {
	--bg: #FAFBFC;
	--r-sm: 10px; --r-md: 14px; --r-lg: 22px;
	--mint:   #2BC4B4;
	--coral:  #FF7A59;
	--violet: #7C5CFF;
	--sky:    #3BA7FF;
	--sun:    #FFC24D;
	--grad-brand: linear-gradient(120deg, #0F8B8D 0%, #2BC4B4 55%, #D4AF37 120%);
	--shadow-sm: 0 1px 2px rgba(16,42,67,.05), 0 2px 8px rgba(16,42,67,.04);
	--shadow-md: 0 10px 30px rgba(16,42,67,.08);
	--shadow-lg: 0 24px 60px rgba(16,42,67,.14);
	--header-h: 76px;
}
body { background:var(--bg); }
h1, h2, h3 { font-weight:800; letter-spacing:-.025em; }
h1 { letter-spacing:-.035em; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--teal); font-weight:800; letter-spacing:.14em; }
.eyebrow::before { content:''; width:18px; height:3px; border-radius:3px; background:var(--grad-brand); }
.text-center .eyebrow { justify-content:center; }
.lead { color:var(--slate); }
.grad-text { background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nvo-ico { width:22px; height:22px; }

/* --- Buttons --------------------------------------------------------------- */
.btn { border-radius:var(--r-pill); padding:12px 22px; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(16,42,67,.14); }
.btn--primary, .btn--grad { background:var(--navy); color:#fff; border-color:var(--navy); }
.btn--primary:hover, .btn--grad:hover { background:var(--teal); border-color:var(--teal); color:#fff; }
.btn--gold { background:var(--sun); border-color:var(--sun); color:var(--navy); }
.btn--gold:hover { background:#FFB52E; color:var(--navy); }
.btn--ghost { background:#fff; border:1.5px solid var(--border); }

/* --- Header: light, glassy ------------------------------------------------- */
.site-header { background:rgba(255,255,255,.86); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid rgba(16,42,67,.07); }
.site-header .brand__nvo { color:var(--navy); font-size:2rem; }
.site-header .brand__health { color:var(--slate); }
.mainnav ul { gap:4px; }
.mainnav a { color:var(--navy); font-weight:600; padding:9px 14px; border-radius:var(--r-pill); }
.mainnav a:hover, .mainnav a[aria-current="page"] { background:var(--teal-050); color:var(--teal); box-shadow:none; }
.header-actions .btn--ghost { background:transparent; color:var(--navy); border-color:var(--border); }
.header-actions .btn--ghost:hover { border-color:var(--navy); color:var(--navy); }
.nav-toggle { color:var(--navy); }
@media (max-width:1023px){
	.site-header { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
	.mainnav { background:#fff; box-shadow:none; visibility:hidden; }
	.mainnav.open { box-shadow:var(--shadow-lg); visibility:visible; }
	.mainnav a { color:var(--navy); }
	.site-header .btn--gold { white-space:nowrap; padding:10px 16px; font-size:.9rem; }
	.site-header .container { gap:var(--s-3); }
	.site-header .brand__nvo { font-size:1.7rem; }
}
.notice-bar { background:#F1F8F8; border:0; color:#0B5B5C; font-weight:500; }

/* --- Cards ----------------------------------------------------------------- */
.card { border-radius:var(--r-lg); border:1px solid rgba(16,42,67,.08); box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s; }
a.card:hover, .card--feature:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(15,139,141,.35); }
.chip-ico { width:48px; height:48px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.chip-ico .nvo-ico { width:24px; height:24px; }
.chip--teal   { background:#E3F6F4; color:var(--teal); }
.chip--coral  { background:#FFEDE6; color:#E8573A; }
.chip--violet { background:#EFEBFF; color:#6447F0; }
.chip--sky    { background:#E5F3FF; color:#1C86E0; }
.chip--sun    { background:#FFF4DA; color:#B57F00; }
.chip--navy   { background:#E8EDF3; color:var(--navy); }

/* --- Home ------------------------------------------------------------------ */
.hero__scrim { background:linear-gradient(90deg, rgba(250,251,252,.97) 0%, rgba(250,251,252,.86) 22%, rgba(250,251,252,.25) 45%, rgba(250,251,252,0) 70%); }
.hero h1 { font-size:clamp(2.8rem, 6vw, 4.6rem); line-height:1.02; }
.hero__eyebrow { color:var(--teal); }
.path-card { border-radius:26px; padding:26px; box-shadow:0 30px 80px rgba(16,42,67,.22); border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.94); backdrop-filter:blur(8px); }
.path-card h2 { font-size:1.45rem; }
.path-option { border-radius:16px; padding:12px 14px; gap:14px; font-weight:700; border:1.5px solid var(--border); transition:transform .15s, border-color .15s, background .15s; }
.path-option:hover { transform:translateX(3px); border-color:var(--teal); background:#F7FCFC; }
.path-option .chip-ico { width:40px; height:40px; border-radius:12px; }
.path-option .arrow { color:var(--teal); font-weight:800; }
.trust-strip { background:#fff; border-bottom:1px solid rgba(16,42,67,.06); }
.trust-strip .container { justify-content:center; gap:var(--s-5) var(--s-7); font-weight:600; color:var(--navy); }
.trust-strip span .nvo-ico { width:18px; height:18px; color:var(--teal); }
.philosophy { background:radial-gradient(900px 400px at 15% 0%, #E9F7F6 0%, transparent 60%), radial-gradient(700px 380px at 90% 100%, #FFF4DA 0%, transparent 60%), #fff; }
.phil-step { background:#fff; border:1px solid rgba(16,42,67,.07); border-radius:var(--r-lg); padding:var(--s-6) var(--s-5); box-shadow:var(--shadow-sm); text-align:left; }
.phil-step .chip-ico { margin-bottom:var(--s-4); }
.phil-step h3 { color:var(--navy); font-size:1.6rem; }
.phil-step__num { float:right; font-family:var(--font-head); font-weight:800; font-size:2.4rem; line-height:1; color:#EEF2F5; }
.card--feature { text-align:left; display:flex; flex-direction:column; gap:6px; padding:var(--s-5); }
.card--feature .chip-ico { margin-bottom:var(--s-3); }
.card--feature .card__cta { margin-top:auto; padding-top:var(--s-3); }
.trust-panel { background:radial-gradient(600px 300px at 100% 0%, rgba(43,196,180,.35), transparent 60%), radial-gradient(500px 260px at 0% 100%, rgba(212,175,55,.22), transparent 60%), var(--navy); border-radius:28px; }
.trust-stats .stat b { color:#fff; }
.news-strip { background:linear-gradient(120deg,#E9F7F6,#FFF6E1); border:0; }
.news-strip .gift { background:#fff; color:var(--teal); }

/* --- Research catalog ------------------------------------------------------ */
.product-card { background:#fff; border:1px solid rgba(16,42,67,.08); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .18s, box-shadow .18s, border-color .18s; }
.product-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(15,139,141,.35); }
.product-card__media { background:linear-gradient(180deg,#F4F8F9 0%,#EAF1F3 100%); padding:22px 22px 6px; }
.product-card__media .vial-photo { max-width:220px; }
.product-card__body { padding:16px 18px 18px; }

/* --- Research product page (static, no animation) -------------------------- */
.pdp { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-7); align-items:start; margin-bottom:var(--s-7); }
.pdp__media { position:sticky; top:96px; background:linear-gradient(180deg,#F4F8F9 0%,#E7EFF2 100%); border-radius:28px; padding:clamp(24px,4vw,56px); display:flex; align-items:center; justify-content:center; min-height:460px; }
.pdp__media .vial-photo { max-width:320px; }
.pdp__info h1 { font-size:clamp(2.2rem,4vw,3.2rem); margin:12px 0 4px; }
.pdp__meta { color:var(--slate); margin:0 0 var(--s-5); }
.pdp__box { background:#fff; border:1px solid rgba(16,42,67,.08); border-radius:var(--r-lg); padding:var(--s-5); box-shadow:var(--shadow-sm); }
.pdp .size-bubble { width:auto; height:auto; min-width:64px; padding:10px 18px; border-radius:var(--r-pill); }
.pdp .size-bubble.is-selected { background:var(--navy); color:#fff; border-color:var(--navy); box-shadow:none; }
.pdp .price-row { margin:var(--s-5) 0 var(--s-2); }
.pdp .tier-bubble { border-radius:var(--r-md); }
.pdp .tier-bubble.is-active, .pdp .tier-bubble.is-best { border-color:var(--teal); box-shadow:0 0 0 3px rgba(15,139,141,.12); }
.pdp .tier-badge { background:var(--sun); color:var(--navy); }
.pdp .pay-chip { border:1px solid var(--border); box-shadow:none; }
.pdp .pay-note { color:var(--slate); }
.pdp-details { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s-4); }
.pdp-details .card h2 { font-size:1.15rem; margin-bottom:8px; }
.pdp-details .card p { margin:0; }
.pdp-details .card--wide { grid-column:1 / -1; }
@media (max-width:900px){ .pdp{grid-template-columns:1fr; gap:var(--s-5);} .pdp__media{position:static; min-height:320px;} .pdp-details{grid-template-columns:1fr;} }

/* --- How it works ---------------------------------------------------------- */
.hiw { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-top:var(--s-6); }
.hiw-card { position:relative; display:flex; flex-direction:column; gap:var(--s-3); padding:var(--s-6) var(--s-5); border-radius:26px; background:#fff; border:1px solid rgba(16,42,67,.08); box-shadow:var(--shadow-sm); overflow:hidden; }
.hiw-card::before { content:''; position:absolute; inset:0 0 auto 0; height:6px; background:var(--accent, var(--teal)); }
.hiw-card h2 { font-size:1.6rem; margin:var(--s-2) 0 0; }
.hiw-card > p { color:var(--slate); margin:0; }
.hiw-steps { list-style:none; counter-reset:s; padding:0; margin:var(--s-3) 0; display:flex; flex-direction:column; gap:12px; }
.hiw-steps li { counter-increment:s; display:flex; gap:12px; align-items:flex-start; font-weight:500; }
.hiw-steps li::before { content:counter(s); flex:none; width:28px; height:28px; border-radius:50%; background:var(--accent-soft, #E3F6F4); color:var(--accent, var(--teal)); font-weight:800; font-size:.85rem; display:flex; align-items:center; justify-content:center; }
.hiw-card .btn { margin-top:auto; align-self:flex-start; }
.hiw-card .muted { font-size:.82rem; }
.hiw-card--learn    { --accent:var(--teal);   --accent-soft:#E3F6F4; }
.hiw-card--research { --accent:#6447F0;       --accent-soft:#EFEBFF; }
.hiw-card--medical  { --accent:#E8573A;       --accent-soft:#FFEDE6; }
@media (max-width:1023px){ .hiw{grid-template-columns:1fr;} }

/* --- Learn: calmer popularity (no rank numbers / gold tags) ----------------- */
.learn-rank, .learn-chip--hot, .gq-card__rank { display:none !important; }
.learn-topic-tile__top li::before { color:var(--teal); }
.learn-quiz-cta { background:var(--grad-brand); }
.learn-quiz-cta .btn--gold { background:#fff; border-color:#fff; }
.learn-row:hover { background:#F7FBFB; }
.gq-goal { border-radius:18px; }
.gq-goal.is-on { box-shadow:0 8px 20px rgba(15,139,141,.15); }
.gq-card__name { padding-right:0; }
.gq-med { background:var(--grad-brand); border-radius:24px; }
.gq-med .btn--gold { background:#fff; border-color:#fff; }

/* --- Footer polish --------------------------------------------------------- */
.site-footer { background:radial-gradient(700px 300px at 100% 0%, rgba(43,196,180,.14), transparent 60%), var(--navy); }

/* =============================================================================
 * v4: color bands, full-width layouts, playful accents
 * ===========================================================================*/
:root {
	--ink: #0A1A2F;
	--grad-fun: linear-gradient(100deg, #2BC4B4 0%, #7C5CFF 55%, #FF7A59 100%);
	--grad-glow: linear-gradient(90deg, #5EEAD4 0%, #A78BFA 50%, #FDBA74 100%);
}

/* --- Dark color band (page heroes) ----------------------------------------- */
.band { position:relative; overflow:hidden; color:#C9D6E3; padding:0 0 var(--s-8);
	background:
		radial-gradient(560px 360px at 6% 0%, rgba(43,196,180,.55), transparent 62%),
		radial-gradient(520px 380px at 96% 8%, rgba(124,92,255,.55), transparent 62%),
		radial-gradient(600px 320px at 62% 118%, rgba(255,122,89,.40), transparent 62%),
		var(--ink); }
.band::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.35;
	background-image:radial-gradient(rgba(255,255,255,.22) 1px, transparent 1px); background-size:22px 22px;
	-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%); mask-image:linear-gradient(180deg,#000 0%,transparent 85%); }
.band > .container { position:relative; }
.band h1 { color:#fff; font-size:clamp(2.4rem,5vw,4.2rem); line-height:1.02; margin:var(--s-2) 0 var(--s-3); }
.band h2, .band h3 { color:#fff; }
.band .lead { color:#C9D6E3; max-width:760px; }
.band .crumbs, .band .crumbs a { color:#8FA6BD; }
.band .crumbs a:hover { color:#fff; }
.band .crumbs .sep { color:#3B5370; }
.band .eyebrow { color:#5EEAD4; }
.band .eyebrow::before { background:var(--grad-glow); }
.band .grad-text, .grad-glow { background:var(--grad-glow); -webkit-background-clip:text; background-clip:text; color:transparent; }
.band .learn-chip { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:#DDE7F0; }
.band a.learn-chip:hover { border-color:#5EEAD4; color:#fff; }
.band .muted { color:#8FA6BD; }
.band--short { padding-bottom:var(--s-7); }
.band__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); gap:var(--s-7); align-items:center; }
@media (max-width:1023px){ .band__grid { grid-template-columns:1fr; gap:var(--s-5); } }
/* content that overlaps the bottom of a band */
.lift { position:relative; margin-top:calc(var(--s-8) * -1 + var(--s-3)); z-index:2; }
.section--after-band { padding-top:0; background:transparent; }

/* glass panel on dark */
.glass { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:26px; padding:22px;
	-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 30px 80px rgba(0,0,0,.25); }
.glass h2 { font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; color:#8FA6BD; margin:0 0 12px; font-weight:800; }

/* search + quiz CTA on dark */
.band .learn-search { border:0; box-shadow:0 16px 40px rgba(0,0,0,.25); }
.band .learn-search .btn--primary { background:var(--grad-fun); border:0; }
.learn-quiz-cta { background:var(--grad-fun); border-radius:22px; }
.band .learn-quick { color:#8FA6BD; }
.band .learn-quick a { color:#fff; font-weight:600; border-bottom:1px dashed rgba(255,255,255,.3); }
.band .learn-quick a:hover { color:#5EEAD4; text-decoration:none; }

/* --- Trending panel (Learn home) ------------------------------------------- */
.trend { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.trend a { display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:16px; color:#fff; text-decoration:none; background:rgba(255,255,255,.04); border:1px solid transparent; transition:background .15s, border-color .15s, transform .15s; }
.trend a:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); transform:translateX(4px); text-decoration:none; }
.trend__av { width:42px; height:42px; border-radius:13px; flex:none; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.95rem; color:#fff; background:var(--av, var(--grad-fun)); }
.trend li:nth-child(6n+1) .trend__av { --av:linear-gradient(135deg,#2BC4B4,#0F8B8D); }
.trend li:nth-child(6n+2) .trend__av { --av:linear-gradient(135deg,#A78BFA,#6447F0); }
.trend li:nth-child(6n+3) .trend__av { --av:linear-gradient(135deg,#FF9A7A,#E8573A); }
.trend li:nth-child(6n+4) .trend__av { --av:linear-gradient(135deg,#6CC3FF,#1C86E0); }
.trend li:nth-child(6n+5) .trend__av { --av:linear-gradient(135deg,#FFD36E,#E0A000); }
.trend li:nth-child(6n+6) .trend__av { --av:linear-gradient(135deg,#F38BC8,#C2408F); }
.trend__name { font-weight:700; flex:1; line-height:1.2; }
.trend__name small { display:block; font-weight:500; font-size:.8rem; color:#8FA6BD; margin-top:2px; }
.trend__go { color:#5EEAD4; font-weight:800; }

/* --- Color cycling for tiles / icons --------------------------------------- */
.learn-topics > :nth-child(6n+1), .gq-goals > :nth-child(6n+1), .gq-cards > :nth-child(6n+1) { --c:#0F9E94; --c2:#2BC4B4; --cs:#E3F6F4; }
.learn-topics > :nth-child(6n+2), .gq-goals > :nth-child(6n+2), .gq-cards > :nth-child(6n+2) { --c:#6447F0; --c2:#A78BFA; --cs:#EFEBFF; }
.learn-topics > :nth-child(6n+3), .gq-goals > :nth-child(6n+3), .gq-cards > :nth-child(6n+3) { --c:#E8573A; --c2:#FF9A7A; --cs:#FFEDE6; }
.learn-topics > :nth-child(6n+4), .gq-goals > :nth-child(6n+4), .gq-cards > :nth-child(6n+4) { --c:#1C86E0; --c2:#6CC3FF; --cs:#E5F3FF; }
.learn-topics > :nth-child(6n+5), .gq-goals > :nth-child(6n+5), .gq-cards > :nth-child(6n+5) { --c:#C98A00; --c2:#FFC24D; --cs:#FFF4DA; }
.learn-topics > :nth-child(6n+6), .gq-goals > :nth-child(6n+6), .gq-cards > :nth-child(6n+6) { --c:#C2408F; --c2:#F38BC8; --cs:#FCE8F4; }

.learn-topic-tile { border-radius:22px; border:1px solid rgba(16,42,67,.08); box-shadow:var(--shadow-sm); position:relative; overflow:hidden; transition:transform .18s, box-shadow .18s; }
.learn-topic-tile::before { content:''; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--c),var(--c2)); }
.learn-topic-tile:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:rgba(16,42,67,.08); }
.learn-topic-tile .ico { background:var(--cs); color:var(--c); border-radius:12px; width:40px; height:40px; padding:9px; }
.learn-topic-tile__head:hover { color:var(--c); }
.learn-topic-tile__top li::before { content:''; width:6px; height:6px; min-width:6px; border-radius:50%; background:var(--c); transform:translateY(-2px); }
.learn-topic-tile__all { color:var(--c); }

/* --- Section headings: bigger, bolder -------------------------------------- */
.learn-sec-head h2, .gq-h { font-size:clamp(1.6rem,2.6vw,2.2rem); }
.learn-card { border-radius:22px; position:relative; overflow:hidden; }
.learn-card::after { content:''; position:absolute; inset:auto 0 0 0; height:4px; background:var(--grad-fun); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.learn-card:hover::after { transform:scaleX(1); }
.learn-band { background:linear-gradient(180deg,#F3F6FF 0%,#FDF4F0 100%); }
.learn-evidence__item { border-radius:18px; background:#fff; }
.ev-badge { padding:4px 10px; }

/* --- Health goals ---------------------------------------------------------- */
.gq.band { padding-bottom:var(--s-7); }
.gq-head { text-align:left; max-width:760px; margin:0 0 var(--s-6); }
.gq-goals { max-width:none; margin:0; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.gq-goal { border:0; border-radius:20px; padding:18px; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.18); color:var(--ink); transition:transform .15s, box-shadow .15s, background .15s; }
.gq-goal:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(0,0,0,.28); }
.gq-goal .ico { background:var(--cs); color:var(--c); border-radius:12px; width:42px; height:42px; padding:9px; }
.gq-goal.is-on { background:linear-gradient(135deg,var(--c),var(--c2)); color:#fff; box-shadow:0 18px 40px rgba(0,0,0,.3); }
.gq-goal.is-on .ico { background:rgba(255,255,255,.22); color:#fff; }
.gq-goal.is-on .gq-check { background:#fff; border-color:#fff; color:var(--c); }
.gq-goal:focus-within { outline:3px solid #5EEAD4; }
.gq-actions { justify-content:flex-start; }
.band .gq-reset { color:#5EEAD4; }
.gq-results-wrap { background:transparent; padding-top:var(--s-7); }
.gq-cards { grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.gq-card { border-radius:22px; padding:22px; border:1px solid rgba(16,42,67,.08); box-shadow:var(--shadow-sm); overflow:hidden; }
.gq-card::before { content:''; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--c,#0F9E94),var(--c2,#2BC4B4)); }
.gq-card:hover { border-color:rgba(16,42,67,.08); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.gq-card__name { font-family:var(--font-head); font-size:1.25rem; font-weight:800; color:var(--ink); }
.gq-card__cta { color:var(--c,#0F9E94); font-weight:800; margin-top:auto; }
.gq-card__goals em { background:var(--cs,#E3F6F4); color:var(--c,#0B5B5C); }
.gq-cards--combo .gq-card { background:linear-gradient(160deg,#fff 60%,var(--cs,#F3F6FF) 100%); }
.gq-med { background:var(--grad-fun); }

/* --- Peptide detail page --------------------------------------------------- */
.lp-hero .band__grid { align-items:start; }
.lp-hero h1 { font-size:clamp(2.6rem,6vw,4.6rem); }
.lp-hero .lp-aka { color:#8FA6BD; }
.lp-hero .lead { font-size:1.2rem; }
.lp-glance.glass { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); }
.lp-glance.glass h2 { color:#8FA6BD; }
.lp-glance.glass dl { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lp-glance.glass dl > div { background:rgba(255,255,255,.06); border-radius:14px; padding:12px 14px; }
.lp-glance.glass dl > div.wide { grid-column:1 / -1; }
.lp-glance.glass dt { color:#5EEAD4; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.lp-glance.glass dd { color:#fff; font-size:.92rem; font-weight:600; margin-top:4px; }
.lp-glance.glass dd a { color:#FDBA74; }
.lp-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:var(--s-7); align-items:start; }
.lp-layout .lp-tabs { position:sticky; top:100px; flex-direction:column; gap:4px; border:0; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; margin:0; padding-top:var(--s-5); overflow:visible; }
.lp-layout .lp-tabs a { border:0; border-radius:12px; padding:10px 14px; color:var(--slate); }
.lp-layout .lp-tabs a:hover { background:#EEF3F7; color:var(--ink); }
.lp-layout .lp-tabs a.is-on { background:var(--ink); color:#fff; }
.lp-side-cta { margin-top:var(--s-4); padding:16px; border-radius:18px; background:var(--grad-fun); color:#fff; text-decoration:none; display:block; font-weight:700; line-height:1.35; }
.lp-side-cta:hover { color:#fff; text-decoration:none; transform:translateY(-2px); }
.lp-side-cta span { display:block; font-size:.82rem; font-weight:500; opacity:.9; margin-top:4px; }
.lp-layout .lp-body { max-width:none; }
.lp-sec { border-bottom:0; padding:var(--s-6) 0 0; }
.lp-sec h2 { font-size:clamp(1.6rem,2.4vw,2rem); }
.lp-sec h2::after { content:''; display:block; width:48px; height:4px; border-radius:4px; background:var(--grad-fun); margin-top:10px; }
.lp-two > div { background:#fff; border:1px solid rgba(16,42,67,.07); border-radius:20px; padding:20px 22px; box-shadow:var(--shadow-sm); }
.lp-two > div.lp-callout { border-left:5px solid #7C5CFF; }
.lp-studied li { border-radius:16px; background:#fff; box-shadow:var(--shadow-sm); border-color:rgba(16,42,67,.07); }
.lp-dose { border-radius:24px; box-shadow:var(--shadow-sm); }
.lp-quick div { border-radius:14px; background:linear-gradient(160deg,#F3F6FF,#F2FBFA); }
.lp-steps li::before { background:var(--grad-fun); }
.lp-related a { border-radius:16px; }
.lp-related a:hover { border-color:#7C5CFF; }
@media (max-width:900px){
	.lp-layout { grid-template-columns:1fr; gap:0; }
	.lp-layout .lp-tabs { position:sticky; top:var(--header-h); z-index:5; flex-direction:row; overflow-x:auto; background:rgba(250,251,252,.97); padding:8px 0; margin:0 calc(var(--s-5) * -1); padding-left:var(--s-5); }
	.lp-side-cta { display:none; }
	.lp-glance.glass dl { grid-template-columns:1fr; }
}

/* --- Library + glossary on band pages -------------------------------------- */
.band .page-intro { max-width:760px; }
.learn-lib { margin-top:var(--s-6); }
.learn-results, .learn-list { border-radius:22px; }

/* --- How it works --------------------------------------------------------- */
.hiw.lift { margin-top:calc(var(--s-8) * -1 + var(--s-3)); }
.hiw-card { box-shadow:0 20px 50px rgba(10,26,47,.12); }
.hiw-card::before { height:8px; background:linear-gradient(90deg,var(--accent),var(--accent2,var(--accent))); }
.hiw-card--learn    { --accent2:#5EEAD4; }
.hiw-card--research { --accent2:#A78BFA; }
.hiw-card--medical  { --accent2:#FDBA74; }
.hiw-card:hover { transform:translateY(-4px); }
.hiw-card { transition:transform .18s ease; }
.lp-layout .lp-tabs a.lp-side-cta, .lp-layout .lp-tabs a.lp-side-cta:hover { color:#fff; background:var(--grad-fun); padding:16px; border-radius:18px; white-space:normal; }
.band--short h1 { font-size:clamp(2.3rem,4.4vw,3.8rem); }
.band-side { padding:20px; }
.band-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.band-stats div { background:rgba(255,255,255,.06); border-radius:16px; padding:14px; text-align:center; }
.band-stats b { display:block; font-family:var(--font-head); font-size:2rem; line-height:1.1; color:#fff; font-weight:800; }
.band-stats div:nth-child(1) b { color:#5EEAD4; } .band-stats div:nth-child(2) b { color:#A78BFA; } .band-stats div:nth-child(3) b { color:#FDBA74; }
.band-stats span { font-size:.8rem; color:#8FA6BD; font-weight:600; }
.band-checks { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.band-checks li { display:flex; align-items:center; gap:12px; color:#fff; font-weight:600; background:rgba(255,255,255,.06); border-radius:14px; padding:12px 14px; }
.band-checks .nvo-ico { width:20px; height:20px; color:#5EEAD4; flex:none; }
.band-checks li:nth-child(2) .nvo-ico { color:#A78BFA; } .band-checks li:nth-child(3) .nvo-ico { color:#FDBA74; }
.band-side__cta { display:block; margin-top:12px; padding:14px 16px; border-radius:16px; background:var(--grad-fun); color:#fff; text-decoration:none; font-size:.92rem; line-height:1.4; transition:transform .15s; }
.band-side__cta strong { display:block; font-size:1rem; }
.band-side__cta:hover { color:#fff; text-decoration:none; transform:translateY(-2px); }
.gq-head { max-width:960px; }
@media (max-width:640px){
	.gq-goals { grid-template-columns:1fr 1fr; gap:10px; }
	.gq-goal { flex-direction:column; align-items:flex-start; gap:10px; padding:14px; font-size:.92rem; }
	.gq-goal .ico { display:block; width:36px; height:36px; padding:8px; }
	.gq-check { position:absolute; top:12px; right:12px; }
	.gq-cards { grid-template-columns:1fr; }
	.band { padding-bottom:var(--s-7); }
	.band-stats b { font-size:1.6rem; }
}

/* =============================================================================
 * v5: color everywhere (soft color wash, tinted bands, colored cards)
 * ===========================================================================*/
body {
	background:
		radial-gradient(1100px 620px at -5% 0%, #DDF8F1 0%, transparent 60%),
		radial-gradient(1000px 640px at 105% 25%, #ECE6FF 0%, transparent 60%),
		radial-gradient(1000px 640px at -5% 85%, #FFEBDF 0%, transparent 60%),
		radial-gradient(900px 600px at 100% 100%, #DFF0FF 0%, transparent 60%),
		#F5F7FC;
	background-attachment:fixed;
}
/* sections that hard-coded white now let the color show through */
.section[style*="background:#fff"], .section[style*="background: #fff"], .learn-band, .gq-results-wrap { background:transparent !important; }

/* header: gradient accent line */
.site-header { position:sticky; }
.site-header::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--grad-fun); }
.notice-bar { background:linear-gradient(90deg,#D8F6EF,#E9E3FF 50%,#FFE6DA); color:#123; font-weight:600; border:0; }

/* first section on pages without a dark band gets a color wash header */
main > section.section:first-of-type:not(.band) {
	background:
		radial-gradient(700px 320px at 0% 0%, rgba(43,196,180,.28), transparent 65%),
		radial-gradient(640px 300px at 100% 0%, rgba(124,92,255,.22), transparent 65%),
		radial-gradient(600px 260px at 60% 100%, rgba(255,122,89,.16), transparent 65%) !important;
}
main > section.section:first-of-type:not(.band) h1::after { content:''; display:block; width:64px; height:5px; border-radius:5px; background:var(--grad-fun); margin-top:14px; }
.pdp__info h1::after, .lp-hero h1::after { display:none !important; }

/* alternating tinted bands further down the page */
main > section.section:nth-of-type(3n+2):not(.band):not(.section--after-band):not(:first-of-type) { background:linear-gradient(180deg, rgba(222,248,242,.75), rgba(222,248,242,0)) !important; }
main > section.section:nth-of-type(3n):not(.band):not(.section--after-band):not(:first-of-type) { background:linear-gradient(180deg, rgba(236,230,255,.75), rgba(236,230,255,0)) !important; }

/* primary buttons get the brand gradient */
.btn--primary, .btn--grad { background:linear-gradient(100deg,#0F9E94,#6447F0); border-color:transparent; }
.btn--primary:hover, .btn--grad:hover { background:linear-gradient(100deg,#0B857C,#5235E0); border-color:transparent; }
.btn--ghost { background:rgba(255,255,255,.8); }

/* cards: white so text stays readable, with a colored stripe and tinted shadow */
.card, .phil-step, .pdp__box, .lp-two > div, .learn-results, .learn-evidence__item { position:relative; overflow:hidden; }
.card::before, .phil-step::before, .pdp__box::before { content:''; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--c,#0F9E94),var(--c2,#2BC4B4)); }
.grid > :nth-child(4n+1), .pdp-details > :nth-child(4n+1), .philosophy .grid > :nth-child(3n+1) { --c:#0F9E94; --c2:#2BC4B4; --cs:#E3F6F4; }
.grid > :nth-child(4n+2), .pdp-details > :nth-child(4n+2) { --c:#6447F0; --c2:#A78BFA; --cs:#EFEBFF; }
.grid > :nth-child(4n+3), .pdp-details > :nth-child(4n+3) { --c:#E8573A; --c2:#FF9A7A; --cs:#FFEDE6; }
.grid > :nth-child(4n+4), .pdp-details > :nth-child(4n+4) { --c:#1C86E0; --c2:#6CC3FF; --cs:#E5F3FF; }
a.card:hover, .card--feature:hover { box-shadow:0 18px 44px rgba(100,71,240,.14); border-color:transparent; }
.card .card__cta { color:var(--c,#0F9E94); font-weight:800; }
.card .chip-ico { background:var(--cs,#E3F6F4); color:var(--c,#0F9E94); }

/* research catalog: each card's photo panel gets its own soft color */
.product-card__media { background:linear-gradient(160deg,#E3F6F4,#F4FBFA); }
.product-grid > :nth-child(4n+2) .product-card__media, .grid > :nth-child(4n+2) .product-card__media { background:linear-gradient(160deg,#ECE6FF,#F7F5FF); }
.product-grid > :nth-child(4n+3) .product-card__media, .grid > :nth-child(4n+3) .product-card__media { background:linear-gradient(160deg,#FFE8DE,#FFF6F2); }
.product-grid > :nth-child(4n+4) .product-card__media, .grid > :nth-child(4n+4) .product-card__media { background:linear-gradient(160deg,#DFF0FF,#F3F9FF); }
.product-card { box-shadow:0 10px 30px rgba(16,42,67,.06); }
.product-card:hover { box-shadow:0 20px 50px rgba(100,71,240,.16); border-color:transparent; }

/* research product page */
.pdp__media { background:
	radial-gradient(420px 300px at 20% 10%, rgba(43,196,180,.35), transparent 65%),
	radial-gradient(420px 320px at 90% 90%, rgba(124,92,255,.30), transparent 65%),
	linear-gradient(160deg,#F2FBF9,#F3F0FF); }

/* home */
.trust-strip { background:rgba(255,255,255,.7); }
.trust-strip span { display:inline-flex; align-items:center; gap:8px; }
.trust-strip span:nth-child(1) .nvo-ico { color:#0F9E94; } .trust-strip span:nth-child(2) .nvo-ico { color:#6447F0; }
.trust-strip span:nth-child(3) .nvo-ico { color:#E8573A; } .trust-strip span:nth-child(4) .nvo-ico { color:#1C86E0; }
.philosophy { background:transparent; }
.phil-step:nth-child(1) { --c:#0F9E94; --c2:#2BC4B4; } .phil-step:nth-child(2) { --c:#6447F0; --c2:#A78BFA; } .phil-step:nth-child(3) { --c:#E8573A; --c2:#FF9A7A; }
.phil-step__num { color:var(--cs, #EEF2F5); background:linear-gradient(135deg,var(--c),var(--c2)); -webkit-background-clip:text; background-clip:text; color:transparent; opacity:.35; }
.news-strip { background:linear-gradient(100deg,#D8F6EF,#E9E3FF 50%,#FFE6DA); }

/* footer: same glow treatment as the page bands */
.site-footer { position:relative; background:
	radial-gradient(600px 300px at 0% 0%, rgba(43,196,180,.35), transparent 62%),
	radial-gradient(600px 320px at 100% 0%, rgba(124,92,255,.35), transparent 62%),
	radial-gradient(600px 300px at 50% 110%, rgba(255,122,89,.25), transparent 62%),
	var(--ink); }
.site-footer::before { content:''; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad-fun); }

/* tables and small UI */
table.data thead th { background:linear-gradient(90deg,#E3F6F4,#EFEBFF); color:var(--ink); }
.alert--info { background:linear-gradient(90deg,#E3F6F4,#EFEBFF); border-color:transparent; }
.crumbs a { color:#6447F0; }
.band .crumbs a { color:#8FA6BD; }

/* --- First-visit disclaimer (includes/entry_gate.php) ---------------------- */
html.gate-open, html.gate-open body { overflow:hidden; }
.gate { position:fixed; inset:0; z-index:5000; display:flex; align-items:center; justify-content:center; padding:20px;
	background:radial-gradient(700px 500px at 10% 0%, rgba(43,196,180,.45), transparent 60%), radial-gradient(700px 500px at 100% 100%, rgba(124,92,255,.45), transparent 60%), rgba(10,26,47,.82);
	-webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); animation:gateIn .25s ease; }
.gate.is-closing { opacity:0; transition:opacity .25s ease; }
@keyframes gateIn { from { opacity:0; } to { opacity:1; } }
.gate__panel { position:relative; width:min(980px,100%); max-height:calc(100vh - 40px); overflow:auto; background:#fff; border-radius:28px; box-shadow:0 40px 120px rgba(0,0,0,.45); outline:0; }
.gate__panel::before { content:''; position:sticky; top:0; display:block; height:6px; background:var(--grad-fun); z-index:2; }
.gate__head { padding:26px 32px 8px; }
.gate__brand { font-family:var(--font-head); font-weight:800; font-size:1.4rem; color:var(--ink); letter-spacing:.02em; }
.gate__brand span { color:var(--teal); } .gate__brand small { font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--slate); margin-left:4px; }
.gate__head h2 { font-size:clamp(1.8rem,3.4vw,2.6rem); margin:8px 0 6px; }
.gate__head p { color:var(--slate); margin:0; max-width:680px; }
.gate__body { padding:16px 32px; display:flex; flex-direction:column; gap:14px; }
.gate__pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.gate-pillar { border-radius:20px; padding:18px 20px; border:1px solid rgba(16,42,67,.08); background:linear-gradient(160deg,var(--ps),#fff 70%); }
.gate-pillar--research { --pc:#E8573A; --ps:#FFEDE6; border:2px solid #FFB79F; }
.gate-pillar--learn    { --pc:#0F9E94; --ps:#E3F6F4; }
.gate-pillar--medical  { --pc:#6447F0; --ps:#EFEBFF; }
.gate-pillar__top { display:flex; gap:14px; align-items:center; margin-bottom:8px; }
.gate-pillar__ico { width:46px; height:46px; border-radius:14px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--pc); color:#fff; }
.gate-pillar__ico .nvo-ico { width:24px; height:24px; }
.gate-pillar h3 { margin:0; font-size:1.2rem; }
.gate-pillar__tag { margin:2px 0 0; font-weight:700; color:var(--pc); font-size:.88rem; }
.gate-pillar ul { margin:0; padding-left:18px; display:flex; flex-direction:column; gap:6px; font-size:.88rem; color:#2B3A4A; line-height:1.5; }
.gate-pillar--research ul { font-size:.9rem; }
.gate__form { padding:8px 32px 26px; border-top:1px solid rgba(16,42,67,.08); background:linear-gradient(180deg,#F8FAFD,#fff); }
.gate__confirm-label { font-weight:800; color:var(--ink); margin:14px 0 8px; }
.gate-check { display:flex; gap:12px; align-items:flex-start; padding:10px 14px; border-radius:14px; border:1.5px solid rgba(16,42,67,.1); background:#fff; margin-bottom:8px; cursor:pointer; font-size:.9rem; line-height:1.45; transition:border-color .15s, background .15s; }
.gate-check input { width:20px; height:20px; margin-top:1px; flex:none; accent-color:#0F9E94; }
.gate-check.is-on { border-color:#2BC4B4; background:#F1FBF9; }
.gate__actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:12px; }
.gate__enter { padding:14px 28px; font-size:1rem; }
.gate__enter:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
.gate__leave { color:var(--slate); font-weight:600; }
.gate__fine { font-size:.78rem; color:var(--slate); margin:12px 0 0; }
.gate__err { color:#B42318; font-weight:600; margin:8px 0 0; }
@media (max-width:760px) {
	.gate { padding:0; align-items:stretch; }
	.gate__panel { border-radius:0; max-height:100vh; }
	.gate__pair { grid-template-columns:1fr; }
	.gate__head, .gate__body, .gate__form { padding-left:18px; padding-right:18px; }
}

/* --- Palette preview picker (includes/palette.php) ------------------------- */
.pal-switch { position:fixed; left:calc(16px + env(safe-area-inset-left, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:4000; font:600 .82rem var(--font-body); color:#fff; }
.pal-switch summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:#111418; box-shadow:0 10px 30px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.15); }
.pal-switch summary::-webkit-details-marker { display:none; }
.pal-switch ul { list-style:none; margin:0 0 8px; padding:6px; position:absolute; bottom:100%; left:0; min-width:240px; background:#111418; border:1px solid rgba(255,255,255,.15); border-radius:12px; box-shadow:0 20px 50px rgba(0,0,0,.45); }
.pal-switch li a { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; color:#E5E7EB; text-decoration:none; }
.pal-switch li a:hover, .pal-switch li a[aria-current] { background:rgba(255,255,255,.1); color:#fff; }
.pal-switch li a[aria-current]::after { content:'\2713'; margin-left:auto; }
.pal-switch p { position:absolute; bottom:calc(100% + 8px); left:252px; width:200px; margin:0; font-weight:500; font-size:.72rem; color:#9CA3AF; display:none; }
.pal-dot { width:16px; height:16px; border-radius:50%; flex:none; border:1px solid rgba(255,255,255,.3); }

/* --- Single research vial (grey cap, Arctic Steel label) ------------------- */
.vial-photo--arctic .vial-photo__name { color:#0B1220; }
.vial-photo--arctic .vial-photo__mg   { color:#0066FF; }

/* --- Certificates of analysis (includes/coa.php) --------------------------- */
.coa-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; margin:16px 0 24px; align-items:start; }
.coa-lot { background:#fff; border:1px solid rgba(16,42,67,.1); border-radius:10px; padding:18px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:12px; min-width:0; }
.coa-lot[hidden] { display:none; }
.coa-lot__head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.coa-lot__product { font-size:1.15rem; margin:0 0 2px; }
.coa-lot__lot { margin:0; font-size:.85rem; color:var(--slate); font-variant-numeric:tabular-nums; }
.coa-lot__lot strong { color:var(--navy); font-weight:700; }
.coa-lot__tags { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.coa-tag { font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:4px 8px; border-radius:4px; background:#EEF2F7; color:var(--slate); white-space:nowrap; }
.coa-tag--live { background:var(--navy); color:#fff; }
.coa-tag--ind { background:rgba(0,194,255,.14); color:#0077A8; }
.coa-lot__meta { display:flex; gap:24px; margin:0; padding:10px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.coa-lot__meta div { display:flex; flex-direction:column; }
.coa-lot__meta dt { font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; color:var(--slate); }
.coa-lot__meta dd { margin:2px 0 0; font-weight:600; font-size:.88rem; color:var(--navy); }
.coa-docs { display:flex; flex-direction:column; gap:8px; }
.coa-doc { display:grid; grid-template-columns:1fr auto; grid-template-areas:"type purity" "lab open"; gap:2px 12px; text-align:left; width:100%; padding:12px 14px; border-radius:8px; border:1.5px solid var(--border); background:#F8FAFD; cursor:pointer; font:inherit; color:inherit; transition:border-color .15s, background .15s, transform .15s; }
.coa-doc:hover, .coa-doc:focus-visible { border-color:var(--teal); background:#fff; transform:translateY(-1px); outline:none; }
.coa-doc--third_party { background:linear-gradient(135deg, rgba(0,194,255,.08), rgba(0,102,255,.05)); border-color:rgba(0,194,255,.45); }
.coa-doc__type { grid-area:type; font-weight:800; font-size:.9rem; color:var(--navy); }
.coa-doc__lab { grid-area:lab; font-size:.78rem; color:var(--slate); }
.coa-doc__purity { grid-area:purity; text-align:right; font-family:var(--font-head); font-weight:800; font-size:1.15rem; color:var(--navy); line-height:1.1; font-variant-numeric:tabular-nums; }
.coa-doc__purity small { display:block; font-family:var(--font-body); font-weight:600; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; color:var(--slate); }
.coa-doc__open { grid-area:open; text-align:right; font-size:.78rem; font-weight:800; color:var(--teal); align-self:end; }
.coa-results summary { cursor:pointer; font-size:.8rem; font-weight:700; color:var(--slate); }
.coa-results table { width:100%; margin-top:8px; border-collapse:collapse; font-size:.8rem; }
.coa-results th { text-align:left; font-weight:500; color:var(--slate); padding:4px 8px 4px 0; vertical-align:top; }
.coa-results td { text-align:right; font-weight:600; color:var(--navy); padding:4px 0; font-variant-numeric:tabular-nums; }
.coa-results tr + tr th, .coa-results tr + tr td { border-top:1px solid #EEF2F7; }
.coa-note { font-size:.8rem; color:var(--slate); margin:8px 0 0; }
/* library page */
.coa-order { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:24px; align-items:end; background:#fff; border:1px solid var(--border); border-radius:10px; padding:24px; box-shadow:var(--shadow-sm); margin-bottom:16px; }
.coa-order h2 { font-size:1.4rem; margin:0 0 4px; }
.coa-order p { margin:0; }
.coa-order__form { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.coa-order__form label { flex:1 1 180px; display:flex; flex-direction:column; gap:4px; font-size:.75rem; font-weight:700; color:var(--slate); text-transform:uppercase; letter-spacing:.06em; }
.coa-order__form input { padding:11px 12px; border:1.5px solid var(--border); border-radius:6px; font:inherit; font-size:.95rem; text-transform:none; letter-spacing:0; color:var(--navy); }
.coa-order__form input:focus { border-color:var(--teal); outline:none; }
.coa-result { margin:8px 0 32px; }
.coa-result h3 small { font-size:.85rem; font-weight:500; color:var(--slate); }
.coa-orderitem__name { font-weight:800; color:var(--navy); margin:0 0 8px; }
.coa-orderitem__name span { color:var(--slate); font-weight:500; }
.coa-browse { margin-top:32px; }
.coa-browse__head { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.coa-browse__head h2 { margin:0; }
.coa-browse__tools { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.coa-browse__tools input { padding:10px 12px; border:1.5px solid var(--border); border-radius:6px; font:inherit; min-width:min(280px,100%); }
.coa-filter { display:flex; border:1.5px solid var(--border); border-radius:6px; overflow:hidden; }
.coa-filter button { border:0; background:#fff; padding:9px 12px; font:inherit; font-size:.82rem; font-weight:700; color:var(--slate); cursor:pointer; }
.coa-filter button.is-on { background:var(--navy); color:#fff; }
@media (max-width:760px) { .coa-order { grid-template-columns:1fr; } }

/* viewer */
html.coav-open, html.coav-open body { overflow:hidden; }
.coav { position:fixed; inset:0; z-index:4500; display:flex; align-items:center; justify-content:center; padding:24px; }
.coav[hidden] { display:none; }
.coav__backdrop { position:absolute; inset:0; background:rgba(11,18,32,.78); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); animation:coavIn .2s ease; }
.coav__dialog { position:relative; width:min(980px,100%); height:min(94vh,1100px); display:flex; flex-direction:column; background:#0E1626; border-radius:12px; overflow:hidden; box-shadow:0 40px 120px rgba(0,0,0,.5); animation:coavPop .22s ease; }
@keyframes coavIn { from { opacity:0; } }
@keyframes coavPop { from { opacity:0; transform:translateY(12px) scale(.98); } }
.coav__head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:16px 20px 10px; color:#fff; }
.coav__titles { display:flex; flex-direction:column; gap:2px; min-width:0; }
.coav__titles strong { font-family:var(--font-head); font-size:1.1rem; }
.coav__titles span { font-size:.8rem; color:#8FA6BD; }
.coav__x { border:0; background:rgba(255,255,255,.08); color:#fff; width:38px; height:38px; border-radius:8px; font-size:1.6rem; line-height:1; cursor:pointer; flex:none; }
.coav__x:hover { background:rgba(255,255,255,.18); }
.coav__tabs { display:flex; gap:6px; padding:0 20px 10px; }
.coav__tabs[hidden] { display:none; }
.coav__tabs button { border:1px solid rgba(255,255,255,.18); background:transparent; color:#C9D6E3; padding:7px 14px; border-radius:6px; font:inherit; font-size:.82rem; font-weight:700; cursor:pointer; }
.coav__tabs button.is-on { background:#00C2FF; border-color:#00C2FF; color:#0B1220; }
.coav__bar { display:flex; justify-content:space-between; gap:12px; padding:8px 20px; background:rgba(255,255,255,.04); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); color:#C9D6E3; font-size:.82rem; font-variant-numeric:tabular-nums; }
.coav__grp { display:flex; align-items:center; gap:6px; }
.coav__grp span { min-width:52px; text-align:center; }
.coav__bar button { border:1px solid rgba(255,255,255,.16); background:transparent; color:#fff; min-width:34px; height:32px; border-radius:6px; font-size:1.1rem; cursor:pointer; }
.coav__bar button:hover, .coav__bar button:focus-visible { background:rgba(255,255,255,.12); outline:none; }
.coav__bar .coav__fit { font-size:.78rem; font-weight:700; padding:0 10px; }
.coav__stage { position:relative; flex:1; overflow:auto; background:#1A2436; outline:none; }
.coav__pages { display:flex; flex-direction:column; align-items:center; gap:16px; padding:16px; min-width:min-content; }
.coav__pages canvas { display:block; background:#fff; border-radius:4px; box-shadow:0 10px 30px rgba(0,0,0,.35); -webkit-user-select:none; user-select:none; }
.coav__msg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#C9D6E3; font-size:.95rem; }
.coav__msg[hidden] { display:none; }
@media (max-width:640px) {
	.coav { padding:0; }
	.coav__dialog { height:100%; border-radius:0; }
	.coav__head, .coav__tabs, .coav__bar { padding-left:12px; padding-right:12px; }
}
@media (prefers-reduced-motion:reduce) { .coav__backdrop, .coav__dialog { animation:none; } }
/* admin COA manager */
.coa-admin { padding:24px; margin-top:16px; }
.coa-admin__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px 16px; margin-bottom:16px; }
.coa-admin__grid label { display:flex; flex-direction:column; gap:4px; font-size:.78rem; font-weight:700; color:var(--slate); }
.coa-admin__grid input, .coa-admin__grid select, .coa-admin__grid textarea { padding:9px 10px; border:1.5px solid var(--border); border-radius:6px; font:inherit; font-size:.9rem; font-weight:400; color:var(--navy); background:#fff; }
.coa-admin__wide { grid-column:1 / -1; }
.coa-admin__check { flex-direction:row !important; align-items:center; gap:8px !important; }
.coa-admin__table td { vertical-align:top; font-size:.88rem; }
.coa-admin__actions { white-space:nowrap; }
.coa-admin__actions form { display:inline; }
.linklike { border:0; background:none; padding:0 6px 0 0; color:var(--teal); font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
.linklike--danger { color:#B42318; }

/* --- Size picker: sold-out sizes stay clickable to show their price -------- */
.size-bubble.is-oos { opacity:1; text-decoration:none; cursor:pointer; position:relative; color:var(--slate); border-style:dashed; }
.size-bubble.is-oos.is-selected { background:#5B6B80; border-color:#5B6B80; border-style:solid; color:#fff; }
.size-bubble.is-noprice { opacity:.4; text-decoration:line-through; cursor:not-allowed; }
.js-add-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }
.product-card__price small { font-size:.7em; font-weight:600; color:var(--slate); margin-right:2px; }

/* --- Research catalog filter bar ------------------------------------------- */
.rfilter { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr) auto; gap:10px; align-items:center; margin:var(--s-5) 0 8px; }
.rfilter__search { display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--border); border-radius:8px; padding:0 14px; }
.rfilter__search:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,102,255,.12); }
.rfilter__search .nvo-ico { width:18px; height:18px; color:var(--slate); flex:none; }
.rfilter__search input { border:0; outline:0; background:transparent; font:inherit; font-size:.98rem; padding:12px 0; width:100%; min-width:0; }
.rfilter select { padding:12px; border:1.5px solid var(--border); border-radius:8px; background:#fff; font:inherit; font-size:.92rem; min-width:0; }
.rfilter__toggle { display:flex; align-items:center; gap:8px; padding:11px 14px; border:1.5px solid var(--border); border-radius:8px; background:#fff; font-weight:700; font-size:.88rem; color:var(--navy); cursor:pointer; white-space:nowrap; }
.rfilter__toggle input { width:18px; height:18px; accent-color:var(--teal); }
.rfilter__toggle:has(input:checked) { border-color:var(--teal); background:rgba(0,102,255,.06); }
.rfilter__count { margin:0 0 16px; font-size:.85rem; }
.product-card[hidden] { display:none !important; }
.product-card__category { font-size:.8rem; font-weight:600; color:var(--teal); }
@media (max-width:900px) { .rfilter { grid-template-columns:1fr 1fr; } .rfilter__search { grid-column:1 / -1; } }

/* --- Legal documents --------------------------------------------------------- */
.legal-doc { line-height:1.7; color:var(--text); }
.legal-doc h2 { font-size:1.25rem; margin:2em 0 .6em; }
.legal-doc ol, .legal-doc ul { padding-left:1.4em; display:flex; flex-direction:column; gap:.5em; }
.legal-lead { font-size:1.02rem; padding:16px 18px; background:#fff; border-left:4px solid var(--teal); border-radius:6px; }
.legal-caps { font-size:.86rem; letter-spacing:.01em; text-transform:none; background:#F4F7FB; padding:14px 16px; border-radius:6px; }
.legal-table { width:100%; border-collapse:collapse; font-size:.9rem; margin:1em 0; background:#fff; }
.legal-table th, .legal-table td { border:1px solid var(--border); padding:10px 12px; text-align:left; vertical-align:top; }
.legal-table th { background:#EEF3FA; color:var(--navy); }
.legal-todo { background:#FFF3B0; color:#6B4E00; padding:0 3px; border-radius:3px; }
.attest { display:flex; flex-direction:column; gap:8px; margin:16px 0; padding:16px; background:#fff; border:1.5px solid var(--border); border-radius:10px; }
.attest h3 { font-size:1rem; margin:0 0 4px; }
.attest label { display:flex; gap:10px; align-items:flex-start; font-size:.88rem; line-height:1.45; cursor:pointer; }
.attest input { width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--teal); }
@media (max-width:640px) { .legal-table { display:block; overflow-x:auto; } }

/* --- Online Treatments ------------------------------------------------------ */
.sr-only { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.tx-steps { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; counter-reset:tx; }
.tx-steps li { counter-increment:tx; display:flex; gap:12px; align-items:center; font-size:.95rem; }
.tx-steps li::before { content:counter(tx); flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--teal); color:#fff; font-weight:800; font-size:.85rem; }
.tx-filter { grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,.8fr); }
.tx-quick { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 10px; font-size:.85rem; }
.tx-quick span { color:var(--slate); font-weight:600; }
.tx-quick a { padding:5px 12px; border-radius:999px; border:1.5px solid var(--border); background:#fff; color:var(--navy); font-weight:600; text-decoration:none; }
.tx-quick a:hover { border-color:var(--teal); color:var(--teal); }
.tx-group { margin:var(--s-6) 0 0; }
.tx-group[hidden], .tx-card[hidden] { display:none !important; }
.tx-group__head { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.tx-group__head h2 { font-size:1.35rem; margin:0; }
.tx-group__head p { margin:2px 0 0; color:var(--slate); font-size:.9rem; }
.tx-group__ico { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg,var(--teal),#00C2FF); color:#fff; flex:none; }
.tx-group__ico .ico { width:24px; height:24px; }
.tx-card { display:flex; flex-direction:column; gap:6px; padding:20px; background:#fff; border:1.5px solid var(--border); border-radius:14px; text-decoration:none; color:inherit; transition:border-color .15s, box-shadow .15s, transform .15s; }
.tx-card:hover { border-color:var(--teal); box-shadow:0 10px 30px rgba(0,102,255,.12); transform:translateY(-2px); }
.tx-card h3 { margin:4px 0 0; font-size:1.12rem; }
.tx-card__aka { margin:0; font-size:.82rem; color:var(--slate); }
.tx-card__sum { margin:4px 0 0; font-size:.9rem; line-height:1.5; flex:1; }
.tx-card__tags { display:flex; flex-wrap:wrap; gap:6px; }
.tx-card__foot { display:flex; justify-content:space-between; align-items:flex-end; gap:10px; margin-top:8px; padding-top:10px; border-top:1px solid var(--border); }
.tx-form { font-size:.8rem; color:var(--slate); }
.tx-kind, .tx-aud { font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:6px; }
.tx-kind--brand, .tx-kind--generic { background:rgba(0,102,255,.1); color:#0052CC; }
.tx-kind--compounded { background:rgba(232,140,30,.14); color:#8A4B00; }
.tx-kind--service { background:rgba(0,194,255,.14); color:#006A8A; }
.tx-aud { background:#EEF1F6; color:var(--navy); }
.tx-price { font-size:1.2rem; font-weight:800; color:var(--navy); white-space:nowrap; }
.tx-price small { font-size:.7em; font-weight:600; color:var(--slate); margin-left:2px; }
.tx-price--none { font-size:.85rem; font-weight:600; color:var(--slate); }
.tx-partner { font-size:.8rem; margin-top:var(--s-4); }
.tx-hero h1 { margin:10px 0 4px; }
.tx-buy { display:flex; flex-direction:column; gap:10px; }
.tx-buy__label { margin:0; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); }
.tx-buy .tx-price { font-size:2rem; }
.tx-buy__note { margin:0; font-size:.85rem; }
.tx-buy__facts { margin:0; display:flex; flex-direction:column; gap:6px; font-size:.86rem; }
.tx-buy__facts div { display:flex; gap:8px; } .tx-buy__facts dt { font-weight:700; min-width:70px; } .tx-buy__facts dd { margin:0; }
.tx-handoff { margin:0; font-size:.78rem; color:var(--slate); }
.tx-wait { display:flex; gap:8px; flex-wrap:wrap; }
.tx-wait input[type=email] { flex:1; min-width:160px; padding:11px 12px; border:1.5px solid var(--border); border-radius:8px; font:inherit; }
.tx-body { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:var(--s-7); align-items:start; }
.tx-how { padding-left:1.3em; display:flex; flex-direction:column; gap:10px; }
.tx-safety { background:#FFF8EC; border-left:4px solid #E8A03A; border-radius:8px; padding:4px 18px; font-size:.92rem; }
.tx-guide { display:inline-flex; align-items:center; gap:8px; font-weight:700; }
.tx-guide .nvo-ico { width:18px; height:18px; }
.tx-side { position:sticky; top:96px; display:flex; flex-direction:column; gap:10px; }
.tx-side h2 { font-size:1rem; margin:0 0 4px; }
.tx-mini { display:grid; grid-template-columns:1fr auto; gap:2px 10px; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; background:#fff; text-decoration:none; color:inherit; }
.tx-mini:hover { border-color:var(--teal); }
.tx-mini span:not(.tx-price) { grid-column:1; font-size:.78rem; color:var(--slate); }
.tx-mini .tx-price { grid-row:1 / span 2; grid-column:2; align-self:center; font-size:.95rem; }
.lp-treat dd a { font-weight:700; }
.lp-treat__all { font-weight:600 !important; white-space:nowrap; }
.tx-admin-wrap { overflow-x:auto; }
.tx-admin { width:100%; font-size:.86rem; }
.tx-admin td, .tx-admin th { text-align:left; vertical-align:middle; }
.tx-admin input, .tx-admin select { padding:7px 8px; border:1.5px solid var(--border); border-radius:6px; font:inherit; font-size:.85rem; }
.tx-admin__cat th { background:#EEF3FA; color:var(--navy); font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
@media (max-width:900px) {
	.tx-filter { grid-template-columns:1fr 1fr; }
	.tx-body { grid-template-columns:1fr; }
	.tx-side { position:static; }
}
.band .tx-price { color:#fff; }
.band .tx-price small, .band .tx-buy__label, .band .tx-handoff, .band .lp-aka { color:#9FB3CC; }
.band .tx-price--none { color:#CFE0FF; }
.band .tx-kind--brand, .band .tx-kind--generic { background:rgba(0,194,255,.18); color:#7FDBFF; }
.band .tx-kind--compounded { background:rgba(255,170,60,.18); color:#FFC27A; }
.band .tx-kind--service { background:rgba(0,194,255,.18); color:#7FDBFF; }

/* --- Patient visit preview (treatments/visit.php) -------------------------- */
.pv-body { background:#EEF3FA; min-height:100vh; margin:0; }
.pv-demo { background:#FFF3B0; color:#5A4300; font-size:.85rem; text-align:center; padding:8px 16px; }
.pv-top { background:#fff; border-bottom:1px solid var(--border); }
.pv-top__in { max-width:1120px; margin:0 auto; padding:14px 16px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pv-brand { font-family:Manrope, sans-serif; font-weight:800; font-size:1.4rem; color:var(--navy); text-decoration:none; letter-spacing:-.02em; }
.pv-brand span { color:var(--teal); }
.pv-brand small { font-size:.62rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--slate); margin-left:6px; }
.pv-secure { display:inline-flex; align-items:center; gap:6px; font-size:.8rem; color:var(--slate); margin-left:auto; }
.pv-secure svg { width:15px; height:15px; color:#12A150; }
.pv-back { font-size:.85rem; font-weight:600; }
.pv-main { max-width:1120px; margin:0 auto; padding:28px 16px 60px; }
.pv-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.pv-card { background:#fff; border-radius:16px; padding:28px; box-shadow:0 10px 40px rgba(10,22,40,.08); }
.pv-card h1 { font-size:1.6rem; margin:0 0 6px; }
.pv-lead { color:var(--slate); margin:0 0 20px; }
.pv-progress { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:0; margin:0 0 24px; counter-reset:pv; }
.pv-progress li { counter-increment:pv; font-size:.75rem; font-weight:700; color:#9AA8B8; border-top:4px solid #DCE4EE; padding-top:8px; }
.pv-progress li.is-on { color:var(--navy); border-color:var(--teal); }
.pv-progress li.is-cur { color:var(--teal); }
.pv-field { display:flex; flex-direction:column; gap:6px; margin:0 0 18px; border:0; padding:0; min-width:0; }
.pv-field > span, .pv-field legend { font-weight:700; font-size:.92rem; color:var(--navy); margin-bottom:6px; padding:0; }
.pv-field small { font-weight:500; color:var(--slate); }
.pv-field input[type=text], .pv-field input[type=email], .pv-field input[type=tel], .pv-field input[type=date], .pv-field input[type=number], .pv-field select, .pv-field textarea {
	padding:12px; border:1.5px solid var(--border); border-radius:10px; font:inherit; font-size:1rem; background:#fff; width:100%; box-sizing:border-box; }
.pv-field input:focus, .pv-field select:focus, .pv-field textarea:focus { outline:0; border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,102,255,.12); }
.pv-row { display:flex; gap:10px; flex-wrap:wrap; }
.pv-row label { display:flex; align-items:center; gap:6px; font-weight:600; }
.pv-row input { width:90px !important; }
.pv-row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pv-pills, .pv-opts { display:flex; flex-direction:column; gap:8px; }
.pv-pills { flex-direction:row; }
.pv-pills label, .pv-opts label { display:flex; gap:10px; align-items:center; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; cursor:pointer; font-size:.95rem; }
.pv-pills label { flex:1; }
.pv-pills label:has(input:checked), .pv-opts label:has(input:checked) { border-color:var(--teal); background:rgba(0,102,255,.05); }
.pv-opts input, .pv-pills input { width:18px; height:18px; accent-color:var(--teal); flex:none; }
.pv-bmi { font-size:.88rem; margin:8px 0 0; color:var(--slate); }
.pv-bmi.is-warn { color:#8A4B00; }
.pv-flag { background:#FFF8EC; border-left:4px solid #E8A03A; border-radius:8px; padding:12px 14px; font-size:.9rem; margin:0 0 16px; }
.pv-flag--stop { background:#FDECEC; border-color:#D93025; }
.pv-err { color:#B42318; font-weight:600; font-size:.9rem; margin:0 0 12px; }
.pv-nav { display:flex; justify-content:space-between; gap:12px; margin-top:8px; padding-top:18px; border-top:1px solid var(--border); }
.pv-nav #pvNext { margin-left:auto; }
.pv-plans { display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
.pv-plan { display:grid; grid-template-columns:auto 1fr auto; gap:2px 12px; align-items:center; padding:16px; border:2px solid var(--border); border-radius:12px; cursor:pointer; }
.pv-plan.is-on { border-color:var(--teal); background:rgba(0,102,255,.04); }
.pv-plan input { grid-row:1 / span 2; width:20px; height:20px; accent-color:var(--teal); }
.pv-plan__name { font-weight:800; color:var(--navy); }
.pv-plan__name em { font-style:normal; font-size:.72rem; background:#12A150; color:#fff; padding:2px 8px; border-radius:999px; margin-left:6px; }
.pv-plan__price { font-weight:800; font-size:1.1rem; color:var(--navy); grid-row:1 / span 2; grid-column:3; }
.pv-plan__sub { grid-column:2; font-size:.82rem; color:var(--slate); }
.pv-incl { list-style:none; padding:0; margin:0 0 16px; display:flex; flex-direction:column; gap:8px; font-size:.92rem; }
.pv-incl li::before, .pv-trust li::before { content:"\2713"; color:#12A150; font-weight:800; margin-right:8px; }
.pv-pay { border:1.5px dashed var(--border); border-radius:12px; padding:14px; margin:4px 0 16px; background:#F7F9FC; }
.pv-pay__h { font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--slate); margin:0 0 8px; }
.pv-pay__mock { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; }
.pv-pay__mock span { padding:12px; border:1.5px solid var(--border); border-radius:8px; background:#EDF1F6; color:#A0AEC0; font-size:.9rem; }
.pv-pay__note { font-size:.8rem; color:var(--slate); margin:8px 0 0; }
.pv-consent { display:flex; gap:10px; align-items:flex-start; font-size:.88rem; margin:0 0 12px; cursor:pointer; }
.pv-consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--teal); flex:none; }
.pv-done { text-align:center; }
.pv-check { width:64px; height:64px; border-radius:50%; background:#12A150; color:#fff; font-size:2rem; display:grid; place-items:center; margin:8px auto 14px; }
.pv-track { list-style:none; padding:0; margin:20px auto; max-width:420px; text-align:left; }
.pv-track li { position:relative; padding:0 0 18px 34px; display:flex; flex-direction:column; }
.pv-track li::before { content:""; position:absolute; left:6px; top:3px; width:14px; height:14px; border-radius:50%; border:3px solid #DCE4EE; background:#fff; }
.pv-track li::after { content:""; position:absolute; left:13px; top:20px; bottom:0; width:2px; background:#DCE4EE; }
.pv-track li:last-child::after { display:none; }
.pv-track li.is-done::before { background:#12A150; border-color:#12A150; }
.pv-track li.is-now::before { border-color:var(--teal); }
.pv-track span { font-size:.82rem; color:var(--slate); }
.pv-portal { text-align:left; border:1.5px solid var(--border); border-radius:12px; padding:14px 16px; margin:0 auto 20px; max-width:420px; }
.pv-portal__row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--border); font-size:.9rem; }
.pv-demo-end { font-size:.78rem; color:var(--slate); margin-top:14px; }
.pv-sum { background:#fff; border-radius:16px; padding:22px; box-shadow:0 10px 40px rgba(10,22,40,.08); position:sticky; top:20px; }
.pv-sum h2 { font-size:1.2rem; margin:0; }
.pv-sum__row { display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--border); font-size:.92rem; }
.pv-sum__note { font-size:.8rem; color:var(--slate); margin:-4px 0 8px; }
.pv-trust { list-style:none; padding:12px 0 0; margin:8px 0 0; border-top:1px solid var(--border); font-size:.85rem; display:flex; flex-direction:column; gap:6px; }
.pv-sum__fine { font-size:.72rem; color:var(--slate); margin:12px 0 0; }
@media (max-width:860px) {
	.pv-grid { grid-template-columns:1fr; }
	.pv-sum { position:static; }
	.pv-plan { grid-template-columns:auto 1fr; }
	.pv-plan input { grid-row:1 / span 3; }
	.pv-plan__price { grid-column:2; grid-row:auto; }
	.pv-secure { display:none; }
	.pv-card { padding:20px; }
	.pv-row2 { grid-template-columns:1fr; }
}
.pv-nav[hidden] { display:none; }

/* --- Get Started guide (start/index.php): big, simple, one question at a time */
.gs__wrap { max-width:880px; }
.gs__bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; min-height:48px; }
.gs__back { font:inherit; font-size:1.1rem; font-weight:700; color:var(--navy); background:#fff; border:2px solid var(--border); border-radius:12px; padding:10px 20px; cursor:pointer; }
.gs__back:hover { border-color:var(--teal); color:var(--teal); }
.gs__back[hidden] { display:none; }
.gs__count { margin-left:auto; font-size:1rem; font-weight:700; color:var(--slate); }
.gs-step[hidden] { display:none; }
.gs__q { font-size:2rem; margin:0 0 8px; }
.gs__hint { font-size:1.1rem; color:var(--slate); margin:0 0 20px; }
.gs-big { display:flex; flex-direction:column; gap:14px; margin-top:16px; }
.gs-choice { display:flex; align-items:center; gap:18px; width:100%; text-align:left; font:inherit; background:#fff; border:2px solid var(--border); border-radius:18px; padding:22px 24px; cursor:pointer; transition:border-color .15s, box-shadow .15s, transform .15s; }
.gs-choice:hover, .gs-choice:focus-visible { border-color:var(--teal); box-shadow:0 10px 30px rgba(0,102,255,.14); transform:translateY(-2px); outline:0; }
.gs-choice strong { display:block; font-size:1.4rem; color:var(--navy); margin-bottom:4px; }
.gs-choice small { display:block; font-size:1.05rem; color:var(--slate); line-height:1.45; }
.gs-choice__ico { width:60px; height:60px; border-radius:16px; display:grid; place-items:center; color:#fff; flex:none; }
.gs-choice__ico .nvo-ico, .gs-choice__ico svg { width:30px; height:30px; }
.gs-choice__ico--tx { background:linear-gradient(135deg,#0066FF,#00C2FF); }
.gs-choice__ico--learn { background:linear-gradient(135deg,#0F9E94,#2BC4B4); }
.gs-choice__ico--rs { background:linear-gradient(135deg,#5B6B80,#2B3A4F); }
.gs-choice__go { margin-left:auto; font-size:1.8rem; color:var(--teal); flex:none; }
.gs-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gs-tile { display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:left; font:inherit; background:#fff; border:2px solid var(--border); border-radius:16px; padding:20px; cursor:pointer; text-decoration:none; color:inherit; min-height:120px; transition:border-color .15s, box-shadow .15s; }
.gs-tile:hover, .gs-tile:focus-visible { border-color:var(--teal); box-shadow:0 8px 24px rgba(0,102,255,.12); outline:0; }
.gs-tile strong { font-size:1.3rem; color:var(--navy); }
.gs-tile small { font-size:1rem; color:var(--slate); line-height:1.4; }
.gs-tile__ico { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:rgba(0,102,255,.1); color:var(--teal); }
.gs-tile__ico .ico { width:26px; height:26px; }
.gs-tiles--sm .gs-tile { min-height:0; }
.gs-ruo { background:#fff; border:2px solid #E8A03A; border-radius:16px; padding:20px; margin:12px 0 20px; font-size:1.08rem; line-height:1.55; }
.gs-ruo p { margin:0 0 14px; }
.gs-ruo__ok { display:flex; gap:12px; align-items:flex-start; font-weight:700; color:var(--navy); cursor:pointer; padding:12px; border-radius:10px; background:#F7F9FC; }
.gs-ruo__ok input { width:24px; height:24px; flex:none; accent-color:var(--teal); }
.gs-ruo__ok.is-nudge { outline:3px solid #E8A03A; }
.gs-areas.is-locked .gs-tile { opacity:.45; }
.gs-results { display:flex; flex-direction:column; gap:14px; }
.gs-res { position:relative; background:#fff; border:2px solid var(--border); border-radius:18px; padding:22px 24px; text-decoration:none; color:inherit; display:block; }
.gs-res--top { border-color:var(--teal); box-shadow:0 10px 30px rgba(0,102,255,.12); }
.gs-res--link:hover { border-color:var(--teal); }
.gs-res__badge { display:inline-block; font-size:.8rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:var(--teal); color:#fff; padding:4px 10px; border-radius:999px; margin-bottom:8px; }
.gs-res h3 { font-size:1.45rem; margin:0 0 6px; }
.gs-res p { font-size:1.08rem; line-height:1.5; margin:0 0 10px; }
.gs-res__price .tx-price { font-size:1.6rem; }
.gs-res__btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
.gs-res__btns .btn { font-size:1.05rem; padding:16px 26px; }
.gs__more { font-size:1.1rem; margin:20px 0 0; }
.linklike { font:inherit; background:none; border:0; padding:0; color:var(--teal); font-weight:700; text-decoration:underline; cursor:pointer; }
.gs__help { font-size:1.1rem; margin:32px 0 6px; }
.gs__fine { font-size:.85rem; color:var(--slate); }
@media (max-width:640px) {
	.gs__q { font-size:1.6rem; }
	.gs-tiles { grid-template-columns:1fr; }
	.gs-choice { padding:18px; gap:14px; }
	.gs-choice__ico { width:48px; height:48px; }
	.gs-choice__go { display:none; }
	.gs-res__btns .btn { width:100%; justify-content:center; }
}
.gs-tile[hidden], .gs-tile [hidden], .gs-ruo[hidden] { display:none !important; }
.gs-ruo--short { padding:14px 18px; font-size:1rem; margin:0 0 16px; }
.gs-rs-go.is-locked { opacity:.45; }
.gs-choice[hidden] { display:none !important; }
.ruo-big { display:flex; gap:18px; align-items:flex-start; background:#FFF8EC; border:2px solid #E8A03A; border-radius:16px; padding:20px 24px; margin:var(--s-5) 0 var(--s-2); }
.ruo-big strong { display:block; font-size:1.35rem; color:#5A3A00; margin-bottom:6px; }
.ruo-big p { margin:0; font-size:1.02rem; line-height:1.55; color:#3D2A00; }
.ruo-big__ico { flex:none; width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:#E8A03A; color:#fff; }
.ruo-big__ico .nvo-ico, .ruo-big__ico svg { width:28px; height:28px; }
@media (max-width:640px) { .ruo-big { flex-direction:column; padding:16px; } }

/* --- Home: three pillars + Get Started group headings --------------------- */
.pillars__intro { max-width:720px; margin:0 auto var(--s-7); }
.pillar { position:relative; display:flex; flex-direction:column; gap:8px; background:#fff; border:2px solid var(--border); border-radius:20px; padding:28px; text-decoration:none; color:inherit; transition:transform .15s, box-shadow .15s, border-color .15s; overflow:hidden; }
.pillar::before { content:""; position:absolute; left:0; right:0; top:0; height:5px; }
.pillar--learn::before { background:linear-gradient(90deg,#0F9E94,#2BC4B4); }
.pillar--rx::before { background:linear-gradient(90deg,#0066FF,#00C2FF); }
.pillar--rs::before { background:linear-gradient(90deg,#5B6B80,#2B3A4F); }
.pillar:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(10,22,40,.12); border-color:var(--teal); }
.pillar__ico { width:56px; height:56px; border-radius:16px; display:grid; place-items:center; color:#fff; margin-bottom:6px; }
.pillar__ico .nvo-ico, .pillar__ico svg { width:28px; height:28px; }
.pillar--learn .pillar__ico { background:linear-gradient(135deg,#0F9E94,#2BC4B4); }
.pillar--rx .pillar__ico { background:linear-gradient(135deg,#0066FF,#00C2FF); }
.pillar--rs .pillar__ico { background:linear-gradient(135deg,#5B6B80,#2B3A4F); }
.pillar__kicker { font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); }
.pillar h3 { font-size:1.5rem; margin:0; }
.pillar p { margin:0; line-height:1.55; }
.pillar ul { list-style:none; padding:0; margin:6px 0 4px; display:flex; flex-direction:column; gap:6px; font-size:.92rem; }
.pillar li::before { content:"\2713"; color:#12A150; font-weight:800; margin-right:8px; }
.pillar__go { margin-top:auto; padding-top:8px; font-weight:800; color:var(--teal); }
.pillars__cta { margin-top:var(--s-6); font-size:1.1rem; display:flex; gap:14px; justify-content:center; align-items:center; flex-wrap:wrap; }
.gs-group { font-size:1.15rem; margin:22px 0 10px; color:var(--navy); }

/* --- My plan (multi-treatment) --------------------------------------------- */
.tx-card { cursor:pointer; }
.tx-card h3 a { color:inherit; text-decoration:none; }
.tx-card__act { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:6px; }
.tx-card__more { font-weight:700; font-size:.9rem; }
.rx-add { margin:0; display:inline-block; }
.rx-add.is-in .rx-add__btn { color:#12A150; border-color:#12A150; }
.rx-bar { position:fixed; left:0; right:0; bottom:0; z-index:60; background:#0A1628; color:#fff; box-shadow:0 -8px 30px rgba(0,0,0,.25); }
.rx-bar[hidden] { display:none; }
.rx-bar__in { max-width:1200px; margin:0 auto; padding:12px 16px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.rx-bar__label { font-size:1rem; } .rx-bar__label strong { margin-right:6px; }
.rx-bar__total { font-weight:800; color:#7FDBFF; margin-right:auto; }
.rx-bar.is-pop { animation:rxpop .5s ease; }
@keyframes rxpop { 0% { transform:translateY(100%); } 100% { transform:translateY(0); } }
body:has(.rx-bar:not([hidden])) footer { padding-bottom:80px; }
.rx-plan { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start; }
.rx-empty { background:#fff; border-radius:16px; padding:32px; text-align:center; }
.rx-empty .btn { margin:6px; }
.rx-lines { display:flex; flex-direction:column; gap:12px; }
.rx-line { display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center; background:#fff; border:1.5px solid var(--border); border-radius:14px; padding:16px 20px; }
.rx-line h3 { margin:6px 0 2px; font-size:1.15rem; } .rx-line h3 a { color:var(--navy); text-decoration:none; }
.rx-line p { margin:0; font-size:.85rem; color:var(--slate); }
.rx-line__price { text-align:right; } .rx-line__price strong { font-size:1.2rem; color:var(--navy); } .rx-line__price small { color:var(--slate); margin-left:2px; }
.rx-line__rm { margin:0; } .rx-line__rm .linklike { color:#B42318; font-size:.88rem; }
.rx-more { margin:14px 0 0; font-weight:700; }
.rx-sum { background:#fff; border-radius:16px; padding:22px; box-shadow:0 10px 40px rgba(10,22,40,.08); position:sticky; top:96px; }
.rx-sum__row { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-top:1px solid var(--border); }
.rx-sum__row strong { color:var(--navy); }
.rx-sum__save em { font-style:normal; font-size:.7rem; background:#12A150; color:#fff; padding:2px 7px; border-radius:999px; margin-left:4px; }
.rx-sum__due strong { font-size:1.2rem; }
.rx-sum__note { font-size:.82rem; color:var(--slate); margin:6px 0 10px; }
.rx-sum__go { width:100%; justify-content:center; margin:6px 0; }
.pv-sethead { font-size:1.05rem; font-weight:800; color:var(--navy); margin:22px 0 12px; padding-top:14px; border-top:1px solid var(--border); }
.pv-lines { border:1.5px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:8px; }
.pv-line { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; border-top:1px solid var(--border); font-size:.95rem; }
.pv-line:first-child { border-top:0; }
.pv-line small { display:block; color:var(--slate); font-size:.8rem; }
.pv-line--total { background:#F7F9FC; font-weight:800; color:var(--navy); }
.pv-sum__item { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid var(--border); font-size:.9rem; }
.pv-sum__item small { display:block; color:var(--slate); font-size:.78rem; }
@media (max-width:900px) {
	.rx-plan { grid-template-columns:1fr; } .rx-sum { position:static; }
	.rx-line { grid-template-columns:1fr auto; } .rx-line__rm { grid-column:1 / -1; }
	.rx-bar__in .btn { width:100%; justify-content:center; }
}
.hdr-rx[hidden] { display:none !important; }
.hdr-rx__n { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; border-radius:999px; background:var(--teal); color:#fff; font-size:.7rem; font-weight:700; margin-left:6px; padding:0 5px; }
.rx-bar__sep { font-size:.78rem; color:#9FB3CC; }
.sep-note { background:#EEF4FF; border-left:4px solid var(--teal); border-radius:10px; padding:14px 18px; margin:0 0 18px; font-size:.95rem; line-height:1.55; }
.tx-jump { position:sticky; top:76px; z-index:5; display:flex; gap:8px; overflow-x:auto; padding:10px 0; margin:0 0 6px; background:var(--bg, #EEF3FA); scrollbar-width:none; }
.tx-jump a { flex:none; padding:7px 14px; border-radius:999px; background:#fff; border:1.5px solid var(--border); font-weight:700; font-size:.85rem; color:var(--navy); text-decoration:none; }
.tx-jump a:hover { border-color:var(--teal); color:var(--teal); }
.tx-group { scroll-margin-top:140px; }
.header-actions .btn { white-space:nowrap; padding-left:14px; padding-right:14px; }
.header-actions { gap:8px; }
.pillar, .pillar:hover, .pillar * { text-decoration:none !important; }
/* How it works: equal cards, buttons on one line */
.hiw { align-items:stretch; }
.hiw-card > p { min-height:4.8em; }
.hiw-steps { flex:0 0 auto; margin-bottom:var(--s-5); }
.hiw-steps li { min-height:2.9em; }
.hiw-foot { margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.hiw-foot .btn { margin-top:0; align-self:flex-start; }
.hiw-foot .muted { margin:0; min-height:3.2em; line-height:1.5; }
@media (max-width:1023px) { .hiw-card > p, .hiw-steps li, .hiw-foot .muted { min-height:0; } }
/* research cards: name + dose chips, price range */
.product-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.product-card__top .product-card__name { flex:1 1 auto; min-width:0; }
.product-card__doses { flex:0 1 auto; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; max-width:50%; padding-top:3px; }
.dose-chip { font-size:.72rem; font-weight:700; padding:3px 8px; border-radius:999px; background:rgba(0,102,255,.1); color:#0052CC; white-space:nowrap; }
.dose-chip.is-out { background:#EEF1F6; color:#8A97A8; }
.product-card__price .range-dash { margin:0 4px; font-size:.9em; color:var(--slate); }

.product-card__meta { flex-wrap:wrap; row-gap:6px; }
.product-card__price, .product-card__meta .badge { white-space:nowrap; }
.stock-note { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; margin:6px 0 10px; padding:8px 14px; border-radius:999px; background:#E8F7EE; color:#0E6B3A; font-size:.9rem; }
.stock-note::before { content:""; width:8px; height:8px; border-radius:50%; background:#12A150; box-shadow:0 0 0 4px rgba(18,161,80,.18); }
.stock-note a { font-weight:700; }
.stock-note.is-all { background:#EEF1F6; color:var(--navy); }
.stock-note.is-all::before { background:#8A97A8; box-shadow:none; }

/* =============================================================================
 * PHONES (<= 640px): smaller type, tighter spacing, two-up cards so the site
 * doesn't feel like one long column. Desktop view is available from the menu.
 * ===========================================================================*/
.nav-m { display:none; }
.view-toggle { margin-left:10px; color:inherit; text-decoration:underline; font-size:.85em; }
.view-pill { position:fixed; left:10px; bottom:10px; z-index:70; background:#0A1628; color:#fff; font-size:13px; font-weight:700; padding:8px 14px; border-radius:999px; box-shadow:0 6px 20px rgba(0,0,0,.25); text-decoration:none; }
body:has(.rx-bar:not([hidden])) .view-pill { bottom:74px; }
@media (max-width:1023px) {
	.nav-m { display:block; }
	.nav-m--first { margin-top:10px; padding-top:10px; border-top:1px solid var(--border); }
	.nav-m__n { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; margin-left:6px; border-radius:999px; background:var(--teal); color:#fff; font-size:.72rem; font-weight:700; }
}
@media (max-width:640px) {
	html { font-size:14px; }
	body { font-size:.95rem; line-height:1.5; }
	.container { padding-left:12px; padding-right:12px; }
	h1 { font-size:clamp(1.6rem, 7.5vw, 2.1rem) !important; line-height:1.1; margin-bottom:10px; }
	.hero h1 { font-size:2.3rem !important; }
	h2 { font-size:1.35rem; margin-bottom:10px; }
	h3 { font-size:1.05rem; }
	.lead, .hero__body { font-size:1rem; }
	.eyebrow { font-size:.68rem; margin-bottom:6px; }
	.section { padding-top:28px; padding-bottom:28px; }
	.band, .band--short { padding-top:22px; padding-bottom:26px; }
	.crumbs { font-size:.78rem; margin-bottom:8px; }
	.btn { padding:10px 14px; font-size:.8rem; }
	.btn--lg { padding:12px 16px; font-size:.85rem; }

	/* two-up grids everywhere */
	.grid--2, .grid--3, .grid--4, .grid--5 { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
	.pillars .grid--3, .hiw { grid-template-columns:1fr; gap:12px; }
	.learn-topics, .learn-evidence { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
	.footer-cols { grid-template-columns:1fr 1fr !important; gap:18px; }

	/* research product cards */
	.product-card__media { aspect-ratio:auto; height:150px; }
	.product-card__media img, .product-card__media svg { max-height:140px; }
	.product-card__body { padding:10px; gap:4px; }
	.product-card__cat { font-size:.6rem; }
	.product-card__name { font-size:.92rem; }
	.product-card__seq { display:none; }
	.product-card__category { font-size:.7rem; }
	.product-card__top { flex-direction:column; gap:4px; }
	.product-card__doses { max-width:100%; justify-content:flex-start; }
	.dose-chip { font-size:.62rem; padding:2px 6px; }
	.product-card__price { font-size:.95rem; }
	.product-card__meta .badge { font-size:.6rem; padding:2px 6px; }
	.product-card .card__cta { font-size:.75rem; }
	.rfilter { grid-template-columns:1fr 1fr; gap:8px; }
	.rfilter__search { grid-column:1 / -1; }
	.rfilter select, .rfilter__toggle { padding:9px 10px; font-size:.8rem; }
	.stock-note { font-size:.78rem; padding:6px 12px; }
	.ruo-big { padding:12px; gap:10px; margin-top:12px; }
	.ruo-big strong { font-size:1rem; }
	.ruo-big p { font-size:.82rem; }
	.ruo-big__ico { width:36px; height:36px; }

	/* prescription cards */
	.tx-card { padding:12px; gap:4px; border-radius:12px; }
	.tx-card h3 { font-size:.95rem; }
	.tx-card__aka { font-size:.72rem; }
	.tx-card__sum { font-size:.78rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
	.tx-kind, .tx-aud { font-size:.56rem; padding:2px 6px; }
	.tx-card__foot { flex-direction:column; align-items:flex-start; gap:2px; padding-top:6px; }
	.tx-form { font-size:.7rem; }
	.tx-price { font-size:1rem; }
	.tx-card__act { flex-direction:column; align-items:stretch; gap:6px; }
	.tx-card__act .rx-add__btn { width:100%; justify-content:center; font-size:.68rem; padding:8px 6px; }
	.tx-card__more { font-size:.75rem; text-align:center; }
	.tx-group__head h2 { font-size:1.15rem; }
	.tx-group__ico { width:34px; height:34px; }
	.tx-quick a { padding:4px 10px; font-size:.75rem; }

	/* get started */
	.gs__q { font-size:1.3rem; }
	.gs__hint { font-size:.9rem; margin-bottom:12px; }
	.gs-tiles { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:8px; }
	.gs-tile { padding:12px; min-height:0; gap:4px; border-radius:12px; }
	.gs-tile strong { font-size:.95rem; }
	.gs-tile small { font-size:.75rem; }
	.gs-tile__ico { width:32px; height:32px; }
	.gs-choice { padding:12px; gap:10px; border-radius:14px; }
	.gs-choice strong { font-size:1.05rem; }
	.gs-choice small { font-size:.82rem; }
	.gs-res { padding:14px; }
	.gs-res h3 { font-size:1.1rem; }
	.gs-res p { font-size:.9rem; }
	.gs__back { font-size:.95rem; padding:8px 14px; }

	/* home + pillars + how it works */
	.pillar { padding:16px; gap:6px; }
	.pillar h3 { font-size:1.15rem; }
	.pillar ul { font-size:.82rem; }
	.hiw-card { padding:18px 16px; }
	.hiw-card h2 { font-size:1.2rem; }
	.hiw-card > p { min-height:0; }
	.path-card { padding:16px; }

	/* first-visit acknowledgment */
	.gate__panel { font-size:.8rem; line-height:1.45; }
	.gate__head, .gate__body, .gate__form { padding-left:14px !important; padding-right:14px !important; }
	.gate__head { padding-top:16px !important; }
	.gate__head h2 { font-size:1.25rem; margin:6px 0; }
	.gate__head p { font-size:.8rem; }
	.gate-pillar { padding:12px !important; }
	.gate-pillar h3 { font-size:.95rem; }
	.gate-pillar__tag { font-size:.72rem; }
	.gate-pillar ul { padding-left:16px; margin:6px 0 0; }
	.gate-pillar li { margin-bottom:4px; }
	.gate-pillar__ico { width:32px !important; height:32px !important; }
	.gate__pair { grid-template-columns:1fr 1fr !important; gap:8px !important; }
	.gate-check { font-size:.76rem; padding:8px 10px; gap:8px; }
	.gate-check input { width:16px; height:16px; }
	.gate__enter { padding:12px 16px; font-size:.85rem; width:100%; justify-content:center; }

	/* plan, visit, misc */
	.rx-bar__in { padding:8px 12px; gap:6px; }
	.rx-bar__sep { display:none; }
	.rx-bar__in .btn { padding:9px; font-size:.75rem; }
	.rx-line { padding:12px; }
	.learn-topic-tile { padding:12px; }
	.sep-note { font-size:.85rem; padding:10px 12px; }
}
.gate__enter--sticky { display:none; }
@media (max-width:640px) {
	.gate-pillar ul { font-size:.8rem; gap:4px; }
	.gate__head p { display:none; }
	.gate__enter--sticky { display:flex; position:sticky; bottom:0; z-index:3; width:100%; justify-content:center; margin:10px 0 0; box-shadow:0 -6px 20px rgba(0,0,0,.12); }
	.gate__form { position:static; }
}
@media (max-width:640px) {
	.pillar__ico { width:36px; height:36px; border-radius:10px; margin-bottom:0; }
	.pillar__ico .nvo-ico, .pillar__ico svg { width:20px; height:20px; }
	.pillar p { font-size:.85rem; }
	.tx-jump { top:60px; padding:6px 0; }
	.tx-jump a { font-size:.72rem; padding:5px 10px; }
	.mainnav a { font-size:.95rem; padding:9px 4px; }
	.gate-pillar__top { gap:10px; }
	.learn-topic-tile__top { font-size:.82rem; }
}
/* Health Guide compound pages on tablets/phones: one column, tabs become a scroll strip */
@media (max-width:900px) {
	.lp-layout { grid-template-columns:minmax(0,1fr); gap:0; }
	.lp-layout .lp-tabs { position:sticky; top:60px; flex-direction:row; overflow-x:auto; padding:8px 0; margin:0 0 4px; background:var(--bg, #EEF3FA); z-index:5; scrollbar-width:none; }
	.lp-layout .lp-tabs::-webkit-scrollbar { display:none; }
	.lp-layout .lp-tabs a { flex:none; padding:7px 12px; font-size:.8rem; background:#fff; border-radius:999px; }
	.lp-side-cta { display:none !important; }
	.lp-body, .lp-sec, .lp-two, .lp-two > div { min-width:0; }
	.lp-body table { display:block; overflow-x:auto; max-width:100%; }
	.lp-body pre, .lp-body code { white-space:pre-wrap; word-break:break-word; }
	.lp-body p, .lp-body li, .lp-body h3 { overflow-wrap:anywhere; }
}
@media (max-width:640px) {
	.lp-sec { padding-top:18px; }
	.lp-sec h2 { font-size:1.25rem; }
	.lp-two { gap:10px; }
	.lp-two > div { padding:12px 14px; border-radius:14px; }
	.lp-two h3 { font-size:.95rem; }
	.lp-two p, .lp-body li { font-size:.88rem; }
	.lp-glance { padding:14px !important; }
	.lp-glance dl { font-size:.82rem; }
}
/* desktop-view banner (shown only after "View desktop site") */
.view-banner { display:flex; align-items:center; justify-content:center; gap:24px; padding:22px 16px; background:#0A1628; color:#fff; font-size:34px; font-weight:700; text-align:center; }
.view-banner a { background:var(--teal); color:#fff; padding:14px 28px; border-radius:14px; text-decoration:none; }
.view-pill { font-size:32px; padding:18px 30px; }

/* =============================================================================
 * Admin: CRM, orders, feedback
 * ===========================================================================*/
.adm .container, .container.adm-wide { max-width:1800px; padding-left:clamp(16px, 3vw, 48px); padding-right:clamp(16px, 3vw, 48px); }
.adm h1 { font-size:2rem; margin:0; }
.adm-head { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap; margin:6px 0 18px; }
.adm-head__act { display:flex; gap:8px; flex-wrap:wrap; }
.adm-dot { display:inline-flex; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#D93025; color:#fff; font-size:.7rem; align-items:center; justify-content:center; margin-left:4px; }
.adm-kpis { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:16px; }
.adm-kpi { display:flex; flex-direction:column; gap:2px; background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:12px 14px; text-decoration:none; color:inherit; }
a.adm-kpi:hover, .adm-kpi.is-on { border-color:var(--teal); }
.adm-kpi b { font-size:1.4rem; color:var(--navy); font-family:var(--font-head); }
.adm-kpi span { font-size:.78rem; color:var(--slate); }
.adm-kpi--ok { border-left:4px solid #12A150; } .adm-kpi--warn { border-left:4px solid #E8A03A; } .adm-kpi--bad { border-left:4px solid #D93025; }
.adm-filter { display:flex; gap:8px; flex-wrap:wrap; align-items:center; background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:10px; margin-bottom:10px; }
.adm-filter input[type=search] { flex:1 1 220px; }
.adm-filter input, .adm-filter select, .adm-form input, .adm-form select, .adm-form textarea, .adm-row input, .adm-row select, .adm-note-form textarea { padding:8px 10px; border:1.5px solid var(--border); border-radius:8px; font:inherit; font-size:.88rem; background:#fff; min-width:0; }
.adm-check { display:inline-flex; align-items:center; gap:6px; font-size:.86rem; font-weight:600; cursor:pointer; }
.adm-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:6px 0; }
.adm-bar .muted { margin-right:auto; }
.adm-hint { font-size:.78rem; color:var(--slate); margin:0 0 10px; }
.adm-table-wrap { overflow-x:auto; background:#fff; border:1.5px solid var(--border); border-radius:12px; }
.adm-table { width:100%; border-collapse:collapse; font-size:.86rem; }
.adm-table th { text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); padding:10px 12px; background:#F7F9FC; border-bottom:1px solid var(--border); white-space:nowrap; }
.adm-table td { padding:10px 12px; border-bottom:1px solid #EEF1F6; vertical-align:top; }
.adm-table tbody tr { cursor:pointer; } .adm-table tbody tr:hover td { background:#F7FAFF; }
.adm-table td small { display:block; color:var(--slate); font-size:.76rem; }
.adm-table td a { color:var(--navy); text-decoration:none; }
.adm-table--plain tbody tr { cursor:default; }
.adm-seg, .adm-rec, .adm-rx, .adm-st, .adm-pill { display:inline-block; font-size:.7rem; font-weight:800; padding:3px 8px; border-radius:999px; white-space:nowrap; text-transform:capitalize; }
.adm-seg--research { background:#EEF1F6; color:#2B3A4F; } .adm-seg--rx { background:rgba(0,102,255,.12); color:#0052CC; } .adm-seg--both { background:rgba(124,92,255,.14); color:#5B3FD9; } .adm-seg--none { background:#F4F4F4; color:#888; }
.adm-rec--active { background:#E8F7EE; color:#0E6B3A; } .adm-rec--cooling { background:#FFF4E0; color:#8A4B00; } .adm-rec--lapsed { background:#FDECEC; color:#B42318; }
.adm-rx--active { background:#E8F7EE; color:#0E6B3A; } .adm-rx--pending, .adm-rx--started { background:#EEF4FF; color:#0052CC; } .adm-rx--paused { background:#FFF4E0; color:#8A4B00; } .adm-rx--cancelled, .adm-rx--declined { background:#F4F4F4; color:#777; }
.adm-st--pending, .adm-st--new { background:#EEF4FF; color:#0052CC; } .adm-st--paid { background:#FFF4E0; color:#8A4B00; } .adm-st--fulfilled, .adm-st--resolved { background:#E8F7EE; color:#0E6B3A; }
.adm-st--cancelled, .adm-st--refunded { background:#F4F4F4; color:#777; } .adm-st--follow_up { background:#FDECEC; color:#B42318; }
.adm-st--lg { font-size:.85rem; padding:6px 14px; }
.adm-pill { margin-top:4px; } .adm-pill--vip { background:#FFF4D6; color:#8A6100; } .adm-pill--watch { background:#FDECEC; color:#B42318; } .adm-pill--do_not_contact { background:#333; color:#fff; }
.adm-ints span { display:inline-block; font-size:.72rem; padding:2px 7px; margin:0 3px 3px 0; border-radius:6px; background:#F0F4FA; color:var(--navy); }
.adm-flags { white-space:nowrap; }
.adm-flag { display:inline-flex; width:20px; height:20px; border-radius:50%; background:#D93025; color:#fff; font-weight:800; font-size:.75rem; align-items:center; justify-content:center; }
.adm-task { display:inline-flex; min-width:20px; height:20px; border-radius:6px; background:#E8A03A; color:#fff; font-weight:800; font-size:.72rem; align-items:center; justify-content:center; margin-left:3px; }
.adm-noemail { color:#9AA8B8; margin-left:4px; }
.adm-2col { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:18px; align-items:start; }
.adm-card { background:#fff; border:1.5px solid var(--border); border-radius:14px; padding:16px 18px; margin-bottom:14px; }
.adm-card h2 { font-size:1.05rem; margin:0 0 10px; }
.adm-form { display:flex; flex-direction:column; gap:10px; }
.adm-form label { display:flex; flex-direction:column; gap:4px; font-size:.8rem; font-weight:700; color:var(--navy); }
.adm-form label.adm-check { flex-direction:row; }
.adm-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.adm-row > label { flex:1; min-width:0; }
.adm-row > input, .adm-row > select { flex:1; }
.adm-note-form { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.adm-note { border-top:1px solid #EEF1F6; padding:10px 0; font-size:.88rem; }
.adm-note p { margin:2px 0; }
.adm-note small { color:var(--slate); font-size:.75rem; }
.adm-note form { display:inline; margin-left:8px; }
.adm-note__k { font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); }
.adm-note.is-task .adm-note__k { color:#8A4B00; } .adm-note.is-done { opacity:.5; } .adm-note.is-done p { text-decoration:line-through; }
.adm-order, .adm-fb { display:grid; grid-template-columns:150px 1fr auto; gap:10px; align-items:center; padding:10px 0; border-top:1px solid #EEF1F6; text-decoration:none; color:inherit; font-size:.86rem; }
.adm-order small, .adm-fb small { display:block; color:var(--slate); font-size:.75rem; }
.adm-order__items { color:var(--slate); }
.adm-order > span:last-child { text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.adm-fb { grid-template-columns:36px 1fr auto; }
.adm-nps { display:inline-flex; width:34px; height:34px; border-radius:10px; align-items:center; justify-content:center; font-weight:800; color:#fff; flex:none; }
.adm-nps--pro { background:#12A150; } .adm-nps--pas { background:#E8A03A; } .adm-nps--det { background:#D93025; }
.adm-ints--edit { display:flex; flex-wrap:wrap; gap:6px; }
.adm-ints--edit form { display:inline; margin:0; }
.adm-int { display:inline-flex; align-items:center; gap:4px; font-size:.78rem; padding:4px 4px 4px 9px; border-radius:999px; background:#F0F4FA; color:var(--navy); }
.adm-int--area { background:#E8F7EE; color:#0E6B3A; } .adm-int--rx { background:rgba(0,102,255,.1); color:#0052CC; }
.adm-int button { border:0; background:transparent; cursor:pointer; color:inherit; font-size:1rem; line-height:1; padding:0 4px; }
.adm-totals { display:grid; grid-template-columns:1fr auto; gap:4px 20px; max-width:280px; margin:12px 0 0 auto; font-size:.88rem; }
.adm-totals b { text-align:right; } .adm-totals__t { font-size:1.05rem; color:var(--navy); padding-top:6px; border-top:1px solid var(--border); }
.adm-fbcard__top { display:flex; gap:12px; align-items:center; }
.adm-fbcard__top > div { flex:1; } .adm-fbcard__top small { display:block; color:var(--slate); font-size:.78rem; }
.adm-fbcard.is-focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,102,255,.15); }
.adm-fbcard__r { display:flex; gap:18px; flex-wrap:wrap; font-size:.8rem; color:var(--slate); margin:10px 0; }
.adm-fbcard blockquote { margin:0 0 10px; padding:10px 14px; background:#F7F9FC; border-left:3px solid var(--teal); border-radius:6px; font-size:.92rem; }
.adm-stars { color:#E8A03A; letter-spacing:1px; } .adm-stars i { color:#DCE4EE; font-style:normal; }
.adm-want { color:#B42318; }
@media (max-width:900px) { .adm-2col { grid-template-columns:1fr; } .adm-order, .adm-fb { grid-template-columns:1fr auto; } .adm-order__items { grid-column:1 / -1; } }

/* --- Public feedback survey ------------------------------------------------- */
.fb-wrap { max-width:680px; }
.fb-card { background:#fff; border-radius:18px; padding:26px; box-shadow:0 10px 40px rgba(10,22,40,.08); display:flex; flex-direction:column; gap:18px; }
.fb-q { border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.fb-q legend, .fb-q > span { font-weight:700; color:var(--navy); margin-bottom:8px; padding:0; }
.fb-q textarea, .fb-q input[type=email] { padding:12px; border:1.5px solid var(--border); border-radius:10px; font:inherit; }
.fb-note { color:var(--slate); font-size:.78rem; }
.fb-order { margin:0; padding:10px 14px; background:#EEF4FF; border-radius:10px; }
.fb-ctx { display:flex; gap:8px; flex-wrap:wrap; }
.fb-ctx label { padding:10px 14px; border:1.5px solid var(--border); border-radius:10px; cursor:pointer; font-weight:600; font-size:.9rem; }
.fb-ctx label:has(input:checked) { border-color:var(--teal); background:rgba(0,102,255,.05); }
.fb-nps { display:grid; grid-template-columns:repeat(11, 1fr); gap:4px; }
.fb-nps input { position:absolute; opacity:0; pointer-events:none; }
.fb-nps span { display:flex; align-items:center; justify-content:center; height:42px; border:1.5px solid var(--border); border-radius:8px; font-weight:700; cursor:pointer; }
.fb-nps label:hover span { border-color:var(--teal); }
.fb-nps input:checked + span { background:var(--teal); border-color:var(--teal); color:#fff; }
.fb-nps__ends { display:flex; justify-content:space-between; font-size:.75rem; color:var(--slate); }
.fb-stars { display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.fb-stars input { position:absolute; opacity:0; pointer-events:none; }
.fb-stars label { font-size:2rem; line-height:1; color:#DCE4EE; cursor:pointer; transition:color .1s; }
.fb-stars label:hover, .fb-stars label:hover ~ label, .fb-stars input:checked ~ label { color:#E8A03A; }
.fb-done { text-align:center; align-items:center; }
@media (max-width:640px) { .fb-card { padding:16px; gap:14px; } .fb-nps { grid-template-columns:repeat(6, 1fr); } .fb-nps span { height:38px; } .fb-stars label { font-size:1.7rem; } }

/* --- CRM v2: quick-links rail + slide-out customer panel ------------------- */
.crm2 { display:flex; align-items:stretch; border:1.5px solid var(--border); border-radius:14px; overflow:hidden; background:#fff; }
.crm2-rail { flex:0 0 230px; background:#0A1628; display:flex; flex-direction:column; padding-bottom:12px; }
.crm2-rail__h { background:#0F1F36; color:#8FA8C4; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; padding:10px 14px 8px; }
.crm2-rail__i { display:flex; align-items:center; gap:9px; padding:9px 14px; font-size:.84rem; font-weight:600; color:#DCE7F3; text-decoration:none; border-left:3px solid transparent; }
.crm2-rail__i svg { width:16px; height:16px; color:#7F97B4; flex:none; }
.crm2-rail__i:hover { background:#16294A; color:#fff; }
.crm2-rail__i.on { background:var(--teal); border-left-color:#fff; color:#fff; }
.crm2-rail__i.on svg { color:#fff; }
.crm2-rail__i .n { margin-left:auto; font-size:11px; font-weight:700; color:#CFE0F2; background:#24384F; border-radius:9px; padding:2px 7px; }
.crm2-rail__i .n:empty { display:none; }
.crm2-rail__i .n.hot { background:#E0342A; color:#fff; }
.crm2-rail__i.on .n { background:rgba(0,0,0,.25); color:#fff; }
.crm2-main { flex:1; min-width:0; padding:12px; }
.crm2-main .adm-filter { border:0; padding:0 0 8px; border-bottom:1px solid var(--border); border-radius:0; }
.crm2-main .adm-table-wrap { border:0; border-radius:0; }
.adm-table tbody tr[data-id].is-open td { background:#EEF4FF; }
.crm2-scrim { position:fixed; inset:0; background:rgba(11,26,45,.45); z-index:1040; opacity:0; pointer-events:none; transition:opacity .2s; }
.crm2-scrim.open { opacity:1; pointer-events:auto; }
.crm2-drawer { position:fixed; top:0; right:0; bottom:0; width:min(860px, 100vw); background:#F4F7FB; z-index:1050; box-shadow:-20px 0 60px rgba(0,0,0,.25); transform:translateX(100%); visibility:hidden; transition:transform .22s ease, visibility 0s .22s; display:flex; flex-direction:column; }
.crm2-drawer.open { transform:translateX(0); visibility:visible; transition:transform .22s ease; }
#drBody { height:100%; display:flex; flex-direction:column; min-height:0; }
html.dr-lock { overflow:hidden; }
.dr { display:flex; flex-direction:column; height:100%; min-height:0; }
.dr-loading { padding:40px; text-align:center; color:var(--slate); }
.dr-head { background:linear-gradient(135deg, #0A1628 0%, #16335A 100%); color:#fff; padding:18px 20px 14px; border-bottom:4px solid var(--teal); flex:none; }
.dr-top { display:flex; gap:12px; align-items:flex-start; }
.dr-av { width:44px; height:44px; border-radius:12px; background:var(--teal); color:#fff; display:grid; place-items:center; font-weight:800; font-size:1.2rem; flex:none; }
.dr-who { flex:1; min-width:0; }
.dr-name { font-size:1.3rem; font-weight:800; line-height:1.2; font-family:var(--font-head); }
.dr-sub { color:#B9CBE0; font-size:.85rem; margin-top:2px; word-break:break-all; }
.dr-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.dr-tag { font-size:.7rem; font-weight:700; padding:3px 8px; border-radius:999px; background:rgba(255,255,255,.14); color:#fff; }
.dr-close { background:rgba(255,255,255,.1); border:0; color:#fff; width:34px; height:34px; border-radius:8px; font-size:1.4rem; cursor:pointer; flex:none; }
.dr-close:hover { background:var(--teal); }
.dr-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:14px; }
.dr-actions form { margin:0; }
.dr-btn { display:inline-flex; align-items:center; height:32px; padding:0 12px; border-radius:8px; font-size:.78rem; font-weight:700; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; text-decoration:none; cursor:pointer; font-family:inherit; }
.dr-btn:hover { background:rgba(255,255,255,.18); color:#fff; }
.dr-btn--primary { background:var(--teal); border-color:var(--teal); }
.dr-btn--danger { color:#FFB4A3; border-color:transparent; background:transparent; }
.dr-btn--danger:hover { background:#B91C1C; color:#fff; }
.dr-body { flex:1; overflow-y:auto; padding:14px 18px 40px; }
.dr-flash { background:#E8F7EE; color:#0E6B3A; border-radius:8px; padding:8px 12px; font-size:.85rem; margin-bottom:10px; }
.dr-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-bottom:12px; }
.dr-stat { background:#fff; border:1px solid var(--border); border-radius:10px; padding:8px 10px; }
.dr-stat b { display:block; font-size:1.05rem; color:var(--navy); }
.dr-stat span { font-size:.7rem; color:var(--slate); }
.dr-stat--active { border-left:4px solid #12A150; } .dr-stat--cooling { border-left:4px solid #E8A03A; } .dr-stat--lapsed { border-left:4px solid #D93025; }
.dr-sec { background:#fff; border:1px solid var(--border); border-radius:12px; padding:12px 14px; margin-bottom:10px; }
.dr-sec h3 { font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; color:var(--navy); margin:0 0 10px; display:flex; align-items:center; gap:8px; }
.dr-sec h3 small { font-weight:600; text-transform:none; letter-spacing:0; color:var(--slate); }
.dr-auto { margin-left:auto; }
.dr-form { display:flex; flex-direction:column; gap:8px; }
.dr-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dr-grid label { display:flex; flex-direction:column; gap:3px; font-size:.72rem; font-weight:700; color:var(--slate); }
.dr-grid label.full { grid-column:1 / -1; }
.dr-grid input, .dr-grid select, .dr-note-form textarea, .dr-row select, .dr-due input { padding:8px 10px; border:1.5px solid var(--border); border-radius:8px; font:inherit; font-size:.88rem; background:#fff; min-width:0; color:var(--navy); }
.dr-grid input:focus, .dr-grid select:focus { border-color:var(--teal); outline:0; }
.dr-row { display:flex; gap:8px; align-items:center; }
.dr-row select { flex:1; }
.dr-note-form { display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.dr-kinds { display:flex; gap:4px; }
.dr-kinds input { position:absolute; opacity:0; }
.dr-kinds span { display:inline-block; padding:5px 12px; border-radius:999px; border:1.5px solid var(--border); font-size:.75rem; font-weight:700; cursor:pointer; }
.dr-kinds input:checked + span { background:var(--navy); border-color:var(--navy); color:#fff; }
.dr-due { display:flex; align-items:center; gap:6px; font-size:.75rem; font-weight:700; color:var(--slate); margin-right:auto; }
.dr-note { display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-top:1px solid #EEF1F6; font-size:.86rem; }
.dr-note > div { flex:1; } .dr-note p { margin:0; } .dr-note small { color:var(--slate); font-size:.72rem; }
.dr-note form { margin:0; }
.dr-note__k { font-size:.6rem; font-weight:800; text-transform:uppercase; padding:3px 7px; border-radius:6px; background:#EEF1F6; color:var(--navy); flex:none; margin-top:2px; }
.dr-note__k--task { background:#FFF4E0; color:#8A4B00; } .dr-note__k--call { background:#E8F7EE; color:#0E6B3A; } .dr-note__k--email { background:#EEF4FF; color:#0052CC; }
.dr-note.is-done { opacity:.55; } .dr-note.is-done p { text-decoration:line-through; }
.dr-chk { width:22px; height:22px; border-radius:6px; border:2px solid #B9C4D2; background:#fff; color:#12A150; font-weight:800; cursor:pointer; padding:0; }
.dr-note.is-done .dr-chk { border-color:#12A150; }
.dr-line { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:9px 0; border-top:1px solid #EEF1F6; text-decoration:none; color:inherit; font-size:.85rem; }
.dr-line:first-of-type { border-top:0; }
.dr-line small { display:block; color:var(--slate); font-size:.74rem; }
.dr-line__r { display:flex; flex-direction:column; align-items:flex-end; gap:3px; flex:none; }
.dr-line__l { display:flex; gap:10px; align-items:center; }
a.dr-line:hover strong { color:var(--teal); }
.dr-foot { font-size:.75rem; text-align:center; }
.crm2-toast { position:fixed; bottom:20px; right:20px; z-index:1100; background:#0A1628; color:#fff; padding:10px 18px; border-radius:10px; font-weight:700; font-size:.85rem; opacity:0; transform:translateY(10px); transition:all .2s; pointer-events:none; }
.crm2-toast.on { opacity:1; transform:none; }
@media (max-width:900px) { .crm2 { flex-direction:column; } .crm2-rail { flex:none; flex-direction:row; flex-wrap:wrap; padding:6px; gap:4px; } .crm2-rail__h { display:none; } .crm2-rail__i { padding:6px 10px; border-radius:8px; border-left:0; font-size:.75rem; } .dr-stats { grid-template-columns:1fr 1fr; } }

/* --- Site-wide promo bar (includes/banner.php): styles minimal | rotate | ticker */
.promo { position:relative; z-index:60; display:flex; align-items:center; font-size:.84rem; line-height:1.2; }
.promo a, .promo a:hover { text-decoration:none !important; }
.promo__x { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:inherit; opacity:.6; font-size:1.15rem; line-height:1; cursor:pointer; }
.promo__x:hover { opacity:1; background:rgba(127,127,127,.18); }
.promo__chip { display:inline-block; padding:2px 9px; border-radius:6px; font-weight:800; letter-spacing:.06em; font-size:.78rem; }
/* minimal: one calm line, dark */
.promo--minimal { background:#0A1628; color:#E8EEF7; min-height:40px; }
.promo--minimal .promo__link { flex:1; display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; padding:8px 48px; color:#E8EEF7; }
.promo--minimal .promo__tag { width:16px; height:16px; color:#00C2FF; flex:none; }
.promo--minimal .promo__head { font-weight:700; color:#fff; }
.promo--minimal .promo__chip { border:1.5px dashed #00C2FF; color:#7FE0FF; }
.promo--minimal .promo__cta { color:#00C2FF; font-weight:700; white-space:nowrap; }
.promo--minimal .promo__link:hover .promo__cta { color:#fff; }
.promo--minimal .promo__ok { color:#5EE3A1; font-weight:700; }
.promo--minimal .promo__dot { opacity:.35; }
/* rotate: light bar, messages slide through one at a time */
.promo--rotate { background:#EAF2FF; color:#0A1628; border-bottom:1px solid #D4E3FB; height:38px; overflow:hidden; }
.promo--rotate .promo__link { flex:1; display:block; height:38px; color:#0A1628; padding:0 48px; overflow:hidden; }
.promo--rotate .promo__list { display:block; animation:promoR2 8s infinite; }
.promo--rotate .promo__list--3 { animation-name:promoR3; animation-duration:12s; }
.promo--rotate .promo__line { height:38px; display:flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap; }
.promo--rotate .promo__head { font-weight:700; }
.promo--rotate .promo__chip { background:#0A1628; color:#fff; }
.promo--rotate .promo__cta { color:#0052CC; font-weight:700; }
.promo--rotate:hover .promo__list { animation-play-state:paused; }
@keyframes promoR2 { 0%,42% { transform:translateY(0); } 50%,92% { transform:translateY(-38px); } 100% { transform:translateY(-76px); } }
@keyframes promoR3 { 0%,28% { transform:translateY(0); } 33%,61% { transform:translateY(-38px); } 66%,94% { transform:translateY(-76px); } 100% { transform:translateY(-114px); } }
/* ticker: slow scroll, navy, uppercase */
.promo--ticker { background:#0A1628; color:#fff; height:36px; overflow:hidden; white-space:nowrap; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.promo--ticker .promo__link { flex:1; display:flex; overflow:hidden; color:#fff; height:100%; align-items:center; padding-right:40px; }
.promo__track { display:inline-flex; flex:none; animation:promoScroll 60s linear infinite; }
.promo--ticker:hover .promo__track { animation-play-state:paused; }
.promo__i { display:inline-flex; align-items:center; gap:12px; padding-right:56px; }
.promo--ticker .promo__chip { background:#00C2FF; color:#0A1628; }
.promo--ticker .promo__dot { color:#00C2FF; }
@keyframes promoScroll { from { transform:translateX(0); } to { transform:translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .promo__track, .promo--rotate .promo__list { animation:none; } .promo__track + .promo__track { display:none; } }
@media (max-width:640px) {
	.promo { font-size:.76rem; }
	.promo--minimal .promo__link { gap:6px 8px; padding:7px 40px 7px 14px; justify-content:flex-start; }
	.promo--minimal .promo__extra, .promo--minimal .promo__dot { display:none; }
	.promo--rotate .promo__link { padding:0 40px 0 12px; }
	.promo--rotate .promo__line { justify-content:flex-start; }
}
.promo-preview { border-radius:10px; overflow:hidden; border:1px solid #E1E8F2; }
.promo-styles { display:grid; gap:12px; margin-top:6px; }
.promo-style { display:block; border:2px solid #E1E8F2; border-radius:12px; padding:10px; cursor:pointer; }
.promo-style:has(input:checked) { border-color:#0066FF; background:#F5F9FF; }
.promo-style .promo-style__h { display:flex !important; align-items:center; justify-content:flex-start; gap:8px; font-weight:700; font-size:.9rem; margin:0 0 8px; text-align:left; }
.promo-style .promo-style__h input { width:auto !important; height:auto; margin:0; flex:none; accent-color:#0066FF; }
.promo-style__h small { font-weight:500; color:#6B7A90; }
.promo-style .promo__x { pointer-events:none; }
/* orders: side panel */
.adm-table tbody tr[data-id] { cursor:pointer; }
.adm-table tbody tr.is-open td { background:#E8F1FF; }
.dr-items td small { display:block; color:var(--slate); font-size:.75rem; }
.dr-items th, .dr-items td { padding:6px 8px; font-size:.85rem; }
/* =============================================================================
 * Admin: analytics dashboard
 * ===========================================================================*/
.an-range { display:inline-flex; background:#fff; border:1px solid var(--border); border-radius:10px; padding:3px; gap:2px; }
.an-range a { padding:7px 14px; border-radius:7px; font-size:.82rem; font-weight:700; color:var(--slate); text-decoration:none; }
.an-range a.on { background:var(--navy, #0A1628); color:#fff; }
.an-live { display:inline-flex; align-items:center; gap:8px; font-size:.85rem; color:var(--slate); margin:0 0 12px; }
.an-dot { width:9px; height:9px; border-radius:50%; background:#12A150; box-shadow:0 0 0 0 rgba(18,161,80,.6); animation:anPulse 2s infinite; }
@keyframes anPulse { 70% { box-shadow:0 0 0 8px rgba(18,161,80,0); } 100% { box-shadow:0 0 0 0 rgba(18,161,80,0); } }
.an-kpis { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; margin-bottom:16px; }
.an-kpi { background:#fff; border:1px solid var(--border); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:2px; }
.an-kpi span { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); }
.an-kpi b { font-size:1.45rem; color:var(--navy, #0A1628); font-family:var(--font-head); line-height:1.2; }
.an-kpi small { font-size:.72rem; color:var(--slate); }
.an-kpi small.up { color:#0E7A3F; } .an-kpi small.down { color:#C2261B; }
.an-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; align-items:start; }
.an-grid--main { grid-template-columns:2fr 1fr; }
.an-grid--3 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.an .an-card { margin:0 0 16px; min-width:0; }
.an-grid .an-card { margin:0; }
.an-card__h { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.an-card__h h2 { margin:0; font-size:1.05rem; }
.an-card__h small { font-size:.75rem; }
.an-legend { font-size:.75rem; color:var(--slate); display:flex; gap:6px; align-items:center; }
.an-legend i { display:inline-block; width:12px; height:8px; border-radius:2px; margin-left:8px; }
.an-legend i.s { background:#BFD5FF; } .an-legend i.r { background:#0066FF; height:3px; }
.an-chart { width:100%; height:260px; display:block; }
.an-bar { fill:#BFD5FF; } .an-bar:hover { fill:#7FAEFF; }
.an-line { fill:none; stroke:#0066FF; stroke-width:2.5; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.an-gl { stroke:#E6ECF5; stroke-width:1; vector-effect:non-scaling-stroke; }
.an-ax { font-size:11px; fill:#6B7A90; text-anchor:middle; }
.an-funnel { display:flex; flex-direction:column; gap:12px; }
.an-fs__t, .an-dev__t { display:flex; justify-content:space-between; font-size:.88rem; margin-bottom:4px; }
.an-fs__bar { height:10px; background:#EEF3FA; border-radius:6px; overflow:hidden; }
.an-fs__bar i { display:block; height:100%; background:linear-gradient(90deg, #0052CC, #00C2FF); border-radius:6px; }
.an-fs small, .an-dev small { font-size:.72rem; color:var(--slate); }
.an-dev { margin-bottom:14px; }
.an-t th, .an-t td { padding:8px 10px; font-size:.86rem; vertical-align:top; }
.an-t .n { text-align:right; white-space:nowrap; }
.an-t td small { display:block; color:var(--slate); font-size:.72rem; }
.an-t tbody tr { cursor:default; }
.an-t tbody tr[data-href] { cursor:pointer; }
.an-mini { display:block; height:4px; background:#EEF3FA; border-radius:3px; margin-top:5px; max-width:220px; overflow:hidden; }
.an-mini i { display:block; height:100%; background:#0066FF; }
.an-path { font-family:ui-monospace, Menlo, Consolas, monospace; font-size:.8rem; word-break:break-all; }
.an-zero { color:#C2261B; font-weight:700; font-size:.78rem; }
.an-h3 { font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; margin:16px 0 6px; }
.an-h3 small { text-transform:none; letter-spacing:0; color:var(--slate); font-weight:500; }
.an-note { font-size:.78rem; margin:10px 0 0; }
@media (max-width:1300px) { .an-kpis { grid-template-columns:repeat(4, minmax(0, 1fr)); } .an-grid--3 { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .an-kpis { grid-template-columns:repeat(2, minmax(0, 1fr)); } .an-grid, .an-grid--main, .an-grid--3 { grid-template-columns:1fr; } .an-chart { height:200px; } }
.an-showall { margin-top:10px; }
/* =============================================================================
 * Admin shell (includes/admin_header.php): one look for every admin page
 * ===========================================================================*/
.ax-body { background:#F2F5FA; min-height:100vh; }
.ax-bar { position:sticky; top:0; z-index:900; background:#0A1628; color:#fff; box-shadow:0 2px 12px rgba(10,22,40,.18); }
.ax-bar__in { display:flex; align-items:center; gap:18px; height:60px; padding:0 clamp(16px, 3vw, 48px); max-width:1900px; margin:0 auto; }
.ax-brand { display:flex; align-items:baseline; gap:6px; color:#fff; text-decoration:none; flex:none; }
.ax-brand b { font-family:var(--font-head); font-weight:800; font-size:1.3rem; letter-spacing:.02em; }
.ax-brand span { font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#7FB2FF; }
.ax-i { width:18px; height:18px; flex:none; }
.ax-tabs { display:flex; align-items:stretch; gap:2px; height:100%; flex:1; min-width:0; }
.ax-tab { display:flex; align-items:center; gap:8px; padding:0 14px; color:#B9CBE0; text-decoration:none; font-weight:700; font-size:.9rem; border:0; background:none; cursor:pointer; font-family:inherit; position:relative; white-space:nowrap; height:100%; }
.ax-tab:hover { color:#fff; background:rgba(255,255,255,.06); }
.ax-tab.is-on { color:#fff; }
.ax-tab.is-on::after { content:""; position:absolute; left:10px; right:10px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:#00C2FF; }
.ax-badge { font-style:normal; background:#E8473B; color:#fff; font-size:.68rem; font-weight:800; min-width:19px; height:19px; padding:0 5px; border-radius:10px; display:inline-grid; place-items:center; }
.ax-caret { width:10px; height:6px; opacity:.7; }
.ax-more { position:relative; display:flex; }
.ax-menu { position:absolute; top:calc(100% + 6px); left:0; background:#fff; color:var(--navy, #0A1628); border-radius:14px; box-shadow:0 18px 50px rgba(10,22,40,.28); padding:14px; display:grid; grid-template-columns:repeat(4, minmax(170px, 1fr)); gap:6px 14px; z-index:950; }
.ax-menu[hidden] { display:none; }
.ax-menu__h { font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#6B7A90; padding:4px 8px 6px; }
.ax-menu a { display:flex; align-items:center; gap:9px; padding:8px; border-radius:8px; color:inherit; text-decoration:none; font-size:.88rem; font-weight:600; }
.ax-menu a:hover, .ax-menu a.is-on { background:#EEF4FF; color:#0052CC; }
.ax-menu a .ax-i { color:#0066FF; }
.ax-search { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:0 10px; height:38px; width:min(300px, 26vw); color:#B9CBE0; }
.ax-search:focus-within { background:#fff; color:#0A1628; border-color:#fff; }
.ax-search input { border:0; background:none; outline:0; color:inherit; font:inherit; font-size:.88rem; width:100%; min-width:0; }
.ax-search input::placeholder { color:#8FA3BC; }
.ax-site { display:flex; align-items:center; gap:6px; color:#B9CBE0; text-decoration:none; font-size:.82rem; font-weight:700; white-space:nowrap; }
.ax-site:hover { color:#fff; }
.ax-user { display:flex; align-items:center; gap:10px; font-size:.8rem; }
.ax-user a { color:#8FA3BC; text-decoration:none; } .ax-user a:hover { color:#fff; }
.ax-av { width:32px; height:32px; border-radius:50%; background:#0066FF; color:#fff; display:grid; place-items:center; font-weight:800; font-size:.78rem; }
.ax-sub { background:#fff; border-bottom:1px solid #E1E8F2; }
.ax-sub__in { display:flex; align-items:center; gap:6px; padding:8px clamp(16px, 3vw, 48px); max-width:1900px; margin:0 auto; overflow-x:auto; }
.ax-sub__h { font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#6B7A90; margin-right:6px; }
.ax-sub a { padding:6px 12px; border-radius:999px; font-size:.82rem; font-weight:700; color:#33465F; text-decoration:none; white-space:nowrap; }
.ax-sub a:hover { background:#EEF3FA; }
.ax-sub a.is-on { background:#0A1628; color:#fff; }
/* every admin page body uses the same spacing, width and headings */
main.ax-main > section.section, main.ax-main > section.section:first-of-type:not(.band) { background:none !important; padding:22px 0 60px; }
.ax-main .container, .ax-main .container.adm-wide { max-width:1900px; padding-left:clamp(16px, 3vw, 48px); padding-right:clamp(16px, 3vw, 48px); }
.ax-main .container[style*="max-width"] { max-width:1900px !important; }
.ax-main .crumbs { display:none; }
.ax-main h1 { font-size:1.6rem; margin:0; }
.ax-main h1::after { display:none !important; content:none !important; }
.ax-main .adm-head { margin:0 0 16px; align-items:center; }
.ax-main .page-head, .ax-main .band { background:none; }
@media (max-width:1100px) { .ax-site span, .ax-user a { display:none; } .ax-search { width:180px; } }
@media (max-width:800px) {
	.ax-bar__in { flex-wrap:wrap; height:auto; padding-top:10px; gap:8px 12px; }
	.ax-tabs { order:3; flex-basis:100%; overflow-x:auto; height:46px; }
	.ax-tab span { display:inline; }
	.ax-search { flex:1; width:auto; }
	.ax-menu { position:fixed; left:12px; right:12px; top:110px; grid-template-columns:1fr 1fr; }
}
/* Admin dashboard (admin/index.php) */
.dx-sub { margin:4px 0 0; font-size:.92rem; }
.dx-live { display:inline-flex; align-items:center; gap:6px; color:#0E7A3F; font-weight:700; }
.dx-live i { width:8px; height:8px; border-radius:50%; background:#12A150; animation:anPulse 2s infinite; }
.dx-kpis { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:12px; margin-bottom:16px; }
.dx-kpi { position:relative; overflow:hidden; background:#fff; border:1px solid #E1E8F2; border-radius:14px; padding:14px 16px 40px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:2px; transition:box-shadow .15s, transform .15s; }
.dx-kpi:hover { box-shadow:0 8px 24px rgba(10,22,40,.08); transform:translateY(-1px); }
.dx-kpi span { font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#6B7A90; }
.dx-kpi b { font-family:var(--font-head); font-size:1.7rem; color:#0A1628; line-height:1.15; }
.dx-d { font-size:.74rem; color:#6B7A90; } .dx-d.up { color:#0E7A3F; } .dx-d.down { color:#C2261B; }
.dx-spark { position:absolute; left:0; right:0; bottom:0; width:100%; height:34px; }
.dx-spark__a { fill:rgba(0,102,255,.08); } .dx-spark__l { fill:none; stroke:#0066FF; stroke-width:1.6; vector-effect:non-scaling-stroke; }
.dx-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-bottom:16px; align-items:start; }
.dx-grid--2 { grid-template-columns:1.2fr 1fr; }
.dx .dx-card { margin:0; padding:16px 18px; border-radius:14px; }
.dx-card__h { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; gap:8px; }
.dx-card__h--sub { margin-top:16px; padding-top:12px; border-top:1px solid #EEF2F7; }
.dx-card__h h2 { display:flex; align-items:center; gap:8px; font-size:.98rem; margin:0; }
.dx-card__h h2 .ax-i { color:#0066FF; }
.dx-card__h a { font-size:.8rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.dx-n { font-style:normal; background:#EEF4FF; color:#0052CC; font-size:.72rem; font-weight:800; padding:2px 8px; border-radius:999px; }
.dx-n--warn { background:#FFF2DB; color:#A15C00; }
.dx-row { display:flex; align-items:center; gap:10px; padding:9px 8px; margin:0 -8px; border-radius:9px; text-decoration:none; color:inherit; font-size:.88rem; }
a.dx-row:hover { background:#F3F7FD; }
.dx-row + .dx-row { border-top:1px solid #F0F3F8; }
.dx-row b { display:block; font-weight:700; color:#0A1628; }
.dx-row small { display:block; color:#6B7A90; font-size:.76rem; margin-top:1px; }
.dx-grow { flex:1; min-width:0; }
.dx-amt { font-weight:800; color:#0A1628; }
.dx-nps { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; font-weight:800; flex:none; background:#EEF2F7; color:#33465F; }
.dx-nps--bad { background:#FDE7E5; color:#C2261B; } .dx-nps--mid { background:#FFF2DB; color:#A15C00; } .dx-nps--ok { background:#E5F6EC; color:#0E7A3F; }
.dx-want { display:inline !important; color:#C2261B !important; font-size:.76rem; }
.dx-due { font-size:.74rem; font-weight:700; color:#6B7A90; white-space:nowrap; } .dx-due.is-late { color:#C2261B; }
.dx-empty { display:flex; align-items:center; gap:8px; color:#0E7A3F; font-size:.88rem; margin:6px 0; }
.dx-foot { font-size:.8rem; margin:8px 0 0; }
.dx-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:6px; }
.dx-pair a { background:#F6F8FC; border-radius:10px; padding:10px; text-decoration:none; color:inherit; }
.dx-pair b { display:block; font-family:var(--font-head); font-size:1.4rem; color:#0A1628; } .dx-pair b.warn { color:#A15C00; } .dx-pair b.bad { color:#C2261B; }
.dx-pair span { font-size:.74rem; color:#6B7A90; }
.dx-row--plain { padding:6px 8px; }
.dx-inl { display:inline !important; }
.dx-left { font-size:.76rem; font-weight:800; color:#A15C00; }
.dx-line { font-size:.86rem; margin:0; color:#33465F; }
.dx-t td { padding:9px 8px; font-size:.86rem; vertical-align:middle; }
.dx-t td small { display:block; color:#6B7A90; font-size:.74rem; }
.dx-t .n { text-align:right; font-weight:800; }
.dx-t tbody tr { cursor:pointer; }
.dx-tools { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.dx-tools a { display:flex; align-items:center; gap:10px; padding:10px; border:1px solid #E7EDF5; border-radius:11px; text-decoration:none; color:inherit; transition:border-color .15s, background .15s; }
.dx-tools a:hover { border-color:#9DC0FF; background:#F5F9FF; }
.dx-tools__i { width:36px; height:36px; border-radius:10px; background:#EEF4FF; color:#0066FF; display:grid; place-items:center; flex:none; }
.dx-tools b { display:block; font-size:.88rem; color:#0A1628; }
.dx-tools small { font-size:.72rem; color:#6B7A90; }
.dx-soon { font-size:.76rem; color:#8A97AA; margin:12px 0 0; }
@media (max-width:1400px) { .dx-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } .dx-kpis { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:800px) { .dx-grid, .dx-grid--2 { grid-template-columns:1fr; } .dx-kpis { grid-template-columns:1fr 1fr; } }
.promo--ticker .promo__x { background:#0A1628; opacity:.85; }
/* promo pricing: original struck through, discounted beside it */
.price-was { color:#8A97AA; font-weight:600; text-decoration:line-through; text-decoration-thickness:1.5px; }
.product-card__price.has-promo { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; white-space:normal; }
.product-card__price .price-was { font-size:.78em; }
.product-card__price .price-promo { color:#0052CC; }
.pdp .price-row .price-was { font-size:1.2rem; }
.price-now.price-promo { color:#0052CC; }
.promo-tag { display:inline-flex; align-items:center; background:#E5F6EC; color:#0E7A3F; font-size:.75rem; font-weight:800; padding:4px 10px; border-radius:999px; }
.price-sub s { color:#8A97AA; font-weight:600; }
.cart-saved { color:var(--success, #0E7A3F); font-weight:700; margin:2px 0 0; }
/* minimal promo bar: slow drifting starfield + a soft glow that wanders (text stays still) */
.promo--minimal { overflow:hidden; isolation:isolate; background:linear-gradient(90deg, #07111F, #0A1628 45%, #0B1C36); }
.promo--minimal::before, .promo--minimal::after { content:""; position:absolute; top:0; bottom:0; pointer-events:none; z-index:-1; }
.promo--minimal::before {
	left:0; width:calc(100% + 240px);
	background-image:
		radial-gradient(1px 1px at 20px 8px, rgba(255,255,255,.85), transparent 60%),
		radial-gradient(1px 1px at 70px 30px, rgba(127,224,255,.8), transparent 60%),
		radial-gradient(1.5px 1.5px at 130px 14px, rgba(255,255,255,.7), transparent 60%),
		radial-gradient(1px 1px at 185px 26px, rgba(255,255,255,.55), transparent 60%),
		radial-gradient(1px 1px at 225px 6px, rgba(127,224,255,.6), transparent 60%),
		radial-gradient(1px 1px at 95px 18px, rgba(255,255,255,.35), transparent 60%);
	background-size:240px 40px; background-repeat:repeat;
	animation:promoStars 48s linear infinite, promoTwinkle 6s ease-in-out infinite alternate;
}
.promo--minimal::after {
	left:-30%; width:30%;
	background:radial-gradient(ellipse at center, rgba(0,194,255,.28), rgba(0,102,255,.12) 45%, transparent 70%);
	animation:promoGlow 14s ease-in-out infinite alternate;
}
.promo--minimal .promo__link, .promo--minimal .promo__x { position:relative; z-index:1; }
.promo--minimal .promo__x { position:absolute; }
@keyframes promoStars { from { transform:translateX(0); } to { transform:translateX(-240px); } }
@keyframes promoTwinkle { from { opacity:.55; } to { opacity:1; } }
@keyframes promoGlow { from { transform:translateX(0); } to { transform:translateX(430%); } }
@media (prefers-reduced-motion: reduce) { .promo--minimal::before, .promo--minimal::after { animation:none; } }
/* =============================================================================
 * Shipping: admin Ship today, order panel, customer tracking page
 * ===========================================================================*/
.sx-mode { display:inline-block; margin-left:8px; font-size:.72rem; font-weight:800; padding:3px 9px; border-radius:999px; vertical-align:middle; }
.sx-mode--demo { background:#FFF2DB; color:#A15C00; } .sx-mode--live { background:#E5F6EC; color:#0E7A3F; }
.sx-grid { display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:16px; align-items:start; }
.sx .sx-card { margin:0 0 16px; padding:16px 18px; border-radius:14px; }
.sx-card__h { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.sx-card__h h2 { font-size:1rem; margin:0; display:flex; align-items:center; gap:8px; }
.sx-card__h form { margin:0; }
.sx-all { font-size:.82rem; font-weight:600; display:flex; gap:6px; align-items:center; }
.sx-t td, .sx-t th { padding:8px 10px; font-size:.86rem; vertical-align:middle; }
.sx-t td small { display:block; color:#6B7A90; font-size:.74rem; }
.sx-t .n { text-align:right; white-space:nowrap; }
.sx-t tbody tr { cursor:default; }
.sx-t tfoot td { font-size:.84rem; color:#33465F; border-top:1px solid #E1E8F2; }
.sx-go { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:14px; font-size:.86rem; }
.sx-done { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; background:#E5F6EC; border:1px solid #A7E0BE; border-radius:14px; padding:16px 18px; margin-bottom:16px; color:#0A3D22; }
.sx-warn { color:#A15C00; }
.sx-set h2 { font-size:1rem; margin:0 0 12px; }
.sx-set > label, .sx-set label:not(.sx-radio label) { display:block; font-size:.8rem; font-weight:800; color:#33465F; margin:12px 0 6px; }
.sx-set select { width:100%; }
.sx-set small, .sx-hint { display:block; font-weight:500; color:#6B7A90; font-size:.74rem; margin-top:4px; }
.sx-box { display:flex; align-items:center; gap:6px; } .sx-box input { width:70px; } .sx-box span { color:#6B7A90; }
.sx-radio { display:grid; gap:8px; }
.sx-radio label { display:flex !important; gap:10px; align-items:flex-start; border:1.5px solid #E1E8F2; border-radius:10px; padding:10px; margin:0 !important; cursor:pointer; font-weight:500 !important; }
.sx-radio label:has(input:checked) { border-color:#0066FF; background:#F5F9FF; }
.sx-radio input { width:auto; margin-top:3px; } .sx-radio b { display:block; font-size:.86rem; color:#0A1628; }
.sx-from { font-size:.84rem; margin:0 0 14px; line-height:1.45; }
.sx-st { display:inline-block; font-size:.72rem; font-weight:800; padding:3px 9px; border-radius:999px; background:#EEF2F7; color:#33465F; white-space:nowrap; text-transform:none; letter-spacing:0; }
.sx-st--pre_transit { background:#EEF4FF; color:#0052CC; } .sx-st--in_transit { background:#E6F7FF; color:#006C9C; }
.sx-st--out_for_delivery { background:#FFF2DB; color:#A15C00; } .sx-st--delivered { background:#E5F6EC; color:#0E7A3F; }
.sx-st--failure, .sx-st--return_to_sender { background:#FDE7E5; color:#C2261B; }
/* order panel */
.sx-trk { display:flex; justify-content:space-between; align-items:center; gap:12px; background:#F6F8FC; border-radius:10px; padding:10px 12px; margin-bottom:10px; }
.sx-trk b { display:block; font-size:1rem; letter-spacing:.03em; margin:2px 0; } .sx-trk small { display:block; color:#6B7A90; font-size:.74rem; }
.sx-tl { list-style:none; margin:0 0 10px; padding:0 0 0 18px; border-left:2px solid #E1E8F2; }
.sx-tl li { position:relative; padding:0 0 12px 8px; font-size:.86rem; }
.sx-tl li::before { content:""; position:absolute; left:-25px; top:3px; width:12px; height:12px; border-radius:50%; background:#C9D5E6; border:2px solid #fff; }
.sx-tl li:first-child::before { background:#0066FF; box-shadow:0 0 0 4px rgba(0,102,255,.15); }
.sx-tl li.sx-tl__delivered:first-child::before { background:#12A150; box-shadow:0 0 0 4px rgba(18,161,80,.15); }
.sx-tl b { display:block; font-weight:600; color:#0A1628; } .sx-tl small { color:#6B7A90; font-size:.75rem; }
.sx-acts { display:flex; gap:8px; flex-wrap:wrap; } .sx-acts form { margin:0; } .sx-acts .btn { font-size:.78rem; padding:7px 12px; }
.sx-quick { margin:0 0 10px; }
.sx-parcel { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.82rem; color:#33465F; margin:0; }
.sx-parcel input { width:58px; padding:6px 8px; border:1.5px solid var(--border); border-radius:8px; font:inherit; }
.sx-parcel .btn { font-size:.78rem; padding:7px 12px; }
.sx-rates { display:grid; gap:6px; margin:0; } .sx-rates .btn { margin-top:6px; justify-self:start; }
.sx-rate { display:flex; align-items:center; gap:10px; border:1.5px solid #E1E8F2; border-radius:10px; padding:9px 12px; cursor:pointer; }
.sx-rate:has(input:checked) { border-color:#0066FF; background:#F5F9FF; }
.sx-rate input { width:auto; margin:0; } .sx-rate span { flex:1; } .sx-rate b { display:block; font-size:.86rem; } .sx-rate small { color:#6B7A90; font-size:.74rem; } .sx-rate em { font-style:normal; font-weight:800; }
.sx-mails { margin-top:12px; border-top:1px solid #EEF2F7; padding-top:10px; display:grid; gap:4px; }
.sx-mails > small { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6B7A90; }
.sx-mails a { display:flex; justify-content:space-between; gap:10px; font-size:.82rem; text-decoration:none; padding:5px 0; }
.sx-mails a span { color:#6B7A90; font-size:.74rem; white-space:nowrap; }
@media (max-width:1100px) { .sx-grid { grid-template-columns:1fr; } }
/* customer tracking page */
.tk-wrap { max-width:1000px; }
.tk-eyebrow { font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#6B7A90; margin:0 0 10px; }
.tk-card { background:#fff; border:1px solid #E1E8F2; border-radius:18px; padding:22px 24px; box-shadow:0 6px 24px rgba(10,22,40,.05); }
.tk-card h2 { font-size:1.05rem; margin:0 0 14px; } .tk-card h3 { font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:#6B7A90; margin:18px 0 6px; }
.tk-hero { margin-bottom:16px; } .tk-hero h1 { font-size:clamp(1.6rem, 3vw, 2.2rem); margin:0 0 4px; } .tk-hero h1::after { display:none !important; }
.tk-hero > p { margin:0; color:#33465F; font-size:1.02rem; }
.tk-hero--delivered h1 { color:#0E7A3F; } .tk-hero--out_for_delivery h1 { color:#A15C00; }
.tk-steps { list-style:none; margin:22px 0 6px; padding:0; display:grid; grid-template-columns:repeat(6, 1fr); position:relative; }
.tk-steps li { position:relative; text-align:center; font-size:.76rem; color:#8A97AA; padding-top:26px; }
.tk-steps li::before { content:""; position:absolute; top:8px; left:-50%; right:50%; height:4px; background:#E1E8F2; }
.tk-steps li:first-child::before { display:none; }
.tk-steps li span { position:absolute; top:0; left:50%; transform:translateX(-50%); width:20px; height:20px; border-radius:50%; background:#E1E8F2; border:3px solid #fff; z-index:1; box-shadow:0 0 0 1px #E1E8F2; }
.tk-steps li.is-done, .tk-steps li.is-now { color:#0A1628; }
.tk-steps li.is-done::before, .tk-steps li.is-now::before { background:#0066FF; }
.tk-steps li.is-done span { background:#0066FF; box-shadow:0 0 0 1px #0066FF; }
.tk-steps li.is-now span { background:#0066FF; box-shadow:0 0 0 5px rgba(0,102,255,.2); animation:anPulse 2s infinite; }
.tk-hero--delivered .tk-steps li span, .tk-hero--delivered .tk-steps li::before { background:#12A150 !important; box-shadow:0 0 0 1px #12A150 !important; animation:none; }
.tk-steps b { font-weight:700; }
.tk-carrier { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline; margin-top:18px; padding-top:14px; border-top:1px solid #EEF2F7; font-size:.88rem; }
.tk-carrier span { color:#6B7A90; } .tk-carrier b { letter-spacing:.04em; } .tk-carrier a { margin-left:auto; font-weight:700; }
.tk-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:16px; align-items:start; }
.tk-tl li { font-size:.92rem; }
.tk-items { width:100%; border-collapse:collapse; font-size:.9rem; } .tk-items td { padding:8px 0; border-bottom:1px solid #EEF2F7; } .tk-items .n { text-align:right; white-space:nowrap; padding-left:10px; }
.tk-tot { display:grid; grid-template-columns:1fr auto; gap:4px 12px; margin-top:10px; font-size:.9rem; } .tk-tot__t { font-weight:800; font-size:1.05rem; }
.tk-rate { margin-top:16px; }
.tk-miss { max-width:560px; }
@media (max-width:760px) { .tk-grid { grid-template-columns:1fr; } .tk-steps b { font-size:.66rem; } .tk-card { padding:18px; } .tk-carrier a { margin-left:0; } }
.sx-set select, .sx-set input[type=number] { padding:8px 10px; border:1.5px solid var(--border, #D8E1EC); border-radius:8px; font:inherit; font-size:.88rem; background:#fff; color:#0A1628; }
/* Admin products: list + side panel editor */
.pr-filter { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pr-filter #prQ { flex:1; min-width:240px; }
.pr-count { font-size:.84rem; margin-left:auto; }
.pr-t td small { display:block; color:#6B7A90; font-size:.74rem; }
.pr-t .n { text-align:right; white-space:nowrap; }
.pr-sku { font-family:ui-monospace, Menlo, Consolas, monospace; font-size:.8rem; color:#33465F; }
.pr-out { color:#C2261B; font-weight:700; }
.pr-t tbody tr[data-id] { cursor:pointer; }
.badge--warn { background:#FFF2DB; color:#A15C00; }
.dr-grid textarea { padding:8px 10px; border:1.5px solid var(--border); border-radius:8px; font:inherit; font-size:.88rem; resize:vertical; min-width:0; }
.dr-grid label small { font-weight:500; color:#6B7A90; }
.dr-sec .dr-form > .btn, .dr-sec form > .btn { margin-top:10px; }
.pe-t { width:100%; border-collapse:collapse; font-size:.85rem; }
.pe-t th { text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:#6B7A90; padding:6px 6px; border-bottom:1px solid #E1E8F2; font-weight:800; }
.pe-t th small { text-transform:none; letter-spacing:0; font-weight:500; }
.pe-t td { padding:6px; border-bottom:1px solid #F0F3F8; vertical-align:middle; }
.pe-t input, .pe-t select { padding:6px 8px; border:1.5px solid var(--border); border-radius:7px; font:inherit; font-size:.85rem; background:#fff; }
.pe-t .pe-lab { width:90px; } .pe-t .pe-qty { width:70px; text-align:right; }
.pe-qty.is-out { border-color:#F1A49C; background:#FFF6F5; } .pe-qty.is-low { border-color:#F3C77A; background:#FFFBF2; }
.pe-money { display:inline-flex; align-items:center; gap:3px; color:#6B7A90; } .pe-money input { width:82px; text-align:right; }
.pe-margin { display:block; font-size:.7rem; color:#0E7A3F; margin-top:2px; }
.pe-t tr.is-off td { opacity:.55; }
.pe-add { margin-top:14px; padding-top:12px; border-top:1px dashed #D8E1EC; }
.pe-add b { font-size:.8rem; display:block; margin-bottom:6px; }
.pe-add__row { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
.pe-add__row label { display:flex; flex-direction:column; gap:3px; font-size:.72rem; font-weight:700; color:#33465F; }
.pe-add__row input { width:96px; padding:7px 8px; border:1.5px solid var(--border); border-radius:7px; font:inherit; font-size:.85rem; }
.dr-sec form > .btn { width:auto; align-self:flex-start; }
/* Under construction: public notice bar + paused checkout + admin switch */
.uc-bar { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; background:#FFF4D6; color:#5A3F00; border-bottom:1px solid #F1D48A; padding:9px 16px; font-size:.88rem; text-align:center; position:relative; z-index:61; }
.uc-bar svg { width:18px; height:18px; flex:none; color:#B07800; }
.uc-bar em { font-style:normal; font-size:.76rem; font-weight:700; background:#5A3F00; color:#FFF4D6; padding:2px 8px; border-radius:999px; }
.uc-paused { margin-top:12px; background:#FFF8E6; border:1px solid #F1D48A; color:#5A3F00; border-radius:10px; padding:10px 14px; font-size:.88rem; display:flex; flex-direction:column; gap:2px; text-align:left; }
.btn[disabled] { opacity:.55; cursor:not-allowed; }
.ax-store { display:flex; align-items:center; gap:7px; padding:6px 11px; border-radius:999px; font-size:.76rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.ax-store i { width:8px; height:8px; border-radius:50%; }
.ax-store--open { background:rgba(18,161,80,.16); color:#7BE3A8; } .ax-store--open i { background:#12A150; }
.ax-store--closed { background:#FFB020; color:#3D2800; } .ax-store--closed i { background:#3D2800; animation:anPulse 2s infinite; }
.uc-card { display:flex; align-items:center; gap:14px; flex-wrap:wrap; border-radius:14px; padding:12px 16px; margin:0 0 16px; border:1px solid #E1E8F2; background:#fff; }
.uc-card--closed { background:#FFF4D6; border-color:#F1D48A; }
.uc-card__state { display:flex; align-items:center; gap:10px; flex:1; min-width:260px; }
.uc-card__state b { display:block; font-size:.98rem; } .uc-card__state small { color:#6B7A90; font-size:.78rem; }
.uc-dot { width:12px; height:12px; border-radius:50%; background:#12A150; flex:none; box-shadow:0 0 0 4px rgba(18,161,80,.15); }
.uc-card--closed .uc-dot { background:#E08A00; box-shadow:0 0 0 4px rgba(224,138,0,.2); }
.uc-card input[type=text] { flex:1.4; min-width:240px; padding:9px 12px; border:1.5px solid #D8E1EC; border-radius:9px; font:inherit; font-size:.88rem; }
@media (max-width:1100px) { .ax-store span { display:none; } .ax-store { padding:8px; } }
@media (max-width:1700px) { .ax-search { width:min(220px, 16vw); } }
