/* ==========================================================================
   Pacific Peptides v4 — Lab Ledger (light clinical) theme layer.
   ledger.css = approved mockup CSS scoped to .ppl (generated). This file:
   WordPress/WooCommerce integration + light restyle of cart/checkout/account/lookup.
   Palette: white / #F7F9FB · ink #0B1F33 · accent #0B8EC2 · Inter (mono only for lot numbers)
   ========================================================================== */
:root{
  --pp-black:#0B1F33;--pp-ink:#0B1F33;--pp-navy:#0B1F33;
  --pp-cyan:#086E99;--pp-cyan-bright:#086E99;--pp-cyan-deep:#08729D;
  --pp-cyan-soft:rgba(11,142,194,.10);--pp-cyan-glow:rgba(11,142,194,.25);--pp-cyan-mist:rgba(11,142,194,.05);
  --pp-surface:#F7F9FB;--pp-surface-2:#F1F5F8;--pp-surface-3:#E6EBF0;--pp-line:#E6EBF0;--pp-line-soft:rgba(11,31,51,.07);
  --pp-muted:#4A5D70;--pp-muted-2:#566676;--pp-ok:#0B7A52;
  --pp-font-display:'Inter',system-ui,sans-serif;--pp-font-body:'Inter',system-ui,sans-serif;
  --pp-shadow-card:0 1px 2px rgba(11,31,51,.04),0 4px 16px rgba(11,31,51,.04);
  --pp-shadow-glow:0 0 0 1px rgba(11,142,194,.25),0 8px 24px rgba(11,142,194,.10);
  --pp-focus:0 0 0 3px rgba(11,142,194,.35);
  --pp-radius:14px;--pp-radius-sm:10px;--pp-radius-xs:8px;
}
body.pp-theme{background:#fff;color:#0B1F33;font-family:'Inter',system-ui,sans-serif}
body.pp-theme .pp-main{background:#fff}
.lot,.ppl .lot,.ppl .mono{font-family:'JetBrains Mono',ui-monospace,monospace!important;font-size:.95em}

/* ---- primitives inside .ppl ---- */
.ppl button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;text-align:inherit}
.ppl img{max-width:100%}
.ppl a.btn,.ppl button.btn{cursor:pointer}
.ppl .btn.pri:hover{background:#08729D;border-color:#08729D;color:#fff}
.ppl .add{cursor:pointer;transition:background .15s,color .15s}
.ppl .add:hover{background:#086E99;color:#fff}
.ppl .chip{cursor:pointer;background:#fff;text-align:left}
.ppl .chip:hover{border-color:#086E99}
.ppl [hidden]{display:none!important}
.ppl :focus-visible{outline:2px solid #086E99;outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---- header / chrome ---- */
.ppl-chrome{position:relative;z-index:50}
.ppl .logo img{width:auto;height:38px}
.ppl .nsearch input{border:0;outline:0;background:transparent;font:inherit;color:var(--tx);flex:1;min-width:0;height:100%}
.ppl .nsearch input::placeholder{color:var(--dim)}
.ppl .icon{color:var(--tx);background:#fff}
.ppl .icon .pp-cart-count{position:absolute;top:-6px;right:-6px;background:var(--cy);color:#fff;font:700 10px 'Inter';border-radius:9px;padding:2px 6px;line-height:1.3}
.ppl .icon .pp-cart-count[hidden]{display:none}
.ppl .mseg{display:none}
@media(max-width:760px){.ppl .mseg{display:flex!important;padding-bottom:10px}.ppl .logo img{height:32px}}
.pp-mobile-drawer.ppl{background:#fff}
.pp-mobile-drawer__head{display:flex;justify-content:space-between;align-items:center}
.ppl-drawer-nav{display:grid;gap:2px;margin-top:6px}
.ppl-drawer-nav a{padding:12px 4px;border-bottom:1px solid var(--line);font:500 15px 'Inter';color:var(--tx)}

/* ---- cards (WP media) ---- */
.ppl .card .art{background:#fff!important;text-decoration:none}
.ppl .card h4 a:hover{color:var(--cy)}
.ppl .card .foot .price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.ppl .card .foot .price .sample{margin-left:4px}
.ppl .kit .art{overflow:hidden}
.ppl .kmeta{flex-wrap:wrap}
.ppl .stage{background:#fff!important}
.ppl .thumbs button{height:92px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center}
.ppl .thumbs button.on{border-color:var(--cy)}
.ppl .packs{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.ppl .pk{display:block;background:#fff;cursor:pointer;text-align:left}
.ppl .pk .q,.ppl .pk .p,.ppl .pk .u{display:block}
.ppl .pk.ask{text-decoration:none;background:#F7F9FB}
.ppl .pk.ask .u{color:var(--cy)}
.ppl .pprice .sample{align-self:center}
.ppl .crumbs a:hover{color:var(--cy)}
.ppl .shead a.more{text-decoration:none}

/* PDP: native Woo variation form kept for correctness, visually replaced by .packs */
.ppl .ppl-atc{margin-top:22px}
.ppl .ppl-atc table.variations,.ppl .ppl-atc .reset_variations,.ppl .ppl-atc .woocommerce-variation-price,.ppl .ppl-atc .woocommerce-variation-description{display:none!important}
.ppl .ppl-atc .woocommerce-variation-availability{font-size:12.5px;color:var(--mu);margin-bottom:8px}
.ppl .ppl-atc form.cart,.ppl .ppl-atc .woocommerce-variation-add-to-cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.ppl .ppl-atc .quantity input.qty{height:52px;width:84px;border:1px solid var(--line2);border-radius:8px;text-align:center;font:500 15px 'Inter';color:var(--tx);background:#fff}
.ppl .ppl-atc .single_add_to_cart_button{flex:1;min-width:200px;height:52px;border-radius:8px;background:var(--cy);border:1px solid var(--cy);color:#fff;font:600 15.5px 'Inter';cursor:pointer;justify-content:center;display:inline-flex;align-items:center}
.ppl .ppl-atc .single_add_to_cart_button:hover{background:#08729D}
.ppl .ppl-atc .single_add_to_cart_button.disabled{opacity:.5}
.ppl .ppl-atc .stock{font-size:12.5px;color:var(--ok);width:100%}
.ppl .ppl-tabs{margin-top:8px}
.ppl .pp-accordion__item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.ppl .pp-accordion__summary{padding:16px 18px;font:600 15px 'Inter';cursor:pointer}
.ppl .pp-accordion__panel{padding:0 18px 18px;color:var(--mu);font-size:14.5px}
.ppl .pp-accordion__panel p{margin:0 0 10px}
.ppl .pp-accordion__panel h3{font-size:16px;margin:14px 0 8px}
.ppl .pp-accordion__panel div{max-width:none!important}
.ppl .pp-accordion__panel a{color:var(--cy)}

.ppl .ppl-pager{margin-top:24px}
.ppl .ppl-pager ul{display:flex;gap:6px;list-style:none}
.ppl .ppl-pager a,.ppl .ppl-pager span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:8px}
.ppl .ppl-pager .current{background:var(--cy);color:#fff;border-color:var(--cy)}
.ppl .fmt{text-decoration:none}
.ppl .fmt:hover{border-color:var(--cy)}
.ppl .notice .btn{white-space:nowrap}
.ppl .tools .nsearch input{font-size:14px}
.ppl footer .logo img{height:40px}
.ppl .woocommerce-notices-wrapper{margin-bottom:16px}

/* ---- flags used in cart / checkout / admin ---- */
.pp-flag{display:inline-block;font:600 10px/1 'Inter';letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:4px 6px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.pp-flag--placeholder{color:#8A5300;background:#FFF8EC;border:1px dashed #D69A3A}
.pp-flag--retail{color:#08729D;background:#EEF7FB;border:1px solid #CFE2EC}
.pp-flag--wholesale{color:#6E4200;background:#FFF6E5;border:1px solid #E7A93C}

/* ---- WooCommerce pages (cart / checkout / thank-you / account / order lookup) ---- */
body.pp-theme .pp-cart,body.pp-theme .pp-checkout,body.pp-theme .woocommerce,body.pp-theme .pp-lookup{font-family:'Inter',system-ui,sans-serif;color:#0B1F33}
body.pp-theme h1,body.pp-theme h2,body.pp-theme h3,body.pp-theme .pp-cart__title{font-family:'Inter',system-ui,sans-serif;letter-spacing:-.025em;color:#0B1F33}
body.pp-theme .pp-eyebrow{font:600 11.5px/1 'Inter';letter-spacing:.12em;color:#08729D}
body.pp-theme .pp-page-hero{background:linear-gradient(180deg,#F4F9FC,#fff)!important;color:#0B1F33;border-bottom:1px solid #E6EBF0}
body.pp-theme .pp-page-hero *{color:inherit}
body.pp-theme .pp-page-hero .pp-eyebrow{color:#08729D}
body.pp-theme .pp-page-hero__glow,body.pp-theme .pp-hero__grid{display:none!important}
body.pp-theme .pp-hero__title{color:#0B1F33!important}
body.pp-theme .pp-hero__lead{color:#4A5D70!important}
body.pp-theme .woocommerce table.shop_table,body.pp-theme .pp-cart-table{border:1px solid #E6EBF0;border-radius:14px;background:#fff;box-shadow:var(--pp-shadow-card)}
body.pp-theme .woocommerce table.shop_table th{font:600 10.5px 'Inter';letter-spacing:.08em;text-transform:uppercase;color:#566676}
body.pp-theme .woocommerce table.shop_table td{border-color:#E6EBF0}
body.pp-theme .woocommerce-shipping-totals th,body.pp-theme .woocommerce-shipping-totals td{vertical-align:top}
body.pp-theme .woocommerce-shipping-totals th{font:600 12px 'Inter'!important;letter-spacing:0!important;text-transform:none!important;color:#0B1F33!important}
body.pp-theme .woocommerce-shipping-totals td{color:#0B1F33}
body.pp-theme ul#shipping_method{list-style:none;margin:0;padding:0}
body.pp-theme ul#shipping_method li{margin:0}
body.pp-theme .woocommerce-shipping-contents{display:block;font-size:12px;color:#566676;margin-top:4px}
body.pp-theme .button,body.pp-theme button.button,body.pp-theme .checkout-button,body.pp-theme #place_order,body.pp-theme .pp-btn--primary{background:#086E99!important;border-color:#086E99!important;color:#fff!important;border-radius:8px!important;font-family:'Inter'!important;box-shadow:none!important}
body.pp-theme .button:hover,body.pp-theme #place_order:hover{background:#08729D!important}
body.pp-theme .pp-btn--ghost,body.pp-theme .pp-btn--outline{background:#fff!important;color:#0B1F33!important;border:1px solid #D6DEE6!important}
body.pp-theme input.input-text,body.pp-theme select,body.pp-theme textarea,body.pp-theme .select2-container .select2-selection{border:1px solid #D6DEE6!important;border-radius:8px!important;background:#fff!important;color:#0B1F33!important;font-family:'Inter'!important}
body.pp-theme input.input-text:focus,body.pp-theme select:focus{border-color:#086E99!important;box-shadow:0 0 0 3px rgba(11,142,194,.15)!important}
body.pp-theme .pp-ship-progress{background:#F7F9FB;border:1px solid #E6EBF0;border-radius:12px}
body.pp-theme .pp-ship-progress__fill{background:#0B3C5D}
body.pp-theme .pp-ship-progress__track{background:#E6EBF0}
body.pp-theme #payment,body.pp-theme .woocommerce-checkout-review-order,body.pp-theme .cart_totals,body.pp-theme .pp-checkout__summary{background:#F7F9FB!important;border:1px solid #E6EBF0!important;border-radius:14px!important;color:#0B1F33}
body.pp-theme #payment .payment_box{background:#fff!important;border:1px solid #E6EBF0;color:#4A5D70}
body.pp-theme #payment .payment_box::before{display:none}
body.pp-theme .pp-trust-strip,body.pp-theme .pp-trust-strip *{color:#4A5D70}
body.pp-theme .woocommerce-message,body.pp-theme .woocommerce-info{border-top-color:#086E99;background:#F4F9FC;color:#0B1F33}
body.pp-theme .woocommerce-error{background:#FFF4F2}
body.pp-theme .woocommerce-order-overview{background:#F7F9FB;border:1px solid #E6EBF0;border-radius:14px}
body.pp-theme .pp-footer-wave{display:none}

/* order split (thank-you / view order) */
.pp-split{border:1px solid #E6EBF0;border-radius:14px;background:#fff;padding:18px 20px;margin:20px 0;box-shadow:var(--pp-shadow-card);font-family:'Inter',sans-serif}
.pp-split__h{font:600 16px 'Inter';margin:0 0 12px}
.pp-split__pkg{border-top:1px solid #E6EBF0;padding:12px 0}
.pp-split__pkg:first-of-type{border-top:0;padding-top:0}
.pp-split__hd strong{font-size:14px}
.pp-split__hd span{display:block;color:#566676;font-size:12.5px}
.pp-split__pkg--warehouse .pp-split__hd strong{color:#6E4200}
.pp-split ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:14px}
.pp-split li{display:flex;justify-content:space-between;gap:12px}
.pp-split .pp-split__ship{color:#08729D;border-top:1px dashed #E6EBF0;padding-top:6px}

@media(max-width:760px){
  .ppl .packs{grid-template-columns:1fr 1fr}
  .ppl .ppl-atc .single_add_to_cart_button{min-width:0}
  .ppl .stage img{width:300px!important;height:300px!important}
}

/* ---- v4 polish ---- */
.ppl .nav .mseg{display:none}
@media(max-width:760px){.ppl .nav .mseg{display:flex!important;height:auto;padding-bottom:10px}}
.ppl .vialimg{mix-blend-mode:multiply} /* white-background renders sit cleanly on #F7F9FB / gradients */
.ppl .card .art{height:240px;overflow:hidden}
.ppl .card .art .vialimg{width:230px!important;height:230px!important}
.ppl .kit .art .vialimg{mix-blend-mode:multiply}
.ppl .bigsearch input{border:0!important;outline:0;flex:1;min-width:0;height:100%;font:400 15.5px 'Inter';color:var(--tx);background:transparent!important;box-shadow:none!important;padding:0}
.ppl .bigsearch input::placeholder{color:var(--dim)}
.ppl .hero-art .v .vialimg{width:var(--s)!important;height:var(--s)!important}
.ppl .ppl-novial{display:grid;place-items:center;color:#AEBAC4}
@media(max-width:760px){.ppl .card .art{height:180px}.ppl .card .art .vialimg{width:170px!important;height:170px!important}}

/* ---- Cart / checkout polish (v4) ---- */
.pp-wc-flow{max-width:1180px;margin:0 auto;padding-top:28px}
.pp-wc-flow .pp-prose{max-width:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%!important;box-sizing:border-box;height:44px;border:1px solid #D5DEE7;border-radius:10px;padding:0 12px;font:inherit;background:#fff}
.woocommerce form .form-row textarea{height:96px;padding:10px 12px}
.woocommerce form .form-row{display:block;width:100%;float:none}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#4A5B6C}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px)!important;display:inline-block;vertical-align:top}
.woocommerce form .form-row-first{margin-right:12px}
.woocommerce table.cart .quantity input.qty,.woocommerce .quantity input.qty{width:72px!important;height:40px;text-align:center;border:1px solid #D5DEE7;border-radius:10px}
.woocommerce table.cart td.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce table.cart td.actions .coupon{display:flex;gap:8px}
.woocommerce table.cart td.actions .coupon input{width:180px!important;height:40px;border:1px solid #D5DEE7;border-radius:10px;padding:0 12px}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button{display:block;width:100%;text-align:center;padding:16px;margin-top:14px}
.woocommerce-checkout #order_review .woocommerce-shipping-totals td,.woocommerce-cart .woocommerce-shipping-totals td{font-size:14px}
.pp-checkout__form .woocommerce-billing-fields>h3{display:none}
.woocommerce table.cart .product-remove{width:36px}.woocommerce table.cart .product-thumbnail{width:76px}.woocommerce table.cart td.product-name{width:auto}

/* ---- Polish v4.2: hero composition ---- */
.ppl .hero-art.hero-art--v2{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:18px}
.ppl .hstage{display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:560px;margin:0 auto}
.ppl .hstage .hv{position:static;flex:0 0 auto;line-height:0}
.ppl .hstage .hv--side{width:38%;opacity:1!important}
.ppl .hstage .hv--front{width:54%;margin:0 -12%}
.ppl .hstage .hv .vialimg,.ppl .hstage .hv svg{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;display:block}
.ppl .hstage .hv--side .vialimg{filter:saturate(.9) brightness(1.01)}
.ppl .hero-art--v2 .labcard{position:relative;top:auto;right:auto;width:100%;max-width:400px;margin:0 auto;display:block;padding:14px 18px}
.ppl .hero-art--v2 .labcard h4{grid-column:1/-1}
.ppl .hero-art--v2 .labcard .row{gap:12px}
.ppl .hero-art--v2 .labcard .row span:last-child{text-align:right}
@media(max-width:760px){
 .ppl .hero-art.hero-art--v2{margin-top:20px}
 .ppl .hero-art--v2 .hv{display:block!important}
 .ppl .hero-art--v2 .labcard{grid-template-columns:1fr}
}

/* ---- Polish v4.2: wholesale kit cards ---- */
.ppl .cards[data-ppl-kits]{align-items:stretch}
.ppl .card.kit{height:100%}
.ppl .card.kit .art.kitart2{position:relative;display:flex;align-items:center;justify-content:center;height:230px;padding:36px 24px 12px;background:#fff;overflow:hidden}
.ppl .card.kit .art.kitart2 .vialimg{position:static!important;width:auto!important;max-width:100%;height:100%!important;aspect-ratio:1/1;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.32);transform-origin:center 55%}
.ppl .card.kit .kchip{position:absolute;isolation:auto;left:12px;top:12px;z-index:1;background:#F4F9FC;border:1px solid #CFE2EC;border-radius:999px;padding:3px 10px;font:600 11px/1.4 var(--fd,Inter),sans-serif;color:var(--cy);letter-spacing:.01em}
.ppl .card.kit .body{gap:12px}
.ppl .card.kit h4{min-height:0;line-height:1.25}
.ppl .card.kit .chips{gap:6px;align-items:stretch}
.ppl .card.kit .chips .chip{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:64px;padding:6px 10px;line-height:1.2}
.ppl .card.kit .foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);align-items:center;gap:10px}
.ppl .card.kit .foot .price{align-items:baseline;line-height:1}
.ppl .card.kit .foot .add{flex:0 0 auto;align-self:center}
@media(max-width:760px){.ppl .card.kit .art.kitart2{height:180px;padding:30px 16px 10px}}

/* ---- Polish v4.2: retail cards ---- */
.ppl .card .art{overflow:hidden}
.ppl .card .art .vialimg{max-width:100%;object-fit:contain}
.ppl .batch.batch--2{grid-template-columns:1fr 1fr!important}

/* ---- QA v4.3: accessible interactive cyan (#086E99 ≈ 4.9:1 on white; brand #0B8EC2 kept for logo/decor) ---- */
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt,.single_add_to_cart_button,.pp-btn--cyan{background:#086E99!important;border-color:#086E99!important;color:#fff!important}
.woocommerce button.button:hover,.woocommerce a.button:hover,.single_add_to_cart_button:hover,.pp-btn--cyan:hover{background:#08668D!important}
.woocommerce form .show-password-input,.woocommerce form input[type=checkbox]+span,.woocommerce-form__label{font-family:'Inter',system-ui,sans-serif}
.woocommerce-form-login{max-width:460px;border:1px solid #E6EBF0;border-radius:14px;padding:24px!important;background:#fff}

/* ---- QA v4.3: cart sticky CTA + empty cart ---- */
.pp-cart__sticky-cta{background:rgba(255,255,255,.97)!important;border-top:1px solid #E6EBF0!important;box-shadow:0 -6px 18px rgba(11,31,51,.08)!important;backdrop-filter:blur(6px)}
.pp-cart__sticky-note{color:#4A5D70!important}
.woocommerce .cart-empty.woocommerce-info,.woocommerce-cart .wc-empty-cart-message .cart-empty{max-width:560px;margin:48px auto 16px!important;text-align:center;border:1px solid #E6EBF0!important;border-radius:14px;background:#F7F9FB!important;padding:28px!important;color:#0B1F33;font-size:16px}
.woocommerce .cart-empty.woocommerce-info::before{display:none}
.woocommerce-cart .return-to-shop{text-align:center;margin-bottom:48px}
.woocommerce table.shop_table_responsive tr td::before,.woocommerce-page table.shop_table_responsive tr td::before{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#4A5D70;font-weight:600}

/* ---- v4.4: crypto coin + network picker ---- */
.pp-crypto-pick{border:0;margin:12px 0 8px;padding:0}
.pp-crypto-pick legend{font:600 11.5px/1.4 'Inter',system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#4A5D70;margin-bottom:8px;padding:0}
.pp-crypto-pick__group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.pp-crypto-pick__net{flex:0 0 76px;font:600 12px 'Inter',system-ui,sans-serif;color:#0B1F33}
.pp-crypto-pick__opt{display:inline-flex;align-items:center;gap:6px;border:1px solid #D5DEE7;border-radius:10px;background:#fff;padding:8px 12px;cursor:pointer;font:14px 'Inter',system-ui,sans-serif;color:#0B1F33;margin:0!important}
.pp-crypto-pick__opt small{color:#4A5D70;font-size:11.5px}
.pp-crypto-pick__opt:has(input:checked){border-color:#086E99;box-shadow:0 0 0 2px rgba(10,120,166,.18);background:#F2F8FB}
.pp-crypto-pick__opt input{accent-color:#086E99;margin:0}
@media(max-width:480px){.pp-crypto-pick__net{flex-basis:100%}}
/* v4.4 QA: select2 hidden select caused horizontal scroll; thank-you overview tidy */
.woocommerce select.select2-hidden-accessible,select.select2-hidden-accessible{position:absolute!important;width:1px!important;max-width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.pp-thankyou__overview strong{overflow-wrap:anywhere}
.pp-thankyou__overview strong .woocommerce-Price-amount,.pp-thankyou__overview strong .amount{font:inherit!important;letter-spacing:0!important;color:inherit!important}

/* ---- v4.7: hero composition ---- */
/* Grid children may shrink (the stage's negative margins pushed the column past the viewport at 390). */
.ppl .hero .wrap>*{min-width:0}
.ppl .hero h1{font-size:clamp(38px,4.6vw,60px);text-wrap:balance;max-width:16ch}
.ppl .hero p.lead{text-wrap:pretty}
/* Vials: crop the square renders to a portrait window so the glass fills the frame; widths sum to 100%. */
.ppl .hstage{max-width:480px;gap:0;padding:8px 0 0}
.ppl .hstage .hv{margin:0!important}
.ppl .hstage .hv--side{width:30%}
.ppl .hstage .hv--front{width:40%}
.ppl .hstage .hv .vialimg{aspect-ratio:9/16!important;object-fit:cover!important;object-position:50% 72%}
.ppl .hstage .hv--side .vialimg{transform:scale(.86);transform-origin:50% 88%}
.ppl .hero-art--v2{gap:22px}
.ppl .hero-art--v2 .labcard{max-width:440px}
@media(max-width:760px){.ppl .hstage{max-width:340px}.ppl .hero-art--v2 .labcard{max-width:none}}
/* stats strip: keep headlines on one line at tablet widths */
@media(min-width:761px) and (max-width:1180px){.ppl .stat b{font-size:clamp(18px,2.05vw,24px)}.ppl .stat{padding-left:18px}}

/* ---- v4.8: tested lot line + lab report links ---- */
.ppl .lotline{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11.5px;color:var(--dim);font-family:var(--fm)}
.ppl .lotline .rep,.ppl .rep{color:#086E99;font-weight:600;text-decoration:none}
.ppl .lotline .rep:hover,.ppl .rep:hover{text-decoration:underline}
/* hero: tight cluster, sides ~85% of centre height, one baseline */
.ppl .hstage{max-width:440px;align-items:flex-end;justify-content:center}
.ppl .hstage .hv--front{width:36%;position:relative;z-index:2}
.ppl .hstage .hv--side{width:30.6%;position:relative;z-index:1}
.ppl .hstage .hv--side:first-child{margin-right:-7%!important}
.ppl .hstage .hv--side:last-child{margin-left:-7%!important}
.ppl .hstage .hv .vialimg{aspect-ratio:9/16!important;object-fit:cover!important;object-position:50% 72%}
.ppl .hstage .hv--side .vialimg{transform:none!important}
@media(max-width:760px){.ppl .hstage{max-width:320px}}
/* z-index creates stacking contexts, so blend the wrappers (white render bg disappears into the hero tint) */
.ppl .hstage .hv{mix-blend-mode:multiply}
/* tighter crop so the glass fills each frame; small overlap between vials */
.ppl .hstage{max-width:400px}
.ppl .hstage .hv--front{width:38%}
.ppl .hstage .hv--side{width:32.3%}
.ppl .hstage .hv .vialimg{aspect-ratio:2/5!important;object-position:50% 76%!important}
.ppl .hstage .hv--side:first-child{margin-right:-13%!important}
.ppl .hstage .hv--side:last-child{margin-left:-13%!important}
@media(max-width:760px){.ppl .hstage{max-width:300px}}
@media(min-width:761px) and (max-width:1180px){.ppl .stat b{font-size:clamp(16px,1.85vw,24px);white-space:nowrap}}
/* v4.9 hero: no overlap, small even gap */
.ppl .hstage{gap:0!important}
.ppl .hstage .hv--side:first-child{margin-right:-6.5%!important}
.ppl .hstage .hv--side:last-child{margin-left:-6.5%!important}
/* v4.9 shop-by-format imagery */
.ppl .fmt{min-height:0;gap:4px}
.ppl .fmt .fic{display:flex;align-items:flex-end;justify-content:center;height:132px;margin:-4px 0 12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.ppl .fmt .fic img{max-height:118px;max-width:100%;width:auto;height:auto;display:block;filter:drop-shadow(0 6px 6px rgba(11,31,51,.14))}
.ppl .fmt--pack .fic img,.ppl .fmt--ws .fic img{mix-blend-mode:multiply;filter:none}
.ppl .fmt--pack .fic img{max-height:92px}
.ppl .fmt--ws{background:linear-gradient(180deg,#eaf0f4,#f6f8fa);border-style:dashed;border-color:#9fb3c4}
.ppl .fmt--ws .n{color:#0b1f33;background:#d7e2ea;padding:2px 6px;border-radius:4px}
.ppl .fmt--ws .fic{border-bottom-color:#c5d3de}
@media(max-width:760px){.ppl .fmt .fic{height:104px}.ppl .fmt .fic img{max-height:92px}.ppl .fmt--pack .fic img{max-height:70px}}
.ppl .fmt .fic{height:150px;padding-top:26px}
@media(max-width:760px){.ppl .fmt .fic{height:124px;padding-top:24px}.ppl .fmt .n{right:12px;top:12px;font-size:10px}}
/* v4.10 go-live: Woo flow H1, link affordance, focus */
.pp-wc-head{padding-top:28px}
.pp-wc-title{font:700 clamp(26px,3vw,34px)/1.15 var(--fd,inherit);color:#0B1F33;letter-spacing:-.01em;margin:0}
.pp-page-content p a:not([class]),.pp-page-content li a:not([class]),.pp-page-content .faq-a a:not([class]),.pp-page-content a[href^="mailto:"],.pp-page-content a[href^="https://wa.me"]{text-decoration:underline;text-underline-offset:2px}
.ppl input[type=search]:focus-visible,.ppl .nsearch input:focus-visible{outline:2px solid #086E99;outline-offset:2px}
.pp-page-content p a,.pp-page-content .cf-note a,.pp-page-content [class*="-b"] a{text-decoration:underline;text-underline-offset:2px}
/* dark panels in legacy pages: keep text AA on #0B1F33 */
.pp-page-content .tf-b,.pp-page-content .ac-e,.pp-page-content .cta-e{color:#AEB9C4!important}
.pp-page-content .ac-t em,.pp-page-content .cta-t em{color:#5CC3EE!important}
/* v4.11 entry gate (21+ / RUO) */
html.pp-ruo-gate{overflow:hidden;scrollbar-gutter:stable}
html.pp-ruo-ok .pp-gate{display:none!important}
html:not(.pp-ruo-gate) .pp-gate{display:none}
.pp-gate{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.pp-gate__scrim{position:absolute;inset:0;background:rgba(11,31,51,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pp-gate__dialog{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #E6EBF0;border-radius:16px;box-shadow:0 24px 64px rgba(11,31,51,.22);padding:28px 30px 22px;color:#0B1F33;outline:none}
.pp-gate__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.pp-gate__head .logo svg,.pp-gate__head .logo img{height:34px;width:auto}
.pp-gate__tag{font:600 10.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#086E99;background:#EAF4F9;border:1px solid #CFE6F1;border-radius:999px;padding:6px 10px;white-space:nowrap}
.pp-gate__title{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:0 0 10px}
.pp-gate__lead{font-size:14.5px;line-height:1.55;color:#4A5D70;margin:0 0 12px}
.pp-gate__list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.pp-gate__list li{position:relative;padding:10px 12px 10px 36px;background:#F7F9FB;border:1px solid #E6EBF0;border-radius:10px;font-size:14px;line-height:1.45;color:#0B1F33}
.pp-gate__list li::before{content:"";position:absolute;left:12px;top:12px;width:14px;height:14px;border-radius:4px;background:#086E99;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.pp-gate__fine{font-size:12.5px;line-height:1.5;color:#566676;margin:0 0 18px}
.pp-gate__fine a{color:#086E99;text-decoration:underline;text-underline-offset:2px}
.pp-gate__actions{display:flex;gap:10px;flex-wrap:wrap}
.pp-gate__yes{flex:1 1 220px;min-height:46px;border:0;border-radius:10px;background:#086E99;color:#fff;font:600 15px/1 inherit;font-family:inherit;cursor:pointer}
.pp-gate__yes:hover{background:#065A7E}
.pp-gate__no{flex:0 1 120px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #D6DEE6;border-radius:10px;background:#fff;color:#0B1F33;font-weight:600;font-size:15px;text-decoration:none}
.pp-gate__no:hover{border-color:#566676}
.pp-gate__yes:focus-visible,.pp-gate__no:focus-visible,.pp-gate__fine a:focus-visible{outline:3px solid #0B1F33;outline-offset:2px}
.pp-gate__remember{margin:12px 0 0;font-size:12px;color:#566676;text-align:center}
@media(max-width:520px){.pp-gate{padding:12px;align-items:flex-end}.pp-gate__dialog{padding:20px 18px 16px;border-radius:14px;max-height:calc(100vh - 24px)}.pp-gate__title{font-size:19px}.pp-gate__list li{font-size:13.5px;padding:9px 10px 9px 32px}.pp-gate__list li::before{left:10px;top:11px}.pp-gate__no{flex:1 1 100%}}
@media(prefers-reduced-motion:no-preference){.pp-gate__dialog{animation:ppGateIn .18s ease-out}@keyframes ppGateIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
/* RUO notes */
.pp-ruo-note{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:11px 13px;border:1px solid #E6EBF0;border-left:3px solid #086E99;border-radius:10px;background:#F7F9FB;color:#4A5D70;font-size:12.5px;line-height:1.5}
.pp-ruo-note svg{flex:none;margin-top:2px;color:#086E99}
.pp-ruo-note p{margin:0}
.pp-ruo-note strong{color:#0B1F33}
.pp-ruo-note a{color:#086E99;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.pp-research-ack{margin-top:12px!important;padding:12px 14px!important;border:1px solid #D6DEE6;border-radius:10px;background:#fff}
.pp-research-ack label{display:flex!important;gap:10px;align-items:flex-start;font-size:13.5px!important;line-height:1.45;color:#0B1F33;font-weight:500}
.pp-research-ack input[type=checkbox]{width:18px;height:18px;margin-top:1px;flex:none;accent-color:#086E99}
.woocommerce-invalid.pp-research-ack,.pp-research-ack.woocommerce-invalid-required-field{border-color:#b32d2e;background:#fdf3f3}
.ppl .fruo{margin-top:26px;padding:14px 16px;border:1px solid var(--line,#E6EBF0);border-radius:12px;background:#fff;color:#4A5D70;font-size:12.5px;line-height:1.6}
.ppl .fruo b{color:#0B1F33}
.ppl .fruo a{color:#086E99;text-decoration:underline;text-underline-offset:2px}
.pp-research-ack .optional,.pp-research-ack abbr.required{display:none}

/* ---- v4.17: composed hero lineup + best sellers + class tiles ---- */
.ppl .hero--lineup .hero-copy{min-width:0}
.ppl .hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ppl .hero-cta .btn{min-width:148px;justify-content:center}
.ppl .hero-art--lineup{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:18px;min-width:0}
.ppl .hero-lineup{display:block;width:100%;line-height:0;border-radius:16px;overflow:visible;background:#fff;padding:0 0 4px}
.ppl .hero-lineup__img{
	display:block;width:100%;height:auto;
	aspect-ratio:12/7;
	object-fit:contain;object-position:50% 50%;
	background:#fff;border-radius:16px;
}
.ppl .hero-art--lineup{position:relative;display:flex;flex-direction:column;gap:14px}
.ppl .hero-art--lineup .labcard{position:relative;right:auto;bottom:auto;top:auto;width:100%;max-width:420px;display:block;box-shadow:0 4px 16px rgba(11,31,51,.06)}
@media(max-width:760px){
	.ppl .hero--lineup .wrap{padding-top:28px;padding-bottom:28px}
	.ppl .hero-lineup__img{aspect-ratio:12/7;object-fit:contain;object-position:50% 50%}
	.ppl .hero-cta{flex-direction:column;align-items:stretch}
	.ppl .hero-cta .btn{width:100%}
	.ppl .hero-art--lineup{margin-top:8px}
	.ppl .hero-art--lineup .labcard{margin:0 auto;max-width:440px}
}
@media(min-width:761px){
	.ppl .hero--lineup .wrap{grid-template-columns:0.85fr 1.15fr;align-items:center;gap:28px}
	.ppl .hero-lineup__img{aspect-ratio:12/7}
	.ppl .hero-art--lineup .labcard{align-self:flex-end;max-width:380px}
}
/* Best sellers uses shared .cards */
.ppl .best-sellers .cards{margin-top:4px}
/* Compound-class tiles */
.ppl .cat-tile-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:16px}
.ppl .cat-tile{
	display:flex;flex-direction:column;gap:8px;
	padding:22px 22px 20px;border:1px solid var(--line2);border-radius:14px;
	background:linear-gradient(165deg,#fff,#F7F9FB);
	transition:border-color .2s,box-shadow .2s,transform .2s;
	min-height:180px;
}
.ppl .cat-tile:hover{border-color:#0E6F9C;box-shadow:0 10px 28px rgba(11,60,93,.08);transform:translateY(-2px)}
.ppl .cat-tile h3{font:600 20px/1.2 var(--fd);letter-spacing:-.015em;color:var(--tx);margin:4px 0 0}
.ppl .cat-tile p{color:var(--mu);font-size:13.5px;line-height:1.5;flex:1;margin:0}
.ppl .cat-tile__cta{font:600 13.5px var(--fd);color:#0E6F9C;margin-top:8px}
.ppl .cat-tile--glp{
	background:
		radial-gradient(420px 220px at 90% 0%,rgba(14,111,156,.14),transparent 60%),
		linear-gradient(160deg,#F4F9FC,#fff);
	border-color:#CFE2EC;
}
.ppl .cat-tile--glp h3{font-size:24px;max-width:16ch}
@media(max-width:1100px){.ppl .cat-tile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ppl .cat-tile-grid{grid-template-columns:1fr}.ppl .cat-tile--glp h3{font-size:22px}}
