/* ═══════════════════════════════════════════════
   PRIME HELIX v3.1 — Complete Stylesheet
   ═══════════════════════════════════════════════ */

/* ── Tokens ── */
:root {
  --t:   #2BBFB3;
  --t2:  #1A9E93;
  --t3:  #4ECFC4;
  --tg:  rgba(43,191,179,.08);
  --dk:  #0D1117;
  --dk2: #0b1e1c;
  --dk3: #040d0c;
  --mu:  #6B7280;
  --mu2: #9CA3AF;
  --bdr: #e8eaed;
  --off: #f8fafb;
  --wh:  #ffffff;
  --r:   12px;
  --rl:  18px;
  --sh:  0 2px 12px rgba(0,0,0,.06);
  --shl: 0 8px 40px rgba(0,0,0,.1);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.65;color:var(--dk);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit;font-size:inherit}
ul,ol{list-style:none}

/* ── Animations ── */
@keyframes fl1{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes fl2{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px) rotate(-1.5deg)}}
@keyframes fl3{0%,100%{transform:translateY(-4px)}50%{transform:translateY(10px)}}
@keyframes flh{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-20px) rotate(1deg)}}
@keyframes glow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ── Progress bar ── */
#ph-progress{position:fixed;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--t),var(--t3));z-index:9999;pointer-events:none;box-shadow:0 0 6px rgba(43,191,179,.5)}

/* ── Toast ── */
#ph-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--dk);color:#fff;padding:13px 24px;border-radius:40px;font-size:13.5px;font-weight:500;z-index:9999;pointer-events:none;opacity:0;transition:all .28s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 8px 32px rgba(0,0,0,.24)}
#ph-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#ph-toast.s{background:#059669}
#ph-toast.e{background:#DC2626}
#ph-toast.i{background:var(--t)}

/* ══════════════════════════════════════════
   NAV
   ══════════════════════════════════════════ */
.ph-nav{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--bdr)}
/* True 3-col grid: logo left | search dead center | actions far right */
.ph-nav-top{
  max-width:1380px;margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 48px;height:72px;
}
.ph-logo-link{justify-self:start;display:flex;align-items:center}
.ph-logo-text{
  font-family:'Barlow Condensed',sans-serif;
  font-size:27px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.01em;
  color:var(--dk);
  line-height:1;
  white-space:nowrap;
}
.ph-logo-text span{ color:var(--t); }

/* Search — center column, fixed width */
.ph-search-box{width:360px;position:relative}
.ph-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--mu2);pointer-events:none}
.ph-search-inp{width:100%;padding:10px 16px 10px 42px;border:1.5px solid #e5e7eb;border-radius:40px;background:#f9fafb;font-size:13.5px;outline:none;transition:all .22s}
.ph-search-inp:focus{border-color:var(--t);background:#fff;box-shadow:0 0 0 3px rgba(43,191,179,.12)}
.ph-search-inp::placeholder{color:var(--mu2)}
.ph-search-drop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:var(--rl);box-shadow:0 16px 56px rgba(0,0,0,.13);border:1px solid #ebebeb;z-index:600;display:none;max-height:360px;overflow-y:auto}
.ph-search-drop.open{display:block}
#ph-search-backdrop{position:fixed;inset:0;background:rgba(13,17,23,.28);z-index:490;opacity:0;pointer-events:none;transition:opacity .18s ease}
#ph-search-backdrop.show{opacity:1;pointer-events:all}
.ph-sdrop-hdr{padding:8px 16px 5px;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mu2);background:#fafafa;border-bottom:1px solid #f0f0f0}
.ph-sdrop-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .12s;text-decoration:none;color:inherit}
.ph-sdrop-item:hover{background:#f5fcfc}
.ph-sdrop-img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff;mix-blend-mode:multiply;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}
.ph-sdrop-name{font-size:13.5px;font-weight:600;color:var(--dk)}
.ph-sdrop-cat{font-size:11px;color:var(--mu)}
.ph-sdrop-price{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:700;color:var(--t);margin-left:auto;padding-left:12px}

/* Nav right — justified to far right of its column */
.ph-nav-right{display:flex;align-items:center;gap:6px;justify-self:end}
.ph-icon-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid #e5e7eb;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mu);transition:all .18s;position:relative;text-decoration:none}
.ph-icon-btn:hover{border-color:var(--t);color:var(--t);background:var(--tg)}
.ph-cart-count{position:absolute;top:-4px;right:-4px;background:var(--t);color:#fff;width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:700;display:none;align-items:center;justify-content:center;border:2px solid #fff}
.ph-cart-count.show{display:flex}
.ph-nav-cta{background:var(--t);color:#fff;border:none;padding:11px 22px;border-radius:40px;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
.ph-nav-cta:hover{background:var(--t2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(43,191,179,.35)}

/* Sub nav — secondary link row below the main nav */
.ph-nav-sub{
  display:flex; justify-content:center;
  border-top:1px solid var(--bdr);
  background:rgba(255,255,255,.97);
}
.ph-nav-links{
  display:flex; align-items:center; gap:30px;
  max-width:1380px; height:46px; padding:0 48px;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.ph-nav-links::-webkit-scrollbar{ display:none; }
.ph-nl{
  font-size:13px; font-weight:600; color:var(--mu); text-decoration:none;
  white-space:nowrap; letter-spacing:.01em; transition:color .16s; flex-shrink:0;
}
.ph-nl:hover{ color:var(--t); }
.ph-nl.on{ color:var(--t); }

/* Sticky bar */
.ph-sticky-bar{position:fixed;bottom:-80px;left:0;right:0;z-index:450;background:rgba(255,255,255,.97);backdrop-filter:blur(24px);border-top:1px solid var(--bdr);padding:14px 52px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 -8px 40px rgba(0,0,0,.08);transition:bottom .32s cubic-bezier(.4,0,.2,1)}
.ph-sticky-bar.show{bottom:0}
.ph-sb-left{display:flex;align-items:center;gap:14px}
.ph-sb-img{width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply}
.ph-sb-name{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--dk)}
.ph-sb-price{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:var(--t)}
.ph-sb-btn{background:var(--t);color:#fff;border:none;padding:12px 28px;border-radius:40px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.ph-sb-btn:hover{background:var(--t2)}

/* ══════════════════════════════════════════
   HERO
   ══════════════════════════════════════════ */
.ph-hero{background:linear-gradient(150deg,#040d0c 0%,#071815 30%,#0e2824 60%,#071815 82%,#040d0c 100%);min-height:90vh;display:flex;align-items:center;overflow:hidden;position:relative}
.ph-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 62% 50%,rgba(43,191,179,.1),transparent 65%);pointer-events:none}
.ph-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,#fff);pointer-events:none;z-index:2}
.ph-hero-inner{width:100%;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.ph-hero-left{position:relative;z-index:3;padding:80px 60px 80px 80px}
.ph-hero-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(43,191,179,.12);border:1px solid rgba(43,191,179,.3);border-radius:40px;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t);margin-bottom:28px}
.ph-hero-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--t);animation:blink 2s infinite;flex-shrink:0}
.ph-hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(70px,8.5vw,112px);font-weight:900;line-height:.86;text-transform:uppercase;color:#fff;letter-spacing:-.03em;margin-bottom:28px}
.ph-hero-h1 span{color:var(--t);display:block}
.ph-hero-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.75;max-width:380px;margin-bottom:40px}
.ph-hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.ph-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 16px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);max-width:460px}
.ph-hero-stat-val{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;color:#fff;line-height:1}
.ph-hero-stat-lbl{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:5px}
.ph-btn-primary{background:var(--t);color:#fff;border:none;padding:15px 32px;border-radius:40px;font-size:14px;font-weight:700;cursor:pointer;transition:all .22s;display:inline-flex;align-items:center;gap:8px;text-decoration:none;letter-spacing:.02em}
.ph-btn-primary:hover{background:var(--t2);transform:translateY(-2px);box-shadow:0 10px 36px rgba(43,191,179,.4)}
.ph-btn-ghost{background:transparent;color:rgba(255,255,255,.8);border:1.5px solid rgba(255,255,255,.22);padding:14px 28px;border-radius:40px;font-size:14px;font-weight:600;cursor:pointer;transition:all .22s;text-decoration:none;display:inline-flex;align-items:center}
.ph-btn-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.05)}
.ph-hero-right{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;min-height:90vh}
.ph-hero-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(43,191,179,.15),transparent 68%);top:50%;left:50%;transform:translate(-50%,-50%);animation:glow 7s ease-in-out infinite;pointer-events:none}
.ph-hero-img{width:90%;max-width:580px;filter:drop-shadow(0 60px 100px rgba(0,0,0,.6)) drop-shadow(0 20px 50px rgba(43,191,179,.25));animation:flh 9s ease-in-out infinite}

/* ══════════════════════════════════════════
   TRUST BAR
   ══════════════════════════════════════════ */
.ph-trust{background:#fff;border-bottom:1px solid var(--bdr);padding:20px 0}
.ph-trust-inner{max-width:1380px;margin:0 auto;padding:0 48px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}
.ph-trust-item{display:flex;flex-direction:column;align-items:center;padding:8px 36px;position:relative}
.ph-trust-item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--bdr)}
.ph-trust-val{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--t);line-height:1}
.ph-trust-lbl{font-size:11px;color:var(--mu);font-weight:500;margin-top:2px}

/* ══════════════════════════════════════════
   PRODUCT CARDS — seamless white bg
   ══════════════════════════════════════════ */
.ph-products-section{background:#fff;padding:80px 0}
.ph-section-hdr{max-width:1380px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}
.ph-eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--t);display:block;margin-bottom:8px}
.ph-section-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,4vw,54px);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.02em;color:var(--dk)}
.ph-section-h2 span{color:var(--t)}
.ph-view-all{font-size:13px;font-weight:600;color:var(--t);padding:10px 20px;border:1.5px solid rgba(43,191,179,.3);border-radius:40px;transition:all .18s;text-decoration:none;white-space:nowrap}
.ph-view-all:hover{background:var(--tg);border-color:var(--t)}

/* Homepage grid */
.ph-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:0;padding:0}

/* Card */
.ph-card{background:#fff;border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;transition:all .26s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative}
.ph-card:hover{border-color:rgba(43,191,179,.35);box-shadow:0 16px 52px rgba(43,191,179,.1),0 4px 16px rgba(0,0,0,.05);transform:translateY(-5px)}
.ph-card-img-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}

/* ── THE KEY FIX: pure #fff background, mix-blend-mode:multiply
       so the bottle label white matches card white exactly ── */
.ph-card-img-wrap{
  height:200px;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  background:#fbfbfb;
  position:relative;overflow:hidden;
}
.ph-card-img{
  /* Fill the wrap fully - no padding box effect */
  width:100%;height:100%;
  object-fit:contain;
  /* multiply removes the jpg/png white bg - bottle floats seamlessly */
  mix-blend-mode:multiply;
  /* NO drop-shadow - user doesn't want the glow box */
  transition:transform .38s ease;
}
.ph-card:hover .ph-card-img{transform:translateY(-6px) scale(1.04)}
.ph-card-no-img{font-size:56px;height:150px;display:flex;align-items:center;justify-content:center}
.ph-card-info{padding:14px 16px 12px;flex:1;display:flex;flex-direction:column}
.ph-card-cat{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--t);margin-bottom:4px;opacity:.85}
.ph-card-name{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:700;color:var(--dk);line-height:1.1;margin-bottom:6px}
.ph-card-price{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--dk);margin-bottom:4px}
.ph-card-price .amount{color:var(--dk)}
.ph-card-trust{font-size:10.5px;color:var(--mu2)}
.ph-card-btn{display:block;text-align:center;margin:0 16px 16px;padding:11px;background:var(--dk);color:#fff;border:none;border-radius:40px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}
.ph-card-btn:hover{background:var(--t);color:#fff}

/* WC shop loop */
.woo-wrap{max-width:1380px;margin:0 auto;padding:0 48px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{margin:0}
.woocommerce nav.woocommerce-pagination{margin-top:48px;text-align:center}
.woocommerce nav.woocommerce-pagination ul{display:inline-flex;gap:6px;list-style:none}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r);border:1.5px solid var(--bdr);font-size:13px;font-weight:500;color:var(--mu);transition:all .15s}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--t);color:var(--t)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--t);color:#fff;border-color:var(--t)}
.woocommerce .woocommerce-result-count{font-size:13px;color:var(--mu);margin-bottom:20px}
.woocommerce .woocommerce-ordering select{padding:8px 14px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;background:#fff;outline:none;cursor:pointer}

/* ══════════════════════════════════════════
   ABOUT SECTION
   ══════════════════════════════════════════ */
.ph-about{background:linear-gradient(160deg,#040d0c,#0b2220 50%,#040d0c);padding:100px 0;position:relative;overflow:hidden}
.ph-about::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 35% 50%,rgba(43,191,179,.07),transparent 65%);pointer-events:none}
.ph-about-grid{max-width:1380px;margin:0 auto;padding:0 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2}
.ph-about-bottles{position:relative;height:540px}
.ph-ab{position:absolute;object-fit:contain;filter:drop-shadow(0 24px 48px rgba(0,0,0,.5))}
.ph-ab1{width:300px;left:10px;top:50px;animation:fl1 7s ease-in-out infinite}
.ph-ab2{width:210px;right:20px;top:20px;animation:fl2 9s ease-in-out infinite}
.ph-ab3{width:185px;right:50px;bottom:40px;animation:fl3 6s ease-in-out infinite}
.ph-ab-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(43,191,179,.1),transparent 65%);top:50%;left:50%;transform:translate(-50%,-50%);animation:glow 5s ease-in-out infinite;pointer-events:none}
.ph-about-right .ph-eyebrow{margin-bottom:16px}
.ph-about-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(46px,5vw,66px);font-weight:900;text-transform:uppercase;color:#fff;line-height:.88;letter-spacing:-.02em;margin-bottom:24px}
.ph-about-h2 span{color:var(--t)}
.ph-about-desc{font-size:15px;color:rgba(255,255,255,.55);line-height:1.78;margin-bottom:36px}
.ph-about-feats{display:flex;flex-direction:column;gap:20px}
.ph-af{display:flex;align-items:flex-start;gap:14px}
.ph-af-icon{width:44px;height:44px;border-radius:12px;background:rgba(43,191,179,.1);border:1px solid rgba(43,191,179,.2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ph-af-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:3px}
.ph-af-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.6}

/* ══════════════════════════════════════════
   REWARDS — 4 cards (2x2 on mobile)
   ══════════════════════════════════════════ */
.ph-rewards{background:linear-gradient(150deg,#040d0c,#0e2824 50%,#040d0c);padding:90px 0;position:relative;overflow:hidden}
.ph-rewards::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 50%,rgba(43,191,179,.08),transparent 65%);pointer-events:none}
.ph-rewards-inner{max-width:1380px;margin:0 auto;padding:0 80px;position:relative;z-index:2}
.ph-section-hdr-center{text-align:center;margin-bottom:52px}
.ph-rewards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ph-rew-card{background:rgba(255,255,255,.04);border:1px solid rgba(43,191,179,.15);border-radius:var(--rl);padding:32px 24px;text-align:center;transition:all .22s}
.ph-rew-card:hover{background:rgba(43,191,179,.07);border-color:rgba(43,191,179,.35);transform:translateY(-4px)}
.ph-rew-icon{font-size:32px;margin-bottom:16px}
.ph-rew-card h3{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:#fff;text-transform:uppercase;margin-bottom:8px;letter-spacing:.02em}
.ph-rew-card p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65}

/* ══════════════════════════════════════════
   SHOP PAGE
   ══════════════════════════════════════════ */
