/* PeptidePlugs product page v2 (woocommerce/pdp-v2.php, body.ppt-pdp2). Loaded after theme.css and only on that page.
   Navy dossier on the left, the order builder as the buy panel on the right, then the write-up restyled so the
   generated pd-* descriptions read as part of the same page (theme fonts, steel callouts, green squares). */

/* ── First screen ──────────────────────────────────────────────────────────────────────────── */
.pdp-fold{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:24px;align-items:stretch}
.pdp-left{display:flex;flex-direction:column;gap:14px;min-width:0}
/* the two columns end on one line: the lab record opens in the left column and its card runs to the panel's foot;
   when the column is the taller one, the box module takes up the difference instead (space-between, capped) */
.pdp-lab{display:flex;flex-direction:column;gap:10px;flex:1;margin-top:6px}
.pdp-lab .ppt-section-head{margin:0}
.pdp-lab .ppt-section-head h2{font-size:30px;letter-spacing:-1px}
.pdp-lab .pdp-how{flex:1;margin:0}
/* lab results per size (products without public certificates): in the left column, beside the panel */
.pdp-results{margin-top:6px;container-type:inline-size}
.pdp-results .ppt-section-head{margin:0 0 10px}
.pdp-results .ppt-section-head h2{font-size:30px;letter-spacing:-1px}
.pdp-results .ppt-coa-card-top{flex-wrap:wrap;row-gap:4px}
.pdp-results-source{color:var(--ppt-mist);font-weight:400;letter-spacing:1.5px;text-align:right}
.pdp-results-source:empty{display:none}
@container (max-width:640px){.pdp-results .ppt-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.pdp-results .ppt-section-head{flex-direction:column;align-items:flex-start;gap:6px}.pdp-results .ppt-section-note{text-align:left;max-width:none}}
/* the How-to-read card and the batch history under it are one L-shaped outline */
.pdp-fold:has(+ .pdp-history) .pdp-how{border-radius:14px 14px 0 0;border-bottom:0}
.pdp-fold:has(+ .pdp-history)+.pdp-history{margin-top:0}
.pdp-fold:has(+ .pdp-history)+.pdp-history .ppt-history{border-radius:0 14px 14px 14px}

.pdp-history{margin-top:24px}
.pdp-ruo{margin:14px 22px 16px;text-align:center}

