/* Swiss Chems — HOMEPAGE styles (loaded only on the front page) */
:root{--font-jost:'Jost','Futura','Century Gothic','Trebuchet MS','Gill Sans',sans-serif;}

/* Hero */
.hero{background:var(--herobg);position:relative;overflow:hidden;font-family:var(--font-jost);}
.hero::before{content:"";position:absolute;top:-80px;right:-80px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(29,160,116,.14) 0%,transparent 70%);pointer-events:none;}
.hero::after{content:"";position:absolute;bottom:-60px;left:-40px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(214,42,40,.07) 0%,transparent 70%);pointer-events:none;}
.hero .wrap{display:flex;align-items:flex-end;min-height:clamp(330px,35vw,410px);gap:48px;padding:30px 50px 0;position:relative;z-index:1;}
.hero-l{flex:1;position:relative;z-index:1;padding-bottom:44px;}
.hero-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(29,160,116,.1);color:var(--green);border:1px solid rgba(29,160,116,.25);border-radius:10px;padding:6px 14px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;}
.hero-l h1{font-size:clamp(30px,3.62vw,42px);line-height:1.1;font-weight:900;letter-spacing:-.03em;margin-bottom:20px;color:var(--ink);}
.hero-l h1 .hl-gradient{background:linear-gradient(120deg,#1DA074 0%,#5ECBA1 55%,#A8E6CB 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-l p{color:var(--muted);font-size:16px;line-height:1.65;margin-bottom:30px;max-width:430px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.hero-actions .btn-ghost{background:#fff;color:var(--green);border:1.5px solid var(--green);border-radius:8px;padding:9.5px 22px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;display:inline-block;transition:background .2s,color .2s;}
.hero-actions .btn-ghost:hover{background:var(--mint);color:var(--green);}
.hero-r{flex:1;position:relative;z-index:1;align-self:stretch;min-height:clamp(330px,35vw,410px);}
/* Previous two-bottle hero — commented for easy revert:
.hero-r .b1{height:260px;width:170px;background:var(--bottle) center bottom/contain no-repeat;filter:drop-shadow(0 16px 22px rgba(0,0,0,.18));}
.hero-r .b2{height:200px;width:130px;background:var(--bottle) center bottom/contain no-repeat;margin-left:-26px;margin-bottom:8px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.16));}
*/

/* === Hero product animation — 3-product arranged, slow ZOOM in/out.
   Order: BPC-157 (left, angled) · Synephrine (centre, straight) · MK-677 (right, angled, front).
   Images: assets/img/hero2-{bpc157,synephrine,mk677}.webp.
   Bottles are anchored to the hero bottom edge (their bottoms are cropped); each slot
   overshoots the edge a few px and scaling is from bottom-center, so the cut never lifts.
   Zoom cycle = 9s (slow). Tilt = the rotate() on .h3-left / .h3-right (flip the sign to
   lean inward). The previous outline-trace CSS is kept commented just below. === */
.hero-r .h3-stage{position:absolute;left:0;right:0;bottom:0;height:100%;max-width:620px;margin:0 auto;}
.hero-r .h3-slot{position:absolute;transform-origin:bottom center;}
.hero-r .h3-prod{display:block;width:auto;transform-origin:bottom center;will-change:transform,opacity;backface-visibility:hidden;opacity:0;padding-right: 70px;}
.hero-r .h3-left{left:8%;bottom:-26px;transform:rotate(-6deg);z-index:1;}
.hero-r .h3-left .h3-prod{height:clamp(232px,25.7vw,300px);}
.hero-r .h3-center{left:31%;bottom:-15px;z-index:2;}
.hero-r .h3-center .h3-prod{height:clamp(262px,29vw,338px);}
.hero-r .h3-right{right:-1%;bottom:-34px;transform:rotate(6deg);z-index:3;}
.hero-r .h3-right .h3-prod{height:clamp(300px,33vw,386px);}
.hero-r .h3-left .h3-prod{animation:h3rise 1.1s cubic-bezier(.16,.84,.3,1) .30s forwards, h3zoomSide 9s ease-in-out 3.6s infinite;}
.hero-r .h3-center .h3-prod{animation:h3rise 1.1s cubic-bezier(.16,.84,.3,1) .18s forwards, h3zoomSide 9s ease-in-out 2.0s infinite;}
.hero-r .h3-right .h3-prod{animation:h3rise 1.2s cubic-bezier(.16,.84,.3,1) .06s forwards, h3zoomFront 9s ease-in-out .55s infinite;}
@keyframes h3rise{from{opacity:0;transform:translateY(22px) scale(.965);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes h3zoomFront{0%,100%{transform:scale(1);}50%{transform:scale(1.075);}}
@keyframes h3zoomSide{0%,100%{transform:scale(1);}50%{transform:scale(1.04);}}
@media(prefers-reduced-motion:reduce){.hero-r .h3-prod{opacity:1;animation:none;}}

/* === OLD HERO (single-bottle outline-trace) — commented for easy revert ===
.hero-r .sc-trace{position:relative;width:250px;height:462px;margin:0 auto;transform:scale(.82);transform-origin:center center;}
.hero-r .sc-side{position:absolute;bottom:40px;width:158px;z-index:2;opacity:.78;filter:blur(1px) drop-shadow(0 14px 16px rgba(20,40,30,.14));pointer-events:none;}
.hero-r .sc-side-l{left:-86px;}
.hero-r .sc-side-r{right:-86px;}
.hero-r .sc-tbehind{position:absolute;left:50%;top:52%;width:480px;height:420px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(29,160,116,.32) 0%,rgba(29,160,116,.14) 46%,rgba(29,160,116,0) 72%);z-index:0;opacity:.55;animation:sc-tbehind 9s ease-in-out infinite;}
.hero-r .sc-taura{position:absolute;left:50%;top:52%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(29,160,116,.36) 0%,rgba(29,160,116,.22) 46%,rgba(29,160,116,0) 72%);border:2px solid rgba(54,224,164,.6);box-shadow:0 0 60px rgba(29,160,116,.55),inset 0 0 85px rgba(29,160,116,.6);transform:translate(-50%,-50%) scale(.5);opacity:0;z-index:0;animation:sc-taura 9s ease-out infinite;}
.hero-r .sc-taura.a2{animation-delay:.22s;}
.hero-r .sc-twrap{position:relative;width:250px;height:462px;z-index:3;}
.hero-r .sc-tbottle{position:absolute;inset:0;width:250px;height:462px;filter:drop-shadow(0 18px 24px rgba(20,40,30,.14));z-index:3;}
.hero-r .sc-tline{position:absolute;inset:0;width:250px;height:462px;z-index:4;overflow:visible;}
.hero-r .sc-tfaint{fill:none;stroke:#1DA074;stroke-width:2.5;opacity:.16;filter:drop-shadow(0 0 5px rgba(29,160,116,.7));}
.hero-r .sc-tflash{fill:none;stroke:#36e0a4;stroke-width:2.5;opacity:0;filter:drop-shadow(0 0 7px rgba(54,224,164,.9));animation:sc-tflash 9s ease-out infinite;}
.hero-r .sc-tdraw{fill:none;stroke:#1DA074;stroke-width:3;stroke-linecap:round;opacity:1;filter:drop-shadow(0 0 6px rgba(29,160,116,.95));stroke-dasharray:100;stroke-dashoffset:100;animation:sc-tdraw 9s ease-in-out infinite;}
.hero-r .sc-tled{position:absolute;left:0;top:0;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:radial-gradient(circle,#d9fff0 0%,#36e0a4 45%,rgba(29,160,116,0) 75%);offset-path:path('M 12.0,451.5 L 3.5,442.0 L 3.5,115.0 L 8.5,106.0 L 18.0,96.5 L 37.5,83.0 L 37.5,65.0 L 31.5,61.0 L 31.5,54.0 L 30.5,53.0 L 30.5,11.0 L 36.0,5.5 L 43.0,3.5 L 206.0,3.5 L 214.0,5.5 L 218.5,10.0 L 218.5,53.0 L 217.5,54.0 L 217.5,62.0 L 211.5,65.0 L 211.5,83.0 L 234.0,98.5 L 242.5,108.0 L 245.5,114.0 L 245.5,443.0 L 239.0,450.5 L 233.0,454.5 L 225.0,457.5 L 25.0,457.5 Z');offset-rotate:0deg;z-index:5;opacity:0;animation:sc-tled 9s ease-in-out infinite;}
@keyframes sc-tbehind{0%,100%{opacity:.4;}62%{opacity:.55;}72%{opacity:.95;}86%{opacity:.5;}}
@keyframes sc-tdraw{0%{stroke-dashoffset:100;opacity:1;}62%{stroke-dashoffset:0;opacity:1;}72%{opacity:1;}84%{stroke-dashoffset:0;opacity:0;}100%{stroke-dashoffset:100;opacity:0;}}
@keyframes sc-tled{0%{offset-distance:0%;opacity:1;}61%{offset-distance:100%;opacity:1;}67%{opacity:0;}100%{offset-distance:100%;opacity:0;}}
@keyframes sc-tflash{0%,58%{opacity:0;}66%{opacity:.85;}78%{opacity:0;}100%{opacity:0;}}
@keyframes sc-taura{0%,63%{transform:translate(-50%,-50%) scale(.5);opacity:0;}70%{opacity:.8;}100%{transform:translate(-50%,-50%) scale(2);opacity:0;}}
@media(prefers-reduced-motion:reduce){.hero-r .sc-tdraw,.hero-r .sc-tflash,.hero-r .sc-taura,.hero-r .sc-tbehind,.hero-r .sc-tled{animation:none;}.hero-r .sc-tdraw{stroke-dashoffset:0;}.hero-r .sc-tfaint{opacity:.3;}}
=== end old hero === */
.hero-mimg{display:none;}

/* Trust strip (green) */
.trust{background:var(--green);color:#fff;}
.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;}
.titem{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;}
.titem + .titem{border-left:1px solid rgba(255,255,255,.18);}
.tbox{width:50px;height:50px;border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 100%);border:1px solid rgba(255,255,255,.20);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.25);}
.tico{width:42px;height:42px;flex-shrink:0;overflow:visible;}
.titem b{display:block;font-size:16px;font-weight:800;line-height:1.25;}
.titem span{font-size:13px;opacity:.92;}

/* --- animated trust icons --- */
@keyframes sc-drive{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
@keyframes sc-wheel{to{transform:rotate(360deg)}}
@keyframes sc-trail{0%,100%{opacity:0}50%{opacity:.7}}
.ic-truck .t-truck{animation:sc-drive 3s ease-in-out infinite;}
.ic-truck .t-wheel{transform-box:fill-box;transform-origin:center;animation:sc-wheel 1.1s linear infinite;}
.ic-truck .t-trail line{opacity:0;animation:sc-trail 3s ease-in-out infinite;}

@keyframes sc-ring{0%,68%,100%{transform:rotate(0)}76%{transform:rotate(-3deg)}84%{transform:rotate(3deg)}92%{transform:rotate(-2deg)}}
@keyframes sc-pulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}
@keyframes sc-notif{0%{transform:scale(.55);opacity:.7}80%,100%{transform:scale(1.3);opacity:0}}
.ic-phone .p-phone{transform-box:fill-box;transform-origin:center;animation:sc-ring 2.4s ease-in-out infinite;}
.ic-phone .p-24{transform-box:fill-box;transform-origin:center;animation:sc-pulse 2s ease-in-out infinite;}
.ic-phone .p-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:sc-notif 2s ease-out infinite;}

@keyframes sc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes sc-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-9px);opacity:0}}
.ic-flask .f-float{animation:sc-float 3s ease-in-out infinite;}
.ic-flask .f-b1{transform-box:fill-box;animation:sc-bubble 3s ease-in infinite;}
.ic-flask .f-b2{transform-box:fill-box;animation:sc-bubble 3s ease-in infinite;animation-delay:1.3s;}
@keyframes sc-smoke{0%{opacity:0;transform:translateY(2px) scale(.7)}25%{opacity:.55}100%{opacity:0;transform:translateY(-7px) scale(1.15)}}
.ic-flask .f-smoke path{opacity:0;transform-box:fill-box;transform-origin:center bottom;animation:sc-smoke 3s ease-out infinite;}
.ic-flask .f-s2{animation-delay:1.5s;}

