/**
 * REFINE PDP editorial styles.
 * Font: Campton (site-licensed files). CTA green #00AE55 reserved for buy actions.
 */

@font-face{font-family:'Campton';src:url('/assets/css/campton-cufonfonts/CamptonBook.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Campton';src:url('/assets/css/campton-cufonfonts/CamptonMedium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Campton';src:url('/assets/css/campton-cufonfonts/CamptonSemiBold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Campton';src:url('/assets/css/campton-cufonfonts/CamptonBold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Campton';src:url('/assets/css/campton-cufonfonts/CamptonExtraBold.otf') format('opentype');font-weight:800;font-style:normal;font-display:swap}

.pdp-editorial, .pdp-editorial *{box-sizing:border-box}
.pdp-editorial{color-scheme:light;margin:0;padding:0}
:root{
  --dark:#13333E; --grayblue:#3A4656; --gray:#7A848C;
  --lightblue:#609FAF; --green:#41928A; --medgreen:#67A967; --darkgreen:#367B49;
  --orange:#DFA137; --darkorange:#E98944; --brightblue:#00AABF; --bluebg:#36728B;
  --mint:#CEECDE; --mintblue:#B3D0D8; --palelight:#EBFDFE; --brightgreen:#00AE55; --softorange:#DE8B5D;
  --font:'Campton','Poppins',-apple-system,sans-serif;
  --text-secondary:#3A4656;
}
.pdp-editorial{font-family:var(--font);color:var(--dark);background:transparent;-webkit-font-smoothing:antialiased}
.pdp-editorial button,.pdp-editorial select{font-family:var(--font)}

.stickybar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #eef2f3;padding:10px 32px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 16px rgba(19,51,62,.06);transform:translateY(-100%);opacity:0;transition:transform .2s ease,opacity .2s ease}
.stickybar.show{transform:translateY(0);opacity:1}
.sb-thumb{width:34px;height:34px;border-radius:8px;background:var(--palelight);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.sb-thumb img{max-width:80%;max-height:80%;object-fit:contain}
.sb-name{font-size:13px;font-weight:800;color:var(--dark);line-height:1.25;padding-top:.1em;overflow:visible}
.sb-meta{font-size:11px;color:var(--gray)}
.sb-spacer{flex:1}
.sb-price{font-size:14px;font-weight:700;color:var(--dark);margin-right:6px}
.sb-cta{background-color:#00AE55 !important;color:#fff !important;border:none;border-radius:10px;font-size:14px;font-weight:700;padding:12px 18px;min-height:44px;cursor:pointer;display:flex;align-items:center;gap:6px}
.hero-grid{display:grid;grid-template-columns:52% 48%}
.pin-col{position:sticky;top:0;align-self:start;background:linear-gradient(160deg,var(--palelight) 0%,#fff 55%);padding:32px;display:flex;flex-direction:column;gap:16px;border-right:1px solid #eef2f3}
.ribbon-row{display:flex;gap:8px;flex-wrap:wrap}
.ribbon{font-size:10px;font-weight:700;letter-spacing:.04em;padding:5px 11px;border-radius:20px;color:#fff}
.rb-1{background:var(--darkgreen)} .rb-2{background:var(--brightblue)}
.main-shot{background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 30px rgba(19,51,62,.08);min-height:280px;overflow:hidden}
.main-shot img{max-height:260px;max-width:80%;object-fit:contain}
.dot-nav{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.dot{width:6px;height:6px;border-radius:50%;background:#d8dfe2}
.dot.on{background:var(--dark);width:16px;border-radius:3px}
.thumb-row{display:flex;gap:10px}
.thumb{width:56px;height:56px;border-radius:12px;background:#fff;border:2px solid transparent;box-shadow:0 2px 8px rgba(19,51,62,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.thumb.on{border-color:var(--brightblue)}
.thumb img{width:80%;height:80%;object-fit:contain}
.thumb.vid{background:var(--dark);color:#fff;font-size:16px}
.img-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#c3d6d9;font-size:22px}
.main-shot .img-fallback{font-size:56px}
.media-links{display:flex;gap:8px}
.media-lk{font-size:11px;font-weight:600;color:var(--dark);background:#fff;border:1px solid #e2e6e8;padding:6px 12px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:5px}
.media-lk i{color:var(--brightblue);font-size:13px}
.info-col{padding:34px 40px 60px;display:flex;flex-direction:column;gap:18px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--brightblue);text-transform:uppercase;margin-bottom:6px;line-height:1.35}
.pname{font-size:52px;font-weight:800;color:var(--dark);letter-spacing:-1.5px;line-height:1.08;padding-top:.12em;overflow:visible}
.pdesc{font-size:16px;color:var(--text-secondary);line-height:1.7;max-width:none;width:100%}.pdesc b,.pdesc strong{font-weight:700;color:inherit}.pdesc p,.pdesc div{margin:0 0 .45em}.pdesc p:last-child,.pdesc div:last-child{margin-bottom:0}
/* pdp-rich: catalog WYSIWYG output */
.pdp-editorial .pdp-rich{white-space:normal}
.pdp-editorial .pdp-rich p,
.pdp-editorial .pdp-rich div{margin:0 0 .35em}
.pdp-editorial .pdp-rich p:last-child,
.pdp-editorial .pdp-rich div:last-child{margin-bottom:0}
.pdp-editorial .pdp-rich ul,
.pdp-editorial .pdp-rich ol{margin:.25em 0 .45em 1.15em;padding:0}
.pdp-editorial .pdp-rich li{margin:.15em 0}
.pdp-editorial .pdp-rich a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.pdp-editorial .pdp-rich h3,.pdp-editorial .pdp-rich h4{margin:0 0 .35em;font-size:1.05em;font-weight:700;line-height:1.35;color:inherit}
.pdp-editorial .pdp-rich b,.pdp-editorial .pdp-rich strong{font-weight:700}
.pdp-editorial .pdp-rich em,.pdp-editorial .pdp-rich i{font-style:italic}
.pdp-editorial .ingr-card-name.pdp-rich p{margin:0}

.stars-row{display:flex;align-items:center;gap:8px}
.stars{color:var(--orange);font-size:17px}
.rcount{font-size:15px;color:var(--text-secondary)} .rcount b{color:var(--dark)}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:13px;font-weight:600;padding:9px 14px;border-radius:20px;display:flex;align-items:center;gap:6px}
.chip.c1{background:#e1f6f2;color:var(--darkgreen)} .chip.c2{background:#e3f6f9;color:var(--bluebg)}
.chip.c3{background:#e1f6f2;color:var(--darkgreen)} .chip.c4{background:#eef1f2;color:var(--grayblue)}
.divider{height:1px;background:#eef2f3}
.opt-label{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em}
.opt-card{border:1.5px solid #e2e6e8;border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:64px}
.opt-card.sel{border-color:var(--dark);box-shadow:0 0 0 1px var(--dark) inset}
.opt-l{display:flex;align-items:center;gap:12px}
.radio{width:19px;height:19px;border-radius:50%;border:2px solid #d8dfe2;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.radio.on{border-color:var(--dark)} .radio.on::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--dark)}
.opt-name{font-size:16px;font-weight:700;color:var(--dark)}
.opt-sub{font-size:13.5px;color:var(--text-secondary);margin-top:3px}
.save-badge{background:#e3f6f9;color:var(--bluebg);font-size:12px;font-weight:700;padding:3px 9px;border-radius:10px;margin-left:8px}
.opt-r{text-align:right} .opt-price{font-size:17px;font-weight:700;color:var(--dark)}
.loyalty-banner{background:linear-gradient(135deg,#e3f6f9 0%,var(--palelight) 100%);border:1px solid #cdeaf0;border-radius:14px;padding:16px 18px;display:flex;gap:12px}
.loyalty-icon{width:36px;height:36px;border-radius:10px;background:var(--brightblue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.loyalty-title{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:4px}
.loyalty-text{font-size:14px;color:var(--text-secondary);line-height:1.65}
.loyalty-fit{display:inline-block;margin-top:8px;background:#fff;border:1px solid #cdeaf0;color:var(--bluebg);font-size:13px;font-weight:700;padding:5px 12px;border-radius:20px}
.loyalty-link{display:block;margin-top:8px;font-size:14px;color:var(--bluebg);font-weight:700;cursor:pointer}
.qty-cta-row{display:flex;gap:12px;align-items:stretch}
.qty-box{display:flex;align-items:stretch;border:1.5px solid #d8dfe2;border-radius:14px;overflow:hidden;min-height:58px}
.qty-btn{-webkit-appearance:none;appearance:none;width:38px;border:none;background-color:#fff;font-size:17px;color:var(--dark);cursor:pointer;font-weight:600;outline:none}
.qty-btn:first-child{border-right:1px solid #eef1f2} .qty-btn:last-child{border-left:1px solid #eef1f2}
.qty-val{width:36px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--dark);background-color:#fafbfb}
.cta-btn{-webkit-appearance:none;appearance:none;flex:1;border:none;border-radius:14px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;outline:none;background-color:#00AE55 !important;color:#fff !important;box-shadow:0 6px 18px rgba(0,174,85,.32);min-height:58px;padding:16px 22px}
.trust-row{display:flex;gap:16px;flex-wrap:wrap}
.trust-i{display:flex;align-items:center;gap:6px;font-size:12px;color:#5a6b72;font-weight:500}
.trust-i i{color:var(--bluebg);font-size:14px}
.flyer-card{background:#fff;border:1px solid #e2e6e8;border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 10px rgba(19,51,62,.04)}
.flyer-icon{width:42px;height:42px;border-radius:11px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.flyer-body{flex:1} .flyer-title{font-size:13px;font-weight:700;color:var(--dark)}
.flyer-sub{font-size:11px;color:var(--gray);margin-top:2px}
.flyer-lang-select{font-size:11px;font-weight:600;color:var(--dark);border:1px solid #e2e6e8;border-radius:8px;padding:5px 8px;background:#fafbfb;margin-right:8px}
.flyer-dl-btn{background-color:var(--dark);color:#fff;border:none;border-radius:9px;font-size:12px;font-weight:700;padding:9px 14px;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.acc-pill-btn,.pdp-editorial .acc-pill-btn,.pdp-editorial .pdp-sf-trigger{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  border:1.5px solid #d8dfe2 !important;
  background:#fff !important;
  background-color:#fff !important;
  border-radius:999px !important;
  padding:13px 20px !important;
  min-height:48px !important;
  font-size:14px !important;
  font-weight:600 !important;
  font-family:inherit !important;
  color:var(--dark) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  line-height:1.2 !important;
  text-align:center !important;
  box-shadow:none !important;
  outline:none;
}
.acc-pill-btn i,.pdp-editorial .acc-pill-btn i,.pdp-editorial .pdp-sf-trigger i{
  color:var(--bluebg) !important;
  font-size:18px !important;
  flex-shrink:0;
}
.acc-pill-btn:hover,.pdp-editorial .acc-pill-btn:hover,.pdp-editorial .pdp-sf-trigger:hover{
  border-color:#b8c6cb !important;
  background:#f8fbfb !important;
}
.acc-pill-btn:focus-visible,.pdp-editorial .pdp-sf-trigger:focus-visible{
  outline:2px solid rgba(0,170,191,.35);
  outline-offset:2px;
}
.pdp-acc-list,.pdp-editorial .pdp-acc-list{
  border-top:1px solid #eef2f3;
  margin-top:4px;
}
.accordion{border-top:1px solid #eef2f3}
.acc-item{border-bottom:1px solid #eef2f3}
.acc-head{width:100%;background:none;border:none;padding:15px 2px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}
.acc-head-title{font-size:14px;font-weight:700;color:var(--dark)}
.acc-toggle{width:22px;height:22px;border-radius:50%;border:1.5px solid #d8dfe2;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--dark);flex-shrink:0}
.acc-item.open .acc-toggle{background-color:var(--dark);color:#fff;border-color:var(--dark)}
.acc-body{display:none;padding:0 2px 16px;font-size:13px;color:#5a6b72;line-height:1.75}
.acc-item.open .acc-body{display:block}
.acc-body table{width:100%;font-size:12.5px;border-collapse:collapse;margin-top:8px}
.acc-body td{padding:6px 4px;border-bottom:1px solid #f1f3f4}
.acc-body td:first-child{color:var(--dark);font-weight:500} .acc-body td:last-child{text-align:right;color:#5a6b72}
.tbar-wrap{padding:36px 40px;border-top:1px solid #eef2f3}
.tbar{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tbi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:0 20px;border-right:1px solid #eef2f3}
.tbi:last-child{border-right:none}
.tbi-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff}
.tbi-label{font-size:14px;font-weight:700;color:var(--dark)}
.tbi-sub{font-size:12px;color:#5a6b72;line-height:1.5}
/* Why — story card + stat cards */
.pdp-editorial .why-section,
.why-section{
  background:#f5f7f8 !important;
  padding:64px 0 72px !important;
  border-top:1px solid #eef2f3;
  overflow:visible;
}
.pdp-editorial .why-inner,
.why-inner{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}
.pdp-editorial .why-story-card,
.why-story-card{
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  align-items:stretch;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:#fff !important;
  border-radius:28px !important;
  box-shadow:0 16px 48px rgba(19,51,62,.10) !important;
  border:1px solid rgba(19,51,62,.06) !important;
  overflow:hidden;
}
.pdp-editorial .why-media,
.why-media,
.pdp-editorial .why-img-main,
.why-img-main{
  background:linear-gradient(160deg,#eef8f9 0%, #e4f2f4 100%) !important;
  min-height:380px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px !important;
  overflow:hidden;
  border-radius:0 !important;
}
.pdp-editorial .why-media img,
.why-media img,
.pdp-editorial .why-img-main img,
.why-img-main img{
  width:100% !important;
  height:100% !important;
  max-height:340px !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  border-radius:0 !important;
}
.pdp-editorial .why-copy,
.why-copy,
.pdp-editorial .why-text,
.why-text{
  padding:44px 40px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:14px !important;
  background:#fff !important;
}
.pdp-editorial .why-title,
.why-title{
  font-size:34px !important;
  font-weight:800 !important;
  color:var(--dark) !important;
  letter-spacing:-.8px !important;
  line-height:1.18 !important;
  margin:0 !important;
  padding-top:.08em;
}
.pdp-editorial .why-body,
.why-body{
  font-size:16px !important;
  color:#5a6b72 !important;
  line-height:1.7 !important;
  max-width:440px;
  margin:0 !important;
}
.pdp-editorial .why-body b,
.why-body b{color:var(--dark);font-weight:600}
.pdp-editorial .why-header,
.why-header{
  max-width:640px;
  margin:0 0 28px;
}
.pdp-editorial .why-header .eyebrow,
.why-header .eyebrow{
  margin-bottom:10px;
}
.pdp-editorial .why-lead,
.why-lead{
  font-size:16px !important;
  color:#5a6b72 !important;
  line-height:1.7 !important;
  margin:10px 0 0 !important;
}
.pdp-editorial .why-lead b,
.why-lead b{color:var(--dark);font-weight:600}
.pdp-editorial .why-fact-rail-wrap{
  position:relative;
  margin-top:8px;
}
.pdp-editorial .why-fact-rail,
.why-fact-rail,
#pdp-why-rail{
  display:flex !important;
  gap:22px !important;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch;
  padding:8px 0 28px !important;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px)) !important;
  padding-right:48px !important;
  margin:0 !important;
  width:100% !important;
  scrollbar-width:none !important;
  grid-template-columns:none !important;
}
.pdp-editorial .why-fact-rail::-webkit-scrollbar,
.why-fact-rail::-webkit-scrollbar,
#pdp-why-rail::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
.pdp-editorial .why-fact-card,
.why-fact-card,
#pdp-why-rail > .why-fact-card{
  flex:0 0 min(340px, 78vw) !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  background:#fff !important;
  border-radius:28px !important;
  box-shadow:0 10px 32px rgba(19,51,62,.08) !important;
  border:none !important;
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  min-height:320px;
}
.pdp-editorial .why-fact-top,
.why-fact-top{
  padding:28px 26px 20px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1 1 auto;
}
.pdp-editorial .why-fact-icon,
.why-fact-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  background:#e3f6f9;
  color:var(--bluebg);
  flex-shrink:0;
}
.pdp-editorial .why-fact-title,
.why-fact-title{
  font-size:22px !important;
  font-weight:800 !important;
  color:var(--dark) !important;
  letter-spacing:-.4px !important;
  line-height:1.25 !important;
  margin:0 !important;
}
.pdp-editorial .why-fact-body,
.why-fact-body{
  font-size:15px !important;
  color:#5a6b72 !important;
  line-height:1.65 !important;
  margin:0 !important;
}
.pdp-editorial .why-fact-body b,
.why-fact-body b{color:var(--dark);font-weight:600}
.pdp-editorial .why-fact-media,
.why-fact-media{
  background:linear-gradient(160deg,#eef8f9 0%, #e4f2f4 100%);
  min-height:160px;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
}
.pdp-editorial .why-fact-media img,
.why-fact-media img{
  width:100%;
  max-height:160px;
  object-fit:contain;
  display:block;
}
.pdp-editorial .why-fact-nav{
  position:absolute;
  top:46%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:rgba(232,236,238,.92);
  backdrop-filter:blur(8px);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 6px 18px rgba(19,51,62,.12);
}
.pdp-editorial .why-fact-nav:hover{background:#dfe4e7}
.pdp-editorial .why-fact-nav--prev{left:max(12px, calc((100% - 1120px) / 2));}
.pdp-editorial .why-fact-nav--next{right:16px}
.pdp-editorial .why-fact-nav[hidden]{display:none !important}
.pdp-editorial .why-fact-nav .ti{font-size:24px}
.pdp-editorial .why-stat-wrap{margin-top:8px}

.pdp-editorial .why-stat-rail,
.why-stat-rail{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
  width:100% !important;
  margin:20px 0 0 !important;
  padding:0 !important;
  overflow:visible !important;
}
.pdp-editorial .why-stat-card,
.why-stat-card{
  flex:none !important;
  min-width:0 !important;
  background:#fff !important;
  border-radius:22px !important;
  box-shadow:0 10px 28px rgba(19,51,62,.08) !important;
  border:1px solid rgba(19,51,62,.06) !important;
  padding:20px 22px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.pdp-editorial .why-stat-icon,
.why-stat-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.pdp-editorial .why-stat-card.s1 .why-stat-icon,
.why-stat-card.s1 .why-stat-icon{background:#e3f6f9;color:var(--bluebg)}
.pdp-editorial .why-stat-card.s2 .why-stat-icon,
.why-stat-card.s2 .why-stat-icon{background:#e1f6f2;color:var(--darkgreen)}
.pdp-editorial .why-stat-card.s3 .why-stat-icon,
.why-stat-card.s3 .why-stat-icon{background:#fbeee0;color:var(--darkorange)}
.pdp-editorial .why-stat-label,
.why-stat-label{
  font-size:15px !important;
  font-weight:700 !important;
  color:var(--dark) !important;
  line-height:1.35 !important;
}

@media (max-width:900px){
  .pdp-editorial .why-section,
  .why-section{padding:40px 0 48px !important}
  .pdp-editorial .why-inner,
  .why-inner{width:calc(100% - 32px) !important}
  .pdp-editorial .why-story-card,
  .why-story-card{
    grid-template-columns:1fr !important;
    border-radius:24px !important;
  }
  .pdp-editorial .why-media,
  .why-media,
  .pdp-editorial .why-img-main,
  .why-img-main{
    min-height:240px !important;
    padding:20px !important;
  }
  .pdp-editorial .why-media img,
  .why-media img{
    max-height:220px !important;
  }
  .pdp-editorial .why-copy,
  .why-copy,
  .pdp-editorial .why-text,
  .why-text{padding:24px 22px 28px !important}
  .pdp-editorial .why-title,
  .why-title{font-size:26px !important}
  .pdp-editorial .why-fact-title,
  .why-fact-title{font-size:20px !important}
  .pdp-editorial .why-stat-rail,
  .why-stat-rail{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}
.stat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.stat-chip{font-size:11.5px;font-weight:600;padding:8px 14px;border-radius:20px;display:flex;align-items:center;gap:6px}
.stat-chip.s1{background:#e3f6f9;color:var(--bluebg)} .stat-chip.s2{background:#e1f6f2;color:var(--darkgreen)} .stat-chip.s3{background:#fbeee0;color:var(--darkorange)}
.ugc-header{padding:26px 40px 6px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ugc-title{font-size:14px;font-weight:700;color:var(--dark)}
.ugc-sub{font-size:12px;color:var(--gray)}
.ugc-count{font-size:11px;font-weight:600;color:var(--darkgreen);background:#e1f6f2;padding:4px 10px;border-radius:20px;white-space:nowrap}
.ugc-hashtag{padding:2px 40px 14px;font-size:12.5px;color:var(--bluebg)} .ugc-hashtag b{color:var(--dark)}
.strip{display:flex;gap:14px;padding:8px 40px 36px;overflow-x:auto}
.strip-item{flex:0 0 190px;border-radius:14px;overflow:hidden;background:#fafbfb;border:1.5px dashed #d8dfe2}
.strip-photo{aspect-ratio:4/5;position:relative;background:var(--palelight);display:flex;align-items:center;justify-content:center;color:#b9c6c9}
.strip-photo .pending-tag{position:absolute;top:10px;left:10px;background:#fff;border:1px solid #e2e6e8;color:var(--darkorange);font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:20px}
.strip-attr{padding:10px 12px;display:flex;align-items:center;gap:8px;background:#fff}
.strip-av{width:26px;height:26px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.strip-name{font-size:11.5px;font-weight:700;color:var(--dark)} .strip-loc{font-size:10px;color:var(--gray)}
.strip-more{flex:0 0 120px;border-radius:14px;background:var(--palelight);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--bluebg);font-size:12px;font-weight:700;text-align:center;padding:0 10px}
.vid-section{background:linear-gradient(180deg,var(--palelight) 0%,#f4fbfb 100%);padding:64px 40px;text-align:center}
.vid-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--brightblue);text-transform:uppercase;margin-bottom:12px}
.vid-title{font-size:34px;font-weight:800;color:var(--dark);letter-spacing:-.8px;margin-bottom:8px}
.vid-sub{font-size:15px;color:#5a6b72;margin-bottom:32px;max-width:440px;margin-left:auto;margin-right:auto}
.vid-embed{max-width:600px;margin:0 auto;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#000;box-shadow:0 16px 40px rgba(19,51,62,.18)}
.vid-embed iframe{width:100%;height:100%;border:none;display:block}
.formula-header{text-align:center;padding:64px 40px 44px}
.f-title{font-size:36px;font-weight:800;color:var(--dark);letter-spacing:-.9px;line-height:1.1;margin-bottom:10px}
.f-sub{font-size:15px;color:#5a6b72;max-width:440px;margin:0 auto}
.ingr-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #eef2f3}
.ingr-row:last-child{border-bottom:1px solid #eef2f3}
.ingr-visual{display:flex;align-items:center;justify-content:center;padding:50px;position:relative}
.ingr-visual .n{position:absolute;top:20px;left:24px;font-size:11px;font-weight:700;color:rgba(19,51,62,.3);letter-spacing:.06em}
.ingr-visual .icn{font-size:64px}
.v-green{background:linear-gradient(160deg,#e1f6f2 0%, #f4fbfa 100%)} .v-orange{background:linear-gradient(160deg,#fbeee0 0%, #fdf7f1 100%)}
.ingr-text{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.dose-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;width:fit-content}
.dose-green{background:#e1f6f2;color:var(--darkgreen)} .dose-orange{background:#fbeee0;color:var(--darkorange)}
.ingr-name{font-size:26px;font-weight:800;color:var(--dark);letter-spacing:-.5px;line-height:1.1}
.ingr-quote{font-size:16px;font-style:italic;color:#5a6b72;font-weight:500}
.ingr-body{font-size:13.5px;color:#5a6b72;line-height:1.75;max-width:380px}
.ingr-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--bluebg);cursor:pointer;margin-top:4px}
.howto{background:var(--palelight);padding:60px 40px;text-align:center}
.ht-title{font-size:32px;font-weight:800;color:var(--dark);letter-spacing:-.7px;margin-bottom:8px}
.ht-sub{font-size:14px;color:#5a6b72;margin-bottom:36px}
.ht-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:0 auto}
.ht-card{background:#fff;border-radius:16px;padding:28px 22px;text-align:left;box-shadow:0 4px 16px rgba(19,51,62,.05)}
.ht-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;margin-bottom:16px}
.ht-step{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.ht-name{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:6px}
.ht-desc{font-size:12.5px;color:#5a6b72;line-height:1.6}
.ht-note{font-size:11.5px;color:var(--gray);max-width:480px;margin:24px auto 0;line-height:1.7} .ht-note b{color:var(--bluebg)}
.ritual{background:#fff;padding:56px 40px 60px}
.rt-header{text-align:center;margin-bottom:36px}
.rt-title{font-size:32px;font-weight:800;color:var(--dark);letter-spacing:-.7px;margin-bottom:8px}
.rt-sub{font-size:14px;color:#5a6b72;max-width:440px;margin:0 auto}
.rt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:920px;margin:0 auto}
.rc{background:#fafbfb;border:1px solid #eef2f3;border-radius:18px;padding:24px 20px;text-align:left}
.rc.milestone{background:linear-gradient(160deg,#e3f6f9 0%,var(--palelight) 100%);border-color:#cdeaf0}
.rc-marker{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:19px;margin-bottom:16px;box-shadow:0 4px 12px rgba(19,51,62,.12)}
.rc-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}
.rc.milestone .rc-label{color:var(--bluebg)}
.rc-title{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:8px;line-height:1.3}
.rc-desc{font-size:12.5px;color:#5a6b72;line-height:1.65}
.rc-tag{display:inline-block;margin-top:12px;font-size:10.5px;font-weight:700;padding:4px 11px;border-radius:20px;background:#fff;color:var(--grayblue);border:1px solid #eef2f3}
.rc.milestone .rc-tag{background:#fff;color:var(--bluebg);border-color:#cdeaf0}
.ritual-note{font-size:11px;color:var(--gray);text-align:center;margin-top:32px}
.sc-section{padding:60px 44px 56px;border-top:1px solid #eef2f3}
.sc-header{text-align:center;margin-bottom:32px}
.sc-title{font-size:32px;font-weight:800;color:var(--dark);letter-spacing:-.8px;margin-bottom:10px;max-width:560px;margin-left:auto;margin-right:auto}
.sc-sub{font-size:14px;color:#5a6b72;max-width:480px;margin:0 auto}
.join-card{background:linear-gradient(150deg,#e3f6f9 0%,var(--palelight) 100%);border:1px solid #cdeaf0;border-radius:20px;padding:30px 34px;max-width:680px;margin:0 auto 44px}
.join-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.join-icon{width:36px;height:36px;border-radius:10px;background:var(--brightblue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.join-title{font-size:15px;font-weight:800;color:var(--dark)}
.join-sub{font-size:12px;color:var(--bluebg)}
.tier-pick{display:flex;gap:10px;margin-bottom:18px}
.tp{flex:1;background:#fff;border:1.5px solid #cdeaf0;border-radius:12px;padding:11px 8px;text-align:center;cursor:pointer}
.tp.sel{border-color:var(--bluebg);box-shadow:0 0 0 1px var(--bluebg) inset;background:#f4fbfc}
.tp-name{font-size:12px;font-weight:800;color:var(--dark)} .tp-price{font-size:10.5px;color:var(--gray);margin-top:2px}
.tp-badge{display:inline-block;margin-top:4px;font-size:9px;font-weight:700;background:var(--brightgreen);color:#fff;padding:2px 7px;border-radius:10px}
.example-box{background:#fff;border-radius:13px;padding:16px 18px;margin-bottom:16px}
.example-label{font-size:10px;font-weight:700;color:var(--bluebg);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.example-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--dark);padding:5px 0;border-bottom:1px dashed #eef2f3}
.example-row:last-child{border-bottom:none;padding-top:8px;font-weight:800;font-size:13.5px}
.join-cta{width:100%;background-color:var(--brightblue) !important;color:#fff !important;border:none;border-radius:12px;padding:13px;font-size:13.5px;font-weight:700;cursor:pointer}
.join-note{text-align:center;font-size:10.5px;color:var(--gray);margin-top:8px}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:800px;margin:0 auto 40px}
.tc{background:#fafbfb;border:1.5px solid #eef2f3;border-radius:16px;padding:22px 18px}
.tc.reco{background:linear-gradient(160deg,#e1f6f2 0%,#f4fbfa 100%);border-color:#cdeee0}
.tc-badge{font-size:9.5px;font-weight:700;color:var(--darkgreen);background:#fff;border:1px solid #cdeee0;padding:3px 9px;border-radius:20px;display:inline-block;margin-bottom:10px}
.tc-name{font-size:12px;font-weight:700;color:var(--gray);text-transform:uppercase}
.tc.reco .tc-name{color:var(--darkgreen)}
.tc-price{font-size:24px;font-weight:800;color:var(--dark);margin:5px 0 12px} .tc-price span{font-size:12px;font-weight:500;color:var(--gray)}
.tc-feat{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;color:#4d6067;padding:5px 0;line-height:1.5}
.tc-feat i{color:var(--brightgreen);font-size:13px;margin-top:1px;flex-shrink:0}
.tc-feat.no i{color:#d8dfe2} .tc-feat.no{color:var(--gray)}
.hiw{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.hiw-step{display:flex;align-items:center;gap:9px;background:#fafbfb;border:1px solid #eef2f3;border-radius:20px;padding:9px 14px 9px 9px}
.hiw-n{width:22px;height:22px;border-radius:50%;background:var(--dark);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hiw-text{font-size:12px;font-weight:600;color:var(--dark)}
.sc-faq{max-width:600px;margin:0 auto}
.sc-faq-title{font-size:13.5px;font-weight:800;color:var(--dark);margin-bottom:12px;text-align:center}
.faq-list{border:1px solid #eef2f3;border-radius:14px;overflow:hidden;background:#fff}
.fi{border-bottom:1px solid #eef2f3} .fi:last-child{border-bottom:none}
.fi-q{width:100%;background:none;border:none;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}
.fi-qt{font-size:13px;font-weight:600;color:var(--dark)}
.fi-icon{font-size:13px;color:var(--gray);transition:transform .2s;flex-shrink:0;margin-left:10px}
.fi.open .fi-icon{transform:rotate(180deg)}
.fi-a{display:none;padding:0 18px 14px;font-size:12.5px;color:#5a6b72;line-height:1.7}
.fi.open .fi-a{display:block}
.sc-footer-note{text-align:center;font-size:11px;color:var(--gray);margin-top:28px}
.rev-section{padding:56px 44px;border-top:1px solid #eef2f3}
.rev-header{text-align:center;margin-bottom:32px;display:flex;flex-direction:column;align-items:center}
.pdp-editorial .rev-header{display:flex;flex-direction:column;align-items:center}
.rev-title{font-size:32px;font-weight:800;color:var(--dark);letter-spacing:-.7px;margin-bottom:14px}
.rev-score{display:inline-flex;flex-direction:column;align-items:center;gap:4px}
.pdp-editorial .rev-score{display:flex;flex-direction:column;align-items:center;width:auto}
.rev-big{font-size:44px;font-weight:800;color:var(--dark);letter-spacing:-1.5px;line-height:1}
.rev-stars{color:var(--orange);font-size:15px} .rev-count{font-size:12px;color:var(--gray)}
.rev-strip{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px}
.rev-card{flex:0 0 250px;border:1px solid #eef2f3;border-radius:16px;padding:18px;background:#fafbfb}
.rev-top{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.rev-av{width:32px;height:32px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rev-name{font-size:12px;font-weight:700;color:var(--dark)} .rev-loc{font-size:10px;color:var(--gray)}
.rev-s{color:var(--orange);font-size:11px;margin-bottom:6px}
.rev-text{font-size:12px;color:#4d6067;line-height:1.6;font-style:italic}
.rev-badge{display:inline-block;margin-top:9px;font-size:9px;font-weight:700;padding:3px 8px;border-radius:20px;background:#e1f6f2;color:var(--darkgreen)}
.rev-more,.pdp-editorial .rev-more{flex:0 0 130px;border-radius:16px;background:var(--palelight);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--bluebg);font-size:12px;font-weight:700;text-align:center;border:none;padding:16px 12px;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none;transition:background .2s ease, transform .2s ease}
.rev-more:hover,.pdp-editorial .rev-more:hover{background:#dceef1;transform:translateY(-1px)}
.rev-more:focus-visible,.pdp-editorial .rev-more:focus-visible{outline:2px solid var(--bluebg);outline-offset:2px}
.rev-warning{margin-top:18px;padding:11px 15px;background:#fff8ec;border:1px solid #e8c87b;border-radius:10px;font-size:10.5px;color:#7a5a1e;line-height:1.6;max-width:700px;margin-left:auto;margin-right:auto}
.faq-section{background:var(--palelight);padding:56px 44px}
.faq-inner{max-width:600px;margin:0 auto}
.faq-header{text-align:center;margin-bottom:24px}
.faq-title{font-size:30px;font-weight:800;color:var(--dark);letter-spacing:-.7px}
.xs-section{padding:56px 44px;border-top:1px solid #eef2f3}
.xs-header{text-align:center;margin-bottom:32px}
.xs-title{font-size:30px;font-weight:800;color:var(--dark);letter-spacing:-.7px}
.xs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.xs-card{border:1px solid #eef2f3;border-radius:16px;overflow:hidden;background:#fff}
.xs-img{height:110px;background:var(--palelight);display:flex;align-items:center;justify-content:center;position:relative}
.xs-img img{max-height:88px;max-width:78%;object-fit:contain}
.xs-discount{position:absolute;top:8px;right:8px;font-size:9px;font-weight:700;background:var(--brightgreen);color:#fff;padding:3px 8px;border-radius:20px}
.xs-body{padding:14px}
.xs-name{font-size:13px;font-weight:800;color:var(--dark);margin-bottom:3px}
.xs-desc{font-size:10.5px;color:#5a6b72;line-height:1.5;margin-bottom:10px;min-height:30px}
.xs-foot{display:flex;align-items:center;justify-content:space-between}
.xs-price{font-size:13.5px;font-weight:800;color:var(--dark)} .xs-old{font-size:10px;color:var(--gray);text-decoration:line-through;margin-left:4px}
.xs-btn{padding:7px 12px;background-color:var(--brightgreen) !important;color:#fff !important;border:none;border-radius:8px;font-size:10.5px;font-weight:700;cursor:pointer}
.comp-section{padding:26px 44px;background:var(--palelight);text-align:center}
.comp-section p{font-size:10px;color:var(--gray);line-height:1.85;max-width:640px;margin:0 auto}

.mf-outer{max-width:390px;margin:0 auto;border:1px solid #e2e6e8;border-radius:22px;overflow:hidden;background:#fff;position:relative}
.mscroll{height:760px;overflow-y:auto}
.mscroll::-webkit-scrollbar{display:none}
.m-notch{height:24px;background:var(--palelight);display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:5}
.m-pill{width:44px;height:5px;background:#cfe8ea;border-radius:3px}
.m-carousel{background:linear-gradient(160deg,var(--palelight) 0%,#fff 60%);padding:14px 16px 10px}
.m-ribbon-row{display:flex;gap:6px;margin-bottom:10px}
.m-main-shot{background:#fff;border-radius:18px;height:200px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(19,51,62,.08);overflow:hidden}
.m-main-shot img{max-height:160px;max-width:75%;object-fit:contain}
.m-dot-nav{display:flex;justify-content:center;gap:5px;margin-top:8px}
.m-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto}
.m-thumb{width:46px;height:46px;border-radius:10px;background:#fff;border:2px solid transparent;box-shadow:0 2px 6px rgba(19,51,62,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.m-thumb.on{border-color:var(--brightblue)} .m-thumb img{width:75%;height:75%;object-fit:contain}
.m-thumb.vid{background:var(--dark);color:#fff}
.m-info{padding:16px}
.m-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--brightblue);text-transform:uppercase;margin-bottom:4px}
.m-pname{font-size:34px;font-weight:800;color:var(--dark);letter-spacing:-1px;line-height:.95;margin-bottom:6px}
.m-pdesc{font-size:12.5px;color:#5a6b72;line-height:1.6;margin-bottom:8px}
.m-stars-row{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.m-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.m-chip{font-size:9.5px;font-weight:700;padding:5px 9px;border-radius:20px}
.m-opt-card{border:1.5px solid #e2e6e8;border-radius:12px;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.m-opt-card.sel{border-color:var(--dark)}
.m-opt-name{font-size:12px;font-weight:700;color:var(--dark)} .m-opt-sub{font-size:10px;color:#5a6b72;margin-top:1px}
.m-opt-price{font-size:12.5px;font-weight:700;color:var(--dark)}
.m-loyalty{background:linear-gradient(135deg,#e3f6f9 0%,var(--palelight) 100%);border:1px solid #cdeaf0;border-radius:12px;padding:12px 13px;margin:12px 0;font-size:11px;color:#4d6067;line-height:1.6}
.m-loyalty b{color:var(--dark);display:block;font-size:12px;margin-bottom:3px}
.m-loyalty .fit{display:inline-block;margin-top:6px;background:#fff;border:1px solid #cdeaf0;color:var(--bluebg);font-size:9.5px;font-weight:700;padding:3px 9px;border-radius:20px}
.m-flyer-card{background:#fff;border:1px solid #e2e6e8;border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:9px;margin-bottom:10px}
.m-flyer-icon{width:32px;height:32px;border-radius:9px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.m-flyer-title{font-size:11px;font-weight:700;color:var(--dark)} .m-flyer-sub{font-size:9.5px;color:var(--gray)}
.m-flyer-btn{background-color:var(--dark);color:#fff;border:none;border-radius:8px;font-size:9.5px;font-weight:700;padding:6px 10px;white-space:nowrap}
.m-trust-row{display:flex;justify-content:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.m-trust-row span{font-size:9.5px;color:#5a6b72;display:flex;align-items:center;gap:3px}
.m-trust-row i{color:var(--bluebg);font-size:11px}
.m-acc-item{border-bottom:1px solid #eef2f3}
.m-acc-head{width:100%;background:none;border:none;padding:12px 2px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}
.m-acc-title{font-size:12px;font-weight:700;color:var(--dark)}
.m-acc-toggle{width:19px;height:19px;border-radius:50%;border:1.5px solid #d8dfe2;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--dark);flex-shrink:0}
.m-acc-item.open .m-acc-toggle{background-color:var(--dark);color:#fff;border-color:var(--dark)}
.m-acc-body{display:none;padding:0 2px 12px;font-size:11.5px;color:#5a6b72;line-height:1.65}
.m-acc-item.open .m-acc-body{display:block}
.m-sticky{position:sticky;bottom:0;background:#fff;border-top:1px solid #eef2f3;padding:10px 14px;display:flex;gap:8px;align-items:center;box-shadow:0 -4px 16px rgba(19,51,62,.06);z-index:5}
.m-qty-box{display:flex;align-items:stretch;border:1.5px solid #d8dfe2;border-radius:11px;overflow:hidden;flex-shrink:0}
.m-qty-btn{-webkit-appearance:none;appearance:none;width:30px;border:none;background-color:#fff;font-size:14px;color:var(--dark);font-weight:600;outline:none}
.m-qty-val{width:28px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background-color:#fafbfb}
.m-sticky-cta{-webkit-appearance:none;appearance:none;flex:1;border:none;border-radius:14px;font-size:17px;font-weight:800;cursor:pointer;outline:none;background-color:#00AE55 !important;color:#fff !important;padding:16px 18px;min-height:56px;box-shadow:0 6px 16px rgba(0,174,85,.35)}
.m-sec{padding:26px 18px;border-top:1px solid #eef2f3}
.m-sec-tint{background:var(--palelight)}
.m-sec-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--brightblue);text-transform:uppercase;margin-bottom:8px;text-align:center}
.m-sec-title{font-size:22px;font-weight:800;color:var(--dark);letter-spacing:-.5px;text-align:center;margin-bottom:8px;line-height:1.2}
.m-sec-sub{font-size:12.5px;color:#5a6b72;text-align:center;margin-bottom:16px;line-height:1.6}
.m-tbar{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px}
.m-tbi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.m-tbi-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff}
.m-tbi-label{font-size:11.5px;font-weight:700;color:var(--dark)} .m-tbi-sub{font-size:10px;color:#5a6b72}
.m-why-img{aspect-ratio:4/3;overflow:hidden;background:var(--palelight);margin:0 -18px 16px}
.m-why-img img{width:100%;height:100%;object-fit:cover}
.m-strip{display:flex;gap:10px;overflow-x:auto;margin:0 -18px;padding:0 18px}
.m-strip-item{flex:0 0 130px;border-radius:12px;overflow:hidden;background:#fafbfb;border:1.5px dashed #d8dfe2}
.m-strip-photo{aspect-ratio:4/5;position:relative;background:var(--palelight);display:flex;align-items:center;justify-content:center;color:#b9c6c9}
.m-strip-photo .pending-tag{position:absolute;top:8px;left:8px;background:#fff;border:1px solid #e2e6e8;color:var(--darkorange);font-size:8.5px;font-weight:700;padding:2px 7px;border-radius:20px}
.m-strip-attr{padding:8px 10px;display:flex;align-items:center;gap:6px;background:#fff}
.m-strip-av{width:22px;height:22px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.m-strip-name{font-size:10.5px;font-weight:700;color:var(--dark)} .m-strip-loc{font-size:9px;color:var(--gray)}
.m-ugc-hashtag{font-size:11px;color:var(--bluebg);text-align:center;margin-bottom:10px}
.m-vid-embed{border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#000}
.m-vid-embed iframe{width:100%;height:100%;border:none}
.m-ingr-card{border-top:1px solid #eef2f3;padding:20px 0;margin-top:16px}
.m-ingr-visual{border-radius:14px;display:flex;align-items:center;justify-content:center;padding:22px;margin-bottom:12px}
.m-ingr-visual .icn{font-size:36px}
.m-dose-tag{display:inline-flex;font-size:9.5px;font-weight:700;padding:4px 9px;border-radius:20px;margin-bottom:6px}
.m-ingr-name{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:5px}
.m-ingr-quote{font-size:12.5px;font-style:italic;color:#5a6b72;margin-bottom:6px}
.m-ingr-body{font-size:11.5px;color:#5a6b72;line-height:1.6}
.m-ht-cards{display:flex;flex-direction:column;gap:8px}
.m-ht-card{background:#fff;border-radius:13px;padding:14px;display:flex;gap:10px;align-items:flex-start;box-shadow:0 3px 10px rgba(19,51,62,.05)}
.m-ht-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0}
.m-ht-step{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gray)}
.m-ht-name{font-size:12.5px;font-weight:800;color:var(--dark)} .m-ht-desc{font-size:10.5px;color:#5a6b72;line-height:1.5}
.m-carousel2{display:flex;gap:10px;overflow-x:auto;margin:0 -18px;padding:0 18px}
.m-rc{flex:0 0 190px;background:#fafbfb;border:1px solid #eef2f3;border-radius:14px;padding:16px}
.m-rc.milestone{background:linear-gradient(160deg,#e3f6f9 0%,var(--palelight) 100%);border-color:#cdeaf0}
.m-rc-marker{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;margin-bottom:12px}
.m-rc-label{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin-bottom:5px}
.m-rc-title{font-size:13px;font-weight:800;color:var(--dark);margin-bottom:5px}
.m-rc-desc{font-size:10.5px;color:#5a6b72;line-height:1.55}
.m-join-card{background:linear-gradient(150deg,#e3f6f9 0%,var(--palelight) 100%);border:1px solid #cdeaf0;border-radius:14px;padding:16px;margin-bottom:16px}
.m-tier-pick{display:flex;gap:6px;margin-bottom:12px}
.m-tp{flex:1;background:#fff;border:1.5px solid #cdeaf0;border-radius:10px;padding:8px 6px;text-align:center}
.m-tp.sel{border-color:var(--bluebg);background:#f4fbfc}
.m-tp-name{font-size:10.5px;font-weight:800;color:var(--dark)} .m-tp-price{font-size:9px;color:var(--gray)}
.m-example-box{background:#fff;border-radius:11px;padding:12px 13px;margin-bottom:10px}
.m-example-row{display:flex;justify-content:space-between;font-size:11px;padding:4px 0;border-bottom:1px dashed #eef2f3}
.m-example-row:last-child{border-bottom:none;font-weight:800;padding-top:6px}
.m-join-cta{width:100%;background-color:var(--brightblue) !important;color:#fff !important;border:none;border-radius:10px;padding:12px;font-size:12.5px;font-weight:700}
.m-tier-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.m-tc{background:#fafbfb;border:1.5px solid #eef2f3;border-radius:12px;padding:13px}
.m-tc.reco{background:linear-gradient(160deg,#e1f6f2 0%,#f4fbfa 100%);border-color:#cdeee0}
.m-tc-top{display:flex;justify-content:space-between;margin-bottom:5px}
.m-tc-name{font-size:11px;font-weight:700;color:var(--gray);text-transform:uppercase}
.m-tc.reco .m-tc-name{color:var(--darkgreen)}
.m-tc-price{font-size:15px;font-weight:800;color:var(--dark)}
.m-tc-feats{font-size:10.5px;color:#4d6067;line-height:1.7}
.m-hiw{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.m-hiw-step{display:flex;align-items:center;gap:8px;background:#fafbfb;border:1px solid #eef2f3;border-radius:10px;padding:8px 10px}
.m-hiw-n{width:19px;height:19px;border-radius:50%;background:var(--dark);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.m-hiw-text{font-size:11px;font-weight:600;color:var(--dark)}
.m-rev-summary{display:flex;align-items:center;gap:14px;margin-bottom:14px;justify-content:center}
.m-rev-big{font-size:34px;font-weight:800;color:var(--dark)}
.m-rev-card{flex:0 0 200px;border:1px solid #eef2f3;border-radius:14px;padding:14px;background:#fafbfb}
.m-rev-warning{margin-top:12px;padding:10px 12px;background:#fff8ec;border:1px solid #e8c87b;border-radius:10px;font-size:9.5px;color:#7a5a1e;line-height:1.6}
.m-xs-list{display:flex;flex-direction:column;gap:8px}
.m-xs-row{display:flex;gap:10px;border:1px solid #eef2f3;border-radius:13px;overflow:hidden;background:#fff}
.m-xs-img{width:76px;background:var(--palelight);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.m-xs-img img{max-width:56px;max-height:56px;object-fit:contain}
.m-xs-info{flex:1;padding:10px 10px 10px 0}
.m-xs-name{font-size:11.5px;font-weight:800;color:var(--dark)} .m-xs-desc{font-size:10px;color:#5a6b72;margin-bottom:6px;line-height:1.4}
.m-xs-foot{display:flex;align-items:center;justify-content:space-between}
.m-xs-price{font-size:12px;font-weight:800;color:var(--dark)}
.m-xs-btn{padding:5px 10px;background-color:var(--brightgreen) !important;color:#fff !important;border:none;border-radius:7px;font-size:9.5px;font-weight:700}
.m-comp{padding:16px 18px;background:var(--palelight);text-align:center}
.m-comp p{font-size:9px;color:var(--gray);line-height:1.8}

/* ===== Production responsive adaptations (single markup) ===== */
.pdp-editorial{font-family:var(--font);color:var(--dark);background:#fff}
.pdp-editorial .stickybar{position:fixed;top:0;left:0;right:0;z-index:1030}
.pdp-editorial .m-sticky{display:none}
.pdp-editorial img{max-width:100%}

@media (max-width: 900px){
  .pdp-editorial .stickybar{display:none !important}
  .pdp-editorial .m-sticky{display:flex}
  .pdp-editorial .hero-grid{grid-template-columns:minmax(0,1fr)}
  .pdp-editorial .pin-col{position:relative;top:auto;border-right:none;padding:20px 16px 8px}
  .pdp-editorial .info-col{padding:16px 16px 100px}
  .pdp-editorial .pname{font-size:36px;letter-spacing:-1px}
  .pdp-editorial .why-story-card{grid-template-columns:1fr !important}
  .pdp-editorial .ingr-row{grid-template-columns:1fr;gap:16px;padding:24px 16px}
  .pdp-editorial .ingr-row .ingr-visual{order:-1;min-height:160px}
  .pdp-editorial .tier-grid,.pdp-editorial .xs-grid{grid-template-columns:1fr}
  .pdp-editorial .tbar{grid-template-columns:1fr 1fr;gap:12px}
  .pdp-editorial .tbi{border-right:none}
  .pdp-editorial .vid-section,.pdp-editorial .howto,.pdp-editorial .ritual,.pdp-editorial .sc-section,.pdp-editorial .rev-section,.pdp-editorial .faq-section,.pdp-editorial .xs-section,.pdp-editorial .formula-header,.pdp-editorial .ugc-header,.pdp-editorial .tbar-wrap{padding-left:16px;padding-right:16px}
  .pdp-editorial .hiw{grid-template-columns:1fr 1fr}
}


/* ===== 55+ readability + CTA height + brand ribbon (overrides) ===== */
.pdp-editorial .ribbon{font-size:11px;padding:6px 12px}
.pdp-editorial .rb-1{background:var(--darkgreen) !important}
.pdp-editorial .chip.c3{background:#e1f6f2 !important;color:var(--darkgreen) !important}
.pdp-editorial .cta-btn{min-height:58px !important;padding:16px 22px !important;font-size:18px !important;border-radius:14px !important}
.pdp-editorial .m-sticky{padding:12px 14px 14px;gap:10px}
.pdp-editorial .m-sticky-cta{min-height:56px !important;padding:16px 18px !important;font-size:17px !important;border-radius:14px !important}
.pdp-editorial .m-qty-box{min-height:56px}
.pdp-editorial .qty-btn,.pdp-editorial .m-qty-btn{min-width:48px;min-height:48px;font-size:20px;font-weight:600}
.pdp-editorial .qty-val,.pdp-editorial .m-qty-val{font-size:18px;font-weight:700;min-width:36px;display:inline-flex;align-items:center;justify-content:center}
.pdp-editorial .trust-row{font-size:13.5px;gap:14px;flex-wrap:wrap}
.pdp-editorial .trust-i{color:var(--text-secondary);font-size:13.5px}
.pdp-editorial .acc-head-title{font-size:16px}
.pdp-editorial .acc-body{font-size:15px;line-height:1.7;color:var(--text-secondary)}
.pdp-editorial .acc-body table{font-size:14px}
.pdp-editorial .flyer-title{font-size:15px}
.pdp-editorial .flyer-sub{font-size:13px;color:var(--text-secondary)}
.pdp-editorial .flyer-dl-btn{min-height:48px;font-size:14px;padding:12px 16px}
.pdp-editorial .eyebrow{font-size:13px}
.pdp-editorial .tbi-label{font-size:15px}
.pdp-editorial .tbi-sub{font-size:13px;color:var(--text-secondary)}
.pdp-editorial .why-title,.pdp-editorial .f-title,.pdp-editorial .ht-title,.pdp-editorial .rt-title,.pdp-editorial .faq-title,.pdp-editorial .rev-title,.pdp-editorial .sc-title,.pdp-editorial .xs-title{letter-spacing:-0.5px}
.pdp-editorial .why-body,.pdp-editorial .f-sub,.pdp-editorial .ht-sub,.pdp-editorial .rt-sub,.pdp-editorial .ingr-body,.pdp-editorial .fi-a{font-size:16px;line-height:1.7;color:var(--text-secondary)}
.pdp-editorial .fi-qt{font-size:16px;font-weight:700}
.pdp-editorial .ht-name,.pdp-editorial .rc-title,.pdp-editorial .ingr-name{font-size:20px}
.pdp-editorial .ht-desc,.pdp-editorial .rc-desc{font-size:15px;line-height:1.65;color:var(--text-secondary)}
.pdp-editorial .comp-section p{font-size:13px;line-height:1.75;color:var(--text-secondary)}

@media (max-width: 900px){
  .pdp-editorial .pname{font-size:40px !important}
  .pdp-editorial .pdesc{font-size:16px}
  .pdp-editorial .opt-name{font-size:15px}
  .pdp-editorial .opt-sub{font-size:13px}
  .pdp-editorial .opt-price{font-size:16px}
  .pdp-editorial .opt-card{min-height:68px;padding:16px}
  .pdp-editorial .cta-btn{min-height:60px !important;font-size:18px !important}
  .pdp-editorial .qty-cta-row{gap:10px;align-items:stretch}
  .pdp-editorial .qty-box{min-height:60px}
  .pdp-editorial .info-col{padding-bottom:110px}
  .pdp-editorial .m-sticky{padding:12px 12px calc(12px + env(safe-area-inset-bottom, 0px))}
  .pdp-editorial .m-sticky-cta{min-height:58px !important;font-size:17px !important}
}



/* Product name diacritics (e.g. LÚMO) must not collide with eyebrow */
.pdp-editorial .info-col > div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.pdp-editorial .info-col .eyebrow{
  margin-bottom:2px;
  line-height:1.4;
}
.pdp-editorial .info-col .pname{
  line-height:1.1 !important;
  padding-top:.14em;
  overflow:visible;
}

/* Main product gallery — swipeable track */
.pdp-editorial .main-shot{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:stretch;
}
.pdp-editorial .main-shot-track{
  display:flex;
  width:100%;
  flex:1 1 auto;
  min-height:inherit;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-x pan-y;
}
.pdp-editorial .main-shot-track:active{cursor:grabbing}
.pdp-editorial .main-shot-track::-webkit-scrollbar{display:none}
.pdp-editorial .main-shot-slide{
  flex:0 0 100%;
  width:100%;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
  user-select:none;
  -webkit-user-select:none;
}
.pdp-editorial .main-shot-slide img{
  pointer-events:none;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}
.pdp-editorial .main-shot .dot-nav{
  pointer-events:auto;
  z-index:2;
}
.pdp-editorial .main-shot .dot{
  -webkit-appearance:none;
  appearance:none;
  border:none;
  padding:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c5d0d4;
  cursor:pointer;
}
.pdp-editorial .main-shot .dot.on{background:var(--dark)}
.pdp-editorial .main-shot-hint{
  display:none;
  position:absolute;
  right:12px;
  bottom:44px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:var(--dark);
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(19,51,62,.12);
  pointer-events:none;
  z-index:2;
  font-size:18px;
}
@media (max-width:900px){
  .pdp-editorial .main-shot-hint{display:flex}
  .pdp-editorial .main-shot-hint{animation:pdpHintFade 2.8s ease .4s both}
}
@keyframes pdpHintFade{
  0%{opacity:0;transform:translateX(6px)}
  15%{opacity:1;transform:translateX(0)}
  70%{opacity:1}
  100%{opacity:0}
}

/* ===== Card sections (dosage / customers / ritual / reviews) ===== */
.pdp-editorial .ugc-section{
  background:#f5f7f8;
  padding:64px 0 56px;
  border-top:1px solid #eef2f3;
  overflow:hidden;
}
.pdp-editorial .ugc-header{
  padding:0 0 8px;
  max-width:1120px;
  margin:0 auto;
  align-items:flex-end;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
}
.pdp-editorial .ugc-title{
  font-size:40px;
  font-weight:800;
  letter-spacing:-1px;
  line-height:1.12;
  margin-bottom:10px;
  color:var(--dark);
}
.pdp-editorial .ugc-sub{
  font-size:18px;
  line-height:1.5;
  color:var(--text-secondary);
  max-width:560px;
}
.pdp-editorial .ugc-count{
  font-size:14px;
  padding:8px 14px;
  border-radius:999px;
  align-self:flex-start;
}
.pdp-editorial .ugc-hashtag{
  padding:10px 0 0;
  max-width:560px;
  margin:0;
  font-size:15px;
  color:var(--text-secondary);
}
.pdp-editorial .ugc-hashtag b{color:var(--darkgreen)}

.pdp-editorial .ugc-rail-wrap{
  position:relative;
  margin-top:28px;
}
.pdp-editorial .ugc-rail{
  display:flex;
  gap:22px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:8px 0 28px;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
  scrollbar-width:none;
}
.pdp-editorial .ugc-rail::-webkit-scrollbar{display:none}
.pdp-editorial .ugc-card{
  flex:0 0 min(340px, 78vw);
  scroll-snap-align:start;
  background:#fff;
  border-radius:28px;
  box-shadow:0 10px 32px rgba(19,51,62,.08);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:480px;
  border:none;
}
.pdp-editorial .ugc-card-copy{
  padding:28px 26px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pdp-editorial .ugc-card-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b767e;
}
.pdp-editorial .ugc-card-name{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.4px;
  line-height:1.15;
  color:var(--dark);
  margin:0;
}
.pdp-editorial .ugc-card-loc{
  font-size:16px;
  color:var(--text-secondary);
  margin:0;
  line-height:1.4;
}
.pdp-editorial .ugc-card-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
  font-size:13px;
  font-weight:600;
  color:#6b767e;
}
.pdp-editorial .ugc-card-av{
  width:32px;
  height:32px;
  border-radius:50%;
  color:#fff;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.pdp-editorial .ugc-card-media{
  margin-top:auto;
  flex:1 1 auto;
  min-height:220px;
  position:relative;
  background:linear-gradient(160deg,#f4fbfb 0%, #e8f3f5 100%);
  display:flex;
  align-items:center;
  justify-content:center;
}
.pdp-editorial .ugc-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  min-height:220px;
}
.pdp-editorial .ugc-card-placeholder{
  color:#9bb0b5;
  font-size:48px;
}
.pdp-editorial .ugc-card-media .pending-tag{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--darkgreen);
  border:none;
  color:#fff;
  font-size:12px;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  z-index:1;
}
.pdp-editorial .ugc-card--more{
  background:linear-gradient(160deg,#fff 0%, #eef6f7 100%);
  min-height:480px;
  align-items:center;
  justify-content:center;
  border:none;
  padding:0;
  cursor:pointer;
  text-align:inherit;
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pdp-editorial .ugc-card--more:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(19,51,62,.12);
}
.pdp-editorial .ugc-card--more:focus-visible{
  outline:2px solid var(--bluebg);
  outline-offset:3px;
}
.pdp-editorial .ugc-card-more-inner{
  text-align:center;
  padding:32px 24px;
  color:var(--dark);
}
.pdp-editorial .ugc-card-more-inner .ti{
  font-size:36px;
  color:var(--bluebg);
  display:block;
  margin-bottom:14px;
}
.pdp-editorial .ugc-card-more-title{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.3px;
  margin-bottom:6px;
}
.pdp-editorial .ugc-card-more-sub{
  font-size:15px;
  color:var(--text-secondary);
}
.pdp-editorial .ugc-nav{
  position:absolute;
  top:46%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:rgba(232,236,238,.92);
  backdrop-filter:blur(8px);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 6px 18px rgba(19,51,62,.12);
}
.pdp-editorial .ugc-nav:hover{background:#dfe4e7}
.pdp-editorial .ugc-nav--prev{left:max(12px, calc((100% - 1120px) / 2));}
.pdp-editorial .ugc-nav--next{right:16px}
.pdp-editorial .ugc-nav[hidden]{display:none !important}
.pdp-editorial .ugc-nav .ti{font-size:24px}

/* Legacy strip selectors no longer used — keep harmless */
.pdp-editorial .strip{display:none}

/* Video story card */
.pdp-editorial .vid-section{
  background:#f5f7f8;
  padding:72px 0 80px;
  text-align:left;
  border-top:1px solid #eef2f3;
  overflow:hidden;
}
.pdp-editorial .vid-header{
  max-width:1120px;
  margin:0 auto 28px;
  padding:0 48px;
  text-align:left;
}
.pdp-editorial .vid-eyebrow{
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--brightblue);
  text-transform:uppercase;
  margin-bottom:12px;
}
.pdp-editorial .vid-title{
  font-size:40px;
  font-weight:800;
  color:var(--dark);
  letter-spacing:-1px;
  margin-bottom:10px;
  line-height:1.12;
}
.pdp-editorial .vid-sub{
  font-size:18px;
  color:var(--text-secondary);
  margin:0;
  max-width:560px;
  line-height:1.5;
}
.pdp-editorial .vid-stage{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
}
.pdp-editorial .vid-story-card{
  width:100%;
  background:#fff;
  border-radius:32px;
  box-shadow:0 16px 48px rgba(19,51,62,.12);
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(240px, .95fr) 1.35fr;
  min-height:420px;
}
.pdp-editorial .vid-story-copy{
  padding:40px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  order:1;
  background:linear-gradient(180deg,#fff 0%, #f7fbfb 100%);
}
.pdp-editorial .vid-embed{ order:2; }
.pdp-editorial .vid-story-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--brightblue);
}
.pdp-editorial .vid-story-title{
  font-size:32px;
  font-weight:800;
  letter-spacing:-.6px;
  line-height:1.15;
  color:var(--dark);
}
.pdp-editorial .vid-story-sub{
  font-size:16px;
  color:var(--text-secondary);
  line-height:1.55;
  margin:0;
  max-width:320px;
}
.pdp-editorial .vid-embed{
  max-width:none;
  margin:0;
  border-radius:0;
  aspect-ratio:auto;
  min-height:420px;
  height:100%;
  background:#000;
  box-shadow:none;
}
.pdp-editorial .vid-embed iframe{
  width:100%;
  height:100%;
  min-height:420px;
  border:none;
  display:block;
}

/* Dosage */
.pdp-editorial .howto{
  background:#f5f7f8;
  padding:72px 48px 80px;
}
.pdp-editorial .howto .eyebrow{font-size:14px;margin-bottom:12px}
.pdp-editorial .ht-title{
  font-size:42px;
  letter-spacing:-1px;
  margin-bottom:12px;
}
.pdp-editorial .ht-sub{
  font-size:18px;
  color:var(--text-secondary);
  margin-bottom:40px;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.55;
}
.pdp-editorial .ht-rail-wrap{
  position:relative;
  margin-top:8px;
}
.pdp-editorial .ht-cards{
  display:flex !important;
  grid-template-columns:none !important;
  gap:22px !important;
  max-width:none !important;
  margin:0 !important;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:8px 0 28px;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
  scrollbar-width:none !important;
}
.pdp-editorial .ht-cards::-webkit-scrollbar{display:none !important;width:0;height:0}
.pdp-editorial .ht-card{
  flex:0 0 min(340px, 78vw) !important;
  scroll-snap-align:start;
  background:#fff;
  border-radius:28px;
  padding:36px 30px 34px;
  text-align:left;
  box-shadow:0 10px 32px rgba(19,51,62,.08);
  border:none;
  min-height:280px;
}
.pdp-editorial .ht-nav{
  position:absolute;
  top:46%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:rgba(232,236,238,.92);
  backdrop-filter:blur(8px);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 6px 18px rgba(19,51,62,.12);
}
.pdp-editorial .ht-nav:hover{background:#dfe4e7}
.pdp-editorial .ht-nav--prev{left:max(12px, calc((100% - 1120px) / 2));}
.pdp-editorial .ht-nav--next{right:16px}
.pdp-editorial .ht-nav[hidden]{display:none !important}
.pdp-editorial .ht-nav .ti{font-size:24px}
.pdp-editorial .ht-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  font-size:24px;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.pdp-editorial .ht-icon .ti{ color:#fff; line-height:1; }
.pdp-editorial .ht-step{
  font-size:13px;
  letter-spacing:.08em;
  color:#6b767e;
  margin-bottom:10px;
}
.pdp-editorial .ht-name{
  font-size:28px;
  font-weight:800;
  letter-spacing:-.4px;
  margin-bottom:12px;
  line-height:1.15;
}
.pdp-editorial .ht-desc{
  font-size:16px;
  line-height:1.65;
  color:var(--text-secondary);
}
.pdp-editorial .ht-note{
  font-size:15px;
  color:var(--text-secondary);
  max-width:640px;
  margin:36px auto 0;
  line-height:1.7;
}

/* Ritual */
.pdp-editorial .ritual{
  background:#f5f7f8;
  padding:72px 48px 80px;
}
.pdp-editorial .rt-header{margin-bottom:40px}
.pdp-editorial .rt-title{
  font-size:42px;
  letter-spacing:-1px;
  margin-bottom:12px;
}
.pdp-editorial .rt-sub{
  font-size:18px;
  color:var(--text-secondary);
  max-width:560px;
  line-height:1.55;
}
.pdp-editorial .rt-rail-wrap{
  position:relative;
  margin-top:8px;
}
.pdp-editorial .rt-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:20px !important;
  max-width:none !important;
  margin:0 !important;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:8px 0 28px;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
  scrollbar-width:none !important;
}
.pdp-editorial .rt-grid::-webkit-scrollbar{display:none !important;width:0;height:0}
.pdp-editorial .rc{
  flex:0 0 min(300px, 78vw) !important;
  scroll-snap-align:start;
  background:#fff;
  border:none;
  border-radius:28px;
  padding:32px 28px 28px;
  box-shadow:0 10px 32px rgba(19,51,62,.08);
  min-height:300px;
  display:flex;
  flex-direction:column;
}
.pdp-editorial .rt-nav{
  position:absolute;
  top:46%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:rgba(232,236,238,.92);
  backdrop-filter:blur(8px);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 6px 18px rgba(19,51,62,.12);
}
.pdp-editorial .rt-nav:hover{background:#dfe4e7}
.pdp-editorial .rt-nav--prev{left:max(12px, calc((100% - 1120px) / 2));}
.pdp-editorial .rt-nav--next{right:16px}
.pdp-editorial .rt-nav[hidden]{display:none !important}
.pdp-editorial .rt-nav .ti{font-size:24px}
.pdp-editorial .rc.milestone{
  background:#fff;
  box-shadow:0 10px 32px rgba(19,51,62,.10);
  outline:2px solid #cdeaf0;
}
.pdp-editorial .rc-marker{
  width:56px;
  height:56px;
  border-radius:16px;
  font-size:24px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.pdp-editorial .rc-marker .ti{ color:#fff; line-height:1; }
.pdp-editorial .rc-label{
  font-size:13px;
  letter-spacing:.08em;
  color:#6b767e;
  margin-bottom:10px;
}
.pdp-editorial .rc-title{
  font-size:22px;
  font-weight:800;
  letter-spacing:-.3px;
  margin-bottom:12px;
  line-height:1.25;
}
.pdp-editorial .rc-desc{
  font-size:16px;
  line-height:1.65;
  color:var(--text-secondary);
  flex:1;
}
.pdp-editorial .rc-tag{
  margin-top:20px;
  font-size:13px;
  padding:7px 14px;
  border-radius:999px;
  background:#f5f7f8;
  color:var(--dark);
  border:none;
  align-self:flex-start;
}
.pdp-editorial .rc.milestone .rc-tag{
  background:#e3f6f9;
  color:var(--bluebg);
}
.pdp-editorial .ritual-note{
  font-size:14px;
  color:var(--text-secondary);
  margin-top:36px;
}

/* Reviews strip — same card language */
.pdp-editorial .rev-section{background:#fff;padding:72px 48px}
.pdp-editorial .rev-title{font-size:42px;letter-spacing:-1px}
.pdp-editorial .rev-strip{gap:22px;padding-top:12px}
.pdp-editorial .rev-card{
  flex:0 0 min(340px,80vw);
  border:none;
  border-radius:28px;
  padding:28px;
  background:#f5f7f8;
  box-shadow:none;
}
.pdp-editorial .rev-text{font-size:17px;line-height:1.6;color:var(--text-secondary)}
.pdp-editorial .rev-name{font-size:16px}
.pdp-editorial .rev-loc{font-size:14px}

/* Formula dose tags — drop orange fills */
.pdp-editorial .v-orange{background:linear-gradient(160deg,#e3f6f9 0%, #f4fbfc 100%) !important}
.pdp-editorial .dose-orange{background:#e3f6f9 !important;color:var(--bluebg) !important}

@media (max-width: 1100px){
  .pdp-editorial .rt-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 900px){
  .pdp-editorial .howto,
  .pdp-editorial .ritual,
  .pdp-editorial .ugc-section{padding:48px 0 56px}
  .pdp-editorial .ugc-header{padding-left:18px;padding-right:18px}
  .pdp-editorial .ugc-rail{padding-left:18px;padding-right:18px}
  .pdp-editorial .ugc-nav{display:none !important}
  .pdp-editorial .howto{padding-left:18px;padding-right:18px}
  .pdp-editorial .ritual{padding-left:18px;padding-right:18px}
  .pdp-editorial .ht-cards{grid-template-columns:1fr;gap:16px;max-width:none}
  .pdp-editorial .ht-card{min-height:0;padding:28px 24px}
  .pdp-editorial .ht-title,
  .pdp-editorial .rt-title,
  .pdp-editorial .ugc-title{font-size:32px}
  .pdp-editorial .ht-name{font-size:24px}
  .pdp-editorial .rt-grid{
    display:flex;
    overflow-x:auto;
    gap:16px;
    scroll-snap-type:x mandatory;
    max-width:none;
    padding-bottom:8px;
  }
  .pdp-editorial .rc{
    flex:0 0 min(300px,85vw);
    scroll-snap-align:start;
    min-height:280px;
  }
  .pdp-editorial .ugc-card{flex:0 0 min(300px,82vw)}
  .pdp-editorial .vid-header{padding-left:18px;padding-right:18px}
  .pdp-editorial .vid-stage{padding-left:18px;padding-right:18px}
  .pdp-editorial .vid-story-card{grid-template-columns:1fr;width:100%;min-height:0}
}


/* ===== Hero photo scale + cross-sell ===== */
.pdp-editorial .hero-grid{
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: start;
}
.pdp-editorial .pin-col{
  padding: 28px 28px 36px;
  gap: 18px;
  min-height: calc(100vh - 80px);
}
.pdp-editorial .main-shot{
  min-height: clamp(420px, 58vh, 620px);
  border-radius: 28px;
  padding: 28px 20px;
  box-shadow: 0 16px 40px rgba(19,51,62,.10);
}
.pdp-editorial .main-shot img{
  max-height: clamp(340px, 48vh, 520px);
  max-width: 92%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.pdp-editorial .thumb-row{
  gap: 12px;
  flex-wrap: wrap;
}
.pdp-editorial .thumb{
  width: 72px;
  height: 72px;
  border-radius: 16px;
  cursor: pointer;
}
.pdp-editorial .media-lk{
  font-size: 13px;
  padding: 10px 16px;
  border-radius: 999px;
  min-height: 44px;
}
.pdp-editorial .ribbon{
  font-size: 12px;
  padding: 7px 14px;
}
.pdp-editorial .info-col{
  padding: 36px 40px 72px 28px;
}

/* Complete your routine cards */
.pdp-editorial .xs-section{
  background: #f5f7f8;
  padding: 72px 48px 80px;
  border-top: none;
}
.pdp-editorial .xs-header{
  text-align: center;
  margin-bottom: 36px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.pdp-editorial .xs-title{
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1.15;
  color: var(--dark);
}
.pdp-editorial .xs-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  max-width: 1120px;
  margin: 0 auto;
}
.pdp-editorial .xs-card{
  border: none;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 32px rgba(19,51,62,.08);
  display: flex;
  flex-direction: column;
  min-height: 420px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.pdp-editorial .xs-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(19,51,62,.12);
}
.pdp-editorial .xs-img{
  height: auto;
  aspect-ratio: 4 / 3;
  background: linear-gradient(160deg, var(--palelight), #eef6f7);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 28px 20px;
}
.pdp-editorial .xs-img img{
  max-height: 78%;
  max-width: 82%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.pdp-editorial .xs-img .ti{
  font-size: 56px;
  color: #c8d5d8;
}
.pdp-editorial .xs-discount{
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--darkgreen);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 999px;
}
.pdp-editorial .xs-body{
  padding: 24px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.pdp-editorial .xs-name{
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.2px;
  line-height: 1.25;
  text-transform: none;
  margin-bottom: 0;
}
.pdp-editorial .xs-desc{
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-secondary);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pdp-editorial .xs-foot{
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pdp-editorial .xs-price{
  font-size: 20px;
  font-weight: 800;
  color: var(--dark);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.pdp-editorial .xs-old{
  font-size: 15px;
  font-weight: 600;
  color: #8a949b;
  text-decoration: line-through;
}
.pdp-editorial .xs-btn{
  padding: 14px 18px;
  min-height: 48px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0,174,85,.28);
}

@media (max-width: 1100px){
  .pdp-editorial .xs-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
}
@media (max-width: 900px){
  .pdp-editorial .pin-col{
    min-height: 0;
    padding: 20px 16px 12px;
  }
  .pdp-editorial .main-shot{
    min-height: 320px;
    border-radius: 22px;
  }
  .pdp-editorial .main-shot img{
    max-height: 260px;
  }
  .pdp-editorial .thumb{width: 60px; height: 60px}
  .pdp-editorial .xs-section{padding: 48px 18px 56px}
  .pdp-editorial .xs-title{font-size: 32px}
  .pdp-editorial .xs-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .pdp-editorial .xs-card{min-height: 0}
  .pdp-editorial .xs-img{aspect-ratio: 16 / 10}
}

/* ===== Reviews link + trust photo ===== */
.pdp-editorial .pdp-reviews-link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  width:fit-content;
}
.pdp-editorial .pdp-reviews-link:hover .rcount{
  text-decoration:underline;
  color:var(--dark);
}
.pdp-editorial .tbi-icon--photo{
  background:#fff !important;
  overflow:hidden;
  padding:0;
  border:1px solid #e2e6e8;
}
.pdp-editorial .tbi-icon--photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* ===== Formula ingredient cards — free-flow horizontal rail ===== */
.pdp-editorial .formula-section{
  background:#f5f7f8;
  padding:72px 0 80px;
  overflow:hidden;
  border:none;
}
.pdp-editorial .formula-header{
  text-align:left;
  padding:0 0 28px;
  max-width:1120px;
  margin:0 auto;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
}
.pdp-editorial .formula-section .f-title{
  font-size:42px;
  letter-spacing:-1px;
  line-height:1.15;
  margin-bottom:12px;
}
.pdp-editorial .formula-section .f-sub{
  font-size:18px;
  color:var(--text-secondary);
  line-height:1.55;
  max-width:560px;
  margin:0;
}
.pdp-editorial .formula-rail-wrap{
  position:relative;
  max-width:none;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}
.pdp-editorial .formula-rail{
  display:flex;
  gap:22px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:12px 0 32px;
  padding-left:max(48px, calc((100% - 1120px) / 2 + 48px));
  padding-right:48px;
  scrollbar-width:none !important;
  border:none;
  background:transparent;
}
.pdp-editorial .formula-rail::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}
.pdp-editorial .ingr-card{
  flex:0 0 min(380px, 78vw);
  scroll-snap-align:start;
  background:#fff;
  border-radius:28px;
  box-shadow:0 10px 32px rgba(19,51,62,.08);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:0;
  border:none;
}
.pdp-editorial .ingr-card-copy{
  padding:32px 30px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:0 0 auto;
}
.pdp-editorial .ingr-card-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b767e;
}
.pdp-editorial .ingr-card .dose-tag{
  font-size:13px;
  padding:7px 12px;
}
.pdp-editorial .dose-blue{background:#e3f6f9;color:var(--bluebg)}
.pdp-editorial .ingr-card-name{
  font-size:28px;
  font-weight:800;
  letter-spacing:-.4px;
  line-height:1.15;
  color:var(--dark);
  margin:0;
}
.pdp-editorial .ingr-card-quote{
  font-size:17px;
  font-style:italic;
  color:var(--text-secondary);
  margin:0;
  line-height:1.45;
}
.pdp-editorial .ingr-card-body{
  font-size:16px;
  line-height:1.65;
  color:var(--text-secondary);
  margin:0;
}
.pdp-editorial .ingr-card .ingr-link{
  font-size:14px;
  font-weight:700;
  color:var(--dark);
  margin-top:4px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pdp-editorial .ingr-card-media{
  margin-top:auto;
  flex:1 1 auto;
  min-height:240px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:20px 24px 0;
  position:relative;
}
.pdp-editorial .ingr-card-media.v-green{
  background:linear-gradient(180deg,#f4fbfa 0%, #e1f6f2 100%);
}
.pdp-editorial .ingr-card-media.v-blue,
.pdp-editorial .ingr-card-media.v-orange{
  background:linear-gradient(180deg,#f4fbfc 0%, #e3f6f9 100%);
}
.pdp-editorial .ingr-card-media img{
  width:100%;
  max-height:280px;
  object-fit:contain;
  object-position:center bottom;
  display:block;
}
.pdp-editorial .ingr-card-emoji{
  font-size:120px;
  line-height:1;
  margin-bottom:24px;
  filter:drop-shadow(0 8px 16px rgba(19,51,62,.12));
}
.pdp-editorial .formula-nav{
  position:absolute;
  top:46%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:none;
  background:rgba(232,236,238,.92);
  backdrop-filter:blur(8px);
  color:var(--dark);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  box-shadow:0 6px 18px rgba(19,51,62,.12);
}
.pdp-editorial .formula-nav:hover{background:#dfe4e7}
.pdp-editorial .formula-nav--prev{left:max(12px, calc((100% - 1120px) / 2));}
.pdp-editorial .formula-nav--next{right:16px}
.pdp-editorial .formula-nav[hidden]{display:none !important}
.pdp-editorial .formula-nav .ti{font-size:24px}

@media (max-width:900px){
  .pdp-editorial .formula-section{padding:48px 0 56px}
  .pdp-editorial .formula-header{
    padding:0 18px 22px !important;
    text-align:left;
  }
  .pdp-editorial .formula-section .f-title{font-size:32px}
  .pdp-editorial .formula-rail-wrap{padding:0}
  .pdp-editorial .formula-rail{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .pdp-editorial .ingr-card{
    flex-basis:min(300px,82vw);
    min-height:0;
  }
  .pdp-editorial .ingr-card-name{font-size:24px}
  .pdp-editorial .formula-nav{display:none !important}
}


/* ===== Mobile polish v2 — full-page mobile-first overrides ===== */
.pdp-editorial{
  overflow-x: clip;
  max-width: 100%;
}
.pdp-editorial img,
.pdp-editorial iframe,
.pdp-editorial video{
  max-width: 100%;
}
.pdp-editorial .strip,
.pdp-editorial .rev-strip,
.pdp-editorial .thumb-row,
.pdp-editorial .rt-grid{
  scrollbar-width: thin;
  overscroll-behavior-x: contain;
}
.pdp-editorial .ugc-rail,
.pdp-editorial .formula-rail,
.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail,
.pdp-editorial .ht-cards,
.pdp-editorial #pdp-howto-rail,
.pdp-editorial .rt-grid,
.pdp-editorial #pdp-ritual-rail{
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  overscroll-behavior-x: contain;
}
.pdp-editorial .ugc-rail::-webkit-scrollbar,
.pdp-editorial .formula-rail::-webkit-scrollbar,
.pdp-editorial .why-fact-rail::-webkit-scrollbar,
.pdp-editorial #pdp-why-rail::-webkit-scrollbar,
.pdp-editorial .ht-cards::-webkit-scrollbar,
.pdp-editorial #pdp-howto-rail::-webkit-scrollbar,
.pdp-editorial .rt-grid::-webkit-scrollbar,
.pdp-editorial #pdp-ritual-rail::-webkit-scrollbar{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

@media (max-width: 900px){
  /* Shell */
  .pdp-editorial .stickybar{ display:none !important; }
  .pdp-editorial .m-sticky{
    display:flex !important;
    position:fixed !important;
    left:0;
    right:0;
    bottom:0;
    z-index:1040;
    background:#fff;
    border-top:1px solid #eef2f3;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    gap:10px;
    align-items:stretch;
    box-shadow:0 -8px 24px rgba(19,51,62,.12);
  }
  .pdp-editorial .m-qty-box{
    min-height:52px;
    border-radius:14px;
    flex:0 0 auto;
  }
  .pdp-editorial .m-qty-btn{
    min-width:44px !important;
    min-height:52px !important;
    width:44px;
    font-size:22px;
  }
  .pdp-editorial .m-qty-val{
    min-width:40px;
    font-size:18px;
    font-weight:800;
  }
  .pdp-editorial .m-sticky-cta{
    min-height:52px !important;
    font-size:16px !important;
    padding:12px 14px !important;
    border-radius:14px !important;
    line-height:1.2;
  }

  /* Hero */
  .pdp-editorial .hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:0;
  }
  .pdp-editorial .pin-col{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    min-width:0 !important;
    max-width:100% !important;
    border-right:none !important;
    padding:16px 16px 8px !important;
    gap:12px;
  }
  .pdp-editorial .info-col{
    min-width:0 !important;
    max-width:100% !important;
  }
  .pdp-editorial .main-shot{
    min-height:280px !important;
    height:auto;
    border-radius:20px !important;
    padding:16px 12px !important;
    box-shadow:0 8px 24px rgba(19,51,62,.08);
  }
  .pdp-editorial .main-shot img{
    max-height:240px !important;
    max-width:88% !important;
  }
  .pdp-editorial .thumb-row{
    gap:8px;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
    margin:0 -4px;
    padding-left:4px;
    padding-right:4px;
  }
  .pdp-editorial .thumb{
    width:56px !important;
    height:56px !important;
    border-radius:12px;
    flex:0 0 auto;
  }
  .pdp-editorial .media-links{
    flex-wrap:wrap;
    gap:8px;
  }
  .pdp-editorial .media-lk{
    font-size:13px;
    min-height:40px;
    padding:8px 14px;
  }
  .pdp-editorial .ribbon{ font-size:10px; padding:6px 10px; }
  .pdp-editorial .info-col{
    padding:12px 16px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    gap:14px;
  }
  .pdp-editorial .eyebrow{ font-size:12px; letter-spacing:.06em; }
  .pdp-editorial .pname{
    font-size:34px !important;
    letter-spacing:-.8px !important;
    line-height:1.12 !important;
    padding-top:.12em;
  }
  .pdp-editorial .info-col .eyebrow{
    margin-bottom:4px !important;
  }
  .pdp-editorial .pdesc{
    font-size:15px !important;
    max-width:none;
    line-height:1.55;
  }
  .pdp-editorial .stars-row{ flex-wrap:wrap; gap:6px; }
  .pdp-editorial .rcount{ font-size:14px; }
  .pdp-editorial .chip-row{ gap:8px; }
  .pdp-editorial .chip{
    font-size:12px !important;
    padding:8px 12px !important;
  }
  .pdp-editorial .opt-label{ font-size:12px; }
  .pdp-editorial .opt-card{
    min-height:64px;
    padding:14px 14px !important;
    border-radius:14px;
    gap:10px;
    align-items:flex-start;
  }
  .pdp-editorial .opt-name{ font-size:15px !important; }
  .pdp-editorial .opt-sub{ font-size:12.5px !important; }
  .pdp-editorial .opt-price{ font-size:16px !important; white-space:nowrap; }
  .pdp-editorial .opt-r{ flex-shrink:0; }
  .pdp-editorial .save-badge{ font-size:11px; display:inline-block; margin-left:6px; }
  .pdp-editorial .loyalty-banner{
    padding:14px;
    border-radius:16px;
    flex-direction:row;
    gap:10px;
  }
  .pdp-editorial .loyalty-title{ font-size:14px !important; }
  .pdp-editorial .loyalty-text{ font-size:13px !important; }
  .pdp-editorial .loyalty-fit{ font-size:12px !important; }
  .pdp-editorial .qty-cta-row{
    flex-direction:row;
    gap:10px;
    align-items:stretch;
  }
  .pdp-editorial .qty-box{ min-height:52px !important; flex:0 0 auto; }
  .pdp-editorial .cta-btn{
    min-height:52px !important;
    font-size:16px !important;
    padding:12px 14px !important;
  }
  .pdp-editorial .trust-row{
    gap:10px 14px;
    font-size:12.5px;
  }
  .pdp-editorial .trust-i{ font-size:12.5px !important; }
  .pdp-editorial .flyer-card{
    flex-wrap:wrap;
    gap:10px;
    padding:14px;
  }
  .pdp-editorial .flyer-lang-select,
  .pdp-editorial .flyer-dl-btn{
    min-height:44px;
  }
  .pdp-editorial .acc-pill-btn{
    width:100%;
    min-height:48px;
    font-size:14px;
  }
  .pdp-editorial .acc-head{ padding:14px 0; }
  .pdp-editorial .acc-head-title{ font-size:15px !important; }
  .pdp-editorial .acc-body{ font-size:14px !important; }

  /* Trust bar */
  .pdp-editorial .tbar-wrap{ padding:28px 16px !important; }
  .pdp-editorial .tbar{
    grid-template-columns:1fr 1fr !important;
    gap:18px 12px !important;
  }
  .pdp-editorial .tbi{ text-align:center; }
  .pdp-editorial .tbi-icon{
    width:48px;
    height:48px;
    margin:0 auto 8px;
  }
  .pdp-editorial .tbi-label{ font-size:14px !important; }
  .pdp-editorial .tbi-sub{ font-size:12px !important; }

  /* Why cards handled in main why block */


  /* UGC */
  .pdp-editorial .ugc-section{ padding:40px 0 44px !important; }
  .pdp-editorial .ugc-header{
    padding-left:16px !important;
    padding-right:16px !important;
    max-width:none;
    flex-direction:column;
    align-items:flex-start !important;
    gap:10px;
  }
  .pdp-editorial .ugc-title{ font-size:28px !important; }
  .pdp-editorial .ugc-sub{ font-size:15px !important; }
  .pdp-editorial .ugc-hashtag{ font-size:14px !important; padding:8px 0 0 !important; }
  .pdp-editorial .ugc-rail{
    gap:14px !important;
    padding:8px 16px 20px !important;
  }
  .pdp-editorial .ugc-card{
    flex:0 0 min(280px,82vw) !important;
    min-height:420px !important;
    border-radius:24px !important;
  }
  .pdp-editorial .ugc-card--more{ min-height:420px !important; }
  .pdp-editorial .ugc-card-name{ font-size:22px !important; }
  .pdp-editorial .ugc-card-copy{ padding:22px 20px 12px !important; }
  .pdp-editorial .ugc-nav{ display:none !important; }

  /* Video */
  .pdp-editorial .vid-section{ padding:40px 0 48px !important; }
  .pdp-editorial .vid-stage{ width:calc(100% - 32px) !important; }
  .pdp-editorial .vid-story-copy{ order:1 !important; }
  .pdp-editorial .vid-embed{ order:2 !important; }
  .pdp-editorial .vid-story-card{
    width:100% !important;
    grid-template-columns:1fr !important;
    border-radius:24px !important;
    min-height:0 !important;
  }
  .pdp-editorial .vid-story-copy{ padding:24px 22px 8px !important; }
  .pdp-editorial .vid-story-title{ font-size:24px !important; }
  .pdp-editorial .vid-embed,
  .pdp-editorial .vid-embed iframe{
    min-height:220px !important;
    aspect-ratio:16/9;
  }

  /* Formula cards */
  .pdp-editorial .formula-section{ padding:40px 0 48px !important; }
  .pdp-editorial .formula-header{ padding:0 16px 20px !important; text-align:left !important; }
  .pdp-editorial .formula-section .f-title{ font-size:28px !important; }
  .pdp-editorial .formula-section .f-sub{ font-size:15px !important; }
  .pdp-editorial .formula-rail-wrap{ padding:0 !important; max-width:none !important; }
  .pdp-editorial .formula-rail{
    padding-left:16px !important;
    padding-right:16px !important;
    scrollbar-width:none !important;
  }
  .pdp-editorial .formula-nav{ display:none !important; }
  .pdp-editorial .ingr-card{
    flex:0 0 min(300px,86vw) !important;
    min-height:0 !important;
    border-radius:22px !important;
  }
  .pdp-editorial .ingr-card-copy{ padding:22px 20px 12px !important; gap:10px; }
  .pdp-editorial .ingr-card-name{ font-size:22px !important; }
  .pdp-editorial .ingr-card-quote{ font-size:15px !important; }
  .pdp-editorial .ingr-card-body{ font-size:14px !important; }
  .pdp-editorial .ingr-card-media{
    min-height:180px !important;
    padding:12px 16px 0 !important;
  }
  .pdp-editorial .ingr-card-media img{ max-height:200px !important; }
  .pdp-editorial .ingr-card-emoji{ font-size:84px !important; margin-bottom:16px; }

  /* Dosage */
  .pdp-editorial .howto{ padding:40px 16px 48px !important; }
  .pdp-editorial .ht-title{ font-size:28px !important; }
  .pdp-editorial .ht-sub{ font-size:15px !important; margin-bottom:24px !important; }
  .pdp-editorial .ht-cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
    max-width:none !important;
  }
  .pdp-editorial .ht-card{
    min-height:0 !important;
    padding:22px 20px !important;
    border-radius:22px !important;
  }
  .pdp-editorial .ht-name{ font-size:22px !important; }
  .pdp-editorial .ht-desc{ font-size:14px !important; }
  .pdp-editorial .ht-note{ font-size:13px !important; margin-top:20px !important; }

  /* Ritual */
  .pdp-editorial .ritual{ padding:40px 0 48px !important; }
  .pdp-editorial .rt-header{ padding:0 16px; margin-bottom:24px !important; }
  .pdp-editorial .rt-title{ font-size:28px !important; }
  .pdp-editorial .rt-sub{ font-size:15px !important; }
  .pdp-editorial .rt-grid{
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    gap:14px !important;
    max-width:none !important;
    padding:0 16px 8px !important;
    scroll-snap-type:x mandatory;
  }
  .pdp-editorial .rc{
    flex:0 0 min(280px,82vw) !important;
    min-height:0 !important;
    scroll-snap-align:start;
    border-radius:22px !important;
    padding:22px 20px !important;
  }
  .pdp-editorial .rc-title{ font-size:18px !important; }
  .pdp-editorial .rc-desc{ font-size:14px !important; }
  .pdp-editorial .ritual-note{ padding:0 16px; font-size:13px !important; }

  /* Stars Club */
  .pdp-editorial .sc-section{ padding:40px 16px 48px !important; }
  .pdp-editorial .sc-title{ font-size:28px !important; }
  .pdp-editorial .sc-sub{ font-size:15px !important; }
  .pdp-editorial .join-card{
    padding:20px 16px !important;
    border-radius:20px;
    margin-bottom:28px !important;
  }
  .pdp-editorial .tier-pick{ flex-wrap:wrap; gap:8px; }
  .pdp-editorial .tier-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .pdp-editorial .hiw{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .pdp-editorial .join-cta{ min-height:48px; font-size:15px; }

  /* Reviews */
  .pdp-editorial .rev-section{ padding:40px 0 48px !important; }
  .pdp-editorial .rev-header{ padding:0 16px 16px; }
  .pdp-editorial .rev-title{ font-size:28px !important; }
  .pdp-editorial .rev-strip{
    gap:14px !important;
    padding:0 16px 8px !important;
  }
  .pdp-editorial .rev-card{
    flex:0 0 min(300px,84vw) !important;
    border-radius:22px !important;
    padding:20px !important;
  }
  .pdp-editorial .rev-text{ font-size:15px !important; }
  .pdp-editorial .rev-warning{ margin:16px; font-size:12px; }

  /* FAQ */
  .pdp-editorial .faq-section{ padding:40px 16px !important; }
  .pdp-editorial .faq-title{ font-size:28px !important; }
  .pdp-editorial .fi-qt{ font-size:15px !important; }
  .pdp-editorial .fi-a{ font-size:14px !important; }

  /* Cross-sell */
  .pdp-editorial .xs-section{ padding:40px 16px 48px !important; }
  .pdp-editorial .xs-title{ font-size:28px !important; }
  .pdp-editorial .xs-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
    max-width:none !important;
  }
  .pdp-editorial .xs-card{
    min-height:0 !important;
    border-radius:22px !important;
  }
  .pdp-editorial .xs-img{
    aspect-ratio:16/10 !important;
    padding:20px 16px !important;
  }
  .pdp-editorial .xs-body{ padding:18px 18px 20px !important; }
  .pdp-editorial .xs-name{ font-size:17px !important; }
  .pdp-editorial .xs-desc{ font-size:14px !important; }
  .pdp-editorial .xs-price{ font-size:18px !important; }
  .pdp-editorial .xs-btn{
    min-height:46px !important;
    font-size:14px !important;
    padding:12px 16px !important;
  }
  .pdp-editorial .xs-foot{
    flex-wrap:wrap;
    gap:10px;
  }

  /* Compliance */
  .pdp-editorial .comp-section{ padding:24px 16px 32px; }
  .pdp-editorial .comp-section p{ font-size:12px !important; }

  /* Old split ingredient rows if any remain */
  .pdp-editorial .ingr-row{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
  }
}

@media (max-width: 420px){
  .pdp-editorial .pname{ font-size:30px !important; }
  .pdp-editorial .opt-card{
    flex-direction:column;
    align-items:stretch !important;
  }
  .pdp-editorial .opt-r{
    text-align:left;
    margin-top:4px;
  }
  .pdp-editorial .qty-cta-row{ flex-direction:column; }
  .pdp-editorial .qty-box{ width:100%; justify-content:center; }
  .pdp-editorial .cta-btn{ width:100%; }
  .pdp-editorial .m-sticky-cta{ font-size:15px !important; }
}


/* ===== Cross-sell mobile v3 ===== */
.pdp-editorial .xs-foot .xs-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 900px){
  .pdp-editorial .xs-section{
    padding: 36px 14px calc(110px + env(safe-area-inset-bottom, 0px)) !important;
    background: #f5f7f8 !important;
  }
  .pdp-editorial .xs-header{
    margin-bottom: 18px !important;
    padding: 0 2px;
  }
  .pdp-editorial .xs-title{
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: -.4px !important;
  }
  .pdp-editorial .xs-grid{
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-width: none !important;
    margin: 0 !important;
  }
  /* Compact horizontal product rows — readable on phone, clears sticky CTA */
  .pdp-editorial .xs-card{
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    align-items: stretch !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 6px 18px rgba(19,51,62,.08) !important;
    overflow: hidden !important;
    transform: none !important;
  }
  .pdp-editorial .xs-card:hover{
    transform: none !important;
  }
  .pdp-editorial .xs-img{
    height: 100% !important;
    min-height: 132px !important;
    aspect-ratio: auto !important;
    padding: 12px 8px !important;
    border-radius: 0 !important;
  }
  .pdp-editorial .xs-img img{
    max-height: 96px !important;
    max-width: 92% !important;
  }
  .pdp-editorial .xs-img .ti{
    font-size: 36px !important;
  }
  .pdp-editorial .xs-discount{
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
  }
  .pdp-editorial .xs-body{
    padding: 12px 12px 12px 10px !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
  .pdp-editorial .xs-name{
    font-size: 15px !important;
    line-height: 1.25 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .pdp-editorial .xs-desc{
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: 2 !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  .pdp-editorial .xs-foot{
    margin-top: 6px !important;
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .pdp-editorial .xs-foot .xs-price{
    font-size: 16px !important;
    gap: 6px !important;
  }
  .pdp-editorial .xs-old{
    font-size: 13px !important;
  }
  .pdp-editorial .xs-btn{
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    border-radius: 11px !important;
    box-shadow: none !important;
  }
}

@media (max-width: 380px){
  .pdp-editorial .xs-card{
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
  .pdp-editorial .xs-img{
    min-height: 120px !important;
  }
}


/* ===== Dosage section mobile (rail is horizontal — do not stack/clip) ===== */
@media (max-width: 900px){
  .pdp-editorial .howto{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 40px 16px calc(48px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    overflow: visible !important;
  }
  .pdp-editorial .howto .eyebrow,
  .pdp-editorial .ht-title,
  .pdp-editorial .ht-sub,
  .pdp-editorial .ht-note{
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    max-width: 360px;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pdp-editorial .ht-title{ font-size: 28px !important; }
  .pdp-editorial .ht-sub{
    font-size: 15px !important;
    margin-bottom: 22px !important;
  }
  /* Horizontal rail — do not stack; stacking + later row override caused snap-to-2nd */
  .pdp-editorial .ht-cards,
  .pdp-editorial #pdp-howto-rail{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 16px !important;
    box-sizing: border-box !important;
  }
  .pdp-editorial .ht-card{
    box-sizing: border-box !important;
    min-height: 0 !important;
    border-radius: 24px !important;
    text-align: left !important;
  }
  .pdp-editorial .ht-icon{
    width: 56px !important;
    height: 56px !important;
    border-radius: 16px !important;
    font-size: 24px !important;
    margin: 0 auto 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .pdp-editorial .ht-step{
    font-size: 12px !important;
    letter-spacing: .08em !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }
  .pdp-editorial .ht-name{
    font-size: 24px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }
  .pdp-editorial .ht-desc{
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center !important;
    max-width: 280px;
    margin: 0 auto;
  }
  .pdp-editorial .ht-note{
    margin-top: 20px !important;
    font-size: 13px !important;
  }
}

/* === delivery + supplement facts modal === */
.delivery-card{
  background:#fff;
  border:1px solid #e2e6e8;
  border-radius:14px;
  padding:14px 16px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  box-shadow:0 2px 10px rgba(19,51,62,.04);
}
.delivery-icon{
  width:42px;
  height:42px;
  border-radius:11px;
  background:rgba(0,170,191,.12);
  color:var(--bluebg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  flex-shrink:0;
}
.delivery-body{flex:1;min-width:0}
.delivery-title{
  font-size:13.5px;
  font-weight:600;
  color:var(--dark);
  line-height:1.4;
  margin-bottom:6px;
}
.delivery-title b{font-weight:800}
.delivery-line{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:700;
  color:var(--bluebg);
  margin-top:4px;
}
.delivery-line i{font-size:15px}
.delivery-update{
  -webkit-appearance:none;
  appearance:none;
  margin-top:10px;
  border:none;
  background:none;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:#b08a3c;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.delivery-update:hover{color:#8f6d2a}

/* supplement facts modal — light panel matching editorial PDP */
.pdp-sf-modal .modal-dialog{
  max-width: 760px;
}
.pdp-sf-modal .modal-content{
  border: none;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 28px 70px rgba(19,51,62,.18);
}
.pdp-sf-modal .modal-header{
  border-bottom: 1px solid #eef2f3;
  padding: 18px 22px;
  background: #f5f7f8;
  align-items: flex-start;
}
.pdp-sf-kicker{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bluebg);
  margin-bottom: 4px;
}
.pdp-sf-modal .modal-title{
  font-size: 20px;
  font-weight: 800;
  color: var(--dark) !important;
  margin: 0;
  letter-spacing: .04em;
}
.pdp-sf-modal .btn-close{
  filter: none;
  opacity: .7;
  margin-top: 2px;
}
.pdp-sf-body{
  padding: 0 !important;
  background: #fff;
  color: var(--dark);
}
.pdp-sf-panel{
  padding: 22px 24px 28px;
  color: var(--dark);
  background: #fff;
}
.pdp-sf-heading{
  font-size: 14px;
  font-weight: 700;
  font-style: italic;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6b767e !important;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eef2f3;
}
.pdp-sf-block{ margin-bottom: 14px; }
.pdp-sf-ingredients{
  margin: 0 0 6px;
  color: var(--dark) !important;
  font-size: 16px;
  line-height: 1.45;
}
.pdp-sf-serving{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f5f7f8;
  border: 1px solid #eef2f3;
}
.pdp-sf-serving > div{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 140px;
}
.pdp-sf-serving span{
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b767e !important;
}
.pdp-sf-serving b{
  font-size: 15px;
  font-weight: 700;
  color: var(--dark) !important;
}
.pdp-sf-rich{
  margin-top: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  color: var(--dark) !important;
}
.pdp-sf-rich,
.pdp-sf-rich *:not(a){
  color: var(--dark) !important;
  border-color: #d7e0e3 !important;
}
.pdp-sf-rich a{ color: var(--bluebg) !important; }
.pdp-sf-rich p,
.pdp-sf-rich div,
.pdp-sf-rich span,
.pdp-sf-rich li{
  font-size: 14px;
  line-height: 1.65;
  margin-bottom: 10px;
}
.pdp-sf-rich strong,
.pdp-sf-rich b{
  font-weight: 700;
  color: var(--dark) !important;
}
.pdp-sf-rich table{
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 12.5px;
  margin: 14px 0 18px;
  background: #fff;
}
.pdp-sf-rich table td,
.pdp-sf-rich table th{
  border: 1px solid #d7e0e3 !important;
  padding: 10px 12px !important;
  vertical-align: top;
  color: var(--dark) !important;
  background: #fff !important;
}
.pdp-sf-rich table th{
  font-weight: 700;
  background: #f5f7f8 !important;
}
.pdp-sf-rich table tr:nth-child(even) td{
  background: #fafbfb !important;
}
.pdp-sf-rich hr{
  border: 0;
  border-top: 1px solid #eef2f3;
  margin: 14px 0;
}

/* Product-embedded label themes (e.g. LÚMO dark .lumo-label-block) → force light modal look */
.pdp-sf-rich .lumo-label-block,
.pdp-sf-rich [class*="label-block"]{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: var(--dark) !important;
}
.pdp-sf-rich .lumo-heading,
.pdp-sf-rich .lumo-paragraph,
.pdp-sf-rich .lumo-table,
.pdp-sf-rich .lumo-table th,
.pdp-sf-rich .lumo-table td{
  color: var(--dark) !important;
  border-color: #d7e0e3 !important;
}
.pdp-sf-rich .lumo-table,
.pdp-sf-rich .lumo-table th,
.pdp-sf-rich .lumo-table td{
  background: #fff !important;
}
.pdp-sf-rich .lumo-table thead th{
  background: #f5f7f8 !important;
  font-weight: 700;
}
.pdp-sf-rich .lumo-heading{
  margin: 14px 0 6px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 13px;
  color: #6b767e !important;
}
.pdp-sf-rich .lumo-paragraph{
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.65;
}


@media (max-width: 767px){
  .pdp-sf-modal .modal-dialog{ margin: 10px; }
  .pdp-sf-modal .modal-title{ font-size: 17px; }
  .pdp-sf-panel{ padding: 16px 16px 22px; }
  .pdp-sf-ingredients{ font-size: 15px; }
  .pdp-sf-rich table{ min-width: 520px; font-size: 12px; }
  .pdp-sf-rich p,
  .pdp-sf-rich div,
  .pdp-sf-rich span,
  .pdp-sf-rich li{ font-size: 13.5px; }
}



/* UGC + reviews "View all" modals */
.pdp-gallery-modal .modal-dialog{ max-width: 920px; }
.pdp-gallery-modal .modal-content{
  border: none;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 28px 70px rgba(19,51,62,.18);
}
.pdp-gallery-modal .modal-header{
  border-bottom: 1px solid #eef2f3;
  padding: 20px 24px;
  align-items: flex-start;
  background: #f8fbfb;
}
.pdp-gallery-kicker{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bluebg);
  margin-bottom: 4px;
}
.pdp-gallery-modal .modal-title{
  font-size: 22px;
  font-weight: 800;
  color: var(--dark) !important;
  margin: 0;
  letter-spacing: -.3px;
}
.pdp-gallery-sub{
  margin-top: 8px;
  font-size: 13px;
  color: #5a6b72;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pdp-gallery-stars{ color: var(--orange); letter-spacing: 1px; }
.pdp-gallery-modal .modal-body{
  padding: 22px 24px 28px;
  background: #fff;
}
.pdp-ugc-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.pdp-ugc-tile{
  border: 1px solid #eef2f3;
  border-radius: 18px;
  overflow: hidden;
  background: #fafbfb;
}
.pdp-ugc-tile-media{
  aspect-ratio: 1;
  background: linear-gradient(160deg,#eef8f9 0%, #e4f2f4 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp-ugc-tile-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pdp-ugc-tile-placeholder{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #7a8d94;
  font-size: 12px;
  font-weight: 600;
}
.pdp-ugc-tile-placeholder .ti{ font-size: 28px; color: var(--bluebg); }
.pdp-ugc-tile-meta{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}
.pdp-ugc-tile-av{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pdp-ugc-tile-name{ font-size: 13px; font-weight: 700; color: var(--dark); }
.pdp-ugc-tile-loc{ font-size: 11px; color: #7a8d94; }
.pdp-reviews-list{ display: flex; flex-direction: column; gap: 14px; }
.pdp-review-row{
  border: 1px solid #eef2f3;
  border-radius: 16px;
  padding: 16px 18px;
  background: #fafbfb;
}
.pdp-review-row-top{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}
.pdp-review-row-text{
  margin: 0;
  font-size: 14px;
  color: #4d6067;
  line-height: 1.65;
}
@media (max-width: 900px){
  .pdp-ugc-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pdp-gallery-modal .modal-dialog{ margin: 10px; }
  .pdp-gallery-modal .modal-title{ font-size: 18px; }
}
@media (max-width: 560px){
  .pdp-ugc-grid{ grid-template-columns: 1fr; }
}


/* Review language selector (editorial) */
.pdp-editorial .pdp-rev-lang,
.pdp-rev-lang{
  margin:14px auto 0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  padding:10px 14px;
  background:#eef7f8;
  border:1px solid rgba(0,170,191,.18);
  border-radius:14px;
  width:fit-content;
  max-width:100%;
}
.pdp-editorial .rev-header > .pdp-rev-lang{
  order: 3;
}
.pdp-editorial .pdp-rev-lang--modal,
.pdp-rev-lang--modal{
  margin:0 0 18px;
  width:100%;
  justify-content:flex-start;
  box-sizing:border-box;
}
.pdp-editorial .pdp-rev-lang-label,
.pdp-rev-lang-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  font-size:13px;
  font-weight:700;
  color:var(--dark);
  white-space:nowrap;
}
.pdp-editorial .pdp-rev-lang-label .ti,
.pdp-rev-lang-label .ti{
  font-size:18px;
  color:var(--bluebg);
}
.pdp-editorial .pdp-rev-lang-select,
.pdp-rev-lang-select{
  min-width:180px;
  max-width:100%;
  border:1px solid #d5e3e6;
  border-radius:10px;
  background:#fff;
  color:var(--dark);
  font-size:13px;
  font-weight:600;
  padding:8px 12px;
  line-height:1.2;
  cursor:pointer;
  appearance:auto;
}
.pdp-editorial .pdp-rev-lang-select:focus,
.pdp-rev-lang-select:focus{
  outline:2px solid rgba(0,170,191,.35);
  outline-offset:1px;
  border-color:var(--bluebg);
}
@media (max-width:560px){
  .pdp-editorial .pdp-rev-lang,
  .pdp-rev-lang{
    width:100%;
    justify-content:stretch;
  }
  .pdp-editorial .pdp-rev-lang-select,
  .pdp-rev-lang-select{
    flex:1 1 auto;
    min-width:0;
  }
}

@media (max-width:900px){
  .pdp-editorial .ht-cards,
  .pdp-editorial .rt-grid{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .pdp-editorial .ht-card{flex-basis:min(300px,82vw) !important;min-height:0}
  .pdp-editorial .rc{flex-basis:min(280px,82vw) !important}
  .pdp-editorial .ht-nav,
  .pdp-editorial .rt-nav{display:none !important}
}


/* neutralize legacy ht/rt grids under editorial */
.pdp-editorial .ht-cards{display:flex !important;grid-template-columns:none !important;max-width:none !important}
.pdp-editorial .rt-grid{display:flex !important;grid-template-columns:none !important;max-width:none !important}


/* Why / howto / ritual nav — circular chevrons only, never a scrollbar track */
.pdp-editorial .why-fact-rail-wrap,
.pdp-editorial .ht-rail-wrap,
.pdp-editorial .rt-rail-wrap{
  position:relative !important;
  overflow:visible !important;
}
.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail{
  -ms-overflow-style:none !important;
  scrollbar-width:none !important;
  scrollbar-color:transparent transparent !important;
}
.pdp-editorial .why-fact-nav,
.pdp-editorial .ht-nav,
.pdp-editorial .rt-nav{
  position:absolute !important;
  top:42% !important;
  transform:translateY(-50%) !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:rgba(232,236,238,.95) !important;
  box-shadow:0 6px 18px rgba(19,51,62,.14) !important;
  z-index:5 !important;
}

.pdp-editorial .why-fact-rail::-webkit-scrollbar-button,
.pdp-editorial #pdp-why-rail::-webkit-scrollbar-button,
.pdp-editorial .ugc-rail::-webkit-scrollbar-button,
.pdp-editorial .formula-rail::-webkit-scrollbar-button,
.pdp-editorial .ht-cards::-webkit-scrollbar-button,
.pdp-editorial .rt-grid::-webkit-scrollbar-button,
.pdp-editorial .why-fact-rail::-webkit-scrollbar-track,
.pdp-editorial #pdp-why-rail::-webkit-scrollbar-track,
.pdp-editorial .why-fact-rail::-webkit-scrollbar-thumb,
.pdp-editorial #pdp-why-rail::-webkit-scrollbar-thumb{
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
  border:0 !important;
}



/* ===== Apple-style PDP card rails (shared) ===== */
/* Keep last. Apple pattern:
   - first card aligns with content column (same inset as why-inner / headers)
   - full-bleed overflow when scrolled
   - left chevron only after leaving start
*/
.pdp-editorial{
  --pdp-content: 1120px;
  --pdp-rail-inset: max(24px, calc((100% - var(--pdp-content)) / 2));
  --pdp-why-card: min(320px, 78vw);
  --pdp-why-gap: 22px;
}

/* Full-bleed wraps so cards can scroll past the left viewport edge */
.pdp-editorial .why-fact-rail-wrap,
.pdp-editorial .ugc-rail-wrap,
.pdp-editorial .formula-rail-wrap,
.pdp-editorial .ht-rail-wrap,
.pdp-editorial .rt-rail-wrap,
.pdp-editorial .rev-rail-wrap,
.pdp-editorial .xs-rail-wrap{
  position:relative !important;
  overflow:visible !important;
  margin-top:8px;
  /* Avoid 100vw breakout: it overflows past the layout width on mobile Safari and clips the whole PDP. */
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Sections must not clip the overflowing cards */
.pdp-editorial .why-section,
.pdp-editorial .ugc-section,
.pdp-editorial .formula-section,
.pdp-editorial .howto,
.pdp-editorial .ritual,
.pdp-editorial .rev-section,
.pdp-editorial .xs-section{
  overflow:visible !important;
}

.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail,
.pdp-editorial .ugc-rail,
.pdp-editorial #pdp-ugc-rail,
.pdp-editorial .formula-rail,
.pdp-editorial #pdp-formula-rail,
.pdp-editorial .ht-cards,
.pdp-editorial #pdp-howto-rail,
.pdp-editorial .rt-grid,
.pdp-editorial #pdp-ritual-rail,
.pdp-editorial .rev-strip,
.pdp-editorial #pdp-rev-rail,
.pdp-editorial .xs-grid,
.pdp-editorial #pdp-xs-rail{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  grid-template-columns:none !important;
  gap:22px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-padding-left:0 !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch;
  -ms-overflow-style:none !important;
  scrollbar-width:none !important;
  scrollbar-color:transparent transparent !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:12px 0 36px !important;
  /* Content-aligned start; scrolls away so cards bleed to the viewport edge */
  padding-left:var(--pdp-rail-inset) !important;
  padding-right:var(--pdp-rail-inset) !important;
  background:transparent !important;
  border:0 !important;
}

.pdp-editorial .why-fact-rail::-webkit-scrollbar,
.pdp-editorial #pdp-why-rail::-webkit-scrollbar,
.pdp-editorial .ugc-rail::-webkit-scrollbar,
.pdp-editorial .formula-rail::-webkit-scrollbar,
.pdp-editorial .ht-cards::-webkit-scrollbar,
.pdp-editorial .rt-grid::-webkit-scrollbar,
.pdp-editorial .rev-strip::-webkit-scrollbar,
.pdp-editorial #pdp-rev-rail::-webkit-scrollbar,
.pdp-editorial .xs-grid::-webkit-scrollbar,
.pdp-editorial #pdp-xs-rail::-webkit-scrollbar,
.pdp-editorial .why-fact-rail::-webkit-scrollbar-button,
.pdp-editorial .why-fact-rail::-webkit-scrollbar-track,
.pdp-editorial .why-fact-rail::-webkit-scrollbar-thumb,
.pdp-editorial .rev-strip::-webkit-scrollbar-button,
.pdp-editorial .xs-grid::-webkit-scrollbar-button,
.pdp-editorial .ht-cards::-webkit-scrollbar-button,
.pdp-editorial .rt-grid::-webkit-scrollbar-button,
.pdp-editorial .ugc-rail::-webkit-scrollbar-button,
.pdp-editorial .formula-rail::-webkit-scrollbar-button{
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
}

.pdp-editorial .why-fact-card,
.pdp-editorial .ugc-card,
.pdp-editorial .ugc-card--more,
.pdp-editorial .ingr-card,
.pdp-editorial .ht-card,
.pdp-editorial .rc,
.pdp-editorial .rev-card,
.pdp-editorial .rev-more,
.pdp-editorial .xs-card{
  flex:0 0 var(--pdp-why-card, min(320px, 78vw)) !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  scroll-snap-align:start !important;
  background:var(--pdp-card-bg, #fff) !important;
  color:var(--pdp-card-fg, inherit);
  border:none !important;
  border-radius:28px !important;
  box-shadow:0 8px 28px rgba(19,51,62,.10) !important;
  overflow:hidden !important;
  transform:translateY(0);
  transition:transform .2s ease, box-shadow .2s ease;
}

.pdp-editorial .why-fact-card:hover,
.pdp-editorial .ugc-card:hover,
.pdp-editorial .ugc-card--more:hover,
.pdp-editorial .ingr-card:hover,
.pdp-editorial .ht-card:hover,
.pdp-editorial .rc:hover,
.pdp-editorial .rev-card:hover,
.pdp-editorial .rev-more:hover,
.pdp-editorial .xs-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 40px rgba(19,51,62,.14) !important;
}

.pdp-editorial .why-fact-card,
.pdp-editorial .ht-card,
.pdp-editorial .rc,
.pdp-editorial .rev-card{
  min-height:340px !important;
  display:flex !important;
  flex-direction:column !important;
  padding:32px 28px 28px !important;
  grid-template-columns:none !important;
}

.pdp-editorial .ugc-card,
.pdp-editorial .ugc-card--more,
.pdp-editorial .ingr-card{
  min-height:480px !important;
  padding:0 !important;
}

.pdp-editorial .xs-card{
  min-height:420px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
}

/* xs hover covered by shared rail card hover */

/* Align section headers with the same content inset as the first card */
.pdp-editorial .ugc-header,
.pdp-editorial .formula-header{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:var(--pdp-rail-inset) !important;
  padding-right:var(--pdp-rail-inset) !important;
  box-sizing:border-box !important;
}

.pdp-editorial .why-inner{
  width:min(var(--pdp-content), calc(100% - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Circular chevrons — sit near viewport edges once visible */
.pdp-editorial .why-fact-nav,
.pdp-editorial .ugc-nav,
.pdp-editorial .formula-nav,
.pdp-editorial .ht-nav,
.pdp-editorial .rt-nav,
.pdp-editorial .rev-nav,
.pdp-editorial .xs-nav{
  position:absolute !important;
  top:46% !important;
  transform:translateY(-50%) !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:rgba(232,236,238,.95) !important;
  color:var(--dark) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  z-index:6 !important;
  box-shadow:0 6px 18px rgba(19,51,62,.14) !important;
  backdrop-filter:blur(8px);
}
.pdp-editorial .why-fact-nav:hover,
.pdp-editorial .ugc-nav:hover,
.pdp-editorial .formula-nav:hover,
.pdp-editorial .ht-nav:hover,
.pdp-editorial .rt-nav:hover,
.pdp-editorial .rev-nav:hover,
.pdp-editorial .xs-nav:hover{background:#dfe4e7 !important}

.pdp-editorial .why-fact-nav--prev,
.pdp-editorial .ugc-nav--prev,
.pdp-editorial .formula-nav--prev,
.pdp-editorial .ht-nav--prev,
.pdp-editorial .rt-nav--prev,
.pdp-editorial .rev-nav--prev,
.pdp-editorial .xs-nav--prev{left:18px !important}

.pdp-editorial .why-fact-nav--next,
.pdp-editorial .ugc-nav--next,
.pdp-editorial .formula-nav--next,
.pdp-editorial .ht-nav--next,
.pdp-editorial .rt-nav--next,
.pdp-editorial .rev-nav--next,
.pdp-editorial .xs-nav--next{right:18px !important}

/* Force-hide at start / end (beats display:flex !important) */
.pdp-editorial .why-fact-nav[hidden],
.pdp-editorial .ugc-nav[hidden],
.pdp-editorial .formula-nav[hidden],
.pdp-editorial .ht-nav[hidden],
.pdp-editorial .rt-nav[hidden],
.pdp-editorial .rev-nav[hidden],
.pdp-editorial .xs-nav[hidden],
.pdp-editorial .is-rail-start .why-fact-nav--prev,
.pdp-editorial .is-rail-start .ugc-nav--prev,
.pdp-editorial .is-rail-start .formula-nav--prev,
.pdp-editorial .is-rail-start .ht-nav--prev,
.pdp-editorial .is-rail-start .rt-nav--prev,
.pdp-editorial .is-rail-start .rev-nav--prev,
.pdp-editorial .is-rail-start .xs-nav--prev,
.pdp-editorial .is-rail-end .why-fact-nav--next,
.pdp-editorial .is-rail-end .ugc-nav--next,
.pdp-editorial .is-rail-end .formula-nav--next,
.pdp-editorial .is-rail-end .ht-nav--next,
.pdp-editorial .is-rail-end .rt-nav--next,
.pdp-editorial .is-rail-end .rev-nav--next,
.pdp-editorial .is-rail-end .xs-nav--next{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.pdp-editorial .why-fact-nav .ti,
.pdp-editorial .ugc-nav .ti,
.pdp-editorial .formula-nav .ti,
.pdp-editorial .ht-nav .ti,
.pdp-editorial .rt-nav .ti,
.pdp-editorial .rev-nav .ti,
.pdp-editorial .xs-nav .ti{font-size:24px !important;line-height:1}

.pdp-editorial .rev-more,
.pdp-editorial .ugc-card--more{
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  background:linear-gradient(160deg,#fff 0%, #eef6f7 100%) !important;
  color:var(--dark) !important;
  font-size:16px !important;
  font-weight:800 !important;
}

@media (max-width:1100px), (max-width:900px), (max-width:560px), (max-width:420px){
  .pdp-editorial{
    --pdp-rail-inset: 18px;
  }
  .pdp-editorial .why-fact-rail,
  .pdp-editorial #pdp-why-rail,
  .pdp-editorial .ugc-rail,
  .pdp-editorial #pdp-ugc-rail,
  .pdp-editorial .formula-rail,
  .pdp-editorial #pdp-formula-rail,
  .pdp-editorial .ht-cards,
  .pdp-editorial #pdp-howto-rail,
  .pdp-editorial .rt-grid,
  .pdp-editorial #pdp-ritual-rail,
  .pdp-editorial .rev-strip,
  .pdp-editorial #pdp-rev-rail,
  .pdp-editorial .xs-grid,
  .pdp-editorial #pdp-xs-rail{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-left:0 !important;
    max-width:none !important;
    padding-left:var(--pdp-rail-inset) !important;
    padding-right:var(--pdp-rail-inset) !important;
    gap:16px !important;
  }
  .pdp-editorial .why-fact-card,
  .pdp-editorial .ht-card,
  .pdp-editorial .rc,
  .pdp-editorial .rev-card,
  .pdp-editorial .rev-more,
  .pdp-editorial .xs-card,
  .pdp-editorial .ugc-card,
  .pdp-editorial .ugc-card--more,
  .pdp-editorial .ingr-card{
    flex:0 0 min(300px, 82vw) !important;
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    border-radius:26px !important;
  }
  .pdp-editorial .xs-card{min-height:380px !important}
  .pdp-editorial .xs-img{
    aspect-ratio:4/3 !important;
    height:auto !important;
    min-height:0 !important;
  }
  /* Touch devices: swipe; hide chevrons */
  .pdp-editorial .why-fact-nav,
  .pdp-editorial .ugc-nav,
  .pdp-editorial .formula-nav,
  .pdp-editorial .ht-nav,
  .pdp-editorial .rt-nav,
  .pdp-editorial .rev-nav,
  .pdp-editorial .xs-nav{display:none !important}
}

/* ===== Themed Catalog cards (bg / text / accent / photo) ===== */
.pdp-editorial .pdp-card-label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pdp-card-accent, #8a949b);
  margin-bottom:8px;
}
.pdp-editorial .why-fact-card.is-themed .why-fact-title,
.pdp-editorial .ht-card.is-themed .ht-name,
.pdp-editorial .rc.is-themed .rc-title,
.pdp-editorial .ingr-card.is-themed .ingr-card-name,
.pdp-editorial .ingr-card.is-themed .ingr-card-name *{
  color:var(--pdp-card-fg, var(--dark)) !important;
}
.pdp-editorial .why-fact-card.is-themed .why-fact-body,
.pdp-editorial .why-fact-card.is-themed .why-fact-body *:not(b):not(strong):not(a),
.pdp-editorial .ht-card.is-themed .ht-desc,
.pdp-editorial .ht-card.is-themed .ht-desc *:not(b):not(strong):not(a),
.pdp-editorial .ht-card.is-themed .ht-step,
.pdp-editorial .rc.is-themed .rc-desc,
.pdp-editorial .rc.is-themed .rc-desc *:not(b):not(strong):not(a),
.pdp-editorial .rc.is-themed .rc-label,
.pdp-editorial .ingr-card.is-themed .ingr-card-body,
.pdp-editorial .ingr-card.is-themed .ingr-card-body *:not(b):not(strong):not(a),
.pdp-editorial .ingr-card.is-themed .ingr-card-quote,
.pdp-editorial .ingr-card.is-themed .ingr-card-label{
  color:color-mix(in srgb, var(--pdp-card-fg, #6b767e) 72%, transparent) !important;
}
.pdp-editorial .why-fact-card.is-themed .why-fact-body b,
.pdp-editorial .why-fact-card.is-themed .why-fact-body strong,
.pdp-editorial .ht-card.is-themed .ht-desc b,
.pdp-editorial .ht-card.is-themed .ht-desc strong,
.pdp-editorial .rc.is-themed .rc-desc b,
.pdp-editorial .rc.is-themed .rc-desc strong,
.pdp-editorial .ingr-card.is-themed .ingr-card-body b,
.pdp-editorial .ingr-card.is-themed .ingr-card-body strong{
  color:var(--pdp-card-accent, var(--pdp-card-fg, var(--dark))) !important;
}
.pdp-editorial .ht-card-media,
.pdp-editorial .rc-media{
  margin-top:auto;
  border-radius:18px;
  overflow:hidden;
  background:color-mix(in srgb, var(--pdp-card-accent, #00AABF) 12%, #eef6f7);
  min-height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pdp-editorial .ht-card-media img,
.pdp-editorial .rc-media img{
  width:100%;
  max-height:180px;
  object-fit:cover;
  display:block;
}
.pdp-editorial .ingr-card.is-themed .ingr-card-copy{
  color:var(--pdp-card-fg, inherit);
}

/* ===== Formula ingredient cards — viewport fit ===== */
/* When cards fit (e.g. 2 ingredients on desktop), center the row. */
.pdp-editorial .formula-rail-wrap.is-rail-fit .formula-rail,
.pdp-editorial .formula-rail-wrap.is-rail-fit #pdp-formula-rail{
  justify-content:center !important;
  scroll-snap-type:none !important;
}

/* Keep ~15% breathing room above/below in the viewport */
.pdp-editorial .ingr-card{
  flex:0 0 min(300px, 72vw) !important;
  min-height:0 !important;
  max-height:70vh !important;
  height:auto !important;
}
.pdp-editorial .ingr-card-copy{
  padding:22px 24px 12px !important;
  gap:8px !important;
  flex:0 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}
.pdp-editorial .ingr-card-name,
.pdp-editorial .ingr-card-name.pdp-rich,
.pdp-editorial .ingr-card-name *{
  font-size:22px !important;
  line-height:1.2 !important;
}
.pdp-editorial .ingr-card-quote{
  font-size:15px !important;
  line-height:1.4 !important;
}
.pdp-editorial .ingr-card-body,
.pdp-editorial .ingr-card-body *{
  font-size:14px !important;
  line-height:1.5 !important;
}
.pdp-editorial .ingr-card-media{
  flex:0 0 auto !important;
  min-height:110px !important;
  max-height:min(220px, 28vh) !important;
  padding:10px 18px 0 !important;
  margin-top:auto !important;
}
.pdp-editorial .ingr-card-media img{
  max-height:min(200px, 26vh) !important;
  width:auto !important;
  max-width:86% !important;
}
.pdp-editorial .ingr-card-emoji{
  font-size:72px !important;
  margin-bottom:12px !important;
}

@media (max-width:900px){
  .pdp-editorial .ingr-card{
    flex-basis:min(280px, 80vw) !important;
    max-height:68vh !important;
  }
  .pdp-editorial .ingr-card-media{
    max-height:min(180px, 24vh) !important;
  }
  .pdp-editorial .ingr-card-media img{
    max-height:min(160px, 22vh) !important;
  }
}

/* ===== Why facts + stats column alignment ===== */
.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail{
  gap:var(--pdp-why-gap, 22px) !important;
}
.pdp-editorial .why-fact-card{
  flex:0 0 var(--pdp-why-card, min(320px, 78vw)) !important;
}

/* Stats share the same full-bleed inset + card width as Why fact cards */
.pdp-editorial .why-stat-rail-wrap{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-top:4px !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.pdp-editorial .why-stat-rail,
.pdp-editorial .why-stat-wrap .why-stat-rail{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  grid-template-columns:none !important;
  gap:var(--pdp-why-gap, 22px) !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 8px !important;
  padding-left:var(--pdp-rail-inset) !important;
  padding-right:var(--pdp-rail-inset) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.pdp-editorial .why-stat-card{
  flex:0 0 var(--pdp-why-card, min(320px, 78vw)) !important;
  width:var(--pdp-why-card, min(320px, 78vw)) !important;
  max-width:var(--pdp-why-card, min(320px, 78vw)) !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

@media (max-width:900px){
  .pdp-editorial{
    --pdp-why-card: min(300px, 82vw);
    --pdp-why-gap: 16px;
  }
  .pdp-editorial .why-stat-rail{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    -ms-overflow-style:none !important;
    scrollbar-width:none !important;
    padding-bottom:16px !important;
  }
  .pdp-editorial .why-stat-rail::-webkit-scrollbar{display:none !important}
  .pdp-editorial .why-stat-card{scroll-snap-align:start !important}
}

/* ===== Peek cards + detail modal ===== */
.pdp-editorial .pdp-peek-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  max-height:70vh !important;
  padding:0 !important;
  overflow:hidden !important;
}
.pdp-editorial .pdp-peek-copy{
  padding:28px 26px 16px !important;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:0 0 auto;
  z-index:1;
}
.pdp-editorial .pdp-peek-label{
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--pdp-card-accent, #8a949b) !important;
}
.pdp-editorial .pdp-peek-title{
  font-size:24px !important;
  font-weight:800 !important;
  letter-spacing:-.4px !important;
  line-height:1.2 !important;
  margin:0 !important;
  color:var(--pdp-card-fg, var(--dark)) !important;
}
.pdp-editorial .pdp-peek-teaser{
  font-size:15px !important;
  line-height:1.45 !important;
  margin:0 !important;
  color:color-mix(in srgb, var(--pdp-card-fg, #5a6b72) 78%, transparent) !important;
}
.pdp-editorial .pdp-peek-media{
  margin-top:auto !important;
  flex:1 1 auto !important;
  min-height:160px !important;
  max-height:min(260px, 34vh) !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  padding:8px 18px 0 !important;
  background:color-mix(in srgb, var(--pdp-card-accent, #00AABF) 10%, #eef6f7) !important;
}
.pdp-editorial .pdp-peek-media img{
  width:100% !important;
  max-height:min(240px, 32vh) !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block !important;
}
.pdp-editorial .pdp-peek-icon{
  width:72px;
  height:72px;
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  margin-bottom:28px;
}
.pdp-editorial .pdp-peek-emoji{
  font-size:88px;
  line-height:1;
  margin-bottom:24px;
}
.pdp-editorial .pdp-peek-card.is-clickable{
  cursor:pointer !important;
}
.pdp-editorial .pdp-peek-card.is-clickable:focus-visible{
  outline:2px solid rgba(0,170,191,.45);
  outline-offset:3px;
}
.pdp-editorial .pdp-peek-more{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  width:35px !important;
  height:35px !important;
  border-radius:50% !important;
  border:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--dark) !important;
  box-shadow:0 6px 16px rgba(19,51,62,.14) !important;
  pointer-events:none !important;
  z-index:3 !important;
  backdrop-filter:blur(8px);
  transition:transform .15s ease, background .15s ease;
}
.pdp-editorial .pdp-peek-card.is-clickable:hover .pdp-peek-more{
  transform:scale(1.06);
  background:#fff !important;
}
.pdp-editorial .pdp-peek-more .ti{font-size:17px;line-height:1}

/* Detail modal */
.pdp-card-detail-modal .modal-dialog{
  max-width:640px;
  margin:1.25rem auto;
}
.pdp-card-detail-modal .modal-content{
  border:0;
  border-radius:28px;
  box-shadow:0 24px 64px rgba(19,51,62,.22);
  overflow:hidden;
  background:#fff;
}
.pdp-card-detail-modal .modal-body{
  padding:48px 40px 40px;
  text-align:center;
}
.pdp-card-detail-close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:#e8ecef;
  color:#13333E;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  cursor:pointer;
}
.pdp-card-detail-close:hover{background:#dfe4e7}
.pdp-card-detail-title{
  font-size:32px;
  font-weight:800;
  letter-spacing:-.6px;
  line-height:1.2;
  margin:0 0 16px;
  color:#13333E;
}
.pdp-card-detail-body{
  font-size:16px;
  line-height:1.65;
  color:#5a6b72;
  text-align:left;
  max-width:520px;
  margin:0 auto;
}
.pdp-card-detail-body p{margin:0 0 12px}
.pdp-card-detail-quote{
  font-size:18px;
  font-style:italic;
  color:#3A4656;
  margin:0 0 16px !important;
  text-align:center;
}
.pdp-card-detail-extra{
  margin-top:20px;
  text-align:center;
}

@media (max-width:900px){
  .pdp-editorial .pdp-peek-title{font-size:20px !important}
  .pdp-editorial .pdp-peek-copy{padding:22px 20px 12px !important}
  .pdp-editorial .pdp-peek-media{min-height:140px !important;max-height:min(200px, 30vh) !important}
  .pdp-card-detail-modal .modal-body{padding:40px 22px 28px}
  .pdp-card-detail-title{font-size:26px}
}

/* === PDP hero gallery: edge-to-edge Shopify photos === */
/* Shopify product images are typically square (1:1). Fill the frame
   instead of letterboxing with padding + object-fit:contain. */
.pdp-editorial .main-shot{
  aspect-ratio: 1 / 1;
  width: 100%;
  min-height: 0 !important;
  height: auto;
  padding: 0 !important;
  display: block;
  position: relative;
  overflow: hidden;
}
.pdp-editorial .main-shot-track{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: none;
}
.pdp-editorial .main-shot-slide{
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
  position: relative;
}
.pdp-editorial .main-shot-slide img,
.pdp-editorial .main-shot img{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center;
  display: block;
}
.pdp-editorial .main-shot .dot-nav{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 3;
  margin: 0;
}
.pdp-editorial .main-shot-hint{
  bottom: 52px;
  right: 14px;
}
.pdp-editorial .thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 900px){
  .pdp-editorial .main-shot{
    aspect-ratio: 1 / 1;
    min-height: 0 !important;
  }
  .pdp-editorial .main-shot-slide img,
  .pdp-editorial .main-shot img{
    max-height: none !important;
  }
}

/* === Peek cards: no text/photo overlap === */
/* Media images were taller than their flex slot and painted over the title. */
.pdp-editorial .pdp-peek-card{
  max-height: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.pdp-editorial .pdp-peek-copy{
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  background: var(--pdp-card-bg, #fff) !important;
  padding: 24px 22px 14px !important;
  gap: 8px !important;
}
.pdp-editorial .pdp-peek-title{
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto;
}
.pdp-editorial .pdp-peek-media{
  position: relative !important;
  z-index: 1 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  margin-top: 0 !important;
  padding: 12px 16px 16px !important;
  overflow: hidden !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.pdp-editorial .pdp-peek-media img{
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.pdp-editorial .pdp-peek-icon,
.pdp-editorial .pdp-peek-emoji{
  margin-bottom: 0 !important;
}

/* Ingredient peek cards: equal height row, photo pinned to bottom */
.pdp-editorial .formula-rail,
.pdp-editorial #pdp-formula-rail{
  align-items: stretch !important;
}
.pdp-editorial .ingr-card.pdp-peek-card,
.pdp-editorial .pdp-peek-card.ingr-card{
  flex: 0 0 min(420px, 88vw) !important;
  width: min(420px, 88vw) !important;
  max-width: min(420px, 88vw) !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
}
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-copy,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-copy{
  flex: 0 0 auto !important;
  padding: 22px 24px 16px !important;
}
/* Reserve 2 title lines so short titles don't leave uneven photo gaps. */
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-title,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-title{
  min-height: calc(1.2em * 2) !important;
}
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-teaser,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-teaser{
  min-height: 1.45em !important;
}
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-media,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-media{
  flex: 0 0 auto !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  padding: 0 !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  background: color-mix(in srgb, var(--pdp-card-accent, #00AABF) 10%, #eef6f7) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-media img,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-media img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-media img,
.pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-media img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

@media (max-width: 900px){
  .pdp-editorial .pdp-peek-title{font-size: 18px !important; line-height: 1.25 !important}
  .pdp-editorial .pdp-peek-teaser{font-size: 14px !important}
  .pdp-editorial .pdp-peek-copy{padding: 20px 18px 12px !important}
  .pdp-editorial .ingr-card.pdp-peek-card,
  .pdp-editorial .pdp-peek-card.ingr-card{
    flex: 0 0 min(340px, 86vw) !important;
    width: min(340px, 86vw) !important;
    max-width: min(340px, 86vw) !important;
    aspect-ratio: auto !important;
  }
  .pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-copy,
  .pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-copy{
    padding: 18px 18px 14px !important;
  }
  .pdp-editorial .ingr-card.pdp-peek-card .pdp-peek-media,
  .pdp-editorial .pdp-peek-card.ingr-card .pdp-peek-media{
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
  }
}

/* === Loyalty banner → Stars Club === */
.pdp-editorial .loyalty-banner-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin-top:10px;
}
.pdp-editorial .loyalty-banner-actions .loyalty-fit{
  margin-top:0;
}
.pdp-editorial .loyalty-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:0;
  padding:0;
  border:0;
  background:none;
  font-size:14px;
  font-weight:700;
  color:var(--bluebg);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.pdp-editorial .loyalty-link:hover{
  color:var(--dark);
}
.pdp-editorial .loyalty-link .ti{
  font-size:15px;
  line-height:1;
}

/* === Why facts: equal media row + matched stat widths === */
.pdp-editorial{
  --pdp-why-card: min(340px, 78vw);
  --pdp-why-gap: 22px;
}
.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail{
  align-items: stretch !important;
  gap: var(--pdp-why-gap) !important;
}
.pdp-editorial .why-fact-card,
.pdp-editorial .why-fact-card.pdp-peek-card,
.pdp-editorial .pdp-peek-card.why-fact-card,
.pdp-editorial #pdp-why-rail > .why-fact-card{
  flex: 0 0 var(--pdp-why-card) !important;
  width: var(--pdp-why-card) !important;
  max-width: var(--pdp-why-card) !important;
  min-width: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
}
/* Reserve two title lines so short titles do not pull media upward */
.pdp-editorial .why-fact-card .pdp-peek-copy{
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
.pdp-editorial .why-fact-card .pdp-peek-title{
  min-height: calc(1.2em * 2) !important;
  line-height: 1.2 !important;
}
.pdp-editorial .why-fact-card .pdp-peek-media{
  flex: 1 1 auto !important;
  margin-top: auto !important;
  aspect-ratio: auto !important;
  width: 100% !important;
  min-height: 168px !important;
  max-height: none !important;
  height: auto !important;
  padding: 22px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pdp-editorial .why-fact-card .pdp-peek-media img,
.pdp-editorial .why-fact-card .pdp-peek-icon,
.pdp-editorial .why-fact-card .pdp-peek-emoji{
  margin-bottom: 0 !important;
}
.pdp-editorial .why-stat-rail-wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
.pdp-editorial .why-stat-rail,
.pdp-editorial .why-stat-wrap .why-stat-rail{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: var(--pdp-why-gap) !important;
  padding-left: var(--pdp-rail-inset) !important;
  padding-right: var(--pdp-rail-inset) !important;
  box-sizing: border-box !important;
}
.pdp-editorial .why-stat-card{
  flex: 0 0 var(--pdp-why-card) !important;
  width: var(--pdp-why-card) !important;
  max-width: var(--pdp-why-card) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 1100px), (max-width: 900px){
  .pdp-editorial{
    --pdp-why-card: min(300px, 82vw);
    --pdp-why-gap: 16px;
  }
  .pdp-editorial .why-fact-card,
  .pdp-editorial .why-fact-card.pdp-peek-card,
  .pdp-editorial .pdp-peek-card.why-fact-card,
  .pdp-editorial #pdp-why-rail > .why-fact-card,
  .pdp-editorial .why-stat-card{
    flex: 0 0 var(--pdp-why-card) !important;
    width: var(--pdp-why-card) !important;
    max-width: var(--pdp-why-card) !important;
  }
}

/* === Peek cards: edge-to-edge photos (all rails) === */
/* Why / Formula / How-to / Ritual / any pdp-peek-card with a photo */
.pdp-editorial .pdp-peek-card .pdp-peek-media{
  padding: 0 !important;
  margin-top: auto !important;
  overflow: hidden !important;
  background: #eef6f7 !important;
}
.pdp-editorial .pdp-peek-card .pdp-peek-media:has(img){
  background: transparent !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  width: 100% !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}
.pdp-editorial .pdp-peek-card .pdp-peek-media img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
}
/* Icon / emoji fallbacks keep a soft panel (no photo to bleed) */
.pdp-editorial .pdp-peek-card .pdp-peek-media:not(:has(img)){
  min-height: 168px !important;
  padding: 28px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: color-mix(in srgb, var(--pdp-card-accent, #00AABF) 10%, #eef6f7) !important;
}

/* Why facts: keep title row height + edge-to-edge photo (override prior padding) */
.pdp-editorial .why-fact-rail,
.pdp-editorial #pdp-why-rail{
  align-items: stretch !important;
}
.pdp-editorial .why-fact-card.pdp-peek-card,
.pdp-editorial .pdp-peek-card.why-fact-card{
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
}
.pdp-editorial .why-fact-card .pdp-peek-title{
  min-height: calc(1.2em * 2) !important;
}
.pdp-editorial .why-fact-card .pdp-peek-media:has(img){
  flex: 1 1 auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  background: transparent !important;
}
.pdp-editorial .why-fact-card .pdp-peek-media img{
  object-fit: cover !important;
}

/* How-to + Ritual peek cards — same edge-to-edge photo treatment */
.pdp-editorial .ht-card.pdp-peek-card .pdp-peek-title,
.pdp-editorial .rc.pdp-peek-card .pdp-peek-title{
  min-height: calc(1.2em * 2) !important;
}
.pdp-editorial .ht-card.pdp-peek-card .pdp-peek-media:has(img),
.pdp-editorial .rc.pdp-peek-card .pdp-peek-media:has(img){
  padding: 0 !important;
  background: transparent !important;
  aspect-ratio: 1 / 1 !important;
}

/* === Why + Recipe headers: center like Dosage === */
.pdp-editorial .why-header,
.pdp-editorial .why-inner > .why-header{
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
  text-align: center !important;
}
.pdp-editorial .why-header .eyebrow,
.pdp-editorial .why-header .why-title,
.pdp-editorial .why-header .why-lead{
  text-align: center !important;
}
.pdp-editorial .why-header .why-lead{
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pdp-editorial .formula-header{
  text-align: center !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--pdp-rail-inset) !important;
  padding-right: var(--pdp-rail-inset) !important;
  padding-bottom: 28px !important;
}
.pdp-editorial .formula-header .eyebrow,
.pdp-editorial .formula-header .f-title,
.pdp-editorial .formula-header .f-sub,
.pdp-editorial .formula-section .f-title,
.pdp-editorial .formula-section .f-sub{
  text-align: center !important;
}
.pdp-editorial .formula-section .f-sub,
.pdp-editorial .formula-header .f-sub{
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* === Trust bar COA / PDF link === */
.pdp-editorial .tbi--coa{
  text-decoration: none !important;
  color: inherit !important;
  border-radius: 20px;
  padding: 10px 14px 12px;
  margin: -10px -14px -12px;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
  cursor: pointer;
}
.pdp-editorial .tbi--coa:hover,
.pdp-editorial .tbi--coa:focus-visible{
  background: #fff;
  box-shadow: 0 12px 28px rgba(19,51,62,.10);
  transform: translateY(-3px);
  outline: none;
}
.pdp-editorial .tbi--coa:focus-visible{
  box-shadow: 0 0 0 3px rgba(0,170,191,.28), 0 12px 28px rgba(19,51,62,.10);
}
.pdp-editorial .tbi-coa-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e3f6f9 0%, #eef8f4 100%);
  border: 1px solid #cdeaf0;
  color: var(--bluebg);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.pdp-editorial .tbi--coa:hover .tbi-coa-cta,
.pdp-editorial .tbi--coa:focus-visible .tbi-coa-cta{
  background: var(--brightblue);
  border-color: var(--brightblue);
  color: #fff;
}
.pdp-editorial .tbi-coa-cta .ti{
  font-size: 14px;
  line-height: 1;
}
@media (max-width: 900px){
  .pdp-editorial .tbi--coa{
    margin: 0;
    padding: 12px 10px;
  }
}

/* === Hero accordion COA card === */
.pdp-editorial .pdp-acc-coa{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:14px 16px;
  border-radius:16px;
  text-decoration:none !important;
  color:inherit !important;
  background:linear-gradient(135deg, #eef8f9 0%, #f4fbf7 100%);
  border:1px solid #cdeaf0;
  box-shadow:0 6px 18px rgba(19,51,62,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pdp-editorial .pdp-acc-coa:hover,
.pdp-editorial .pdp-acc-coa:focus-visible{
  transform:translateY(-2px);
  border-color:#00AABF;
  box-shadow:0 12px 28px rgba(19,51,62,.12);
  outline:none;
}
.pdp-editorial .pdp-acc-coa-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#fff;
  color:#c0392b;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(19,51,62,.08);
  font-size:22px;
}
.pdp-editorial .pdp-acc-coa-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1;
}
.pdp-editorial .pdp-acc-coa-title{
  font-size:15px;
  font-weight:800;
  color:var(--dark);
  line-height:1.25;
}
.pdp-editorial .pdp-acc-coa-sub{
  font-size:12px;
  font-weight:600;
  color:#6b767e;
}
.pdp-editorial .pdp-acc-coa-go{
  color:var(--bluebg);
  font-size:18px;
  flex-shrink:0;
}

/* === Flyer stack + COA twin card === */
.pdp-editorial .flyer-card{
  margin-bottom: 12px;
}
.pdp-editorial .flyer-card--coa .flyer-dl-btn{
  text-decoration: none !important;
  color: #fff !important;
}
.pdp-editorial .flyer-card--coa .flyer-dl-btn:hover{
  filter: brightness(1.06);
}

/* === COA PDF modal viewer === */
.pdp-coa-modal .modal-dialog{
  max-width: min(1100px, calc(100vw - 24px));
  margin: 12px auto;
}
.pdp-coa-modal .modal-content{
  border: none;
  border-radius: 16px;
  overflow: hidden;
  height: min(88vh, 920px);
}
.pdp-coa-modal .modal-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid #e8ecef;
}
.pdp-coa-modal .modal-title{
  font-size: 20px;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}
.pdp-coa-modal-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.pdp-coa-download{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--dark, #0b1f2a);
  text-decoration: none !important;
  padding: 8px 12px;
  border-radius: 9px;
  border: 1px solid #d7dee4;
  background: #fff;
  white-space: nowrap;
}
.pdp-coa-download:hover{
  background: #f5f7f9;
  color: var(--dark, #0b1f2a);
}
.pdp-coa-body{
  padding: 0 !important;
  flex: 1;
  min-height: 0;
  background: #f0f3f5;
}
.pdp-coa-modal .modal-content{
  display: flex;
  flex-direction: column;
}
.pdp-coa-frame{
  width: 100%;
  height: 100%;
  min-height: 70vh;
  border: 0;
  display: block;
  background: #f0f3f5;
}
@media (max-width: 767.98px){
  .pdp-coa-modal .modal-title{ font-size: 17px; }
  .pdp-coa-download{ padding: 7px 10px; font-size: 12px; }
}


/* === Mobile PDF.js fit-width viewer === */
.pdp-coa-modal.is-pdfjs .pdp-coa-frame{ display: none !important; }
.pdp-pdf-js{
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: #e8ecef;
}
.pdp-pdf-toolbar{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 8px 12px;
  background: #fff;
  border-bottom: 1px solid #d7dee4;
  flex-shrink: 0;
}
.pdp-pdf-zoom-btn{
  width: 36px;
  height: 36px;
  border-radius: 9px;
  border: 1px solid #d7dee4;
  background: #fff;
  color: var(--dark, #0b1f2a);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pdp-pdf-zoom-btn:active{ background: #f0f3f5; }
.pdp-pdf-zoom-label{
  min-width: 52px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #4a555c;
}
.pdp-pdf-scroll{
  flex: 1;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior: contain;
  padding: 10px;
}
.pdp-pdf-scroll canvas{
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto 10px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(19,51,62,.08);
  border-radius: 2px;
}
.pdp-pdf-loading,
.pdp-pdf-error{
  padding: 28px 18px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #5a656c;
}
@media (max-width: 767.98px){
  .pdp-coa-modal .modal-dialog{
    max-width: 100%;
    width: 100%;
    margin: 0;
    height: 100%;
  }
  .pdp-coa-modal .modal-content{
    height: 100%;
    max-height: 100%;
    border-radius: 0;
  }
  .pdp-coa-modal .modal-header{
    padding: 12px 14px;
  }
  .pdp-coa-body{
    flex: 1;
    min-height: 0;
  }
  .pdp-coa-frame{
    min-height: 0;
    height: 100%;
  }
}

/* === How-to / card rails: settle without snap fighting initial position === */
.pdp-editorial .ht-cards.is-rail-settling,
.pdp-editorial #pdp-howto-rail.is-rail-settling,
.pdp-editorial .why-fact-rail.is-rail-settling,
.pdp-editorial #pdp-why-rail.is-rail-settling,
.pdp-editorial .formula-rail.is-rail-settling,
.pdp-editorial #pdp-formula-rail.is-rail-settling,
.pdp-editorial .rt-grid.is-rail-settling,
.pdp-editorial #pdp-ritual-rail.is-rail-settling,
.pdp-editorial .ugc-rail.is-rail-settling,
.pdp-editorial #pdp-ugc-rail.is-rail-settling{
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}
.pdp-editorial .ht-cards,
.pdp-editorial #pdp-howto-rail{
  scroll-padding-left: 0 !important;
  scroll-behavior: auto !important;
}
@media (max-width: 900px){
  .pdp-editorial .ht-cards,
  .pdp-editorial #pdp-howto-rail{
    flex-direction: row !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* === Rail start inset: keep left margin on load; allow flush-left after scroll ===
   scroll-snap-align:start with scroll-padding-left:0 was snapping the first card
   to the viewport edge and scrolling away padding-left — worst on rails with 4+ cards.
   While at start, disable snap so --pdp-rail-inset padding stays visible.
   After the user scrolls, is-rail-start drops and snap resumes (cards may go edge-flush).
*/
.pdp-editorial{
  --pdp-rail-inset: max(32px, calc((100% - var(--pdp-content, 1120px)) / 2));
}
@media (max-width:1100px), (max-width:900px), (max-width:560px), (max-width:420px){
  .pdp-editorial{
    --pdp-rail-inset: 18px;
  }
}

.pdp-editorial .is-rail-start .why-fact-rail,
.pdp-editorial .is-rail-start #pdp-why-rail,
.pdp-editorial .is-rail-start .ugc-rail,
.pdp-editorial .is-rail-start #pdp-ugc-rail,
.pdp-editorial .is-rail-start .formula-rail,
.pdp-editorial .is-rail-start #pdp-formula-rail,
.pdp-editorial .is-rail-start .ht-cards,
.pdp-editorial .is-rail-start #pdp-howto-rail,
.pdp-editorial .is-rail-start .rt-grid,
.pdp-editorial .is-rail-start #pdp-ritual-rail,
.pdp-editorial .is-rail-start .rev-strip,
.pdp-editorial .is-rail-start #pdp-rev-rail,
.pdp-editorial .is-rail-start .xs-grid,
.pdp-editorial .is-rail-start #pdp-xs-rail{
  scroll-snap-type: none !important;
}

/* Settling covers reviews / cross-sell too */
.pdp-editorial .rev-strip.is-rail-settling,
.pdp-editorial #pdp-rev-rail.is-rail-settling,
.pdp-editorial .xs-grid.is-rail-settling,
.pdp-editorial #pdp-xs-rail.is-rail-settling{
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

/* Mobile width safety: prevent hero/thumbs intrinsic width from blowing out the page */
@media (max-width: 900px) {
  .pdp-editorial {
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
  }
  /* 1fr alone uses min-content; thumbs/gallery then widen the whole PDP and clip on the right */
  .pdp-editorial .hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .pdp-editorial .pin-col,
  .pdp-editorial .info-col {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pdp-editorial .main-shot,
  .pdp-editorial .main-shot-track,
  .pdp-editorial .thumb-row,
  .pdp-editorial .media-links,
  .pdp-editorial .ribbon-row,
  .pdp-editorial .flyer-card,
  .pdp-editorial .acc-body,
  .pdp-editorial .chip-row,
  .pdp-editorial .divider {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pdp-editorial .thumb-row {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
  .pdp-editorial .main-shot-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .pdp-editorial .m-sticky {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    left: 0;
    right: 0;
  }
  .pdp-editorial .m-sticky-cta {
    min-width: 0;
    flex: 1 1 auto;
  }
  .pdp-editorial .flyer-body {
    min-width: 0;
  }
  .pdp-editorial .acc-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .pdp-editorial .acc-body table {
    width: 100%;
    max-width: 100%;
  }
}


/* Pack-specific overlay (why Duo / Family) — swaps with selected pack */
.pdp-editorial .opt-price-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  line-height:1.2;
}
.pdp-editorial .opt-price-was{
  font-size:13px;
  font-weight:600;
  color:#8a9aa0;
  text-decoration:line-through;
}
.pdp-editorial .opt-you-save{
  margin-top:4px;
  font-size:12.5px;
  font-weight:700;
  color:#E98944;
  white-space:nowrap;
}
.pdp-editorial .pdp-pack-you-save{
  margin-top:12px;
}
.pdp-editorial .pdp-pack-you-save[hidden]{ display:none !important; }
.pdp-editorial .pdp-pack-you-save-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(223,161,55,.18);
  color:var(--dark);
  font-size:13px;
  font-weight:700;
}

.pdp-editorial .pdp-pack-overlay{
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f3f8f9;
  border: 1px solid #d7e5e8;
}
.pdp-editorial .pdp-pack-overlay[hidden],
.pdp-editorial .pdp-pack-overlay-panel[hidden]{ display:none !important; }
.pdp-editorial .pdp-pack-overlay-eyebrow{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bluebg);
  margin-bottom: 4px;
}
.pdp-editorial .pdp-pack-overlay-title{
  font-size: 17px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 6px;
  letter-spacing: -.02em;
}
.pdp-editorial .pdp-pack-overlay-body{
  font-size: 14px;
  line-height: 1.55;
  color: #3d5c64;
}
.pdp-editorial .pdp-pack-overlay-body p{ margin: 0 0 .5em; }
.pdp-editorial .pdp-pack-overlay-body p:last-child{ margin-bottom: 0; }