.ph-shop-hero{background:linear-gradient(160deg,#040d0c,#0e2824 50%,#040d0c);padding:64px 80px 80px;position:relative;overflow:hidden}
.ph-shop-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 80%,rgba(43,191,179,.08),transparent 55%);pointer-events:none}
.ph-shop-hero-inner{max-width:1380px;margin:0 auto;position:relative;z-index:2}
.ph-shop-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(52px,6vw,80px);font-weight:900;text-transform:uppercase;color:#fff;line-height:.88;letter-spacing:-.02em;margin-bottom:14px}
.ph-shop-title span{color:var(--t)}
.ph-shop-sub{font-size:14px;color:rgba(255,255,255,.48);max-width:480px;line-height:1.65}
.ph-shop-trust{display:flex;flex-wrap:wrap;gap:26px;margin-top:26px}
.ph-shop-trust-item{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:rgba(255,255,255,.65);white-space:nowrap}
.ph-shop-trust-item svg{flex-shrink:0;color:var(--t)}

/* Shop page — category sections */
.ph-cat-sections{padding-top:56px}
.ph-cat-section{margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--bdr)}
.ph-cat-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.ph-cat-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.ph-cat-section-head-text{display:flex;align-items:center;gap:18px}
.ph-cat-thumb{width:64px;height:64px;border-radius:var(--r);object-fit:cover;flex-shrink:0;border:1px solid var(--bdr)}
.ph-cat-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t);margin-bottom:8px}
.ph-cat-section-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,3.2vw,38px);font-weight:800;text-transform:uppercase;color:var(--dk);letter-spacing:-.01em;line-height:1;margin-bottom:8px}
.ph-cat-section-desc{font-size:13.5px;color:var(--mu);max-width:520px;line-height:1.6}
.ph-cat-section-link{flex-shrink:0;font-size:13px;font-weight:700;color:var(--t);text-decoration:none;white-space:nowrap;padding-bottom:4px}
.ph-cat-section-link:hover{color:var(--t2);text-decoration:underline}
.ph-shop-body{background:#fff;padding:56px 0 80px}

/* ══════════════════════════════════════════
   SINGLE PRODUCT PAGE
   ══════════════════════════════════════════ */
.ph-product-main{background:#fff;min-height:100vh}
.ph-pdp{max-width:1200px;margin:0 auto;padding:48px 48px 80px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.ph-pdp-left{position:sticky;top:88px}

/* Product image box — pure white so bottle blends perfectly */
.ph-pdp-img-box{
  background:#fbfbfb;
  border:none;
  border-radius:20px;
  padding:32px;
  position:relative;
  display:flex;align-items:center;justify-content:center;
  min-height:460px;
  /* NO box-shadow that adds a glow - seamless white only */
}
.ph-pdp-img{
  max-width:88%;max-height:420px;
  object-fit:contain;
  /* multiply makes JPG/PNG white bg disappear against the white box */
  mix-blend-mode:multiply;
  /* no drop-shadow - no glow box */
  transition:transform .4s ease;
}
.ph-pdp-img-box:hover .ph-pdp-img{transform:scale(1.03)}
.ph-pdp-no-img{font-size:80px;display:flex;align-items:center;justify-content:center;height:300px}
.ph-rg-badge{position:absolute;bottom:18px;right:18px;background:rgba(255,255,255,.96);border:1.5px solid rgba(43,191,179,.2);border-radius:40px;padding:7px 14px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ph-dot-g{width:7px;height:7px;border-radius:50%;background:#059669;animation:blink 1.8s infinite;flex-shrink:0}
.ph-dot-r{width:7px;height:7px;border-radius:50%;background:#DC2626;flex-shrink:0}

/* Right info panel */
.ph-pdp-right{padding-top:4px}
.ph-pdp-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.ph-chip{background:var(--off);color:var(--mu);font-size:10px;font-weight:600;padding:5px 12px;border-radius:40px;border:1px solid var(--bdr)}
.ph-chip-teal{background:var(--t);color:#fff;border-color:var(--t)}
.ph-pdp-stars{display:flex;align-items:center;margin-bottom:12px;gap:6px}
.ph-pdp-title{font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,5vw,64px);font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.02em;color:var(--dk);margin-bottom:16px}
.ph-pdp-short{font-size:14px;color:var(--mu);line-height:1.7;margin-bottom:16px}
.ph-pdp-price{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:800;color:var(--dk);margin-bottom:22px;line-height:1}
.ph-pdp-price small{font-size:12px;font-weight:700;color:var(--mu);display:inline-block;margin-right:4px;text-transform:uppercase;letter-spacing:.06em}
.ph-pdp-price .amount,.ph-pdp-price del .amount{color:var(--dk)}

/* Countdown ship box */
.ph-pdp-ship{display:flex;align-items:flex-start;gap:14px;background:var(--off);border:1.5px solid var(--bdr);border-radius:14px;padding:16px 20px;margin-bottom:22px}
.ph-ship-icon{width:44px;height:44px;border-radius:50%;background:var(--t);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.ph-ship-title{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:3px}
.ph-ship-title strong{background:var(--dk);color:#fff;padding:1px 8px;border-radius:6px;font-size:12.5px;font-variant-numeric:tabular-nums}
.ph-ship-sub{font-size:12px;color:var(--mu)}

/* Trust row */
.ph-pdp-trust{display:flex;border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;margin-bottom:20px}
.ph-trust-item-sm{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;font-size:11px;font-weight:600;color:var(--mu);border-right:1px solid var(--bdr);text-align:center}
.ph-trust-item-sm:last-child{border-right:none}
.ph-trust-item-sm svg{color:var(--t)}

/* COA button */
.ph-coa-btn{display:flex;align-items:center;gap:10px;width:100%;background:var(--off);border:1.5px solid var(--bdr);border-radius:14px;padding:14px 18px;font-size:13.5px;font-weight:600;color:var(--dk);cursor:pointer;transition:all .18s;margin-bottom:24px;text-align:left}
.ph-coa-btn:hover{border-color:var(--t);background:var(--tg)}
.ph-coa-tag{margin-left:auto;background:#ecfdf5;color:#059669;font-size:10px;font-weight:700;padding:4px 10px;border-radius:40px;white-space:nowrap;flex-shrink:0}

/* ATC box */
.ph-atc-box{background:var(--off);border:1.5px solid var(--bdr);border-radius:18px;padding:24px;margin-bottom:18px}
.ph-atc-section-label{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mu);display:block;margin-bottom:10px}
.ph-size-row{margin-bottom:14px}
.ph-size-label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin-bottom:6px}
.ph-size-select{width:100%;padding:14px 18px;border:1.5px solid var(--bdr);border-radius:12px;font-size:15px;font-weight:500;color:var(--dk);background:#fff;outline:none;cursor:pointer;font-family:inherit;transition:border-color .18s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.ph-size-select:focus{border-color:var(--t)}
.ph-qty-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);margin-bottom:14px}
.ph-qty-label{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mu)}
.ph-qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--bdr);border-radius:10px;overflow:hidden;background:#fff}
.ph-qty-btn{width:42px;height:42px;border:none;background:transparent;font-size:22px;font-weight:300;color:var(--mu);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;line-height:1}
.ph-qty-btn:hover{background:var(--tg);color:var(--t)}
.ph-qty-show{min-width:44px;text-align:center;font-size:16px;font-weight:700;color:var(--dk);padding:0 8px;border-left:1px solid var(--bdr);border-right:1px solid var(--bdr)}
.ph-sel-row{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:1.5px solid var(--bdr);border-radius:12px;margin-bottom:14px}
.ph-sel-label{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);flex-shrink:0}
.ph-sel-val{font-size:14px;font-weight:600;color:var(--dk)}

/* ATC button */
.ph-atc-btn{width:100%;padding:18px;background:var(--t);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:800;cursor:pointer;transition:all .22s;font-family:inherit;letter-spacing:.01em;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}
.ph-atc-btn:hover{background:var(--t2);box-shadow:0 10px 40px rgba(43,191,179,.4);transform:translateY(-1px)}
.ph-atc-btn:disabled{background:var(--mu2);cursor:not-allowed;transform:none;box-shadow:none}
.ph-atc-sub{text-align:center;font-size:12px;color:var(--mu2)}

/* Stock, disclaimer, accordions */
.ph-stock{margin:14px 0}
.ph-stock-in{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#059669}
.ph-stock-out{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#DC2626}
.ph-disc{background:#fffbeb;border:1px solid rgba(217,119,6,.2);border-radius:10px;padding:12px 16px;font-size:11.5px;color:#92400e;margin:16px 0 24px;line-height:1.55}
.ph-accs{display:flex;flex-direction:column;gap:8px}
.ph-acc{border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;background:#fff;transition:border-color .18s}
.ph-acc.open{border-color:rgba(43,191,179,.3)}
.ph-acc-hdr{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--dk);transition:color .15s;user-select:none}
.ph-acc-hdr:hover{color:var(--t)}
.ph-arr{transition:transform .22s;color:var(--mu);flex-shrink:0}
.ph-acc.open .ph-arr{transform:rotate(180deg)}
.ph-acc-body{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 20px;font-size:14px;color:var(--mu);line-height:1.78}
.ph-acc.open .ph-acc-body{max-height:500px;padding:0 20px 18px}
.ph-coa-card{background:linear-gradient(135deg,rgba(43,191,179,.06),rgba(43,191,179,.02));border:1.5px solid rgba(43,191,179,.2);border-radius:12px;padding:20px;position:relative}
.ph-coa-pass{position:absolute;top:16px;right:16px;background:#ecfdf5;color:#059669;font-size:10px;font-weight:800;padding:4px 10px;border-radius:40px}
.ph-coa-card strong{display:block;font-size:16px;font-weight:700;color:var(--dk);margin:8px 0}
.ph-coa-card p{font-size:13px;margin-bottom:14px}
.ph-coa-tags{display:flex;flex-wrap:wrap;gap:6px}
.ph-coa-tags span{background:#fff;border:1px solid rgba(43,191,179,.2);color:var(--t);font-size:10px;font-weight:600;padding:3px 9px;border-radius:40px}

/* Related products */
.ph-related-section{background:var(--off);border-top:1px solid var(--bdr);padding:52px 0}
.ph-related-title{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:24px}
.ph-related-grid{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}
.ph-rel-item{flex-shrink:0;width:120px;text-align:center;cursor:pointer;padding:10px;border-radius:var(--r);transition:all .2s;text-decoration:none;color:inherit}
.ph-rel-item:hover{background:#fff;box-shadow:var(--sh);transform:translateY(-3px)}
.ph-rel-item img{width:80px;height:80px;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 6px 12px rgba(0,0,0,.08));margin:0 auto 8px}
.ph-rel-name{font-size:11px;font-weight:600;color:var(--dk);line-height:1.3;margin-bottom:2px}
.ph-rel-price{font-size:12px;color:var(--t);font-weight:700}

/* ══════════════════════════════════════════
   MY ACCOUNT — full Prosper-style portal
   ══════════════════════════════════════════ */
.ph-account-page{max-width:1100px;margin:0 auto;padding:48px 48px 80px;display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.ph-account-sidebar{position:sticky;top:88px}
.ph-account-user{background:var(--dk);border-radius:var(--rl);padding:24px;text-align:center;margin-bottom:16px}
.ph-account-avatar{width:64px;height:64px;border-radius:50%;border:3px solid rgba(43,191,179,.3);margin:0 auto 12px;object-fit:cover;background:rgba(43,191,179,.15);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--t)}
.ph-account-username{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px}
.ph-account-email{font-size:12px;color:rgba(255,255,255,.4)}
.ph-account-points{background:rgba(43,191,179,.1);border:1px solid rgba(43,191,179,.2);border-radius:10px;padding:10px 16px;margin-top:14px;display:flex;align-items:center;justify-content:space-between}
.ph-account-points-val{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--t)}
.ph-account-points-lbl{font-size:11px;color:rgba(255,255,255,.5)}
.ph-account-nav{background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rl);overflow:hidden}
.ph-account-nav a{display:flex;align-items:center;gap:10px;padding:13px 18px;font-size:13.5px;font-weight:500;color:var(--mu);transition:all .15s;border-bottom:1px solid var(--bdr);text-decoration:none}
.ph-account-nav a:last-child{border-bottom:none}
.ph-account-nav a:hover{background:var(--off);color:var(--dk)}
.ph-account-nav a.active,.ph-account-nav a[aria-current]{background:var(--tg);color:var(--t);font-weight:600}
.ph-account-nav .ph-nav-icon-sm{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ph-account-content{min-height:400px}
.ph-account-content h2{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:24px;letter-spacing:-.01em}
.ph-account-content p{font-size:14px;color:var(--mu);line-height:1.75;margin-bottom:16px}

/* WC account overrides */
.woocommerce-account .woo-wrap{padding-top:0;padding-bottom:80px}
.woocommerce-MyAccount-navigation{float:none!important;width:auto!important}
.woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rl);overflow:hidden;margin-bottom:20px}
.woocommerce-MyAccount-navigation ul li a{display:flex;align-items:center;padding:13px 18px;font-size:13.5px;font-weight:500;color:var(--mu);transition:all .15s;border-bottom:1px solid var(--bdr);text-decoration:none}
.woocommerce-MyAccount-navigation ul li:last-child a{border-bottom:none}
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--off);color:var(--dk)}
.woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a{background:var(--tg);color:var(--t);font-weight:600}
.woocommerce-MyAccount-content{font-size:14px;color:var(--mu);line-height:1.75}
.woocommerce-MyAccount-content h3{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:16px}
/* Account orders table */
.woocommerce-orders-table,.woocommerce-table{border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;border-collapse:collapse;width:100%}
.woocommerce-orders-table th,.woocommerce-table th{background:var(--off);padding:12px 16px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);border-bottom:1px solid var(--bdr);text-align:left}
.woocommerce-orders-table td,.woocommerce-table td{padding:14px 16px;border-bottom:1px solid #f5f5f5;font-size:14px}
.woocommerce-orders-table tr:last-child td,.woocommerce-table tr:last-child td{border-bottom:none}
.woocommerce-orders-table .button,.woocommerce-orders-table a.button{background:var(--t);color:#fff;padding:6px 16px;border-radius:40px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s}
.woocommerce-orders-table .button:hover{background:var(--t2)}
/* Account forms */
.woocommerce-EditAccountForm label,.woocommerce-address-fields label,.woocommerce-form-login label{font-size:12px;font-weight:600;display:block;margin-bottom:5px;color:var(--dk)}
.woocommerce-EditAccountForm input,.woocommerce-address-fields input,.woocommerce-address-fields select,.woocommerce-form-login input{width:100%;padding:12px 16px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:14px;background:#fff;outline:none;font-family:inherit;transition:border-color .18s;margin-bottom:16px}
.woocommerce-EditAccountForm input:focus,.woocommerce-address-fields input:focus,.woocommerce-form-login input:focus{border-color:var(--t);box-shadow:0 0 0 3px rgba(43,191,179,.1)}
.woocommerce-EditAccountForm .button,.woocommerce-address-fields .button,.woocommerce-form-login .button{background:var(--t);color:#fff;border:none;padding:14px 28px;border-radius:40px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .22s}
.woocommerce-EditAccountForm .button:hover,.woocommerce-address-fields .button:hover,.woocommerce-form-login .button:hover{background:var(--t2)}
.woocommerce-notices-wrapper{margin-bottom:20px}
.woocommerce-message,.woocommerce-error,.woocommerce-info{padding:14px 20px;border-radius:var(--r);margin-bottom:16px;font-size:14px;font-weight:500;list-style:none;display:block}
.woocommerce-message{background:#ecfdf5;border:1px solid rgba(5,150,105,.2);color:#065f46}
.woocommerce-error{background:#fef2f2;border:1px solid rgba(220,38,38,.2);color:#991b1b}
.woocommerce-info{background:#eff6ff;border:1px solid rgba(37,99,235,.2);color:#1e40af}

/* ══════════════════════════════════════════
   CART + CHECKOUT
   ══════════════════════════════════════════ */
.woocommerce-cart .woo-wrap,.woocommerce-checkout .woo-wrap{padding-top:52px;padding-bottom:80px}
.woocommerce table.cart,.woocommerce table.shop_table{border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;border-collapse:collapse;width:100%;font-size:14px}
.woocommerce table.cart th,.woocommerce table.shop_table th{background:var(--off);padding:14px 20px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);border-bottom:1px solid var(--bdr);text-align:left}
.woocommerce table.cart td,.woocommerce table.shop_table td{padding:16px 20px;border-bottom:1px solid #f5f5f5;vertical-align:middle}
.woocommerce table.cart td.product-thumbnail img{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#fff;mix-blend-mode:multiply;filter:drop-shadow(0 4px 8px rgba(0,0,0,.07))}
.woocommerce table.cart .product-name a{font-size:15px;font-weight:600;color:var(--dk)}
.woocommerce table.cart .product-name a:hover{color:var(--t)}
.woocommerce .quantity input.qty{width:72px;padding:8px 10px;text-align:center;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:14px;font-weight:600;background:#fff;outline:none;transition:border-color .18s}
.woocommerce .quantity input.qty:focus{border-color:var(--t)}
.woocommerce table.cart a.remove{width:28px;height:28px;border-radius:50%;background:#fef2f2;color:#DC2626!important;display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:all .15s}
.woocommerce table.cart a.remove:hover{background:#DC2626;color:#fff!important}
.woocommerce .cart-collaterals{margin-top:32px}
.woocommerce .cart-collaterals .cart_totals{background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rl);padding:28px;max-width:400px;margin-left:auto}
.woocommerce .cart-collaterals .cart_totals h2{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:20px}
.woocommerce .cart-collaterals table{width:100%;border-collapse:collapse}
.woocommerce .cart-collaterals table th{font-size:13px;font-weight:500;color:var(--mu);padding:10px 0;text-align:left;border-bottom:1px solid var(--bdr)}
.woocommerce .cart-collaterals table td{font-size:15px;font-weight:600;padding:10px 0;border-bottom:1px solid var(--bdr);text-align:right}
.woocommerce a.checkout-button,.woocommerce .wc-proceed-to-checkout a{display:block;text-align:center;margin-top:20px;background:var(--t);color:#fff;border:none;padding:16px;border-radius:40px;font-size:15px;font-weight:700;cursor:pointer;transition:all .22s;text-decoration:none}
.woocommerce a.checkout-button:hover,.woocommerce .wc-proceed-to-checkout a:hover{background:var(--t2);box-shadow:0 8px 32px rgba(43,191,179,.35)}
.woocommerce .coupon{display:flex;gap:10px;margin-top:20px}
.woocommerce .coupon input.input-text{flex:1;padding:10px 16px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;outline:none;background:#fff;font-family:inherit}
.woocommerce .coupon input.input-text:focus{border-color:var(--t)}
.woocommerce .coupon .button{background:var(--dk);color:#fff;border:none;padding:10px 20px;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .18s}
.woocommerce .coupon .button:hover{background:var(--t)}
/* Checkout form */
.woocommerce-checkout .woocommerce{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start}
.woocommerce form .form-row{margin-bottom:16px}
.woocommerce form .form-row label{font-size:12px;font-weight:600;display:block;margin-bottom:5px;color:var(--dk);letter-spacing:.02em}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{width:100%;padding:12px 16px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:14px;color:var(--dk);background:#fff;outline:none;font-family:inherit;transition:all .18s}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus,.woocommerce form .form-row textarea:focus{border-color:var(--t);box-shadow:0 0 0 3px rgba(43,191,179,.1)}
.woocommerce h3#order_review_heading{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:16px}
.woocommerce-checkout #payment{background:var(--off);border-radius:var(--rl);border:1.5px solid var(--bdr);padding:24px;margin-top:8px}
.woocommerce #payment ul.payment_methods{border:none;padding:0;margin-bottom:20px;list-style:none}
.woocommerce #payment ul.payment_methods li{padding:12px 14px;border:1.5px solid var(--bdr);border-radius:var(--r);margin-bottom:8px;background:#fff;font-size:14px}
.woocommerce #payment ul.payment_methods li input[type=radio]{accent-color:var(--t);margin-right:8px}
.woocommerce #payment div.payment_box{padding:12px;background:rgba(43,191,179,.05);border-radius:var(--r);border:1px solid rgba(43,191,179,.15);margin-top:10px;font-size:13px;color:var(--mu)}
#place_order{width:100%;padding:18px;font-size:16px;font-weight:800;background:var(--t);color:#fff;border:none;border-radius:40px;cursor:pointer;font-family:inherit;transition:all .22s;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:8px}
#place_order:hover{background:var(--t2);box-shadow:0 10px 40px rgba(43,191,179,.4)}

/* ══════════════════════════════════════════
   NEWSLETTER + POPUP
   ══════════════════════════════════════════ */
.ph-nl-section{background:linear-gradient(150deg,#040d0c,#0e2824 50%,#040d0c);padding:80px 0;text-align:center;position:relative;overflow:hidden}
.ph-nl-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50%,rgba(43,191,179,.1),transparent 60%);pointer-events:none}
.ph-nl-inner{max-width:520px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.ph-nl-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(34px,4vw,50px);font-weight:900;text-transform:uppercase;color:#fff;letter-spacing:-.01em;margin-bottom:12px}
.ph-nl-p{font-size:14px;color:rgba(255,255,255,.48);line-height:1.72;margin-bottom:32px}
.ph-nl-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ph-nl-inp{flex:1;min-width:220px;max-width:300px;padding:14px 20px;border:1.5px solid rgba(255,255,255,.1);border-radius:40px;background:rgba(255,255,255,.05);color:#fff;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}
.ph-nl-inp:focus{border-color:var(--t)}
.ph-nl-inp::placeholder{color:rgba(255,255,255,.28)}
.ph-nl-btn{background:var(--t);color:#fff;border:none;padding:14px 26px;border-radius:40px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}
.ph-nl-btn:hover{background:var(--t2)}

.ph-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);z-index:900;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .32s}
.ph-popup-overlay.show{opacity:1;pointer-events:all}
.ph-popup-box{background:var(--dk);border-radius:24px;width:min(540px,calc(100vw - 32px));max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 40px 120px rgba(0,0,0,.28);transform:translateY(20px);transition:transform .32s}
.ph-popup-overlay.show .ph-popup-box{transform:translateY(0)}
.ph-popup-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:rgba(255,255,255,.6);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .15s}
.ph-popup-close:hover{background:rgba(255,255,255,.2);color:#fff}
.ph-popup-badge{display:inline-block;background:rgba(43,191,179,.15);border:1px solid rgba(43,191,179,.3);border-radius:40px;padding:6px 16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t);margin-bottom:14px}
.ph-popup-h2{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:900;text-transform:uppercase;color:#fff;line-height:.9;margin-bottom:10px;text-shadow:0 2px 16px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.9)}
.ph-popup-h2 span{color:var(--t)}
.ph-popup-sub{font-size:14px;color:rgba(255,255,255,.6);line-height:1.65;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.ph-popup-form{display:flex;flex-direction:column;gap:10px;padding:20px 32px 32px}
.ph-popup-inp{width:100%;padding:13px 16px;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;font-size:14px;color:#fff;font-family:inherit;outline:none;transition:border-color .18s;background:rgba(255,255,255,.05)}
.ph-popup-inp:focus{border-color:var(--t)}
.ph-popup-inp::placeholder{color:rgba(255,255,255,.3)}
.ph-popup-btn{width:100%;padding:16px;background:var(--t);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .2s}
.ph-popup-btn:hover{background:var(--t2);box-shadow:0 8px 32px rgba(43,191,179,.4)}

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.ph-footer{background:var(--dk);color:rgba(255,255,255,.6);padding:64px 0 32px}
.ph-footer-inner{max-width:1380px;margin:0 auto;padding:0 80px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;margin-bottom:48px}
.ph-footer-logo{height:36px;width:auto;margin-bottom:14px;opacity:.9}
.ph-footer-logo-text{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;color:#fff;display:block;margin-bottom:14px}
.ph-footer-domain{font-size:13px;color:var(--t);font-weight:600;margin-bottom:12px}
.ph-footer-desc{font-size:12px;color:rgba(255,255,255,.38);line-height:1.75;max-width:240px}
.ph-footer-col-title{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:18px}
.ph-footer-links li{margin-bottom:10px}
.ph-footer-links li a{font-size:12.5px;color:rgba(255,255,255,.42);transition:color .15s}
.ph-footer-links li a:hover{color:var(--t)}
.ph-footer-bottom{max-width:1380px;margin:0 auto;padding:24px 80px 0;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.ph-footer-bottom span{font-size:11px;color:rgba(255,255,255,.28)}

/* ══════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════ */
@media(max-width:1100px){
  .ph-pdp{grid-template-columns:1fr;gap:28px;padding:20px 20px 60px}
  .ph-pdp-left{position:static}
  .ph-pdp-img-box{min-height:300px}
  .ph-about-grid{grid-template-columns:1fr;padding:0 24px;gap:48px}
  .ph-footer-inner{grid-template-columns:1fr 1fr;padding:0 24px;gap:28px}
  .ph-footer-bottom{padding:20px 24px 0}
  .ph-rewards-grid{grid-template-columns:repeat(2,1fr)}
  .woocommerce-checkout .woocommerce{grid-template-columns:1fr;gap:24px}
}
@media(max-width:900px){
  .ph-nav-top{padding:0 20px;height:60px;grid-template-columns:auto 1fr auto;gap:12px}
  .ph-nav-links{padding:0 20px;gap:22px}
  .ph-logo-text{font-size:22px}
  .ph-search-box{width:100%}
  .ph-nav-cta{padding:9px 16px;font-size:12px}
  .ph-hero{min-height:auto}
  .ph-hero-inner{grid-template-columns:1fr}
  .ph-hero-left{padding:52px 24px 20px;order:1}
  .ph-hero-stats{margin-top:24px;padding-top:20px;max-width:none}
  .ph-hero-h1{font-size:clamp(58px,14vw,82px)}
  .ph-hero-right{order:2;min-height:280px}
  .ph-hero-img{width:75%;max-width:280px}
  .ph-hero-glow{width:360px;height:360px}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:14px!important;padding:0 20px!important}
  .ph-home-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:0 20px!important}
  .ph-shop-hero{padding:40px 24px 48px}
  .ph-shop-trust{gap:14px 20px}
  .ph-cat-sections{padding-top:36px}
  .ph-cat-section{margin-bottom:40px;padding-bottom:40px}
  .ph-cat-section-head{align-items:flex-start}
  .ph-cat-thumb{width:48px;height:48px}
  .ph-about-bottles{height:360px}
  .ph-ab1{width:220px!important}
  .ph-ab2{width:160px!important}
  .ph-ab3{width:140px!important}
  .ph-sticky-bar{padding:12px 16px}
  .ph-sb-name{font-size:17px}
  .ph-sb-price{font-size:20px}
  .ph-account-page{grid-template-columns:1fr;padding:20px 20px 60px;gap:20px}
  .ph-account-sidebar{position:static}
  .woocommerce-cart .woo-wrap,.woocommerce-checkout .woo-wrap{padding:24px 16px 60px}
}
@media(max-width:640px){
  .ph-hero-h1{font-size:clamp(50px,16vw,68px)}
  .ph-hero-left{padding:44px 16px 16px}
  .ph-hero-stats{grid-template-columns:repeat(2,1fr)}
  .woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:10px!important;padding:0 14px!important}
  .ph-home-grid{grid-template-columns:1fr 1fr!important;gap:10px;padding:0 14px!important}
  .ph-nl-form{flex-direction:column;align-items:stretch}
  .ph-nl-inp{max-width:100%}
  .ph-footer-inner{grid-template-columns:1fr}
  .ph-trust-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  .ph-trust-item:not(:last-child)::after{display:none}
  .ph-trust-item{padding:10px 8px}
  .ph-popup-form{padding:16px 20px 24px}
  .ph-popup-h2{font-size:36px}
  .ph-pdp-trust{flex-wrap:wrap}
  .ph-trust-item-sm{min-width:30%;border-right:none;border-bottom:1px solid var(--bdr)}
  .ph-trust-item-sm:last-child{border-bottom:none}
  .woocommerce table.cart th:nth-child(3),.woocommerce table.cart td:nth-child(3){display:none}
  .ph-rewards-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .ph-home-grid{grid-template-columns:1fr!important}
  .ph-rewards-grid{grid-template-columns:1fr 1fr}
  .ph-about-bottles{height:280px}
  .ph-ab1{width:175px!important}
  .ph-ab2{width:130px!important}
  .ph-ab3{display:none}
}

/* ══════════════════════════════════════════
   FAQ PAGE
   ══════════════════════════════════════════ */
.ph-faq-page{background:#fff;min-height:100vh}
.ph-faq-hero{background:linear-gradient(160deg,#040d0c,#0e2824 50%,#040d0c);padding:72px 0 80px;text-align:center;position:relative}
.ph-faq-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 80%,rgba(43,191,179,.08),transparent 55%);pointer-events:none}
.ph-faq-hero-inner{max-width:700px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.ph-faq-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,6vw,80px);font-weight:900;text-transform:uppercase;color:#fff;line-height:.88;letter-spacing:-.02em;margin-bottom:16px}
.ph-faq-h1 span{color:var(--t)}
.ph-faq-sub{font-size:15px;color:rgba(255,255,255,.5);line-height:1.7}
.ph-faq-body{max-width:1000px;margin:0 auto;padding:0 48px 80px}
.ph-faq-cats{display:flex;flex-wrap:wrap;gap:10px;padding:36px 0 32px;justify-content:center}
.ph-faq-cat{background:var(--off);border:1.5px solid var(--bdr);border-radius:40px;padding:9px 20px;font-size:13px;font-weight:600;color:var(--mu);cursor:pointer;transition:all .18s}
.ph-faq-cat:hover{border-color:var(--t);color:var(--t);background:var(--tg)}
.ph-faq-cat.active{background:var(--t);color:#fff;border-color:var(--t)}
.ph-faq-grid{display:flex;flex-direction:column;gap:40px}
.ph-faq-section{}
.ph-faq-sec-title{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:16px;letter-spacing:.02em}
.ph-faq-item{border:1.5px solid var(--bdr);border-radius:var(--r);overflow:hidden;transition:border-color .18s;margin-bottom:8px}
.ph-faq-item.open{border-color:rgba(43,191,179,.3)}
.ph-faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;cursor:pointer;font-size:15px;font-weight:600;color:var(--dk);user-select:none;transition:color .15s}
.ph-faq-q:hover{color:var(--t)}
.ph-faq-arr{flex-shrink:0;color:var(--mu);transition:transform .22s}
.ph-faq-item.open .ph-faq-arr{transform:rotate(180deg)}
.ph-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 20px;font-size:14px;color:var(--mu);line-height:1.75}
.ph-faq-item.open .ph-faq-a{max-height:300px;padding:0 20px 18px}
.ph-faq-cta{background:linear-gradient(135deg,#040d0c,#0e2824);border-radius:20px;padding:52px;text-align:center;margin-top:60px}
.ph-faq-cta-inner h2{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:800;text-transform:uppercase;color:#fff;margin-bottom:10px}
.ph-faq-cta-inner p{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:28px}
@media(max-width:768px){
  .ph-faq-body{padding:0 20px 60px}
  .ph-faq-cats{gap:8px}
  .ph-faq-cat{font-size:12px;padding:8px 14px}
}

/* ══════════════════════════════════════════
   TESTING / COA PAGE
   ══════════════════════════════════════════ */
.ph-testing-page{background:#fff;min-height:100vh}
.ph-testing-hero{background:linear-gradient(160deg,#040d0c,#0b2220 50%,#040d0c);padding:72px 0 80px;text-align:center;position:relative}
.ph-testing-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50%,rgba(43,191,179,.08),transparent 55%);pointer-events:none}
.ph-testing-hero-inner{max-width:800px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.ph-testing-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,6vw,76px);font-weight:900;text-transform:uppercase;color:#fff;line-height:.88;letter-spacing:-.02em;margin-bottom:16px}
.ph-testing-h1 span{color:var(--t)}
.ph-testing-sub{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;max-width:560px;margin:0 auto 32px}
.ph-testing-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ph-t-badge{display:flex;align-items:center;gap:7px;background:rgba(43,191,179,.1);border:1px solid rgba(43,191,179,.25);border-radius:40px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--t)}
.ph-testing-explainer{background:var(--off);border-bottom:1px solid var(--bdr);padding:56px 48px}
.ph-te-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ph-te-card{background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rl);padding:28px 22px;text-align:center;transition:all .22s}
.ph-te-card:hover{border-color:rgba(43,191,179,.35);transform:translateY(-4px);box-shadow:0 10px 40px rgba(43,191,179,.08)}
.ph-te-icon{font-size:32px;margin-bottom:14px}
.ph-te-card h3{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:8px}
.ph-te-card p{font-size:12.5px;color:var(--mu);line-height:1.65}
.ph-coa-section{padding:56px 0 80px}
.ph-coa-sec-inner{max-width:1100px;margin:0 auto;padding:0 48px}
.ph-coa-sec-title{font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:800;text-transform:uppercase;color:var(--dk);margin-bottom:10px}
.ph-coa-sec-sub{font-size:14px;color:var(--mu);line-height:1.7;max-width:680px;margin-bottom:40px}
.ph-coa-cat-group{margin-bottom:48px}
.ph-coa-cat-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;color:var(--dk);margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--bdr)}
.ph-coa-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ph-coa-prod-card{background:#fff;border:1.5px solid var(--bdr);border-radius:var(--rl);padding:20px;display:flex;gap:16px;align-items:flex-start;transition:border-color .18s}
.ph-coa-prod-card:hover{border-color:rgba(43,191,179,.3)}
.ph-coa-prod-img-wrap{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff}
.ph-coa-prod-img{width:60px;height:60px;object-fit:contain;mix-blend-mode:multiply}
.ph-coa-prod-info{flex:1;min-width:0}
.ph-coa-prod-name{font-size:14px;font-weight:700;color:var(--dk);margin-bottom:10px;line-height:1.3}
.ph-coa-doc-rows{display:flex;flex-direction:column;gap:7px;margin-bottom:10px}
.ph-coa-doc-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ph-coa-doc-label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--mu);font-weight:500}
.ph-coa-doc-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:40px;font-size:10.5px;font-weight:700;white-space:nowrap;text-decoration:none}
.ph-coa-doc-btn-available{background:#ecfdf5;color:#059669;border:1px solid rgba(5,150,105,.2)}
.ph-coa-doc-btn-soon{background:var(--off);color:var(--mu2);border:1px solid var(--bdr)}
.ph-coa-prod-link{font-size:11.5px;color:var(--t);font-weight:600;text-decoration:none;transition:opacity .15s}
.ph-coa-prod-link:hover{opacity:.75}
.ph-testing-note{background:#fffbeb;border-top:1px solid rgba(217,119,6,.15);padding:24px 48px}
.ph-testing-note-inner{max-width:1100px;margin:0 auto;font-size:13px;color:#92400e;line-height:1.65}
@media(max-width:900px){
  .ph-te-inner{grid-template-columns:repeat(2,1fr)}
  .ph-coa-product-grid{grid-template-columns:1fr 1fr}
  .ph-coa-sec-inner,.ph-testing-note{padding-left:20px;padding-right:20px}
  .ph-testing-explainer{padding:40px 20px}
}
@media(max-width:640px){
  .ph-coa-product-grid{grid-template-columns:1fr}
  .ph-te-inner{grid-template-columns:1fr 1fr}
}

/* ══════════════════════════════════════════
   SHOP CATEGORY TABS
   ══════════════════════════════════════════ */
.ph-shop-cats{background:#fff;border-bottom:1px solid var(--bdr);padding:0}
.ph-shop-cats-inner{max-width:1380px;margin:0 auto;padding:0 48px;display:flex;gap:0;overflow-x:auto;align-items:center}
.ph-shop-cat-tab{padding:14px 20px;font-size:13px;font-weight:600;color:var(--mu);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .18s;text-decoration:none;display:inline-block;background:none;border-top:none;border-left:none;border-right:none}
.ph-shop-cat-tab:hover{color:var(--dk)}
.ph-shop-cat-tab.active{color:var(--t);border-bottom-color:var(--t)}
/* Fix WC result count + ordering to right-align */
.woocommerce .woocommerce-result-count{display:none}
.woocommerce .woocommerce-ordering{float:none;display:flex;justify-content:flex-end;margin:0 0 24px}
.woocommerce .woocommerce-ordering select{padding:9px 16px;border:1.5px solid var(--bdr);border-radius:var(--r);font-size:13px;background:#fff;outline:none;cursor:pointer;color:var(--dk)}
.woocommerce .woocommerce-ordering select:focus{border-color:var(--t)}
@media(max-width:640px){.ph-shop-cats-inner{padding:0 16px}}

/* ══════════════════════════════════════════
   BACTERIOSTATIC WATER SECTION
   ══════════════════════════════════════════ */
.ph-bac-section{background:linear-gradient(160deg,var(--off) 0%,#fff 100%);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);padding:80px 0}
.ph-bac-inner{max-width:1100px;margin:0 auto;padding:0 80px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ph-bac-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,5vw,64px);font-weight:900;text-transform:uppercase;color:var(--dk);line-height:.88;letter-spacing:-.02em;margin-bottom:20px}
.ph-bac-h2 span{color:var(--t)}
.ph-bac-desc{font-size:15px;color:var(--mu);line-height:1.75;margin-bottom:28px}
.ph-bac-features{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.ph-bac-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--dk);font-weight:500}
.ph-bac-check{width:22px;height:22px;border-radius:50%;background:var(--tg);border:1.5px solid rgba(43,191,179,.3);color:var(--t);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.ph-bac-img-wrap{background:#fff;border:1.5px solid var(--bdr);border-radius:20px;padding:48px;display:flex;align-items:center;justify-content:center;min-height:360px;box-shadow:0 4px 24px rgba(0,0,0,.05)}
.ph-bac-img{max-width:82%;max-height:300px;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 20px 44px rgba(0,0,0,.1))}
.ph-bac-img-placeholder{background:var(--off);border:2px dashed var(--bdr);border-radius:20px;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:52px;color:var(--mu2)}
.ph-bac-img-placeholder p{font-size:14px;font-weight:600;color:var(--mu)}
@media(max-width:900px){
  .ph-bac-inner{grid-template-columns:1fr;gap:36px;padding:0 24px}
  .ph-bac-img-wrap,.ph-bac-img-placeholder{min-height:260px}
}

/* ══════════════════════════════════════════
   BEST SELLERS SECTION (homepage)
   ══════════════════════════════════════════ */
.ph-bestsellers-section{background:var(--off);padding:80px 0;border-bottom:1px solid var(--bdr)}
.ph-bestsellers-section .ph-section-hdr{background:transparent}

/* ══════════════════════════════════════════
   INLINE FAQ (homepage, below bac water)
   ══════════════════════════════════════════ */
.ph-inline-faq{background:#fff;padding:88px 0;border-top:1px solid var(--bdr)}
.ph-inline-faq-inner{max-width:880px;margin:0 auto;padding:0 48px}
.ph-inline-faq-hdr{text-align:center;margin-bottom:52px}
.ph-inline-faq-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(38px,4vw,56px);font-weight:800;text-transform:uppercase;color:var(--dk);line-height:.9;letter-spacing:-.02em;margin-bottom:12px}
.ph-inline-faq-h2 span{color:var(--t)}
.ph-inline-faq-sub{font-size:14px;color:var(--mu);line-height:1.7;max-width:520px;margin:0 auto}
.ph-inline-faq-grid{display:flex;flex-direction:column;gap:8px}
.ph-ifaq-item{border:1.5px solid var(--bdr);border-radius:14px;overflow:hidden;background:#fff;transition:border-color .18s}
.ph-ifaq-item.open{border-color:rgba(43,191,179,.35);box-shadow:0 4px 20px rgba(43,191,179,.08)}
.ph-ifaq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;font-size:15px;font-weight:600;color:var(--dk);user-select:none;transition:color .15s}
.ph-ifaq-q:hover{color:var(--t)}
.ph-ifaq-arr{flex-shrink:0;color:var(--mu);transition:transform .22s}
.ph-ifaq-item.open .ph-ifaq-arr{transform:rotate(180deg);color:var(--t)}
.ph-ifaq-a{max-height:0;overflow:hidden;transition:max-height .32s ease,padding .32s ease;padding:0 22px;font-size:14px;color:var(--mu);line-height:1.78}
.ph-ifaq-item.open .ph-ifaq-a{max-height:300px;padding:0 22px 20px}

/* Ghost dark button (for light backgrounds) */
.ph-btn-ghost-dark{background:transparent;color:var(--dk);border:1.5px solid var(--bdr);padding:14px 28px;border-radius:40px;font-size:14px;font-weight:600;cursor:pointer;transition:all .22s;text-decoration:none;display:inline-flex;align-items:center}
.ph-btn-ghost-dark:hover{border-color:var(--dk);background:var(--off)}

/* ── Fix best sellers 2×2 on mobile ── */
@media(max-width:768px){
  .ph-bestsellers-section .ph-home-grid{grid-template-columns:1fr 1fr!important;gap:14px}
  .ph-bestsellers-section .ph-section-hdr{padding:0 20px;flex-direction:column;align-items:flex-start;gap:10px}
  .ph-bestsellers-section > div[style]{padding:0 20px!important}
}
@media(max-width:480px){
  .ph-bestsellers-section .ph-home-grid{grid-template-columns:1fr 1fr!important;gap:10px}
}

/* ── FAQ inline responsive ── */
@media(max-width:768px){
  .ph-inline-faq-inner{padding:0 20px}
  .ph-inline-faq{padding:60px 0}
  .ph-ifaq-q{font-size:14px;padding:15px 16px}
  .ph-ifaq-a{font-size:13px}
  .ph-ifaq-item.open .ph-ifaq-a{padding:0 16px 16px}
}

/* ══════════════════════════════════════════
   PRODUCT IMAGE SEAMLESS BLEND — GLOBAL
   All product images use multiply to eliminate
   JPG/PNG white backgrounds against #fff cards
   ══════════════════════════════════════════ */

/* Every product image on the site */
.ph-card-img,
.ph-pdp-img,
.ph-coa-prod-img,
.ph-bac-img,
.ph-rel-item img,
.ph-sb-img,
.woocommerce .product img,
.woocommerce ul.products li.product img,
.woocommerce table.cart td img,
.ph-sdrop-img {
  mix-blend-mode: multiply;
  background: #ffffff;
}

/* Card image wrap — pure white, no box */
.ph-card-img-wrap,
.ph-pdp-img-box {
  background: #fbfbfb !important;
}

/* Remove any lingering box-shadow from card wraps */
.ph-card-img-wrap {
  box-shadow: none !important;
}

/* ══ EXACT IMAGE BACKGROUND MATCH ══
   Product images have #fbfbfb background (measured from actual JPG).
   Setting all image containers to the same #fbfbfb makes the 
   bottle sit seamlessly with zero visible box or edge.
   mix-blend-mode: multiply handles any minor variation.           */
.ph-card-img-wrap { background: #fbfbfb !important; border: none !important; box-shadow: none !important; }
.ph-pdp-img-box { background: #fbfbfb !important; box-shadow: none !important; }
.ph-card { border-color: #efefef; }
.ph-card:hover { border-color: rgba(43,191,179,.25); }
/* The card border itself is very light so it doesn't create a visible box */

/* ════════════════════════════════════════════════════
   SEAMLESS BOTTLE BLEND — FINAL OVERRIDE
   Background of #fbfbfb throughout entire card
   so image area = card body = one unified surface.
   The bottle floats with zero visible rectangle.
   ════════════════════════════════════════════════════ */

/* Entire card uses the same #fbfbfb as the product images */
.ph-card {
  background: #fbfbfb !important;
  border: 1px solid #ebebeb !important;
  box-shadow: none !important;
}
.ph-card:hover {
  background: #fbfbfb !important;
  border-color: rgba(43,191,179,.3) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.06) !important;
}

/* Image wrap: same color, no border, no shadow, no padding */
.ph-card-img-wrap {
  background: #fbfbfb !important;
  border: none !important;
  box-shadow: none !important;
  padding: 12px !important;
  height: 200px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Image: fills wrap, multiply removes any residual bg difference */
.ph-card-img {
  width: auto !important;
  height: 100% !important;
  max-height: 176px !important;
  max-width: 90% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
  display: block !important;
}

/* Card info area: same #fbfbfb so no color break between image and text */
.ph-card-info {
  background: #fbfbfb !important;
}

/* Card button: stays dark */
.ph-card-btn {
  background: var(--dk) !important;
}

/* PDP image box: also #fbfbfb */
.ph-pdp-img-box {
  background: #fbfbfb !important;
  border: 1px solid #ebebeb !important;
  box-shadow: none !important;
}
.ph-pdp-img {
  mix-blend-mode: multiply !important;
}

/* WC shop loop images */
.woocommerce ul.products li.product img,
.woocommerce .attachment-woocommerce_thumbnail {
  mix-blend-mode: multiply !important;
  background: #fbfbfb !important;
}

/* ═══════════════════════════════════════════════════════
   DEFINITIVE SEAMLESS BOTTLE FIX
   
   Root cause: product JPGs have #fbfbfb bg, card was #fbfbfb,
   but page is #ffffff — creating a visible card rectangle.
   
   Fix: Everything = #ffffff. Image gets brightness(1.02)
   which mathematically lifts 251/255 → 255/255 = pure white.
   Bottle sits on white. Card sits on white page. Zero box.
   ═══════════════════════════════════════════════════════ */

.ph-card {
  background: #ffffff !important;
  border: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
}
.ph-card:hover {
  background: #ffffff !important;
  border-color: rgba(43,191,179,.3) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.06) !important;
  transform: translateY(-4px) !important;
}
.ph-card-img-wrap {
  background: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  height: 200px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.ph-card-img {
  /* brightness(1.02): lifts #fbfbfb (251) to #ffffff (255) — image bg becomes white */
  filter: brightness(1.016) !important;
  /* multiply: fuses white image bg with white card bg — seamless */
  mix-blend-mode: multiply !important;
  width: auto !important;
  height: 100% !important;
  max-height: 168px !important;
  max-width: 88% !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform .3s ease !important;
}
.ph-card:hover .ph-card-img {
  transform: scale(1.05) translateY(-4px) !important;
  filter: brightness(1.016) !important;
}
.ph-card-info {
  background: #ffffff !important;
  padding: 14px 16px 12px !important;
}
.ph-card-btn {
  background: #0D1117 !important;
  margin: 0 14px 14px !important;
}

/* PDP image box — same treatment */
.ph-pdp-img-box {
  background: #ffffff !important;
  border: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
}
.ph-pdp-img {
  filter: brightness(1.016) !important;
  mix-blend-mode: multiply !important;
}

/* ═══════════════════════════════════════════════════
   AUTH PAGE — Sign In / Register / Reset Password
   ═══════════════════════════════════════════════════ */
.ph-auth-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 72px);
}

/* Left: form card */
.ph-auth-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 64px;
  background: #fff;
  max-width: 560px;
  width: 100%;
}
.ph-auth-logo { margin-bottom: 36px; }
.ph-auth-logo img { height: 40px; width: auto; }
.ph-auth-logo-text { font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800; color:var(--dk); }

/* Tabs */
.ph-auth-tabs { display:flex; background:var(--off); border-radius:12px; padding:4px; gap:4px; margin-bottom:28px; }
.ph-auth-tab { flex:1; padding:10px; border:none; background:transparent; border-radius:9px; font-size:13.5px; font-weight:600; color:var(--mu); cursor:pointer; transition:all .18s; font-family:inherit; }
.ph-auth-tab.active { background:#fff; color:var(--dk); box-shadow:0 1px 6px rgba(0,0,0,.08); }

/* Panels */
.ph-auth-panel { display:none; }
.ph-auth-panel.active { display:block; }
.ph-auth-subtitle { font-size:13.5px; color:var(--mu); margin-bottom:20px; }
.ph-auth-back { background:none; border:none; color:var(--t); font-size:13px; font-weight:600; cursor:pointer; padding:0; margin-bottom:16px; display:flex; align-items:center; gap:6px; font-family:inherit; }
.ph-auth-back:hover { opacity:.75; }
.ph-auth-reset-title { font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800; text-transform:uppercase; color:var(--dk); margin-bottom:8px; }

/* WC form overrides inside auth card */
.ph-auth-card .woocommerce-form,
.ph-auth-card form { display:flex; flex-direction:column; gap:0; }
.ph-auth-card .woocommerce-form-row,
.ph-auth-card p { margin-bottom:14px; }
.ph-auth-card label { font-size:12px; font-weight:600; color:var(--dk); display:block; margin-bottom:5px; letter-spacing:.02em; }
.ph-auth-card input[type=text],
.ph-auth-card input[type=email],
.ph-auth-card input[type=password] {
  width:100%; padding:13px 16px;
  border:1.5px solid var(--bdr); border-radius:12px;
  font-size:14px; color:var(--dk); background:#fff;
  outline:none; font-family:inherit; transition:all .18s;
}
.ph-auth-card input[type=text]:focus,
.ph-auth-card input[type=email]:focus,
.ph-auth-card input[type=password]:focus { border-color:var(--t); box-shadow:0 0 0 3px rgba(43,191,179,.1); }
.ph-auth-card .woocommerce-form__input-checkbox { width:auto; }
.ph-auth-card .woocommerce-form-login__rememberme { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--mu); margin-bottom:16px; }
.ph-auth-card .woocommerce-Button,
.ph-auth-card button[type=submit] {
  width:100%; padding:15px; background:var(--t); color:#fff;
  border:none; border-radius:40px; font-size:15px; font-weight:700;
  cursor:pointer; font-family:inherit; transition:all .22s; margin-top:4px;
}
.ph-auth-card .woocommerce-Button:hover,
.ph-auth-card button[type=submit]:hover { background:var(--t2); box-shadow:0 8px 32px rgba(43,191,179,.35); }
.ph-auth-card .woocommerce-privacy-policy-text { font-size:11.5px; color:var(--mu2); line-height:1.55; margin-top:8px; }
.ph-auth-links { display:flex; justify-content:space-between; align-items:center; margin-top:20px; flex-wrap:wrap; gap:8px; }
.ph-auth-links a { font-size:13px; color:var(--mu); transition:color .15s; }
.ph-auth-links a:hover { color:var(--t); }
.ph-auth-links strong { color:var(--t); }

/* Right: brand panel */
.ph-auth-brand {
  background: linear-gradient(160deg, #040d0c, #0e2824 50%, #040d0c);
  display: flex; align-items: center; justify-content: center;
  padding: 60px 64px; position: relative; overflow: hidden;
}
.ph-auth-brand::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 40% 50%, rgba(43,191,179,.1), transparent 65%); pointer-events:none; }
.ph-auth-brand-inner { position:relative; z-index:2; max-width:400px; }
.ph-auth-brand-pill { display:inline-flex; align-items:center; gap:7px; background:rgba(43,191,179,.12); border:1px solid rgba(43,191,179,.3); border-radius:40px; padding:6px 16px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--t); margin-bottom:28px; }
.ph-auth-brand-h2 { font-family:'Barlow Condensed',sans-serif; font-size:clamp(40px,4.5vw,60px); font-weight:900; text-transform:uppercase; color:#fff; line-height:.88; letter-spacing:-.02em; margin-bottom:20px; }
.ph-auth-brand-h2 span { color:var(--t); }
.ph-auth-brand-sub { font-size:14px; color:rgba(255,255,255,.5); line-height:1.75; margin-bottom:36px; }
.ph-auth-perks { display:flex; flex-direction:column; gap:18px; }
.ph-auth-perk { display:flex; align-items:flex-start; gap:14px; }
.ph-auth-perk-icon { font-size:22px; flex-shrink:0; margin-top:2px; }
.ph-auth-perk strong { display:block; font-size:14px; font-weight:700; color:#fff; margin-bottom:2px; }
.ph-auth-perk p { font-size:12.5px; color:rgba(255,255,255,.45); margin:0; }

/* ═══════════════════════════════════════════════════
   CUSTOMER PORTAL (logged in)
   ═══════════════════════════════════════════════════ */
.ph-portal {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  min-height: calc(100vh - 72px);
  background: var(--off);
}

/* Sidebar */
.ph-portal-sidebar {
  background: #fff;
  border-right: 1px solid var(--bdr);
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  overflow-y: auto;
}

/* User card */
.ph-portal-user-card {
  background: var(--dk);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
}
.ph-portal-avatar {
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, var(--t), var(--t2));
  color: #fff; font-family: 'Barlow Condensed',sans-serif;
  font-size: 26px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px; letter-spacing: .02em;
  border: 3px solid rgba(43,191,179,.3);
}
.ph-portal-user-name { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.ph-portal-user-email { font-size: 11.5px; color: rgba(255,255,255,.4); margin-bottom: 16px; }
.ph-portal-points-row {
  background: rgba(43,191,179,.1); border: 1px solid rgba(43,191,179,.2);
  border-radius: 10px; padding: 10px 14px;
  display: flex; align-items: center; justify-content: space-between;
}
.ph-portal-points-val { font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:800; color:var(--t); }
.ph-portal-points-lbl { font-size:11px; color:rgba(255,255,255,.45); }
.ph-portal-points-icon { font-size:20px; }

/* Sidebar nav */
.ph-portal-nav { display:flex; flex-direction:column; gap:2px; }
.ph-portal-nav-item {
  display:flex; align-items:center; gap:10px;
  padding:12px 14px; border-radius:10px;
  font-size:13.5px; font-weight:500; color:var(--mu);
  text-decoration:none; transition:all .15s;
}
.ph-portal-nav-item:hover { background:var(--off); color:var(--dk); }
.ph-portal-nav-item.active { background:var(--tg); color:var(--t); font-weight:600; }
.ph-portal-nav-icon { font-size:16px; width:20px; text-align:center; flex-shrink:0; }
.ph-portal-nav-arrow { margin-left:auto; opacity:.3; }
.ph-portal-nav-item.active .ph-portal-nav-arrow,
.ph-portal-nav-item:hover .ph-portal-nav-arrow { opacity:.6; }
.ph-portal-nav-divider { height:1px; background:var(--bdr); margin:8px 0; }
.ph-portal-nav-logout { color:var(--mu); }
.ph-portal-nav-logout:hover { background:#fef2f2; color:#DC2626; }

/* VIP upgrade card */
.ph-portal-vip-card {
  background: linear-gradient(135deg, var(--dk), var(--dk2));
  border: 1px solid rgba(43,191,179,.2);
  border-radius: 14px; padding: 20px 16px; text-align: center;
}
.ph-portal-vip-crown { font-size:28px; margin-bottom:8px; }
.ph-portal-vip-card h4 { font-family:'Barlow Condensed',sans-serif; font-size:18px; font-weight:800; text-transform:uppercase; color:#fff; margin-bottom:6px; }
.ph-portal-vip-card p { font-size:11.5px; color:rgba(255,255,255,.45); line-height:1.5; margin-bottom:12px; }
.ph-portal-vip-price { font-family:'Barlow Condensed',sans-serif; font-size:32px; font-weight:900; color:var(--t); margin-bottom:14px; }
.ph-portal-vip-price span { font-size:14px; color:rgba(255,255,255,.4); }
.ph-portal-vip-btn { display:block; background:var(--t); color:#fff; padding:10px; border-radius:40px; font-size:13px; font-weight:700; text-decoration:none; transition:all .18s; }
.ph-portal-vip-btn:hover { background:var(--t2); }

/* Main content area */
.ph-portal-main {
  padding: 40px 48px;
  min-height: calc(100vh - 72px);
}

/* WC content inside portal */
.ph-portal-main .woocommerce-MyAccount-content > h3 {
  font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800;
  text-transform:uppercase; color:var(--dk); margin-bottom:20px; letter-spacing:-.01em;
}
.ph-portal-main p { font-size:14px; color:var(--mu); line-height:1.75; margin-bottom:12px; }

/* Dashboard welcome box */
.ph-portal-main .woocommerce-MyAccount-content {
  background: transparent;
}
/* Override WC default nav on dashboard (we have our own sidebar) */
.ph-portal .woocommerce-MyAccount-navigation { display: none !important; }
.ph-portal .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }

/* Orders table inside portal */
.ph-portal-main .woocommerce-orders-table,
.ph-portal-main .woocommerce-table {
  border: 1px solid var(--bdr); border-radius: var(--rl);
  overflow: hidden; border-collapse: collapse; width: 100%; font-size: 14px;
  background: #fff;
}
.ph-portal-main .woocommerce-orders-table th,
.ph-portal-main .woocommerce-table th {
  background: var(--off); padding: 12px 18px;
  font-size: 11px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--mu); border-bottom: 1px solid var(--bdr); text-align: left;
}
.ph-portal-main .woocommerce-orders-table td,
.ph-portal-main .woocommerce-table td {
  padding: 14px 18px; border-bottom: 1px solid #f5f5f5; vertical-align: middle; color: var(--dk);
}
.ph-portal-main .woocommerce-orders-table tr:last-child td { border-bottom: none; }
.ph-portal-main .woocommerce-orders-table .button,
.ph-portal-main .woocommerce-button {
  background: var(--t); color: #fff; padding: 6px 16px; border-radius: 40px;
  font-size: 12px; font-weight: 600; text-decoration: none; transition: all .15s; border: none; cursor: pointer; font-family: inherit;
}
.ph-portal-main .woocommerce-orders-table .button:hover { background: var(--t2); }
.ph-portal-main .woocommerce-Message { background:#ecfdf5; border:1px solid rgba(5,150,105,.2); color:#065f46; padding:14px 18px; border-radius:var(--r); font-size:14px; margin-bottom:20px; }

/* Account forms inside portal */
.ph-portal-main .woocommerce-EditAccountForm .form-row,
.ph-portal-main .woocommerce-address-fields .form-row { margin-bottom: 16px; }
.ph-portal-main label { font-size:12px; font-weight:600; display:block; margin-bottom:5px; color:var(--dk); }
.ph-portal-main input[type=text],
.ph-portal-main input[type=email],
.ph-portal-main input[type=password],
.ph-portal-main select,
.ph-portal-main textarea {
  width:100%; padding:12px 16px;
  border:1.5px solid var(--bdr); border-radius:var(--r);
  font-size:14px; color:var(--dk); background:#fff; outline:none;
  font-family:inherit; transition:all .18s;
}
.ph-portal-main input:focus,
.ph-portal-main select:focus,
.ph-portal-main textarea:focus { border-color:var(--t); box-shadow:0 0 0 3px rgba(43,191,179,.1); }
.ph-portal-main .woocommerce-Button.button,
.ph-portal-main button[type=submit] {
  background:var(--t); color:#fff; border:none;
  padding:13px 28px; border-radius:40px; font-size:14px; font-weight:700;
  cursor:pointer; font-family:inherit; transition:all .22s;
}
.ph-portal-main .woocommerce-Button.button:hover,
.ph-portal-main button[type=submit]:hover { background:var(--t2); box-shadow:0 8px 32px rgba(43,191,179,.35); }
.ph-portal-main .woocommerce-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ph-portal-main .woocommerce-column { background:#fff; border:1.5px solid var(--bdr); border-radius:var(--rl); padding:24px; }
.ph-portal-main .woocommerce-column h2 { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; color:var(--dk); margin-bottom:16px; }

/* Dashboard stats strip */
.ph-portal-main .woocommerce-MyAccount-content > p:first-child {
  background: linear-gradient(135deg, var(--dk), var(--dk2));
  color: rgba(255,255,255,.7);
  padding: 20px 24px;
  border-radius: var(--rl);
  margin-bottom: 28px;
  font-size: 14px;
  line-height: 1.7;
}
.ph-portal-main .woocommerce-MyAccount-content > p:first-child strong { color: #fff; }

/* ── AUTH + PORTAL RESPONSIVE ── */
@media(max-width:900px){
  .ph-auth-page { grid-template-columns:1fr; min-height:auto; }
  .ph-auth-card { max-width:100%; padding:40px 28px; }
  .ph-auth-brand { display:none; }
  .ph-portal { grid-template-columns:1fr; }
  .ph-portal-sidebar { position:static; height:auto; flex-direction:column; }
  .ph-portal-main { padding:24px 20px; }
  .ph-portal-main .woocommerce-columns { grid-template-columns:1fr; }
}
@media(max-width:640px){
  .ph-auth-card { padding:32px 20px; }
  .ph-auth-tabs { margin-bottom:20px; }
  .ph-portal-main { padding:20px 16px; }
}

/* ═══════════════════════════════════════════════════
   FULL AUTH PAGE — Sign In / Register / Reset
   ═══════════════════════════════════════════════════ */
.ph-auth-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 72px);
  background: #fff;
}
.ph-auth-left {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 48px;
  background: #fff;
}
.ph-auth-form-wrap { width: 100%; max-width: 440px; }
.ph-auth-logo-link { display:block; margin-bottom:36px; }
.ph-auth-logo-img { height:40px; width:auto; }

/* Tabs */
.ph-auth-tabs {
  display:flex; background:var(--off); border-radius:12px;
  padding:4px; gap:4px; margin-bottom:28px;
}
.ph-auth-tab {
  flex:1; padding:11px; border:none; background:transparent;
  border-radius:9px; font-size:14px; font-weight:600;
  color:var(--mu); cursor:pointer; transition:all .18s; font-family:inherit;
}
.ph-auth-tab.active {
  background:#fff; color:var(--dk);
  box-shadow:0 1px 8px rgba(0,0,0,.09);
}

/* Panels */
.ph-auth-panel { display:none; animation:fadeUp .22s ease; }
.ph-auth-panel.active { display:block; }
@keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.ph-auth-welcome { font-size:13.5px; color:var(--mu); margin-bottom:22px; }
.ph-auth-panel-title {
  font-family:'Barlow Condensed',sans-serif; font-size:30px;
  font-weight:800; text-transform:uppercase; color:var(--dk); margin-bottom:6px;
}
.ph-auth-back-btn {
  display:flex; align-items:center; gap:6px; background:none; border:none;
  color:var(--t); font-size:13px; font-weight:600; cursor:pointer;
  padding:0; margin-bottom:16px; font-family:inherit; transition:opacity .15s;
}
.ph-auth-back-btn:hover { opacity:.7; }

/* Form elements */
.ph-auth-form { display:flex; flex-direction:column; gap:0; }
.ph-form-group { margin-bottom:16px; }
.ph-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:0; }
.ph-form-group label { font-size:12px; font-weight:600; color:var(--dk); display:block; margin-bottom:6px; letter-spacing:.02em; }
.ph-form-group input {
  width:100%; padding:13px 16px;
  border:1.5px solid var(--bdr); border-radius:12px;
  font-size:14px; color:var(--dk); background:#fff;
  outline:none; font-family:inherit; transition:all .18s;
}
.ph-form-group input:focus { border-color:var(--t); box-shadow:0 0 0 3px rgba(43,191,179,.1); }
.ph-form-group input::placeholder { color:var(--mu2); }
.ph-pw-wrap { position:relative; }
.ph-pw-wrap input { padding-right:44px; }
.ph-pw-toggle {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; color:var(--mu2);
  padding:0; display:flex; align-items:center;
}
.ph-pw-toggle:hover { color:var(--dk); }
.ph-form-check {
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--mu); cursor:pointer; margin-bottom:16px;
}
.ph-form-check input { width:16px; height:16px; accent-color:var(--t); flex-shrink:0; cursor:pointer; }
.ph-form-check-terms span a { color:var(--t); }
.ph-auth-submit {
  width:100%; padding:15px; background:var(--t); color:#fff;
  border:none; border-radius:40px; font-size:15px; font-weight:700;
  cursor:pointer; font-family:inherit; transition:all .22s;
  letter-spacing:.01em; margin-top:4px; margin-bottom:0;
}
.ph-auth-submit:hover { background:var(--t2); box-shadow:0 8px 32px rgba(43,191,179,.4); transform:translateY(-1px); }
.ph-auth-foot {
  display:flex; justify-content:space-between; align-items:center;
  margin-top:18px; flex-wrap:wrap; gap:8px;
}
.ph-auth-link-btn {
  background:none; border:none; font-size:13px; color:var(--mu);
  cursor:pointer; padding:0; font-family:inherit; transition:color .15s;
}
.ph-auth-link-btn:hover { color:var(--t); }
.ph-auth-link-btn strong { color:var(--t); font-weight:600; }

/* WC notices inside auth form */
.ph-auth-form .woocommerce-error,
.ph-auth-form .woocommerce-message,
.ph-auth-form .woocommerce-info {
  padding:12px 16px; border-radius:var(--r); font-size:13px;
  margin-bottom:16px; list-style:none; display:block;
}
.ph-auth-form .woocommerce-error { background:#fef2f2; border:1px solid rgba(220,38,38,.2); color:#991b1b; }
.ph-auth-form .woocommerce-message { background:#ecfdf5; border:1px solid rgba(5,150,105,.2); color:#065f46; }
.ph-auth-form .woocommerce-info { background:#eff6ff; border:1px solid rgba(37,99,235,.2); color:#1e40af; }

/* Right brand panel */
.ph-auth-right {
  background: linear-gradient(160deg, #040d0c 0%, #0b2220 50%, #040d0c 100%);
  display: flex; align-items: center; justify-content: center;
  padding: 60px 56px; position: relative; overflow: hidden;
}
.ph-auth-right::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 70% at 40% 50%, rgba(43,191,179,.1), transparent 65%);
  pointer-events:none;
}
.ph-auth-right-inner { position:relative; z-index:2; max-width:420px; }
.ph-auth-brand-pill {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(43,191,179,.12); border:1px solid rgba(43,191,179,.3);
  border-radius:40px; padding:6px 18px; font-size:11px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--t); margin-bottom:28px;
}
.ph-auth-brand-h2 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(42px,5vw,64px); font-weight:900;
  text-transform:uppercase; color:#fff; line-height:.88;
  letter-spacing:-.02em; margin-bottom:20px;
}
.ph-auth-brand-h2 span { color:var(--t); }
.ph-auth-brand-sub { font-size:14px; color:rgba(255,255,255,.48); line-height:1.75; margin-bottom:36px; }
.ph-auth-perks { display:flex; flex-direction:column; gap:18px; }
.ph-auth-perk { display:flex; align-items:flex-start; gap:14px; }
.ph-auth-perk-icon {
  width:44px; height:44px; border-radius:12px;
  background:rgba(43,191,179,.1); border:1px solid rgba(43,191,179,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex-shrink:0;
}
.ph-auth-perk strong { display:block; font-size:14px; font-weight:700; color:#fff; margin-bottom:2px; }
.ph-auth-perk p { font-size:12.5px; color:rgba(255,255,255,.42); margin:0; line-height:1.5; }

/* ═══════════════════════════════════════════════════
   CUSTOMER PORTAL — Dashboard
   ═══════════════════════════════════════════════════ */
.ph-portal-dashboard {}
.ph-portal-content-title {
  font-family:'Barlow Condensed',sans-serif; font-size:34px; font-weight:800;
  text-transform:uppercase; color:var(--dk); margin-bottom:28px; letter-spacing:-.01em;
}

/* Stats row */
.ph-portal-stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px;
}
.ph-portal-stat {
  background:#fff; border:1.5px solid var(--bdr); border-radius:var(--rl);
  padding:20px; text-align:center; transition:all .18s;
}
.ph-portal-stat:hover { border-color:rgba(43,191,179,.25); transform:translateY(-2px); box-shadow:var(--sh); }
.ph-portal-stat-val { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; color:var(--dk); line-height:1; margin-bottom:4px; }
.ph-portal-stat-lbl { font-size:11.5px; color:var(--mu); font-weight:500; }
.ph-portal-stat-teal .ph-portal-stat-val { color:var(--t); }

/* Quick links */
.ph-portal-quicklinks { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:32px; }
.ph-portal-quicklink {
  display:flex; align-items:center; gap:14px; background:#fff;
  border:1.5px solid var(--bdr); border-radius:var(--rl); padding:18px 16px;
  text-decoration:none; color:inherit; transition:all .18s;
}
.ph-portal-quicklink:hover { border-color:rgba(43,191,179,.3); background:var(--tg); transform:translateY(-2px); box-shadow:var(--sh); }
.ph-portal-quicklink-icon { font-size:24px; flex-shrink:0; width:44px; height:44px; background:var(--off); border-radius:10px; display:flex; align-items:center; justify-content:center; }
.ph-portal-quicklink strong { display:block; font-size:14px; font-weight:600; color:var(--dk); margin-bottom:2px; }
.ph-portal-quicklink p { font-size:12px; color:var(--mu); margin:0; }
.ph-portal-quicklink svg { margin-left:auto; color:var(--mu2); flex-shrink:0; }

/* Recent orders */
.ph-portal-recent { margin-top:8px; }
.ph-portal-section-hdr { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.ph-portal-section-hdr h3 { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:700; text-transform:uppercase; color:var(--dk); }
.ph-portal-section-hdr a { font-size:13px; color:var(--t); font-weight:600; text-decoration:none; }
.ph-portal-orders-table-wrap { background:#fff; border:1.5px solid var(--bdr); border-radius:var(--rl); overflow:hidden; }
.ph-portal-orders-table { width:100%; border-collapse:collapse; font-size:14px; }
.ph-portal-orders-table th { background:var(--off); padding:12px 18px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mu); border-bottom:1px solid var(--bdr); text-align:left; }
.ph-portal-orders-table td { padding:14px 18px; border-bottom:1px solid #f5f5f5; vertical-align:middle; }
.ph-portal-orders-table tr:last-child td { border-bottom:none; }
.ph-portal-order-link { color:var(--t); font-size:13px; font-weight:600; text-decoration:none; }
.ph-portal-order-link:hover { opacity:.75; }

/* Empty state */
.ph-portal-empty { text-align:center; padding:60px 20px; }
.ph-portal-empty-icon { font-size:52px; margin-bottom:16px; }
.ph-portal-empty h3 { font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:700; text-transform:uppercase; color:var(--dk); margin-bottom:8px; }
.ph-portal-empty p { font-size:14px; color:var(--mu); margin-bottom:24px; }

/* ── AUTH + PORTAL RESPONSIVE ── */
@media(max-width:1100px){
  .ph-portal-stats { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px){
  .ph-auth-page { grid-template-columns:1fr; }
  .ph-auth-right { display:none; }
  .ph-auth-left { padding:40px 24px; }
  .ph-auth-form-wrap { max-width:100%; }
  .ph-portal { grid-template-columns:1fr; }
  .ph-portal-sidebar { position:static; height:auto; border-right:none; border-bottom:1px solid var(--bdr); padding:24px 20px; flex-direction:row; flex-wrap:wrap; align-items:flex-start; }
  .ph-portal-user-card { flex:1; min-width:220px; }
  .ph-portal-nav { flex-direction:row; flex-wrap:wrap; flex:2; }
  .ph-portal-nav-item { flex:none; }
  .ph-portal-vip-card { flex:1; min-width:200px; }
  .ph-portal-main { padding:28px 20px; }
  .ph-portal-quicklinks { grid-template-columns:1fr; }
  .ph-portal-stats { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .ph-form-row { grid-template-columns:1fr; }
  .ph-auth-tabs { margin-bottom:16px; }
  .ph-portal-stats { grid-template-columns:1fr 1fr; gap:10px; }
  .ph-portal-sidebar { flex-direction:column; }
  .ph-portal-nav { flex-direction:column; }
  .ph-portal-main { padding:20px 16px; }
  .ph-portal-orders-table th:nth-child(2),
  .ph-portal-orders-table td:nth-child(2) { display:none; }
}

/* ═══════════════════════════════════════════════
   DEFINITIVE PRODUCT IMAGE FIX — ALL DEVICES
   
   Root cause analysis from pixel sampling:
   - Product JPG bg: #fbfbfb
   - Card body bg: #ffffff  
   - Image wrap rendering: #f8fafb (from --off variable)
   - These 3 different values = visible box
   
   Fix: Unify everything to #ffffff + brightness(1.016)
   which mathematically converts any #fbfbfb pixel → #ffffff
   Result: bottle floats seamlessly. No box. No edge.
   ═══════════════════════════════════════════════ */

/* Card: clean white, light border, no shadow */
.ph-card {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.ph-card:hover {
  border-color: rgba(43,191,179,.35) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.06) !important;
  transform: translateY(-3px) !important;
}

/* Image wrap: pure white, zero padding, fills full card width */
.ph-card-img-wrap {
  width: 100% !important;
  height: 190px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Image: brightness lifts #fbfbfb → #fff, multiply fuses whites */
.ph-card-img {
  display: block !important;
  width: auto !important;
  height: 140px !important;
  max-width: 80% !important;
  object-fit: contain !important;
  filter: brightness(1.018) !important;
  mix-blend-mode: multiply !important;
  transition: transform .28s ease !important;
  margin: 0 auto !important;
}
.ph-card:hover .ph-card-img {
  transform: scale(1.06) translateY(-4px) !important;
  filter: brightness(1.018) !important;
}

/* Card info: white, no separate bg */
.ph-card-info {
  background: #fff !important;
  padding: 14px 14px 10px !important;
}
.ph-card-name { font-family:'Barlow Condensed',sans-serif !important; font-size:18px !important; font-weight:700 !important; }
.ph-card-trust { font-size:10px !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ph-card-btn {
  display: block !important;
  margin: 0 14px 14px !important;
  padding: 10px !important;
  background: #0D1117 !important;
  color: #fff !important;
  border-radius: 40px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .18s !important;
  border: none !important;
  cursor: pointer !important;
}
.ph-card-btn:hover { background: var(--t) !important; color: #fff !important; }

/* Mobile: make sure no gap shows around image */
@media (max-width: 768px) {
  .ph-card-img-wrap {
    height: 160px !important;
  }
  .ph-card-img {
    height: 120px !important;
    max-width: 75% !important;
  }
  .ph-card-info { padding: 10px 10px 8px !important; }
  .ph-card-name { font-size: 15px !important; }
  .ph-card-btn { margin: 0 10px 10px !important; font-size: 12px !important; padding: 9px !important; }
}
@media (max-width: 480px) {
  .ph-card-img-wrap { height: 140px !important; }
  .ph-card-img { height: 108px !important; }
}

/* PDP image — same treatment */
.ph-pdp-img-box {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
}
.ph-pdp-img {
  filter: brightness(1.018) !important;
  mix-blend-mode: multiply !important;
}

/* WooCommerce loop images */
.woocommerce ul.products li.product img {
  filter: brightness(1.018) !important;
  mix-blend-mode: multiply !important;
  background: #fff !important;
}

/* Trust bar: 6 items = 3x2 on mobile, row on desktop */
@media (max-width: 640px) {
  .ph-trust-inner {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }
  .ph-trust-item {
    padding: 14px 8px !important;
    border-right: none !important;
  }
  .ph-trust-item::after { display: none !important; }
  .ph-trust-val { font-size: 18px !important; }
  .ph-trust-lbl { font-size: 10px !important; }
}

/* Sticky 20% off trigger button - always visible bottom right */
.ph-popup-trigger {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 888;
  background: var(--t);
  color: #fff;
  border: none;
  border-radius: 40px;
  padding: 13px 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 8px 32px rgba(43,191,179,.45);
  transition: all .22s;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  letter-spacing: .01em;
}
.ph-popup-trigger:hover {
  background: var(--t2);
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(43,191,179,.55);
}
.ph-popup-trigger .ph-pt-badge {
  background: #fff;
  color: var(--t);
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 40px;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .ph-popup-trigger {
    bottom: 16px;
    right: 16px;
    padding: 11px 16px;
    font-size: 12px;
  }
}

/* ═══ COA / TESTING PAGE ═══ */
.ph-coa-page { background: #fff; }
.ph-coa-hero {
  background: linear-gradient(160deg, #040d0c, #0b2220 50%, #040d0c);
  padding: 72px 0 80px; text-align: center; position: relative; overflow: hidden;
}
.ph-coa-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50%, rgba(43,191,179,.08), transparent 55%); pointer-events:none; }
.ph-coa-hero-inner { max-width: 760px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 2; }
.ph-coa-hero-h1 { font-family:'Barlow Condensed',sans-serif; font-size:clamp(44px,6vw,72px); font-weight:900; text-transform:uppercase; color:#fff; line-height:.88; letter-spacing:-.02em; margin-bottom:16px; }
.ph-coa-hero-h1 span { color:var(--t); }
.ph-coa-hero-sub { font-size:14px; color:rgba(255,255,255,.5); line-height:1.7; max-width:560px; margin:0 auto 28px; }
.ph-coa-hero-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ph-coa-hero-badge { background:rgba(43,191,179,.1); border:1px solid rgba(43,191,179,.25); border-radius:40px; padding:7px 16px; font-size:12px; font-weight:600; color:var(--t); }
.ph-coa-how { background:var(--off); border-bottom:1px solid var(--bdr); padding:52px 48px; }
.ph-coa-how-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ph-coa-how-card { background:#fff; border:1.5px solid var(--bdr); border-radius:var(--rl); padding:24px 20px; text-align:center; transition:all .2s; }
.ph-coa-how-card:hover { border-color:rgba(43,191,179,.3); transform:translateY(-3px); box-shadow:var(--sh); }
.ph-coa-how-icon { font-size:28px; margin-bottom:12px; }
.ph-coa-how-card h3 { font-family:'Barlow Condensed',sans-serif; font-size:17px; font-weight:700; text-transform:uppercase; color:var(--dk); margin-bottom:6px; }
.ph-coa-how-card p { font-size:12.5px; color:var(--mu); line-height:1.6; }
.ph-coa-products-section { padding:56px 0 80px; }
.ph-coa-products-inner { max-width:1140px; margin:0 auto; padding:0 48px; }
.ph-coa-products-title { font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800; text-transform:uppercase; color:var(--dk); margin-bottom:8px; }
.ph-coa-products-sub { font-size:14px; color:var(--mu); line-height:1.7; max-width:640px; margin-bottom:44px; }
.ph-coa-cat-block { margin-bottom:48px; }
.ph-coa-cat-name { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; color:var(--dk); padding-bottom:10px; border-bottom:2px solid var(--bdr); margin-bottom:18px; }
.ph-coa-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ph-coa-product-card { background:#fff; border:1.5px solid var(--bdr); border-radius:var(--rl); padding:20px; display:flex; flex-direction:column; gap:14px; transition:border-color .18s; }
.ph-coa-product-card:hover { border-color:rgba(43,191,179,.3); }
.ph-coa-prod-top { text-decoration:none; color:inherit; display:flex; align-items:center; gap:14px; }
.ph-coa-prod-img-wrap { width:64px; height:64px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#fff; }
.ph-coa-prod-img { width:60px; height:60px; object-fit:contain; mix-blend-mode:multiply; filter:brightness(1.018); }
.ph-coa-prod-no-img { font-size:28px; }
.ph-coa-prod-name { font-size:14px; font-weight:700; color:var(--dk); line-height:1.3; }
.ph-coa-docs { display:flex; flex-direction:column; gap:8px; }
.ph-coa-doc-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ph-coa-doc-info { display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--mu); font-weight:500; }
.ph-coa-doc-btn { display:inline-flex; align-items:center; gap:4px; padding:5px 12px; border-radius:40px; font-size:11px; font-weight:700; white-space:nowrap; text-decoration:none; flex-shrink:0; }
.ph-coa-doc-available { background:#ecfdf5; color:#059669; border:1px solid rgba(5,150,105,.2); }
.ph-coa-doc-soon { background:var(--off); color:var(--mu2); border:1px solid var(--bdr); cursor:default; }
.ph-coa-view-product { font-size:12px; color:var(--t); font-weight:600; text-decoration:none; transition:opacity .15s; }
.ph-coa-view-product:hover { opacity:.7; }
.ph-coa-note { background:#fffbeb; border-top:1px solid rgba(217,119,6,.15); padding:20px 48px; }
.ph-coa-note-inner { max-width:1140px; margin:0 auto; font-size:13px; color:#92400e; line-height:1.65; }
@media(max-width:900px){
  .ph-coa-how { padding:40px 20px; }
  .ph-coa-how-inner { grid-template-columns:1fr 1fr; }
  .ph-coa-product-grid { grid-template-columns:1fr 1fr; }
  .ph-coa-products-inner { padding:0 20px; }
  .ph-coa-note { padding:16px 20px; }
}
@media(max-width:640px){
  .ph-coa-how-inner { grid-template-columns:1fr 1fr; }
  .ph-coa-product-grid { grid-template-columns:1fr; }
  .ph-coa-doc-row { flex-wrap:wrap; gap:6px; }
}

/* ═══ OVERFLOW FIX — prevent horizontal scroll/shift ═══ */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
* { box-sizing: border-box; }

/* Sticky popup trigger must not affect layout width */
.ph-popup-trigger {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 888 !important;
  /* Ensure it doesn't push document width */
  max-width: calc(100vw - 48px) !important;
}

/* ═══════════════════════════════════════════
   COMPREHENSIVE OVERFLOW FIX
   Prevents any element from causing horizontal
   page scroll or layout shift
   ═══════════════════════════════════════════ */
html {
  overflow-x: hidden !important;
}
body {
  overflow-x: hidden !important;
  width: 100% !important;
  position: relative !important;
}

/* All section containers: never exceed viewport */
.ph-hero,
.ph-trust,
.ph-products-section,
.ph-bestsellers-section,
.ph-about,
.ph-rewards,
.ph-bac-section,
.ph-inline-faq,
.ph-nl-section,
.ph-footer,
.ph-shop-hero,
.ph-shop-body,
.woo-wrap,
.ph-coa-page,
.ph-auth-page,
.ph-portal {
  overflow-x: hidden !important;
}

/* Inner containers with 80px padding — cap on mobile */
.ph-about-grid,
.ph-rewards-inner,
.ph-footer-inner,
.ph-bac-inner {
  padding-left: clamp(16px, 5vw, 80px) !important;
  padding-right: clamp(16px, 5vw, 80px) !important;
}

/* Section headers with 48px padding */
.ph-section-hdr,
.ph-coa-products-inner,
.ph-coa-how,
.ph-inline-faq-inner {
  padding-left: clamp(16px, 3.5vw, 48px) !important;
  padding-right: clamp(16px, 3.5vw, 48px) !important;
}

/* Product grids */
.ph-home-grid,
.woocommerce ul.products {
  max-width: 100% !important;
  padding-left: clamp(12px, 3.5vw, 48px) !important;
  padding-right: clamp(12px, 3.5vw, 48px) !important;
  overflow: hidden !important;
}

/* Nav top */
.ph-nav-top {
  padding-left: clamp(16px, 3.5vw, 48px) !important;
  padding-right: clamp(16px, 3.5vw, 48px) !important;
}

/* Footer bottom bar */
.ph-footer-bottom {
  padding-left: clamp(16px, 5vw, 80px) !important;
  padding-right: clamp(16px, 5vw, 80px) !important;
}

/* ══════════════════════════════════════════
   FIX: uniform product-card heights
   The grid item is the <li>, but the .ph-card
   inside it never stretched to fill it, so cards
   with longer/wrapping names came out uneven and
   the "Add to Cart" buttons didn't line up.
   Stretch the card to the full row, force equal
   rows, and reserve 2 lines for the name.
   ══════════════════════════════════════════ */
.ph-home-grid { grid-auto-rows: 1fr !important; align-items: stretch !important; }
.ph-home-grid > li { display: flex !important; }
.ph-home-grid > li > .ph-card { width: 100% !important; height: 100% !important; }

/* card stays a flex column; image link grows so the
   button is always pinned to the bottom edge */
.ph-card { display: flex !important; flex-direction: column !important; }
.ph-card-img-link { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; }
.ph-card-info { flex: 1 1 auto !important; }

/* reserve two lines for the name so 1-line and 2-line
   titles occupy identical vertical space → trust row
   and everything below lines up across every card */
.ph-card-name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.2em !important;
  line-height: 1.1 !important;
}

/* ══════════════════════════════════════════
   FIX 2: center the product grid + stop overflow
   The section HEADER was centered to max-width:1380px,
   but the GRID below it spanned full width with no
   margin:auto, and its 1fr tracks could overflow and
   get clipped by overflow:hidden — shoving the cards
   to the right. Center the grid to the same column as
   the header, drop the duplicate wrapper padding, and
   let columns shrink with minmax(0,1fr) so they never
   overflow.
   ══════════════════════════════════════════ */

/* remove the inline 0 48px padding on the grid wrapper so the
   grid's own centered column controls alignment (matches header) */
.ph-bestsellers-section > div[style],
.ph-products-section > div[style] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* center the grid to the same 1380px column as the header */
.ph-home-grid {
  max-width: 1380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* responsive column counts — same as the theme's, but with
   minmax(0,1fr) so tracks can shrink and never overflow/clip */
@media (max-width: 768px) {
  .ph-home-grid,
  .ph-bestsellers-section .ph-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .ph-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .ph-bestsellers-section .ph-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 420px) {
  .ph-home-grid,
  .ph-bestsellers-section .ph-home-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════
   AGE VERIFICATION GATE (21+)
   ══════════════════════════════════════════ */
html.ph-gate-lock,
html.ph-gate-lock body { overflow:hidden; height:100%; }
.ph-age-gate{
  position:fixed; inset:0; z-index:100000;
  background:rgba(4,13,12,.94);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  padding:20px; opacity:1; transition:opacity .35s ease;
}
.ph-age-gate.hide{ opacity:0; pointer-events:none; }
.ph-age-box{
  background:var(--dk); border:1px solid rgba(255,255,255,.08);
  border-radius:24px; max-width:460px; width:100%;
  padding:44px 34px; text-align:center;
  box-shadow:0 40px 120px rgba(0,0,0,.5);
  transform:translateY(0); transition:transform .35s ease;
}
.ph-age-gate.hide .ph-age-box{ transform:translateY(14px); }
.ph-age-icon{ font-size:38px; margin-bottom:14px; line-height:1; }
.ph-age-badge{
  display:inline-block; background:rgba(43,191,179,.15);
  border:1px solid rgba(43,191,179,.3); border-radius:40px;
  padding:6px 16px; font-size:10.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--t);
  margin-bottom:16px;
}
.ph-age-h2{
  font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:900;
  text-transform:uppercase; color:#fff; line-height:1.12; margin-bottom:14px;
}
.ph-age-h2 span{ color:var(--t); }
.ph-age-p{
  font-size:13px; color:rgba(255,255,255,.55); line-height:1.65;
  margin-bottom:26px;
}
.ph-age-btns{ display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.ph-age-yes{
  width:100%; padding:16px; background:var(--t); color:#fff; border:none;
  border-radius:14px; font-size:14.5px; font-weight:800; cursor:pointer;
  font-family:inherit; transition:all .2s;
}
.ph-age-yes:hover{ background:var(--t2); box-shadow:0 10px 34px rgba(43,191,179,.4); }
.ph-age-no{
  width:100%; padding:14px; background:transparent; color:rgba(255,255,255,.5);
  border:1.5px solid rgba(255,255,255,.15); border-radius:14px; font-size:13px;
  font-weight:600; cursor:pointer; font-family:inherit; transition:all .2s;
}
.ph-age-no:hover{ border-color:rgba(255,255,255,.32); color:#fff; }
.ph-age-foot{ font-size:10.5px; color:rgba(255,255,255,.32); line-height:1.65; }
.ph-age-foot a{ color:var(--t); text-decoration:underline; }
@media (max-width:480px){
  .ph-age-box{ padding:34px 22px; }
  .ph-age-h2{ font-size:25px; }
}

/* ══════════════════════════════════════════
   BAC WATER ADD-ON (product page)
   ══════════════════════════════════════════ */
.ph-addon-box{
  display:flex; align-items:flex-start; gap:14px;
  background:var(--tg); border:1.5px solid rgba(43,191,179,.35);
  border-radius:16px; padding:18px 20px; margin-bottom:18px;
  cursor:pointer; transition:all .18s;
}
.ph-addon-box:hover{ border-color:var(--t); }
.ph-addon-check{ position:relative; flex-shrink:0; margin-top:2px; width:22px; height:22px; }
.ph-addon-check input{
  position:absolute; inset:0; opacity:0; width:22px; height:22px;
  margin:0; cursor:pointer; z-index:2;
}
.ph-addon-check-mark{
  display:flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:6px; border:1.5px solid var(--bdr);
  background:#fff; color:transparent; font-size:13px; font-weight:800;
  transition:all .15s;
}
.ph-addon-check input:checked + .ph-addon-check-mark{
  background:var(--dk); border-color:var(--dk); color:#fff;
}
.ph-addon-body{ flex:1; min-width:0; }
.ph-addon-title{ display:block; font-size:14.5px; font-weight:700; color:var(--dk); margin-bottom:3px; }
.ph-addon-desc{ display:block; font-size:11.5px; color:var(--mu); line-height:1.5; }
.ph-addon-price{ flex-shrink:0; font-size:15px; font-weight:800; color:var(--dk); white-space:nowrap; margin-top:1px; }
@media (max-width:640px){
  .ph-addon-box{ flex-wrap:wrap; }
  .ph-addon-price{ margin-left:36px; }
}

/* ══════════════════════════════════════════
   ROLLING TRUST BANNER (site-wide, above nav)
   ══════════════════════════════════════════ */
.ph-marquee-wrap{ background:var(--dk); overflow:hidden; position:relative; width:100%; }
.ph-marquee-track{
  display:flex; width:max-content;
  animation:ph-marquee-scroll 34s linear infinite;
  will-change:transform;
}
.ph-marquee-wrap:hover .ph-marquee-track{ animation-play-state:paused; }
.ph-marquee-group{ display:flex; align-items:center; flex-shrink:0; }
.ph-marquee-item{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 26px; font-size:11px; font-weight:700;
  letter-spacing:.09em; text-transform:uppercase; color:#fff; white-space:nowrap;
}
.ph-marquee-item svg{ flex-shrink:0; color:#3ECF8E; }
@keyframes ph-marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion:reduce){
  .ph-marquee-track{ animation:none; flex-wrap:wrap; width:100%; }
  .ph-marquee-group:last-child{ display:none; }
}
@media (max-width:640px){
  .ph-marquee-item{ padding:8px 18px; font-size:10px; gap:6px; }
}

/* ══════════════════════════════════════════
   WHOLESALE PROGRAM PAGE
   ══════════════════════════════════════════ */
.ph-wsl-hero{ padding-bottom:56px; }
.ph-wsl-body{ max-width:1000px; margin:0 auto; padding:0 24px 90px; }

.ph-wsl-label{
  text-align:center; font-size:11px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--mu); margin-bottom:22px;
}

/* Who this is for — cards */
.ph-wsl-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:40px;
}
.ph-wsl-card{
  background:var(--off); border:1px solid var(--bdr);
  border-radius:var(--r); padding:22px 18px; text-align:center;
}
.ph-wsl-card-label{
  font-size:12.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  color:var(--t); margin-bottom:8px;
}
.ph-wsl-card-desc{ font-size:13px; color:var(--mu); line-height:1.55; }

/* Benefits box */
.ph-wsl-benefits{
  background:#fff; border:1px solid var(--bdr);
  border-radius:var(--rl); padding:36px 40px; margin-bottom:32px;
  box-shadow:0 4px 24px rgba(13,17,23,.04);
}
.ph-wsl-benefits h2{
  font-family:'Barlow Condensed',sans-serif; font-size:26px; font-weight:800;
  color:var(--dk); text-transform:uppercase; letter-spacing:-.01em; margin-bottom:22px;
}
.ph-wsl-check-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:14px 32px;
}
.ph-wsl-check-item{
  display:flex; align-items:flex-start; gap:11px; font-size:13.5px;
  color:var(--mu); line-height:1.5;
}
.ph-wsl-check-item svg{ flex-shrink:0; color:var(--t); margin-top:3px; }

/* Trust pills — reuses the site's existing .ph-chip badge style */
.ph-wsl-pills{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:64px;
}
.ph-wsl-pills .ph-chip{ font-size:11.5px; padding:9px 18px; }

/* Request form card */
.ph-wsl-formcard{
  background:#fff; border:1px solid var(--bdr);
  border-radius:var(--rl); padding:44px; max-width:760px; margin:0 auto;
  box-shadow:0 4px 24px rgba(13,17,23,.04);
}
.ph-wsl-formcard h2{
  font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:800;
  color:var(--dk); text-transform:uppercase; letter-spacing:-.01em; margin-bottom:10px;
}
.ph-wsl-form-sub{ font-size:13.5px; color:var(--mu); line-height:1.6; margin-bottom:30px; }

.ph-wsl-fgroup{ margin-bottom:20px; }
.ph-wsl-fgroup label{
  display:block; font-size:12.5px; font-weight:600; color:var(--dk);
  margin-bottom:8px; letter-spacing:.01em;
}
.ph-wsl-fgroup label em{ color:#DC2626; font-style:normal; margin-left:2px; }
.ph-wsl-fgroup input,
.ph-wsl-fgroup select,
.ph-wsl-fgroup textarea{
  width:100%; background:#fff; border:1.5px solid var(--bdr);
  border-radius:12px; padding:13px 16px; font-size:14px; color:var(--dk);
  font-family:inherit; transition:border-color .18s;
}
.ph-wsl-fgroup select{ appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;
}
.ph-wsl-fgroup textarea{ resize:vertical; min-height:100px; font-family:inherit; }
.ph-wsl-fgroup input::placeholder,
.ph-wsl-fgroup textarea::placeholder{ color:var(--mu2); }
.ph-wsl-fgroup input:focus,
.ph-wsl-fgroup select:focus,
.ph-wsl-fgroup textarea:focus{
  outline:none; border-color:var(--t); box-shadow:0 0 0 3px rgba(43,191,179,.1);
}

.ph-wsl-submit-btn{
  padding:15px 34px; background:var(--t); color:#fff; border:none; border-radius:12px;
  font-size:14.5px; font-weight:800; cursor:pointer; font-family:inherit; transition:all .2s;
}
.ph-wsl-submit-btn:hover{ background:var(--t2); box-shadow:0 10px 30px rgba(43,191,179,.3); }
.ph-wsl-submit-btn:disabled{ opacity:.6; cursor:default; }

.ph-wsl-success{ text-align:center; padding:20px 0 4px; }
.ph-wsl-success-icon{
  width:52px; height:52px; margin:0 auto 18px; border-radius:50%;
  background:var(--tg); color:var(--t); font-size:24px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}
.ph-wsl-success h3{
  font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:800;
  color:var(--dk); text-transform:uppercase; margin-bottom:10px;
}
.ph-wsl-success p{ font-size:13.5px; color:var(--mu); line-height:1.6; max-width:420px; margin:0 auto; }

@media (max-width:860px){
  .ph-wsl-cards{ grid-template-columns:1fr 1fr; }
  .ph-wsl-check-grid{ grid-template-columns:1fr; }
  .ph-wsl-formcard{ padding:32px 24px; }
}
@media (max-width:520px){
  .ph-wsl-cards{ grid-template-columns:1fr; }
  .ph-wsl-benefits{ padding:26px 22px; }
}

/* ══════════════════════════════════════════
   AFFILIATE PROGRAM PAGE
   ══════════════════════════════════════════ */
.ph-aff-hero{ padding-bottom:52px; }
.ph-aff-hero-inner{ max-width:820px; }

.ph-aff-cta-row{
  display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:44px;
}

/* Stat cards — dark translucent cards on the hero, matching the site's
   existing on-dark card treatment (same recipe as the Rewards cards). */
.ph-aff-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:900px; margin:0 auto;
}
.ph-aff-stat{
  background:rgba(255,255,255,.04); border:1px solid rgba(43,191,179,.18);
  border-radius:var(--r); padding:20px 12px; text-align:center;
}
.ph-aff-stat-val{
  font-family:'Barlow Condensed',sans-serif; font-size:26px; font-weight:800;
  color:var(--t); line-height:1; margin-bottom:6px;
}
.ph-aff-stat-lbl{ font-size:10.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.5); }

/* Intro paragraph */
.ph-aff-intro{
  max-width:760px; margin:0 auto 40px; text-align:center;
  font-size:14.5px; color:var(--mu); line-height:1.75;
}

/* Feature cards */
.ph-aff-feat-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:56px;
}
.ph-aff-feat-card{
  background:#fff; border:1px solid var(--bdr); border-radius:var(--r);
  padding:26px 22px; box-shadow:0 4px 20px rgba(13,17,23,.03);
}
.ph-aff-feat-icon{ font-size:26px; margin-bottom:12px; line-height:1; }
.ph-aff-feat-card h3{
  font-size:15px; font-weight:700; color:var(--dk); margin-bottom:6px;
}
.ph-aff-feat-card p{ font-size:13px; color:var(--mu); line-height:1.55; }

/* Steps */
.ph-aff-steps{ display:flex; flex-direction:column; gap:14px; margin-bottom:60px; }
.ph-aff-step{
  display:flex; align-items:flex-start; gap:20px;
  background:var(--off); border:1px solid var(--bdr); border-radius:var(--r);
  padding:24px 28px;
}
.ph-aff-step-num{
  flex-shrink:0; width:34px; height:34px; border-radius:50%;
  background:var(--dk); color:#fff; font-family:'Barlow Condensed',sans-serif;
  font-size:16px; font-weight:800; display:flex; align-items:center; justify-content:center;
}
.ph-aff-step-body h3{ font-size:15.5px; font-weight:700; color:var(--dk); margin-bottom:4px; }
.ph-aff-step-body p{ font-size:13.5px; color:var(--mu); line-height:1.6; }

/* Mid CTA band */
.ph-aff-cta-band{
  background:linear-gradient(160deg,#040d0c,#0e2824 50%,#040d0c);
  text-align:center; padding:64px 24px;
}
.ph-aff-cta-band h2{
  font-family:'Barlow Condensed',sans-serif; font-size:clamp(30px,4vw,42px);
  font-weight:800; text-transform:uppercase; color:#fff; margin-bottom:12px;
}
.ph-aff-cta-band p{
  font-size:14px; color:rgba(255,255,255,.55); max-width:460px; margin:0 auto 28px; line-height:1.6;
}

@media (max-width:860px){
  .ph-aff-stats{ grid-template-columns:1fr 1fr; }
  .ph-aff-feat-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .ph-aff-stats{ grid-template-columns:1fr 1fr; }
  .ph-aff-feat-grid{ grid-template-columns:1fr; }
  .ph-aff-step{ flex-direction:column; gap:10px; padding:20px; }
}

/* ══════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════ */
.ph-con-hero{ padding-bottom:52px; }

.ph-con-cards{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:44px 0 32px;
}
.ph-con-card{
  background:#fff; border:1px solid var(--bdr); border-radius:var(--r);
  padding:26px 24px; box-shadow:0 4px 20px rgba(13,17,23,.03);
}
.ph-con-card-icon{ font-size:26px; margin-bottom:12px; line-height:1; }
.ph-con-card h3{ font-size:15px; font-weight:700; color:var(--dk); margin-bottom:6px; }
.ph-con-card p{ font-size:13px; color:var(--mu); line-height:1.55; margin-bottom:10px; }
.ph-con-card-link{ font-size:13px; font-weight:700; color:var(--t); text-decoration:none; }
.ph-con-card-link:hover{ color:var(--t2); text-decoration:underline; }
.ph-con-card-links{ display:flex; gap:16px; }
.ph-con-card-links a{ font-size:13px; font-weight:700; color:var(--t); text-decoration:none; }
.ph-con-card-links a:hover{ color:var(--t2); text-decoration:underline; }

.ph-con-hint{
  display:block; font-size:11.5px; color:var(--mu2); margin-top:8px; line-height:1.5;
}

@media (max-width:860px){
  .ph-con-cards{ grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════
   FREE SHIPPING PROGRESS BAR (cart page)
   ══════════════════════════════════════════ */
.ph-shipbar{
  background:var(--tg); border:1px solid rgba(43,191,179,.25);
  border-radius:var(--rl); padding:20px 24px; margin-bottom:28px;
}
.ph-shipbar-wrap{ padding-top:32px; }
.ph-shipbar-msg{ font-size:14px; color:var(--dk); margin:0 0 12px; }
.ph-shipbar-msg strong{ color:var(--t); font-weight:800; }
.ph-shipbar-msg span{ color:var(--t); font-weight:800; }
.ph-shipbar-done{ display:flex; align-items:center; gap:8px; color:var(--t); font-weight:700; }
.ph-shipbar-done svg{ flex-shrink:0; }
.ph-shipbar-track{
  width:100%; height:8px; background:#fff; border:1px solid var(--bdr);
  border-radius:20px; overflow:hidden; margin-bottom:10px;
}
.ph-shipbar-fill{
  height:100%; background:linear-gradient(90deg,var(--t),var(--t2));
  border-radius:20px; transition:width .4s ease;
}
.ph-shipbar-sub{ font-size:11.5px; color:var(--mu); margin:0; }

/* ══════════════════════════════════════════
   CART PAGE
   ══════════════════════════════════════════ */
.ph-cart-page{ padding:36px 0 90px; }
.ph-cart-title{
  font-family:'Barlow Condensed',sans-serif; font-size:clamp(30px,4vw,42px);
  font-weight:800; text-transform:uppercase; color:var(--dk); letter-spacing:-.01em;
  margin-bottom:22px;
}

/* Empty state */
.ph-cart-empty{
  max-width:420px; margin:60px auto; text-align:center;
}
.ph-cart-empty-icon{
  width:76px; height:76px; margin:0 auto 22px; border-radius:50%;
  background:var(--off); display:flex; align-items:center; justify-content:center; color:var(--mu2);
}
.ph-cart-empty h1{
  font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:800;
  text-transform:uppercase; color:var(--dk); margin-bottom:8px;
}
.ph-cart-empty p{ font-size:14px; color:var(--mu); margin-bottom:26px; }

/* Grid layout */
.ph-cart-grid{ display:grid; grid-template-columns:1fr 380px; gap:28px; align-items:start; }

/* Cart items card */
.ph-cart-items{
  background:#fff; border:1px solid var(--bdr); border-radius:var(--rl); overflow:hidden;
}
.ph-cart-item{
  display:flex; align-items:flex-start; gap:16px; padding:20px;
  border-bottom:1px solid var(--bdr);
}
.ph-cart-item:last-child{ border-bottom:none; }
.ph-cart-item-img{
  width:72px; height:72px; flex-shrink:0; border-radius:var(--r);
  background:var(--off); border:1px solid var(--bdr); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.ph-cart-item-img img{ width:100%; height:100%; object-fit:contain; }
.ph-cart-item-info{ flex:1; min-width:0; }
.ph-cart-item-name{
  display:block; font-size:14.5px; font-weight:700; color:var(--dk);
  text-decoration:none; margin-bottom:4px;
}
a.ph-cart-item-name:hover{ color:var(--t); }
.ph-cart-item-meta{ font-size:12px; color:var(--mu); margin-bottom:12px; }
.ph-cart-item-meta dl,.ph-cart-item-meta dt,.ph-cart-item-meta dd,.ph-cart-item-meta p{ margin:0; display:inline; font-size:inherit; }
.ph-cart-item-meta dt{ font-weight:600; }
.ph-cart-item-meta dt::after{ content:' '; }
.ph-cart-item-controls{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.ph-qty-stepper{
  display:inline-flex; align-items:center; border:1px solid var(--bdr); border-radius:8px; overflow:hidden;
}
.ph-qty-btn{
  width:28px; height:28px; background:var(--dk); color:#fff; border:none;
  font-size:15px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.ph-qty-btn:hover{ background:var(--t); }
.ph-qty-input{
  width:36px; height:28px; border:none; border-left:1px solid var(--bdr); border-right:1px solid var(--bdr);
  text-align:center; font-size:13px; font-weight:700; color:var(--dk); background:#fff;
}
.ph-cart-remove{
  background:none; border:none; padding:0; font-size:12px; color:var(--mu);
  text-decoration:underline; cursor:pointer;
}
.ph-cart-remove:hover{ color:#DC2626; }
.ph-cart-item-price{ flex-shrink:0; font-size:14.5px; font-weight:800; color:var(--dk); white-space:nowrap; }

/* Frequently bought together */
.ph-cart-fbt{
  background:#fff; border:1px solid var(--bdr); border-radius:var(--rl); overflow:hidden; margin-top:20px;
}
.ph-cart-fbt-label{
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mu);
  padding:16px 20px; border-bottom:1px solid var(--bdr);
}
.ph-cart-fbt-item{
  display:flex; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid var(--bdr);
}
.ph-cart-fbt-item:last-child{ border-bottom:none; }
.ph-cart-fbt-img{
  width:48px; height:48px; flex-shrink:0; border-radius:8px; background:var(--off);
  border:1px solid var(--bdr); display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.ph-cart-fbt-img img{ width:100%; height:100%; object-fit:contain; }
.ph-cart-fbt-info{ flex:1; min-width:0; }
.ph-cart-fbt-name{ display:block; font-size:13.5px; font-weight:700; color:var(--dk); text-decoration:none; margin-bottom:2px; }
.ph-cart-fbt-name:hover{ color:var(--t); }
.ph-cart-fbt-price{ font-size:12px; color:var(--mu); }
.ph-cart-fbt-add{
  flex-shrink:0; padding:8px 16px; background:var(--dk); color:#fff; border:none;
  border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; transition:background .15s;
}
.ph-cart-fbt-add:hover{ background:var(--t); }
.ph-cart-fbt-add:disabled{ opacity:.6; cursor:default; }

/* Order summary */
.ph-cart-summary{
  background:#fff; border:1px solid var(--bdr); border-radius:var(--rl);
  padding:24px; position:sticky; top:24px;
}
.ph-cart-sum-row{
  display:flex; justify-content:space-between; align-items:center;
  font-size:13.5px; color:var(--mu); padding:9px 0;
}
.ph-cart-sum-row span:last-child{ color:var(--dk); font-weight:600; }
.ph-cart-sum-free{ color:var(--t) !important; font-weight:800 !important; }
.ph-cart-sum-total{
  border-top:1px solid var(--bdr); margin-top:6px; padding-top:16px;
  font-size:15.5px; font-weight:800; color:var(--dk);
}
.ph-cart-sum-total span:last-child{ color:var(--dk); font-weight:800; font-size:18px; }
.ph-cart-coupon{ display:flex; gap:8px; margin:18px 0 10px; }
.ph-cart-coupon input{
  flex:1; min-width:0; padding:11px 14px; border:1.5px solid var(--bdr); border-radius:9px;
  font-size:13px; color:var(--dk); font-family:inherit;
}
.ph-cart-coupon input:focus{ outline:none; border-color:var(--t); }
.ph-cart-coupon button{
  flex-shrink:0; padding:11px 18px; background:var(--dk); color:#fff; border:none;
  border-radius:9px; font-size:13px; font-weight:700; cursor:pointer; transition:background .15s;
}
.ph-cart-coupon button:hover{ background:var(--t); }
.ph-cart-coupons-applied{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.ph-cart-coupons-applied:empty{ margin:0; }
.ph-coupon-chip{ display:inline-flex; align-items:center; gap:6px; }
.ph-coupon-remove{
  background:none; border:none; padding:0; color:inherit; font-size:14px; line-height:1;
  cursor:pointer; opacity:.75;
}
.ph-coupon-remove:hover{ opacity:1; }
.ph-cart-checkout-btn{
  display:block; width:100%; text-align:center; padding:15px; margin-top:18px;
  background:var(--t); color:#fff; border:none; border-radius:12px;
  font-size:14.5px; font-weight:800; text-decoration:none; transition:all .2s;
}
.ph-cart-checkout-btn:hover{ background:var(--t2); box-shadow:0 10px 30px rgba(43,191,179,.3); }
.ph-cart-continue{
  display:block; text-align:center; margin-top:14px; font-size:12.5px; font-weight:600;
  color:var(--mu); text-decoration:none;
}
.ph-cart-continue:hover{ color:var(--t); }
.ph-cart-trust{
  display:flex; flex-direction:column; gap:8px; margin-top:20px; padding-top:18px;
  border-top:1px solid var(--bdr);
}
.ph-cart-trust span{
  display:flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; color:var(--mu);
}
.ph-cart-trust svg{ flex-shrink:0; color:var(--t); }

@media (max-width:960px){
  .ph-cart-grid{ grid-template-columns:1fr; }
  .ph-cart-summary{ position:static; }
}
@media (max-width:560px){
  .ph-cart-page{ padding:24px 0 60px; }
  .ph-cart-item{ flex-wrap:wrap; padding:16px; }
  .ph-cart-item-price{ margin-left:88px; }
  .ph-cart-item-controls{ gap:12px; }
}

/* ══════════════════════════════════════════
   SHIPPING METHOD SUBTITLES (cart/checkout)
   ══════════════════════════════════════════ */
.ph-ship-sub{
  display:block; font-size:11.5px; font-weight:500; color:var(--mu);
  margin-top:2px; line-height:1.3;
}
/* WooCommerce wraps each method in a <label> — make sure the title
   and subtitle stack rather than sitting side by side inline. */
.woocommerce-shipping-methods li label{ display:block; }

/* ══════════════════════════════════════════
   ANIMATED DNA HELIX — full-height, winding background
   ══════════════════════════════════════════ */
.ph-dna-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
  border-radius:24px; pointer-events:none;
  display:flex; justify-content:center; align-items:center;
  perspective:340px;
  background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(43,191,179,.16), transparent 70%);
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
  mask-image:linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
}
.ph-dna{ display:flex; flex-direction:column; gap:9px; opacity:.75; }
.ph-dna-rung{ display:block; }
.ph-dna-rung-bar{
  position:relative; display:block; width:96vw; max-width:420px; height:4px; margin:0 auto;
  background:linear-gradient(90deg, rgba(43,191,179,.85), rgba(167,139,250,.85));
  border-radius:4px; transform-style:preserve-3d;
  animation:ph-dna-spin 3.2s linear infinite;
  filter:drop-shadow(0 0 6px rgba(43,191,179,.35));
}
.ph-dna-rung-bar::before,
.ph-dna-rung-bar::after{
  content:''; position:absolute; top:50%; width:11px; height:11px;
  border-radius:50%; transform:translateY(-50%);
}
.ph-dna-rung-bar::before{
  left:-3px; background:#2BBFB3; box-shadow:0 0 12px rgba(43,191,179,1);
}
.ph-dna-rung-bar::after{
  right:-3px; background:#A78BFA; box-shadow:0 0 12px rgba(167,139,250,1);
}
@keyframes ph-dna-spin{
  0%   { transform:rotateY(0deg); }
  100% { transform:rotateY(360deg); }
}
@media (prefers-reduced-motion:reduce){
  .ph-dna-rung-bar{ animation:none; }
}
@media (max-width:480px){
  .ph-dna{ gap:8px; opacity:.32; }
  .ph-dna-rung-bar{ width:65vw; }
}

/* Frosted panel behind the heading text — keeps it legible regardless
   of how bright the helix animation gets behind it. */
.ph-popup-text-panel{
  position:relative; z-index:2; text-align:center;
  margin:20px 16px 0; padding:20px 20px 22px;
  background:rgba(4,13,12,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.06); border-radius:20px;
}