@keyframes sc-draw{0%{stroke-dashoffset:26}45%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:26}}
@keyframes sc-glow{0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0));transform:scale(1)}50%{filter:drop-shadow(0 0 5px rgba(255,255,255,.55));transform:scale(1.04)}}
.ic-shield{overflow:visible;}
.ic-shield .s-shield{transform-box:fill-box;transform-origin:center;animation:sc-glow 3s ease-in-out infinite;}
.ic-shield .s-check{stroke-dasharray:26;stroke-dashoffset:26;animation:sc-draw 3s ease-in-out infinite;}

@media (prefers-reduced-motion: reduce){
  .trust .t-truck,.trust .t-wheel,.trust .t-trail line,
  .trust .p-phone,.trust .p-24,.trust .p-ring,
  .trust .f-float,.trust .f-b1,.trust .f-b2,.trust .f-smoke path,
  .trust .s-shield{animation:none !important;}
  .trust .s-check{animation:none !important;stroke-dashoffset:0;}
}

/* Sections */
.section{padding:52px 0;}
.section.alt{background:var(--section);}
.sec-title{text-align:center;font-size:27px;font-weight:800;margin-bottom:30px;}
.sec-title:after{content:"";display:block;width:54px;height:3px;background:var(--green);margin:12px auto 0;border-radius:3px;}