/* dossier: name, pitch, the vial, the shipping lot's certificate */
.pdp-dossier{border-radius:18px;padding:28px 30px 26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.4),var(--ppt-shadow)}
.pdp-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}
.pdp-hero-text{min-width:0}
.pdp-hero h1{margin:0;font-size:66px;line-height:.95;font-weight:800;letter-spacing:-2.6px;color:#fff;text-shadow:0 0 40px rgba(127,178,229,.45)}
.pdp-hero h1.is-long{font-size:50px;letter-spacing:-2px;line-height:1}
.pdp-formula{margin:10px 0 0;font-size:12px;letter-spacing:.4px;color:var(--ppt-sky)}
.pdp-headline{margin:16px 0 0;font-size:20px;line-height:1.25;font-weight:700;color:#fff;max-width:520px}
.pdp-lede{margin:10px 0 0;font-size:15px;line-height:1.55;color:#d3e0ee;max-width:540px}
.pdp-lede.is-only{margin-top:16px;font-size:16px}
/* the vial, cut out of its background (inc/cutout.php): it always stands over the card's top edge, whatever the text beside it does */
.pdp-cut{position:relative;flex:0 0 auto;display:block;width:116px;margin:-48px 22px 0 0}
.pdp-cut::before{content:"";position:absolute;left:-70%;right:-70%;top:6%;bottom:-2%;background:radial-gradient(closest-side,rgba(140,190,255,.55) 0%,rgba(140,190,255,0) 100%);pointer-events:none}
.pdp-cut::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-7px;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
.pdp-cut img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35))}
/* sizes with their own images: the wrapper pdp.js refills when the size in focus changes; it takes no box of its own */
.pdp-hero-img{display:contents}
/* no clean cut-out for this image: the photo in a framed tile */
.pdp-photo{position:relative;flex:0 0 auto;display:block;width:150px;height:186px;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(228,196,106,.95),0 0 0 4px #0b1728,0 0 0 5px rgba(228,196,106,.5),0 26px 40px -18px rgba(0,0,0,.75)}
.pdp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

.pdp-proof{display:flex;flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.pdp-proof-top{display:flex;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--ppt-sky)}
.pdp-proof-top span{display:inline-flex;align-items:center;gap:8px}
.pdp-proof-top em{font-style:normal}
.pdp-live{width:8px;height:8px;border-radius:50%;background:#7ff2b5;box-shadow:0 0 0 3px rgba(127,242,181,.22)}
/* every figure the same size, on one baseline */
.pdp-ptable{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(8,18,32,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.pdp-ptable>div{min-width:0;padding:16px 18px 14px;border-left:1px solid rgba(255,255,255,.13)}
.pdp-ptable>div:first-child{border-left:0}
.pdp-ptable b{display:block;font-size:42px;line-height:1;font-weight:800;letter-spacing:-1.5px;white-space:nowrap}
.pdp-ptable[data-cells="4"] b{font-size:34px}
.pdp-ptable b small{font-size:.44em;margin-left:2px;letter-spacing:0}
.pdp-ptable .is-lead b{background:var(--ppt-gold);background-size:200% auto;animation:ppt-glisten 9s linear infinite;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}
.pdp-ptable span{display:block;margin-top:10px;font-size:10px;line-height:1.2;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--ppt-sky)}
.pdp-ptable em{display:block;min-height:1.3em;margin-top:4px;font-style:normal;font-size:10.5px;line-height:1.3;letter-spacing:.3px;color:var(--ppt-mist)}
.pdp-chips{display:flex;gap:5px}
.pdp-chips span{display:inline-flex;align-items:center;gap:6px;flex:1 1 0;min-width:0;font-size:10.5px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#e6eef7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-chips .ppt-sq{flex:0 0 auto;width:9px;height:9px;border-radius:2px}
/* a blend's components: equal cells in the table's own style */
.pdp-comps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px}
.pdp-comps span{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 10px;border-radius:8px;background:rgba(8,18,32,.38);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.pdp-comps b{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ppt-sky);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-comps em{font-style:normal;font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap}
.pdp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.ppt .pdp-more{margin-left:auto;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:700}
.pdp-pending{display:flex;flex-direction:column;gap:6px}
.pdp-pending b{font-size:20px;line-height:1.25}
.pdp-pending span{font-size:14px;line-height:1.5;color:var(--ppt-mist)}

/* the description's three claims and fact strip, under the dossier: one steel panel with a gold rail, the claims as
   three numbered columns split by hairlines, the facts as a bottom row of the same panel */
.pdp-brief{font-family:var(--ppt-font-body);border-radius:14px;border:1px solid #cddaea;overflow:hidden;background:radial-gradient(45% 90% at 6% -20%,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 60%),radial-gradient(55% 90% at 100% 0%,rgba(127,178,229,.28) 0%,rgba(127,178,229,0) 60%),linear-gradient(180deg,#ecf2fa 0%,#dfe9f5 100%);box-shadow:inset 4px 0 0 var(--ppt-gold-4),inset 0 1px 0 #fff}
.pdp-brief .pd-feature-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;counter-reset:pdp-claim}
.pdp-brief .pd-feature{min-width:0;flex:none;margin:0;padding:16px 18px 16px 20px;background:none;border:0;border-left:1px solid rgba(15,30,48,.1);border-radius:0}
.pdp-brief .pd-feature:first-child{border-left:0;padding-left:24px}
.pdp-brief .pd-feature-title{display:flex;align-items:baseline;gap:8px;margin:0 0 7px;font-family:var(--ppt-font-mono);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ppt-blue)}
.pdp-brief .pd-feature-title::before{counter-increment:pdp-claim;content:counter(pdp-claim,decimal-leading-zero);font-family:var(--ppt-font-disp);font-size:15px;font-weight:800;letter-spacing:-.3px;background:var(--ppt-gold);background-size:200% auto;animation:ppt-glisten 9s linear infinite;-webkit-background-clip:text;background-clip:text;color:transparent}
.pdp-brief .pd-feature-desc{margin:0;font-size:13.5px;line-height:1.45;color:var(--ppt-ink)}
.pdp-brief .pd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;margin:0;border:0;border-top:1px solid rgba(15,30,48,.1);border-radius:0;background:rgba(255,255,255,.45)}
.pdp-brief .pd-fact{padding:10px 18px 11px 20px;background:none;border-left:1px solid rgba(15,30,48,.1)}
.pdp-brief .pd-fact:first-child{border-left:0;padding-left:24px}
.pdp-brief .pd-fact-label{margin:0 0 2px;font-family:var(--ppt-font-mono);font-size:9px;letter-spacing:1.5px;color:var(--ppt-muted)}
.pdp-brief .pd-fact-value{font-family:var(--ppt-font-disp);font-size:14px;font-weight:700;color:var(--ppt-ink)}

/* ── The buy panel: the order builder ──────────────────────────────────────────────────────── */
.pdp-panel{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--ppt-line);border-radius:18px;box-shadow:var(--ppt-shadow);overflow:hidden}
.pdp-box-head{padding:20px 22px 16px}
.pdp-box-head-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pdp-box-head b{display:block;margin-top:10px;font-size:40px;line-height:1;font-weight:800;letter-spacing:-1.5px}
.pdp-box-head b s{font-size:.5em;font-weight:600;letter-spacing:-.4px;color:var(--ppt-muted)}
.pdp-box-head b small{font:500 12px/1 var(--ppt-font-mono);letter-spacing:0;color:var(--ppt-muted);margin-left:8px}
.pdp-ship{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--ppt-pass);white-space:nowrap}
.pdp-ship::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ppt-pass-sq);box-shadow:0 0 0 3px rgba(15,157,106,.16)}
.pdp-ship.is-off{color:var(--ppt-danger)}.pdp-ship.is-off::before{background:var(--ppt-danger);box-shadow:0 0 0 3px rgba(185,28,28,.14)}
.pdp-panel .pdp-k{display:block;margin-bottom:8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--ppt-blue)}