/* Section header (client style: kicker + title + subtitle) */
.section-header{margin-bottom:40px;}
.section-header.center{text-align:center;}
.section-header .section-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--red);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-family:var(--font-jost);}
.section-header .section-kicker::before{content:"";display:block;width:20px;height:2px;background:var(--red);border-radius:2px;}
.section-title{font-family:var(--font-jost);font-size:34px;font-weight:800;line-height:1.12;letter-spacing:-.03em;color:var(--ink);}
.section-sub{color:var(--muted);font-size:15px;line-height:1.6;margin-top:10px;max-width:540px;}
.section-header.center .section-sub{margin-left:auto;margin-right:auto;}
/* "Most Popular" style: centered title with a short green underline. */
.section-header.center .section-title{position:relative;}
.section-header.center .section-title::after{content:"";display:block;width:84px;height:4px;margin:18px auto 0;background:var(--green);border-radius:3px;}

/* Product grid + card (client box design) */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pcard{background:#fff;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;position:relative;display:flex;flex-direction:column;}

/* Image area */
.pcard-img-wrap{position:relative;height:230px;display:flex;align-items:center;justify-content:center;padding:14px 0 6px;overflow:hidden;background:linear-gradient(160deg,#f0f8f4 0%,#e8f5ef 100%);}
.pcard .pimg-link{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;height:100%;}
.pcard .pimg,.pcard .pimg-img{height:265px;width:auto;max-width:100%;object-fit:contain;display:block;}
.pcard .pimg{width:128px;background:var(--bottle) center center/contain no-repeat;}
.pcard .pimg-img{mix-blend-mode:multiply;}

/* Body */
.pcard-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 20px;border-top:1px solid var(--line);}
.pcard h3{font-family:var(--font-jost);color:var(--ink);font-size:13.5px;font-weight:800;letter-spacing:.01em;line-height:1.3;margin-bottom:3px;}
.pcard h3 a{color:inherit;}
.pcard-sub{color:var(--muted);font-size:12px;line-height:1.4;min-height:20px;}

/* Rewards points pill (uses the client purity-pill design) */
.pcard-bottom{display:flex;flex-direction:column;margin-top:auto;padding-top:15px;}
.pcard-meta{display:flex;align-items:center;gap:6px;margin-top:0;}
.pcard-reward{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;background:var(--mint);color:#1DA074;border-radius:10px;padding:3px 8px;font-size:12px;font-weight:600;font-family:var(--font-jost);letter-spacing:.04em;}
.pcard-reward::before{content:"";display:block;width:5px;height:5px;background:var(--red);border-radius:50%;}

/* Footer: price + cart */
.pcard-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:0;padding-top:14px;border-top:1px solid var(--line);min-height:54px;}
.price{display:block;white-space:nowrap;font-family:var(--font-jost);font-weight:900;font-size:19px;color:var(--ink);letter-spacing:-.02em;line-height:1.15;}
/* Product-card price uses Plus Jakarta Sans (self-hosted, max weight 800). Scoped
   to .pcard so all other WooCommerce .price elements stay on Jost. */
.pcard .price{font-family:'Plus Jakarta Sans',var(--font-jost);font-weight:800;}
.price del,.price s{display:block;margin:0;padding:0;color:#aab4ad;font-weight:400;font-size:11.5px;text-decoration:line-through;line-height:1.2;}
.price ins{display:block;margin:0;padding:0;text-decoration:none;line-height:1.15;}
.price .screen-reader-text{display:none;}
.addcart{background:var(--green);color:#fff;border:none;border-radius:10px;padding:0 16px;height:42px;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:800;font-size:12px;letter-spacing:.04em;cursor:pointer;flex-shrink:0;box-shadow:0 4px 12px rgba(29,160,116,.30);transition:background .2s,box-shadow .2s;}
.addcart:hover{background:var(--green-d);box-shadow:0 6px 18px rgba(29,160,116,.40);}
.addcart.addcart-icon{width:42px;padding:0;}
.addcart svg{flex-shrink:0;width:18px;height:18px;}
.pcard .added_to_cart{display:none!important;}
.addcart.loading,.addcart.added{position:relative;}

/* Add-to-cart spinner + tick on non-WooCommerce pages (home, search).
   On shop/product the WooCommerce body.woocommerce CSS already draws these, so we
   scope ours to body:not(.woocommerce) to avoid doubling it. The wc-add-to-cart
   script (enqueued for these pages) adds the .loading then .added classes. */
/* Apply on ALL pages (home + shop). !important overrides WooCommerce's own
   font-icon spinner/tick on the shop so both pages animate identically. */
.addcart.loading{color:transparent !important;pointer-events:none;}
.addcart.loading svg,
.addcart.added svg{opacity:0 !important;}
.addcart.loading::after{
	content:"" !important;position:absolute;inset:0 !important;margin:auto !important;width:16px !important;height:16px !important;box-sizing:border-box !important;
	border:2px solid rgba(255,255,255,.45) !important;border-top-color:#fff !important;border-radius:50% !important;
	background:none !important;font-family:inherit !important;
	animation:sc-atc-spin .6s linear infinite !important;
}
.addcart.added::after{
	content:"" !important;position:absolute;top:50%;left:50%;width:11px;height:6px;margin:-4px 0 0 -6px !important;
	border:0 !important;border-left:2.5px solid #fff !important;border-bottom:2.5px solid #fff !important;border-radius:0 !important;
	background:none !important;font-family:inherit !important;transform:rotate(-45deg);
	animation:sc-atc-pop .25s ease both !important;
}
@keyframes sc-atc-spin{to{transform:rotate(360deg);}}
@keyframes sc-atc-pop{from{transform:rotate(-45deg) scale(.4);opacity:0;}to{transform:rotate(-45deg) scale(1);opacity:1;}}
.badge,.sale,.disc{position:absolute;top:12px;left:12px;z-index:5;background:var(--red);color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.badge.new{left:auto;right:12px;display:inline-flex;align-items:center;gap:4px;background:var(--green);}
.badge.new svg{width:10px;height:10px;flex-shrink:0;}
.explore{text-align:center;margin-top:30px;}
.sc-empty{grid-column:1/-1;text-align:center;color:var(--muted);}

/* Category tabs */
.tabs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.tab{background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:9px 22px;font-family:var(--font-jost);font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:all .2s;}
.tab:hover{border-color:var(--green);color:var(--green);}
.tab.active{background:var(--green);color:#fff;border-color:var(--green);}

/* Categories */
.catrow{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.cat{text-align:center;}
.circle{width:160px;height:160px;border-radius:15px;background:linear-gradient(145deg,#F3FAF6 0%,#E7F4EE 100%);border:1px solid rgba(29,160,116,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--green);}
.cat p{font-weight:800;font-size:13.5px;letter-spacing:.02em;line-height:1.3;}

/* Innovations */
.innov{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;font-family:var(--font-jost);}
.innov .kick,.why .kick{display:inline-flex;align-items:center;gap:7px;color:var(--red);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-family:var(--font-jost);}
.innov .kick::before,.why .kick::before{content:"";display:block;width:20px;height:2px;background:var(--red);border-radius:2px;}
.innov h2{font-size:30px;font-weight:800;margin-bottom:16px;line-height:1.15;}
.innov p{color:var(--muted);font-size:14.5px;margin-bottom:5px;}
.innov-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

/* Dark promo (VIP) */
.promo{background:linear-gradient(120deg,var(--dark1),var(--dark2));color:#fff;border-radius:18px;padding:46px;text-align:center;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;font-family:var(--font-jost);}
.promo h2{font-size:30px;font-weight:800;margin-bottom:8px;}
.promo p{opacity:.85;margin-bottom:22px;font-size:14px;}

/* Why */
.why{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;font-family:var(--font-jost);}
.whyimg{height:330px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#dfeee8,#eef2f0);display:flex;align-items:center;justify-content:center;color:var(--green);}
.whyimg img{width:100%;height:100%;object-fit:cover;display:block;}
.why h2{font-size:30px;font-weight:800;line-height:1.15;margin-bottom:18px;}
.why p{color:var(--muted);font-size:14.5px;margin-bottom:16px;}

@media(max-width:980px){
  .pgrid,.catrow{grid-template-columns:repeat(2,1fr);}
  .catrow .cat:last-child:nth-child(odd){grid-column:1 / -1;}
  .innov,.why{grid-template-columns:1fr;}
  /* hero stacks: text on top, image below */
  .hero .wrap{flex-direction:column;align-items:stretch;min-height:0;gap:0;padding:0 22px;}
  .hero-l{padding:30px 0 6px;}
  .hero-l h1{font-size:30px;}
  .hero-r{position:relative;width:100%;min-height:300px;padding:0;}
  /* product scene scaled down for small screens (same arranged proportions) */
  .hero-r .h3-stage{max-width:460px;}
  .hero-r .h3-left .h3-prod{height:224px;}
  .hero-r .h3-center .h3-prod{height:252px;}
  .hero-r .h3-right .h3-prod{height:288px;}
  .hero-r .h3-prod{padding-right: 30px;}
  .hero-mimg{display:block;max-width:84%;max-height:300px;width:auto;height:auto;}
  .hero-r.has-mimg{display:flex;justify-content:center;align-items:flex-end;min-height:0;padding:8px 0 28px;}
  .hero-r.has-mimg .h3-stage{display:none;}
  .trust .wrap{flex-wrap:wrap;gap:16px 12px;padding:14px 16px;}
  .titem{flex:1 1 42%;justify-content:flex-start;}
  .titem + .titem{border-left:0;}
}

/* Product carousels (Most Popular + category-tab section) */
.sc-carousel{position:relative;padding:0 6px;}
.sc-carousel .splide__slide{height:auto;display:flex;}
.sc-carousel .splide__slide .pcard{width:100%;height:100%;}
.sc-carousel .splide__arrow{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 100%),var(--green);border:1px solid rgba(255,255,255,.20);opacity:1;width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;z-index:5;cursor:pointer;}
.sc-carousel .splide__arrow:hover{background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 100%),var(--green-d);}
.sc-carousel .splide__arrow svg{fill:#fff;width:15px;height:15px;}
.sc-carousel .splide__arrow--prev svg{transform:scaleX(-1);}
.sc-carousel .splide__arrow:disabled{background:var(--struck);opacity:.5;border-color:transparent;box-shadow:none;}
.sc-carousel .splide__arrow--prev{left:-10px;}
.sc-carousel .splide__arrow--next{right:-10px;}
@media(max-width:980px){.sc-carousel .splide__arrow--prev{left:0;}.sc-carousel .splide__arrow--next{right:0;}}

/* Mobile center-peek carousel (Most Popular + tab section). Desktop unaffected. */
@media(max-width:600px){
  .sc-carousel{padding:0;}
  .sc-carousel .splide__slide .pcard{transition:transform .3s ease,opacity .3s ease;}
  .sc-carousel .splide__slide:not(.is-active) .pcard{transform:scale(.88);opacity:.5;}
  .sc-carousel .splide__slide.is-active .pcard{transform:scale(1);opacity:1;}
  .sc-carousel .splide__pagination{position:static;display:flex;justify-content:center;gap:7px;padding:14px 0 2px;margin:0;}
  .sc-carousel .splide__pagination li{line-height:0;}
  .sc-carousel .splide__pagination__page{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:#d6d6d6;display:block;transition:width .25s ease,background .25s ease;}
  .sc-carousel .splide__pagination__page.is-active{width:20px;border-radius:3px;background:var(--red);transform:none;}
}

/* Category tab carousel loading state */
.sc-tab-carousel{transition:opacity .2s ease;}
.sc-tab-carousel.is-loading{opacity:.45;pointer-events:none;}

/* Many categories on mobile: single horizontal-scrolling tab row (no wrapping) */
@media(max-width:768px){
  .tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:8px;padding:2px 2px 8px;margin-bottom:20px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center;}
  .tabs.fade-l.fade-r{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);}
  .tabs.fade-l:not(.fade-r){-webkit-mask-image:linear-gradient(to right,transparent 0,#000 26px,#000 100%);mask-image:linear-gradient(to right,transparent 0,#000 26px,#000 100%);}
  .tabs.fade-r:not(.fade-l){-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 26px),transparent 100%);}
}

/* Categories: larger icons + Longevity Research animation */
.circle svg{width:100px;height:100px;}
.circle .l-ring{animation:l-spin 8s linear infinite}
.circle .l-hour{animation:l-hourpulse 4s ease-in-out infinite}
.circle .l-halo{animation:l-halo 4s ease-in-out infinite}
.circle .l-rip{animation:l-ripple 2.6s ease-out infinite}
.circle .l-rip.d{animation-delay:1.3s}
.circle .l-fall{animation:l-fall 1.8s ease-in infinite}
.circle .l-fall.d{animation-delay:.9s}
@keyframes l-spin{to{transform:rotate(-360deg)}}
@keyframes l-hourpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes l-halo{0%,100%{transform:scale(.8);opacity:0}50%{transform:scale(1.15);opacity:.12}}
@keyframes l-ripple{0%{transform:scale(.4);opacity:.55}100%{transform:scale(2.4);opacity:0}}
@keyframes l-fall{0%{transform:translateY(-2px);opacity:0}25%{opacity:1}100%{transform:translateY(7px);opacity:0}}
@media(prefers-reduced-motion:reduce){.circle svg *{animation:none!important}}

/* Categories: Metabolics animation */
.circle .m-spin{animation:m-spin 8s linear infinite}
.circle .m-halo{animation:m-halo 4s ease-in-out infinite}
.circle .m-node{animation:m-node 3s ease-in-out infinite}
.circle .m-node.n2{animation-delay:.75s}
.circle .m-node.n3{animation-delay:1.5s}
.circle .m-node.n4{animation-delay:2.25s}
@keyframes m-spin{to{transform:rotate(360deg)}}
@keyframes m-halo{0%,100%{transform:scale(.85);opacity:0}50%{transform:scale(1.1);opacity:.1}}
@keyframes m-node{0%,70%,100%{transform:scale(1);fill:#fff}35%{transform:scale(1.28);fill:#1DA074}}

/* Categories: Naturals (traced leaves) — sequential sway + floating shadow */
.circle .nleaf{animation:n-rot 2.5s ease-in-out infinite}
.circle .nleaf.n2{animation-delay:.6s}
.circle .nleaf.n3{animation-delay:1.2s}
.circle svg.nat-ic{animation:n-shadow 4s ease-in-out infinite}
@keyframes n-rot{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes n-shadow{0%,100%{filter:drop-shadow(0 5px 4px rgba(16,40,30,.16))}50%{filter:drop-shadow(0 9px 7px rgba(16,40,30,.10))}}

/* Categories: Nootropics (traced bottle) — breathing cap + pulsing brain glow */
.circle .noo-brain{animation:noo-brain 4s ease-in-out infinite}
.circle .noo-cap{animation:noo-cap 5s ease-in-out infinite}
@keyframes noo-brain{0%{transform:scale(1);filter:drop-shadow(0 0 1px rgba(29,160,116,.3))}25%{transform:scale(1.035);filter:drop-shadow(0 0 3px rgba(29,160,116,.5))}45%{transform:scale(1.015);filter:drop-shadow(0 0 2px rgba(29,160,116,.4))}70%{transform:scale(1.09);filter:drop-shadow(0 0 7px rgba(29,160,116,.9))}100%{transform:scale(1);filter:drop-shadow(0 0 1px rgba(29,160,116,.3))}}
@keyframes noo-cap{0%{transform:translateY(0) rotate(0deg)}8%{transform:translateY(0) rotate(-3deg)}22%{transform:translateY(-44px) rotate(0deg)}52%{transform:translateY(-44px) rotate(0deg)}64%{transform:translateY(0) rotate(0deg)}76%{transform:translateY(0) rotate(3deg)}88%{transform:translateY(0) rotate(0deg)}100%{transform:translateY(0) rotate(0deg)}}
.circle .noo-spark{animation:noo-spark 1.5s linear infinite;filter:drop-shadow(0 0 6px rgba(29,160,116,1)) drop-shadow(0 0 12px rgba(29,160,116,.55))}
.circle .noo-spark.s2{animation-delay:.07s}
.circle .noo-spark.s3{animation-delay:.14s}
@keyframes noo-spark{0%{opacity:0;transform:translateX(0)}6%{opacity:1;transform:translateX(0)}18%{opacity:1;transform:translateX(64px)}26%{opacity:0;transform:translateX(64px)}100%{opacity:0;transform:translateX(64px)}}

/* Categories: Peptides (molecule) — 3 rings ease apart then join, dotted bonds + nodes light up, glow runs the outer edge, repeat */
.circle .pepx-mol{animation:pepx-bob 3.4s ease-in-out infinite}
@keyframes pepx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.circle .pepx-hex{filter:drop-shadow(0 0 5px rgba(29,160,116,.45))}
.circle .pepx-hexmove{animation:pepx-hm 6.5s ease-in-out infinite}
@keyframes pepx-hm{0%,4%{transform:translateY(-26px)}20%,82%{transform:translateY(0)}96%,100%{transform:translateY(-26px)}}
.circle .pepx-bond{stroke-width:5;stroke-linecap:round;stroke-dasharray:2 9;opacity:0;animation:pepx-bt 6.5s ease-in-out infinite}
@keyframes pepx-bt{0%,16%{opacity:0}26%{opacity:.7}80%{opacity:.7}90%,100%{opacity:0}}
.circle .pepx-node{animation:pepx-np 6.5s ease-in-out infinite}
@keyframes pepx-np{0%,20%{transform:scale(.78);opacity:.75}44%{transform:scale(1.12);opacity:1}64%{transform:scale(.95)}82%,100%{transform:scale(.78);opacity:.75}}
.circle .pepx-core{opacity:0;animation:pepx-cr 6.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(29,160,116,.6))}
@keyframes pepx-cr{0%,16%{opacity:0;transform:scale(.3)}26%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}90%,100%{opacity:0;transform:scale(.3)}}
.circle .pepx-light{stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:130 590;stroke-dashoffset:0;opacity:0;animation:pepx-lr 6.5s linear infinite;filter:drop-shadow(0 0 8px #46e3a3)}
@keyframes pepx-lr{0%,26%{opacity:0;stroke-dashoffset:0}30%{opacity:1}74%{opacity:1;stroke-dashoffset:-720}80%,100%{opacity:0;stroke-dashoffset:-720}}
@media(prefers-reduced-motion:reduce){.circle .pepx-hexmove{transform:translateY(0)!important}.circle .pepx-bond,.circle .pepx-node,.circle .pepx-core{opacity:1!important;transform:none!important}.circle .pepx-light{opacity:0!important}}

/* === VIP deals — left & right product images (static, no animation) === */
.promo>h2,.promo>p,.promo>.formrow{position:relative;z-index:3;}
.promo .vd-imgL,.promo .vd-imgR{position:absolute;bottom:0;height:100%;width:auto;z-index:1;pointer-events:none;user-select:none;}
.promo .vd-imgL{left:0;}
.promo .vd-imgR{right:0;}
@media(max-width:980px){
  .promo{min-height:300px;}
  .promo .vd-imgL,.promo .vd-imgR{height:150px;}
}

/* === VIP form: widen the email input to ~300px (scoped to .promo) === */
.promo .formrow{max-width:none;justify-content:center;}
.promo .formrow input{flex:0 0 300px;width:300px;}
@media(max-width:600px){
  .promo{padding:35px;}
  .promo p{margin-bottom:5px;}
  .promo .vd-imgL,.promo .vd-imgR{height:118px;opacity:.9;}
  .promo .formrow{flex-direction:column;align-items:stretch;width:100%;max-width:100%;}
  .promo .formrow input{flex:1 1 auto;width:100%;}
  .promo .formrow .btn-red{width:100%;}
}