/* rows: one per size, the builder's row with this page's figures */
.pdp-brows{border-top:1px solid var(--ppt-line-2)}
.pdp-brow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:66px;padding:10px 22px;border-bottom:1px solid var(--ppt-line-2);background:#fff;transition:background .15s ease,box-shadow .15s ease}
.pdp-brow.is-in{background:linear-gradient(100deg,#e2ecf9 0%,#d6e3f4 100%)}
.pdp-brow.is-focus{box-shadow:inset 3px 0 0 var(--ppt-gold-4)}
.pdp-brow.is-off .pdp-brow-main>b,.pdp-brow.is-off .pdp-brow-price{opacity:.5}
body.ppt .pdp-brow-main{display:flex;align-items:center;gap:12px;min-width:0;background:none;border:0;padding:0;text-align:left;color:var(--ppt-ink)}
.pdp-brow-main>b{flex:0 0 auto;min-width:72px;font-size:23px;line-height:1;font-weight:800;letter-spacing:-.6px}
.pdp-brow-coa{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ppt-pass);white-space:nowrap}
.pdp-brow-coa .ppt-sq{width:10px;height:10px;border-radius:2px}
.pdp-brow-coa small{font-size:11px;font-weight:500;color:var(--ppt-muted)}
.pdp-brow-coa.is-wait{color:var(--ppt-blue)}
.pdp-brow-price{display:grid;justify-items:end;gap:5px;min-width:112px;text-align:right;white-space:nowrap;font-size:11.5px}
.pdp-brow-price span{display:inline-flex;align-items:baseline;gap:7px}
.pdp-brow-price b{font-size:15px;font-weight:700}
.pdp-brow-price i{font-style:normal;color:var(--ppt-muted)}
.pdp-brow-price s{color:var(--ppt-muted)}
.pdp-brow-price small{font-size:10.5px;color:var(--ppt-muted)}
.pdp-brow-price em{font-style:normal;line-height:1;font-size:10px;font-weight:700;letter-spacing:.4px;color:var(--ppt-gold-ink);background:var(--ppt-gold);background-size:200% auto;border-radius:999px;padding:3px 7px}
/* a long size name (apparel: "Vintage Black · X-Large") is set smaller and may wrap */
.pdp-brow.is-wordy .pdp-brow-main{flex-direction:column;align-items:flex-start;gap:5px}
.pdp-brow.is-wordy .pdp-brow-main>b{min-width:0;font-size:15px;line-height:1.2;letter-spacing:-.2px;font-weight:700}
.pdp-brow.is-wordy .pdp-brow-price{min-width:86px}
.pdp-brow-off{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--ppt-muted);min-width:104px;text-align:center}
.pdp-brow.is-pair img{flex:0 0 auto;width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--ppt-line-2);border-radius:6px}
.pdp-brow.is-pair .pdp-brow-main>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.pdp-brow.is-pair .pdp-brow-main b{font:600 14px/1.2 var(--ppt-font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-restock{padding:14px 22px 0}

/* volume ladder for the size in focus: tap a tier to set that quantity */
.pdp-ladder{padding:16px 22px 18px}
.pdp-ladder .pdp-k{display:flex;justify-content:space-between}
.pdp-ladder .pdp-k span+span{color:var(--ppt-muted);font-weight:500;letter-spacing:1px}
.pdp-lrows{border:1px solid var(--ppt-line);border-radius:12px;overflow:hidden}
body.ppt .pdp-lrow{display:grid;grid-template-columns:86px minmax(0,1fr) 70px;gap:10px;align-items:baseline;width:100%;padding:9px 14px;background:#fff;border:0;border-bottom:1px solid var(--ppt-line-2);font:500 13px/1.2 var(--ppt-font-mono);color:var(--ppt-ink);text-align:left;transition:background .12s ease}
body.ppt .pdp-lrow:last-child{border-bottom:0}
body.ppt .pdp-lrow:hover{background:var(--ppt-bg-2)}
body.ppt .pdp-lrow[disabled]{opacity:.45;cursor:default}
.pdp-lrow b{font-weight:700}
.pdp-lrow b small{margin-left:8px;font-size:10.5px;font-weight:500;color:var(--ppt-muted)}
.pdp-lrow em{font-style:normal;font-weight:700;color:var(--ppt-royal);text-align:right}
body.ppt .pdp-lrow.is-on{background:#fbf7ea;box-shadow:inset 4px 0 0 var(--ppt-gold-4)}
.pdp-lrow.is-on em{color:var(--ppt-gold-1)}

/* round out the box */
.pdp-pairs{border-top:1px solid var(--ppt-line-2)}
.pdp-pairs .pdp-k{display:flex;justify-content:space-between;gap:10px;margin:0;padding:14px 22px 8px}
.pdp-pairs .pdp-k span+span{color:var(--ppt-gold-1);letter-spacing:1px}
.pdp-pairs .pdp-brow{min-height:60px}
.pdp-pairs .pdp-brow:last-child{border-bottom:0}

/* your box: the builder's box, ten slots in one row */
/* the box is the panel's foot: flush with the card's edges, so the column beside it ends on the same line */
.pdp-yourbox{flex:1 0 auto;max-height:560px;margin:14px 0 0;border-radius:0 0 17px 17px;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.pdp-box-notes{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ppt-sky);text-align:center}
.pdp-box-ruo{display:block;margin-top:5px;font-size:9.5px;letter-spacing:.3px;text-transform:none;color:var(--ppt-mist)}
.pdp-box-save{font-size:11px;font-weight:700;color:var(--ppt-gold-3)}
.pdp-yourbox .ppt-slots{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
.pdp-yourbox .ppt-slot{border-radius:7px;cursor:default;overflow:hidden}
.pdp-yourbox .ppt-slot img{padding:2px 2px 11px;border-radius:0}
.pdp-yourbox .ppt-slot-name{padding:0 1px 2px;font-size:7.5px;font-weight:700}
.pdp-yourbox .ppt-slot.is-empty span{font-size:9px;letter-spacing:0}
/* a tall box (the column beside it is the longer one) shows the builder's own two-row slot grid, with legible vials */
.pdp-yourbox.is-tall .ppt-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pdp-yourbox.is-tall .ppt-slot{border-radius:8px}
.pdp-yourbox.is-tall .ppt-slot img{padding:4px 4px 17px}
.pdp-yourbox.is-tall .ppt-slot-name{padding:0 4px 4px;font-size:8.5px;font-weight:500}
.pdp-yourbox.is-tall .ppt-slot.is-empty span{font-size:10px;letter-spacing:1px}
.pdp-yourbox .ppt-slot.is-more{font-size:11px}
.pdp-box-msg{font-size:15px;font-weight:700;line-height:1.3}
.pdp-yourbox .ppt-meter-bar{height:9px}
.pdp-box-foot{display:flex;justify-content:space-between;align-items:center;gap:14px}
.pdp-box-foot div{display:flex;flex-direction:column;gap:5px}
.pdp-box-foot span{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ppt-sky)}
.pdp-box-foot b{font-size:32px;line-height:1;font-weight:800;letter-spacing:-1px}
.pdp-box-foot .ppt-btn{min-width:180px}
.pdp-go{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.pdp-go-review{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ppt-gold-3);text-decoration:none;white-space:nowrap}
.pdp-go-review:hover{color:#fff}
.pdp-go-review[hidden]{display:none}
.pdp-minibar .pdp-go{flex-direction:row;align-items:center;gap:14px;flex:0 0 auto}
.pdp .ppt-btn.is-off{opacity:.45;animation:none;pointer-events:none}
.pdp .ppt-btn.is-busy{opacity:.7}

/* the box bar: once the box scrolls away on a desktop; always, when the box holds something, on a phone */
.pdp-minibar{position:fixed;left:0;right:0;bottom:0;z-index:57;border-top:2px solid var(--ppt-gold-4);border-radius:16px 16px 0 0;box-shadow:0 -16px 50px rgba(15,30,48,.4)}
.pdp-minibar[hidden]{display:none}
.pdp-minibar-meter{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(0,0,0,.35);overflow:hidden;border-radius:16px 16px 0 0}
.pdp-minibar-meter i{display:block;height:100%;width:0;background:var(--ppt-gold);background-size:200% auto;transition:width .35s ease}
.pdp-minibar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.pdp-minibar-in div{display:flex;flex-direction:column;gap:3px;min-width:0}
.pdp-minibar b{font-size:17px;font-weight:700}
.pdp-minibar span{font-size:11.5px;color:var(--ppt-gold-3)}

/* ── Below the first screen: one section language ──────────────────────────────────────────── */
.pdp-how{margin-bottom:16px;border-radius:14px}
.pdp-about{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px;align-items:start}
.pdp-about.is-solo{grid-template-columns:minmax(0,1fr)}
.pdp-about-main{padding:30px 34px 28px;border-radius:16px}
.pdp-about-rail{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--ppt-header-h) + 14px)}
.ppt-pdp2 .ppt-product-overview .ppt-prose{max-width:none}
/* the generated descriptions bring their own fonts, cyan and amber: brought into the page's own language here */
.ppt-pdp2 .pd-prod{margin:0;font-family:var(--ppt-font-body);color:var(--ppt-text-2);line-height:1.6}
.ppt-pdp2 .pd-prod .pdp-about-main>:first-child{margin-top:0}
.ppt-pdp2 .pd-prod .pdp-about-main>:last-child{margin-bottom:0}
.ppt-pdp2 .pd-prod .pdp-about-rail>*{margin:0}
.ppt-pdp2 .pd-prod h2,.ppt-pdp2 .pd-prod h3{margin:30px 0 8px;font-family:var(--ppt-font-disp);font-size:23px;line-height:1.15;font-weight:800;letter-spacing:-.6px;text-transform:none;color:var(--ppt-ink)}
.ppt-pdp2 .pd-prod p{font-size:15.5px;line-height:1.65;color:var(--ppt-text-2)}
.ppt-pdp2 .pd-prod a.pd-inline{color:var(--ppt-royal);font-weight:600}
.ppt-pdp2 .pd-pill{margin:26px 0 -18px;padding:4px 9px;border:0;background:#e8f0fb;color:var(--ppt-blue);font-family:var(--ppt-font-mono);font-size:9.5px;font-weight:700;letter-spacing:1.5px}
.ppt-pdp2 .pd-silver{margin:24px 0;padding:18px 20px 18px 24px;border-radius:12px;border:1px solid #cddaea;background:radial-gradient(45% 120% at 6% -30%,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#ecf2fa 0%,#dfe9f5 100%);box-shadow:inset 4px 0 0 var(--ppt-gold-4)}
.ppt-pdp2 .pd-silver::before{display:none}
.ppt-pdp2 .pd-chip{padding:0;margin:0 0 8px;background:none;color:var(--ppt-blue);font-family:var(--ppt-font-mono);font-size:10px;font-weight:700;letter-spacing:2px}
.ppt-pdp2 .pd-silver p{font-size:14.5px;color:var(--ppt-ink)}
.ppt-pdp2 .pd-mech{margin:24px 0;padding:18px 20px;border-radius:12px;border:1px solid var(--ppt-line);background:var(--ppt-bg-2);color:var(--ppt-ink)}
.ppt-pdp2 .pd-mech-eyebrow{margin-bottom:10px;text-align:left;font-family:var(--ppt-font-mono);font-size:10px;letter-spacing:2px;color:var(--ppt-blue)}
.ppt-pdp2 .pd-mech-row,.ppt-pdp2 .pd-mech-row.lead{margin:6px 0 0;padding:11px 14px;border:1px solid var(--ppt-line);border-radius:10px;background:#fff;font-family:var(--ppt-font-mono);font-size:12.5px}
.ppt-pdp2 .pd-mech-row.lead{box-shadow:inset 3px 0 0 var(--ppt-gold-4)}
.ppt-pdp2 .pd-mech-peptide,.ppt-pdp2 .pd-mech-row.lead .pd-mech-peptide{min-width:0;color:var(--ppt-ink);font-family:var(--ppt-font-disp);font-size:16px;font-weight:800}
.ppt-pdp2 .pd-mech-pathway{color:var(--ppt-text-2);font-family:var(--ppt-font-mono)}
.ppt-pdp2 .pd-mech p{margin:10px 0 0;text-align:left;font-size:14px;color:var(--ppt-text-2)}
/* the "what's in the vial" spotlights (spot, trio, quad, stack, ratio, triple, sequence): the page's navy metal with
   sky and gold foil where they had flat navy, cyan and amber */
.ppt-pdp2 .pd-spot,.ppt-pdp2 .pd-trio,.ppt-pdp2 .pd-quad,.ppt-pdp2 .pd-stack,.ppt-pdp2 .pd-ratio,.ppt-pdp2 .pd-triple,.ppt-pdp2 .pd-seq{border-radius:14px;background:radial-gradient(55% 70% at 15% -10%,rgba(140,190,255,.42) 0%,rgba(140,190,255,0) 62%),radial-gradient(60% 75% at 100% 110%,rgba(60,105,165,.6) 0%,rgba(60,105,165,0) 62%),linear-gradient(180deg,#132b45 0%,#0f1e30 60%,#0b1728 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.4)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio,.pd-triple,.pd-seq) [class*="-eyebrow"]{font-family:var(--ppt-font-mono);font-size:10px;letter-spacing:2px;color:var(--ppt-sky)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio,.pd-triple,.pd-seq) [class*="-headline"]{font-family:var(--ppt-font-disp);font-weight:800;letter-spacing:-.4px}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio,.pd-triple) [class*="-card"],.ppt-pdp2 .pd-prod :is(.pd-stack,.pd-ratio) [class*="-half"],.ppt-pdp2 .pd-prod .pd-triple-col{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad) [class*="-card"].lead{background:rgba(228,196,106,.08);border-color:rgba(228,196,106,.55)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio) :is([class$="-mg"],[class$="-stat"],[class$="-big"]){font-family:var(--ppt-font-disp);font-weight:800;letter-spacing:-1px;background:var(--ppt-gold);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio) [class$="-mg"] small{-webkit-text-fill-color:var(--ppt-mist)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio,.pd-triple) [class*="-name"]{font-family:var(--ppt-font-disp)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad,.pd-stack,.pd-ratio,.pd-triple,.pd-seq) :is([class$="-seq"],[class$="-id"],[class$="-total"],[class$="-code"]){color:var(--ppt-sky)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad) [class*="-tag"]{background:rgba(127,178,229,.18);color:var(--ppt-sky)}
.ppt-pdp2 .pd-prod :is(.pd-spot,.pd-trio,.pd-quad) [class*="-tag"].core{background:rgba(228,196,106,.2);color:var(--ppt-gold-2)}
.ppt-pdp2 .pd-prod [class$="-total"]{border-top-color:rgba(255,255,255,.14)}
/* the lighter blocks (variants, family, notes, comparisons): the theme's display face on their titles */
.ppt-pdp2 .pd-prod :is([class*="-title"],[class*="-name"],[class*="-headline"]){font-family:var(--ppt-font-disp)}
.ppt-pdp2 .pd-prod :is(.pd-variant,.pd-fam,.pd-note,.pd-compare-card,.pd-split-card){border-radius:12px}
.ppt-pdp2 .pd-readmore{position:relative;padding:20px 22px;border-radius:14px;background:radial-gradient(55% 70% at 15% -10%,rgba(140,190,255,.5) 0%,rgba(140,190,255,0) 62%),radial-gradient(45% 60% at 95% 0%,rgba(228,196,106,.2) 0%,rgba(228,196,106,0) 60%),linear-gradient(180deg,#132b45 0%,#0f1e30 60%,#0b1728 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),var(--ppt-shadow)}
.ppt-pdp2 .pd-readmore-eyebrow{font-family:var(--ppt-font-mono);font-size:10px;font-weight:700;letter-spacing:2px;color:var(--ppt-sky)}
.ppt-pdp2 .pd-readmore-title{font-family:var(--ppt-font-disp);font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.4px}
.ppt-pdp2 .pd-readmore-desc{font-size:13.5px;line-height:1.5;color:#d3e0ee}
.ppt-pdp2 .pd-readmore-cta{display:inline-block;margin-top:14px;padding:0;border:0;border-radius:0;font-family:var(--ppt-font-disp);font-size:14px;font-weight:700;background:var(--ppt-gold);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.ppt-pdp2 .pd-callout,.ppt-pdp2 .pd-highlights,.ppt-pdp2 .pd-comparison{padding:18px 20px;border:1px solid var(--ppt-line);border-radius:14px;background:#fff}
.ppt-pdp2 .pd-callout-title,.ppt-pdp2 .pd-comparison-title{margin:0 0 10px;font-family:var(--ppt-font-mono);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ppt-blue)}
.ppt-pdp2 .pd-findings li,.ppt-pdp2 .pd-highlights li{position:relative;padding:8px 0 8px 22px;font-size:14px;line-height:1.4;color:var(--ppt-ink);border-bottom:1px solid var(--ppt-line-2)}
.ppt-pdp2 .pd-findings li:last-child,.ppt-pdp2 .pd-highlights li:last-child{border-bottom:0;padding-bottom:0}
.ppt-pdp2 .pd-findings li::before,.ppt-pdp2 .pd-highlights li::before{content:"";position:absolute;left:0;top:12px;width:10px;height:10px;border-radius:2px;background:var(--ppt-pass-sq);box-shadow:none}
.ppt-pdp2 .pd-highlights ul{display:block}
.ppt-pdp2 .pd-comparison-row{display:flex;flex-direction:column;gap:8px}
.ppt-pdp2 .pd-comparison-card{flex:0 0 auto;padding:12px 14px;border:1px solid var(--ppt-line);border-radius:10px;background:#fff}
.ppt-pdp2 .pd-comparison-card.active{border:1px solid #cddaea;background:linear-gradient(180deg,#ecf2fa 0%,#dfe9f5 100%);box-shadow:inset 3px 0 0 var(--ppt-gold-4)}
.ppt-pdp2 .pd-comparison-card *{font-family:var(--ppt-font-body)}
.ppt-pdp2 .pd-comparison-name{font-family:var(--ppt-font-disp)!important;font-size:16px;font-weight:800;color:var(--ppt-ink)!important}
.ppt-pdp2 .pd-comparison-class{font-family:var(--ppt-font-mono)!important;color:var(--ppt-blue)}
.ppt-pdp2 .pd-disclaimer{margin-top:18px;padding-top:0;border:0;font-family:var(--ppt-font-mono);font-size:10.5px;font-style:normal;letter-spacing:.3px;line-height:1.6;color:var(--ppt-muted)}

/* desktop: the bar's button stays clear of the chat bubble in the corner */
@media (min-width:901px){.pdp-minibar-in{padding-right:calc(var(--ppt-gutter) + 84px)}}
@media (max-width:1100px){
  .pdp-fold{grid-template-columns:minmax(0,1fr) 440px}
  .pdp-hero h1{font-size:54px}
  .pdp-about{grid-template-columns:minmax(0,1fr) 320px}
}

/* ── Phone ─────────────────────────────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .pdp-fold{grid-template-columns:minmax(0,1fr);gap:14px}
  .pdp-left{display:contents}
  .pdp-dossier{order:1;padding:18px 16px 16px}
  .pdp-panel{order:2}
  .pdp-brief{order:3}
  .pdp-results{order:4;margin-top:12px}
  .pdp-lab{order:4;margin-top:12px}
  .pdp-lab .ppt-section-head h2{font-size:26px}
  .pdp-history{margin-top:14px}
  .pdp-ruo{text-align:left}

  .pdp-hero{gap:14px}
  .pdp-hero h1{font-size:42px;letter-spacing:-1.6px}
  .pdp-hero h1.is-long{font-size:32px;letter-spacing:-1.1px}
  .pdp-formula{margin-top:8px;font-size:10.5px}
  .pdp-headline{margin-top:10px;font-size:15.5px;line-height:1.25}
  .pdp-lede{display:none}
  .pdp-lede.is-only{display:-webkit-box;margin-top:10px;font-size:13.5px;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .pdp-cut{width:60px;margin:-30px 8px 0 0}
  .pdp-photo{width:74px;height:92px;border-radius:12px}

  .pdp-proof{margin-top:14px;padding-top:12px;gap:10px}
  .pdp-proof-top{flex-wrap:nowrap;font-size:9.5px;letter-spacing:1.1px}
  .pdp-proof-top span{min-width:0}
  .pdp-proof-top span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  .pdp-proof-top span+span{white-space:nowrap;flex:0 0 auto}
  .pdp-proof-top em{display:none}
  .pdp-ptable{border-radius:11px}
  .pdp-ptable>div{padding:11px 8px 10px 10px}
  .pdp-ptable b{font-size:25px;letter-spacing:-.8px}
  .pdp-ptable[data-cells="4"] b{font-size:20px}
  .pdp-ptable span{margin-top:7px;font-size:8.5px;letter-spacing:1.1px}
  .pdp-ptable em{margin-top:3px;font-size:8.5px;letter-spacing:0;white-space:nowrap}
  .pdp-tests{display:none}
  .pdp-brief .pd-feature-row{grid-template-columns:1fr}
  .pdp-brief .pd-feature{padding:12px 16px 12px 18px;border-left:0;border-top:1px solid rgba(15,30,48,.1)}
  .pdp-brief .pd-feature:first-child{border-top:0;padding-left:18px}
  .pdp-brief .pd-facts{grid-template-columns:1fr 1fr}
  .pdp-brief .pd-fact{padding:9px 14px 10px 18px}
  .pdp-brief .pd-fact:nth-child(odd){border-left:0;padding-left:18px}
  .pdp-comps{gap:4px}
  .pdp-comps span{padding:6px 6px}
  .pdp-comps b{font-size:8.5px;letter-spacing:.6px}
  .pdp-comps em{font-size:11px}
  .pdp-actions .ppt-btn{flex:1;height:38px;padding:0 10px;font-size:13.5px}
  .pdp-more{display:none}

  .pdp-box-head{padding:18px 16px 14px}
  .pdp-box-head b{font-size:34px}
  .pdp-box-head .ppt-eyebrow{font-size:11px;letter-spacing:2px;white-space:nowrap}
  .pdp-ship{font-size:9.5px;letter-spacing:.6px}
  .pdp-brow{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px}
  .pdp-brow .pdp-brow-main{grid-column:1;grid-row:1}
  .pdp-brow .ppt-step,.pdp-brow .pdp-brow-off{grid-column:2;grid-row:1/span 2;align-self:center}
  .pdp-brow .pdp-brow-price{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;text-align:left;min-width:0}
  .pdp-brow.is-pair .pdp-brow-price{padding-left:54px}
  .pdp-restock{padding:12px 16px 0}
  .pdp-ladder{padding:14px 16px 16px}
  body.ppt .pdp-lrow{grid-template-columns:68px minmax(0,1fr) 58px;gap:8px;padding:10px 12px;font-size:12.5px}
  .pdp-lrow b small{margin-left:6px;font-size:10px}
  .pdp-pairs .pdp-k{padding:14px 16px 6px}
  /* the floating bar is the box on a phone: the module keeps the offer and the meter only */
  .pdp-yourbox{flex:0 0 auto;max-height:none;margin:12px 0 0;border-radius:0 0 17px 17px;padding:14px 16px;gap:10px}
  .pdp-fold:has(+ .pdp-history) .pdp-how{border-radius:14px;border-bottom:1px solid var(--ppt-line)}
  .pdp-fold:has(+ .pdp-history)+.pdp-history{margin-top:14px}
  .pdp-fold:has(+ .pdp-history)+.pdp-history .ppt-history{border-radius:var(--ppt-r)}
  .pdp-yourbox .ppt-slots,.pdp-yourbox .pdp-box-foot{display:none}
  .pdp-minibar{bottom:calc(var(--ppt-tabbar-h) + env(safe-area-inset-bottom));border-radius:14px 14px 0 0}
  .pdp-minibar-meter{border-radius:14px 14px 0 0}
  .pdp-minibar-in{height:66px;gap:10px}
  .pdp-minibar-in div{flex:1 1 auto}
  .pdp-minibar b,.pdp-minibar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pdp-minibar b{font-size:15px}
  .pdp-minibar .ppt-btn{height:40px;padding:0 14px}
  .pdp-minibar .pdp-go{flex-direction:column;align-items:flex-end;gap:3px}
  .pdp-minibar .pdp-go-review{font-size:9.5px;letter-spacing:1px}

  /* batch history rows: date and the PDF link on one line, lot · purity · content · panel on the next */
  .ppt-pdp2 .ppt-history-row{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-rows:auto auto;gap:5px 12px;padding:10px 14px;font-size:12px}
  .ppt-pdp2 .ppt-history-row>span:nth-child(1){grid-column:1/4;grid-row:1}
  .ppt-pdp2 .ppt-history-row>span:nth-child(6){grid-column:4;grid-row:1;text-align:right}
  .ppt-pdp2 .ppt-history-row>span:nth-child(2){grid-column:1;grid-row:2;color:var(--ppt-muted)}
  .ppt-pdp2 .ppt-history-row>span:nth-child(3){grid-column:2;grid-row:2}
  .ppt-pdp2 .ppt-history-row>span:nth-child(4){display:block;grid-column:3;grid-row:2}
  .ppt-pdp2 .ppt-history-row>span:nth-child(5){display:flex;grid-column:4;grid-row:2;justify-content:flex-end;gap:3px}
  .ppt-pdp2 .ppt-history-row .ppt-sq{width:10px;height:10px}
  .ppt-pdp2 .ppt-history-row .ppt-ledger-score{display:none}
  .pdp-about{grid-template-columns:minmax(0,1fr);gap:14px}
  .pdp-about-main{padding:20px 18px}
  .pdp-about-rail{position:static}
  .ppt-pdp2 .pd-prod h2,.ppt-pdp2 .pd-prod h3{font-size:20px;margin-top:24px}
}
