/* [PPS-V7-LOOK] product: the product page (/product/<slug>) in the v7 look.
   Restyles the real markup of product_detail.html (+ sns/bxgy/rewards/specs partials and the [PPS-PDP-PRIME] layout
   script). CSS only: every element, text, form and script stays as it is.
   Selectors start with ":not(#v7p)" (an id-level weight) so they win over the many inline <style> blocks in the
   template; !important is used only where those blocks (or inline style="") already use it. The inline font and square
   corners the page script writes on the title, headings, buttons and inputs are taken off by js/v7/look.js. */

:root {
  --v7p-navy: #0B1D4A; --v7p-navy2: #13296A; --v7p-blue: #2A82D4; --v7p-ink: #0E1626; --v7p-mute: #5D6B82;
  --v7p-line: #E3E9F2; --v7p-field: #D6DEEA; --v7p-bg: #F5F8FC; --v7p-soft: #EAF2FB; --v7p-green: #11734F;
  --v7p-head: Manrope, Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --v7p-body: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- page band: soft background behind breadcrumbs + buy area, white details below ---------- */
html body main:not(#v7p):has(> .product-page) { background: var(--v7p-bg); }
html body .product-page:not(#v7p) { font-family: var(--v7p-body); color: var(--v7p-ink); padding-bottom: 56px; }
/* breadcrumbs line up with the photo/buy columns (the .container width this page uses) */
@media (min-width: 1024px) {
  html body main:not(#v7p):has(> .product-page) > nav.breadcrumbs { max-width: 1280px; padding-left: 40px !important; padding-right: 40px !important; }
}
html body .pdx-lite:not(#v7p), html body main:not(#v7p) > section.pps-wgrid { background: #fff; }

/* ---------- two columns: photo left (sticky), buy column right ---------- */
@media (min-width: 901px) {
  html body .product-page:not(#v7p) { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: 52px; align-items: start; }
  html body .product-page:not(#v7p) .product-gallery-wrap { position: sticky; top: 104px; }
}

/* ---------- gallery: rounded soft-blue photo panel, thumbnails ---------- */
html body .product-page:not(#v7p) .product-gallery { position: relative; border: 1px solid var(--v7p-line) !important; border-radius: 24px !important;
  background: linear-gradient(180deg, #fff, #E7EFF9) !important; overflow: hidden; box-shadow: 0 10px 30px rgba(11, 29, 74, .06); }
html body .product-page:not(#v7p) .product-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
/* the grey studio backdrop is lifted to white and multiplied onto the soft-blue panel, like the shop cards */
html body .product-page:not(#v7p) .product-gallery { isolation: isolate; }
html body .product-page:not(#v7p) .product-gallery > img { mix-blend-mode: multiply; filter: brightness(1.16); }
html body .product-page:not(#v7p) .thumb-strip { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
html body .product-page:not(#v7p) .thumb-strip .thumb { width: 78px; height: 78px; padding: 0; margin: 0; border: 0; background: none; box-shadow: none; cursor: pointer; }
html body .product-page:not(#v7p) .thumb-strip .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; box-sizing: border-box;
  border: 1px solid var(--v7p-line); border-radius: 14px; background: #fff; }
html body .product-page:not(#v7p) .thumb-strip .thumb.active img { border: 2px solid var(--v7p-navy); }
html body .product-page:not(#v7p) .thumb-strip .thumb:focus-visible { outline: none; }
html body .product-page:not(#v7p) .thumb-strip .thumb:focus-visible img { box-shadow: 0 0 0 3px rgba(42, 130, 212, .35); }

/* ---------- shipping clock ("Order within 4h 12m · ships today"): white rounded card ---------- */
html body .product-page:not(#v7p) #pps-shipclock { gap: 12px; min-height: 0; margin: 14px 0 0 !important; padding: 14px 16px !important;
  background: #fff !important; border: 1px solid var(--v7p-line) !important; border-radius: 16px !important; box-shadow: none !important; }
html body .product-page:not(#v7p) #pps-shipclock[hidden] { display: none !important; }
html body .product-page:not(#v7p) #pps-shipclock .pps-sc-ic, html body .product-page:not(#v7p) #pps-shipclock .pps-sc-ic * { stroke: var(--v7p-blue) !important; color: var(--v7p-blue) !important; }
html body .product-page:not(#v7p) #pps-shipclock .pps-sc-ic { width: 22px; height: 22px; flex: 0 0 22px; }
html body .product-page:not(#v7p) #pps-shipclock .pps-sc-l1, html body .product-page:not(#v7p) #pps-shipclock .pps-sc-l1 span {
  font: 700 14.5px/20px var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) #pps-shipclock .pps-sc-l1 b { font-weight: 800; color: var(--v7p-green) !important; }   /* the text green: 5.9:1 on white */
html body .product-page:not(#v7p) #pps-shipclock .pps-sc-l2, html body .product-page:not(#v7p) #pps-shipclock .pps-sc-l2 span {
  font: 400 13px/18px var(--v7p-body) !important; color: var(--v7p-mute) !important; }

/* ---------- title block: category pill, name, CAS, price, deal box, description ---------- */
html body .product-page:not(#v7p) .product-info > .hero-eyebrow { display: inline-flex !important; align-items: center; gap: 8px; width: auto;
  margin: 0 0 14px !important; padding: 7px 14px; border: 1px solid #D4DEEC; border-radius: 99px !important; background: #fff;
  font: 600 12px/1 var(--v7p-body); letter-spacing: .14em; text-transform: uppercase; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .product-info > .hero-eyebrow::before { content: ""; display: block; flex: none; width: 7px; height: 7px;
  margin: 0; border-radius: 50% !important; background: var(--v7p-blue); }
html body .product-page:not(#v7p) .product-info > .hero-eyebrow::after { display: none; }
html body .product-page:not(#v7p) .product-info > h1 { margin: 0 0 8px !important; font-family: var(--v7p-head) !important; font-weight: 800 !important;
  font-size: 44px !important; line-height: 1.06 !important; letter-spacing: -.02em !important; color: var(--v7p-navy) !important; text-transform: none !important; }
html body .product-page:not(#v7p) .pd-cas { margin: 0 0 14px !important; font: 500 13.5px/1.5 var(--v7p-body); letter-spacing: 0; color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pd-cas .pd-cas-k { letter-spacing: .08em; font-weight: 600; }
html body .product-page:not(#v7p) .pd-cas b { font-weight: 600; color: #33415A; }
html body .product-page:not(#v7p) .pd-cas i { color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pdp2-price { margin: 6px 0 12px !important; }
html body .product-page:not(#v7p) .pdp2-price, html body .product-page:not(#v7p) .pdp2-price * {
  font-family: var(--v7p-head) !important; font-weight: 800 !important; font-size: 34px !important; line-height: 1.1; letter-spacing: -.02em; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pdp2-price s, html body .product-page:not(#v7p) .pdp2-price s * { font-size: 18px !important; font-weight: 500 !important; color: #97A3B6; opacity: 1 !important; }
html body .product-page:not(#v7p) .pps-aka { margin: 10px 0 4px; font: 400 13px/1.5 var(--v7p-body); color: var(--v7p-mute); }
html.pdx-on body .product-page:not(#v7p) .product-info > .product-desc, html body .product-page:not(#v7p) .product-info > .product-desc {
  display: block !important; margin: 12px 0 4px; font: 400 15.5px/1.65 var(--v7p-body); color: var(--v7p-mute); }

/* deal boxes (Buy X get Y, free-vial promo): soft blue rounded box */
html body .product-page:not(#v7p) .bx-pdp, html body .product-page:not(#v7p) .pd-promo-badge {
  display: block; margin: 14px 0 6px !important; padding: 13px 16px !important; background: #EAF3FC !important;
  border: 1px solid #CFE2F6 !important; border-radius: 14px !important; color: #1B3A6B; }
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-badge { padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
  box-shadow: none !important; border-radius: 0 !important; color: #1B3A6B; }
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-badge b, html body .product-page:not(#v7p) .pd-promo-badge b {
  font: 800 15px/1.35 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .pd-promo-badge b { display: block; }   /* free-vial box: the deal on its own line, its terms under it (as the Buy X get Y box) */
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-badge span, html body .product-page:not(#v7p) .pd-promo-badge span {
  font: 400 13.5px/1.5 var(--v7p-body) !important; color: #1B3A6B !important; }
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-terms, html body .product-page:not(#v7p) .bx-pdp .bx-pdp-note {
  font: 400 12.5px/1.5 var(--v7p-body); color: #45608C; margin: 6px 0 0; }
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-ex { font: 600 13.5px/1.5 var(--v7p-body); color: var(--v7p-navy); margin: 6px 0 0; }
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-ex b { color: #11734F; }   /* the mockup's text green: readable on the soft-blue box */
html body .product-page:not(#v7p) .bx-pdp .bx-pdp-set { min-height: 40px; padding: 0 16px; border: 1.5px solid var(--v7p-navy); background: #fff;
  color: var(--v7p-navy); font: 700 13.5px var(--v7p-head); border-radius: 10px !important; }

/* sold-out and coming-soon banners */
html body .product-page:not(#v7p) .sold-out-banner { margin: 16px 0 6px; padding: 14px 16px; border: 1px solid #F3C9C4 !important; background: #FFF5F4 !important;
  border-radius: 16px !important; color: #7A271A; font: 400 14px/1.5 var(--v7p-body); }
html body .product-page:not(#v7p) .sold-out-banner .sold-out-tag { border-radius: 99px !important; padding: 6px 12px; background: #C0392B; color: #fff;
  font: 700 12px/1.2 var(--v7p-body); letter-spacing: .1em; text-transform: uppercase; }
html body .product-page:not(#v7p) .sold-out-banner p { color: #5B2A22; }
html body .product-page:not(#v7p) .sold-out-banner.pps-cs-banner { background: var(--v7p-soft) !important; border-color: #CFE2F6 !important; }
html body .product-page:not(#v7p) .sold-out-banner.pps-cs-banner .pps-cs-tag { background: var(--v7p-navy); color: #fff; }
html body .product-page:not(#v7p) .sold-out-banner.pps-cs-banner p { color: #1B3A6B; }
html body .product-page:not(#v7p) #stock-out-msg { border-radius: 12px !important; }

/* ---------- small uppercase labels above each option group ---------- */
html body .product-page:not(#v7p) .pdx-lbl, html body .product-page:not(#v7p) .variant-picker-label,
html body .product-page:not(#v7p) .bundle-save-label {
  margin: 26px 0 10px !important; font: 600 12px/1.2 var(--v7p-body) !important; letter-spacing: .16em !important; text-transform: uppercase !important;
  color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .pdx-lbl + .variant-picker .variant-picker-label { display: none !important; }
html body .product-page:not(#v7p) .sns-po .sns-po-h { display: block !important; margin: 0 !important; }
html body .product-page:not(#v7p) .bundle-save .bundle-save-label { margin-top: 0 !important; }

/* ---------- size choice: rounded cards (size + stock left, price right) ---------- */
html body .product-page:not(#v7p) .variant-picker { margin: 0; }
html body .product-page:not(#v7p) .variant-options { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px !important; }
html body .product-page:not(#v7p) .variant-option { position: relative; display: block; width: auto !important; margin: 0; cursor: pointer; }
html body .product-page:not(#v7p) .variant-option .variant-card { display: grid !important; grid-template-columns: 1fr auto; grid-template-areas: "l p" "s p";
  align-items: center; column-gap: 12px; row-gap: 2px; height: 100%; box-sizing: border-box; min-width: 0; min-height: 64px !important;
  padding: 13px 16px !important; text-align: left; background: #fff !important; border: 1.5px solid var(--v7p-line) !important;
  border-radius: 14px !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s; }
html body .product-page:not(#v7p) .variant-option .variant-card > .label { grid-area: l; display: block !important; margin: 0;
  font: 700 16px/1.2 var(--v7p-head) !important; color: var(--v7p-navy) !important; text-transform: lowercase !important; letter-spacing: 0; }   /* DB labels are mixed case (10mg / 30MG): lowercase like the card chips */
html body .product-page:not(#v7p) .variant-option .variant-card > .price { grid-area: p; display: block !important; margin: 0; text-align: right;
  font: 700 15px/1.2 var(--v7p-head) !important; color: var(--v7p-navy) !important; white-space: nowrap; }
html body .product-page:not(#v7p) .variant-option .variant-card > .price s { display: block; margin: 0 0 2px !important; font-size: 12px; font-weight: 500; color: #97A3B6; opacity: 1 !important; }
html body .product-page:not(#v7p) .variant-option .variant-card > .stock { grid-area: s; display: block !important; margin: 0;
  font: 600 12px/1.3 var(--v7p-body) !important; color: #1BA672 !important; }
html body .product-page:not(#v7p) .variant-option:hover .variant-card { border-color: #B9C7DB !important; }
html body .product-page:not(#v7p) .variant-option input:checked + .variant-card { background: #fff !important; border-color: var(--v7p-navy) !important;
  box-shadow: 0 0 0 3px rgba(11, 29, 74, .07) !important; }
html body .product-page:not(#v7p) .variant-option input:checked + .variant-card > .label { color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .variant-option input:focus-visible + .variant-card { box-shadow: 0 0 0 3px rgba(42, 130, 212, .35) !important; }
html body .product-page:not(#v7p) .variant-option.sold-out { cursor: not-allowed; }
html body .product-page:not(#v7p) .variant-option.sold-out .variant-card { background: var(--v7p-bg) !important; border-style: dashed !important; opacity: 1; }
html body .product-page:not(#v7p) .variant-option.sold-out .variant-card > .label,
html body .product-page:not(#v7p) .variant-option.sold-out .variant-card > .price { color: #8090A8 !important; }
html body .product-page:not(#v7p) .variant-option.sold-out .variant-card > .stock { color: var(--v7p-mute) !important; }
html body .product-page:not(#v7p) .product-info:has(.pps-cs-banner) .variant-option .variant-card > .stock span { color: var(--v7p-navy) !important; }
/* coming soon: the price is the upcoming price, not a "was" price - no line through it */
html body .product-page:not(#v7p) .product-info:has(.pps-cs-banner) .variant-option.sold-out .variant-card > .price { text-decoration: none !important; }
html body .product-page:not(#v7p) .pd-includes { margin: 12px 0 0; font: 400 13.5px/1.55 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pd-includes span { font-weight: 600; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pd-includes a { color: var(--v7p-blue); text-decoration: none; font-weight: 600; }

/* ---------- quantity stepper + big navy Add to cart (+ COA button when there is a report) ---------- */
html body .product-page:not(#v7p) .qty-row { display: flex !important; align-items: stretch; gap: 10px !important; margin: 22px 0 0 !important; }
html body .product-page:not(#v7p) .qty-row > .pcoa-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; flex: none;
  height: 56px !important; padding: 0 16px !important; box-sizing: border-box; border: 1.5px solid var(--v7p-line) !important; border-radius: 14px !important;
  background: #fff !important; color: var(--v7p-navy) !important; font: 700 14px/1 var(--v7p-head) !important; text-decoration: none; }
html body .product-page:not(#v7p) .qty-row > .pcoa-btn svg { width: 18px; height: 18px; stroke: var(--v7p-blue); }
html body .product-page:not(#v7p) .qty-row > .pcoa-btn:hover { border-color: #B9C7DB !important; }
html body .product-page:not(#v7p) .qty-row > .pdp2-step { display: flex !important; align-items: center; flex: none; height: 56px !important; box-sizing: border-box;
  border: 1.5px solid var(--v7p-line) !important; border-radius: 14px !important; background: #fff !important; overflow: hidden; }
html body .product-page:not(#v7p) .qty-row > .pdp2-step > button { width: 44px; height: 100%; margin: 0; padding: 0; border: 0 !important; background: none !important;
  font: 600 20px/1 var(--v7p-body) !important; color: var(--v7p-navy) !important; cursor: pointer; }
html body .product-page:not(#v7p) .qty-row > .pdp2-step > button:hover { background: var(--v7p-bg) !important; }
html body .product-page:not(#v7p) .qty-row > .pdp2-step > .qty-input { width: 34px !important; height: 100% !important; margin: 0; padding: 0 !important;
  border: 0 !important; background: transparent !important; box-shadow: none !important; text-align: center;
  font: 700 16px/1 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .qty-row > .qty-input { width: 76px !important; height: 56px !important; flex: none; box-sizing: border-box; padding: 0 !important;
  border: 0 !important; background: #EEF2F7 !important; border-radius: 14px !important; text-align: center;
  font: 700 16px/1 var(--v7p-head) !important; color: #8090A8 !important; }
html body .product-page:not(#v7p) .qty-row > button[type="submit"] { flex: 1 1 auto; min-width: 0; height: 56px !important; margin: 0; padding: 0 18px !important;
  border: 0 !important; background: var(--v7p-navy) !important; color: #fff !important; -webkit-text-fill-color: #fff;
  font: 800 16px/1.2 var(--v7p-head) !important; letter-spacing: 0 !important; text-transform: none !important;
  border-radius: 14px !important; box-shadow: 0 8px 20px -10px rgba(11, 29, 74, .55) !important; cursor: pointer; transition: background .15s; }
html body .product-page:not(#v7p) .qty-row > button[type="submit"]:hover { background: var(--v7p-navy2) !important; }
html body .product-page:not(#v7p) .qty-row > button[type="submit"]:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(42, 130, 212, .4) !important; }
html body .product-page:not(#v7p) .qty-row > button[type="submit"]:disabled { background: #EEF2F7 !important; color: var(--v7p-mute) !important; box-shadow: none !important;
  -webkit-text-fill-color: var(--v7p-mute); cursor: not-allowed; }

/* ---------- purchase options (one-time / Subscribe & Save): rounded radio cards ---------- */
html body .product-page:not(#v7p) .sns-po { display: grid; gap: 10px; margin: 26px 0 0 !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt { display: grid; align-items: center; gap: 4px 12px; margin: 0; min-height: 58px; box-sizing: border-box;
  padding: 13px 16px !important; background: #fff !important; border: 1.5px solid var(--v7p-line) !important; border-radius: 14px !important;
  box-shadow: none !important; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
html body .product-page:not(#v7p) .sns-po .sns-opt:hover { border-color: #B9C7DB !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt.is-on { border-color: var(--v7p-navy) !important; box-shadow: 0 0 0 3px rgba(11, 29, 74, .07) !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt:focus-within { box-shadow: 0 0 0 3px rgba(42, 130, 212, .3) !important; }
html body .product-page:not(#v7p) .sns-po .sns-dot { position: relative; flex: 0 0 20px; width: 20px; height: 20px; box-sizing: border-box; margin: 0;
  border: 2px solid #B8C4D6 !important; border-radius: 50% !important; background: #fff !important; }
html body .product-page:not(#v7p) .sns-po .sns-dot::before, html body .product-page:not(#v7p) .sns-po .sns-dot::after { display: none !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt.is-on .sns-dot { border: 6px solid var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt-t { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
  font: 700 15px/1.3 var(--v7p-head) !important; color: var(--v7p-navy) !important; letter-spacing: 0; text-transform: none; }
html body .product-page:not(#v7p) .sns-po .sns-badge { display: inline-block; padding: 3px 9px !important; border-radius: 99px !important;
  background: #E8F7F0 !important; color: var(--v7p-green) !important; font: 700 12px/1.3 var(--v7p-body) !important; letter-spacing: .02em; text-transform: none; }
html body .product-page:not(#v7p) .sns-po .sns-opt-s { display: block; margin-top: 2px; font: 400 12.5px/1.45 var(--v7p-body) !important; color: var(--v7p-mute) !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt-p b { font: 800 16px/1.2 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt-sub .sns-opt-p b { color: var(--v7p-green) !important; }
html body .product-page:not(#v7p) .sns-po .sns-opt-p s { font: 500 12px/1.3 var(--v7p-body); color: #97A3B6; }
html body .product-page:not(#v7p) .sns-po .sns-opt-p small { font: 400 12px/1.3 var(--v7p-body); color: var(--v7p-mute); }
/* the subscription details that open under it */
html body .product-page:not(#v7p) .sns-po .sns-more { margin: 2px 0 0; padding: 16px 18px; background: #fff; border: 1px solid var(--v7p-line);
  border-radius: 16px !important; font: 400 13px/1.55 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .sns-po .sns-more[hidden] { display: none !important; }
html body .product-page:not(#v7p) .sns-po .sns-more-h { margin: 0 0 8px; font: 600 12px/1.2 var(--v7p-body); letter-spacing: .16em; text-transform: uppercase; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .sns-po .sns-pills { display: flex; flex-wrap: wrap; gap: 8px; }
html body .product-page:not(#v7p) .sns-po .sns-pill { position: relative; margin: 0; cursor: pointer; }
html body .product-page:not(#v7p) .sns-po .sns-pill span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; box-sizing: border-box;
  border: 1.5px solid #D3DCE9 !important; border-radius: 99px !important; background: #fff !important; color: #33415A !important;
  font: 600 13px/1 var(--v7p-body) !important; }
html body .product-page:not(#v7p) .sns-po .sns-pill input:checked + span { background: var(--v7p-navy) !important; border-color: var(--v7p-navy) !important; color: #fff !important; }
html body .product-page:not(#v7p) .sns-po .sns-pill input:focus-visible + span { box-shadow: 0 0 0 3px rgba(42, 130, 212, .35); }
html body .product-page:not(#v7p) .sns-po .sns-ticks { margin: 12px 0 0; padding: 0; list-style: none; color: #33415A; }
html body .product-page:not(#v7p) .sns-po .sns-ticks li { margin: 4px 0 0; }
html body .product-page:not(#v7p) .sns-po .sns-ticks b { color: var(--v7p-green); }
html body .product-page:not(#v7p) .sns-po .sns-note, html body .product-page:not(#v7p) .sns-po .sns-fine { margin: 10px 0 0; font-size: 12px; line-height: 1.55; color: var(--v7p-mute); }
html body .product-page:not(#v7p) .sns-po .sns-fine a, html body .product-page:not(#v7p) .sns-po .sns-note a { color: var(--v7p-blue); }

/* ---------- "Stock up & save" kits: rounded cards, blue save badge, soft "+ Add" ---------- */
html body .product-page:not(#v7p) .bundle-save { margin: 26px 0 0 !important; padding: 0; border: 0; background: none; }
html body .product-page:not(#v7p) .bundle-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px !important; }
html body .product-page:not(#v7p) .bundle-card { position: relative; z-index: 0; display: flex !important; flex-direction: column; align-items: flex-start;
  gap: 2px; width: auto; min-width: 0; margin: 0; padding: 16px 14px 14px !important; text-align: left;
  background: #fff !important; border: 1.5px solid var(--v7p-line) !important; border-radius: 14px !important; box-shadow: none !important;
  color: var(--v7p-navy); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
html body .product-page:not(#v7p) .bundle-card:hover { border-color: #B9C7DB !important; }
html body .product-page:not(#v7p) .bundle-card.selected { border-color: var(--v7p-navy) !important; box-shadow: 0 0 0 3px rgba(11, 29, 74, .07) !important; }
html body .product-page:not(#v7p) .bundle-card:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(42, 130, 212, .35) !important; }
html body .product-page:not(#v7p) .bundle-card .pdp2-vials { display: none; }
html body .product-page:not(#v7p) .bundle-card .bc-badge { position: absolute; top: -10px; right: 10px; left: auto; transform: none; z-index: 1; margin: 0;
  padding: 3px 9px; border: 0; border-radius: 99px !important; background: var(--v7p-blue) !important; color: #fff !important;
  font: 700 12px/1.4 var(--v7p-body) !important; letter-spacing: .02em; text-transform: none; white-space: nowrap; }
html body .product-page:not(#v7p) .bundle-card .bc-badge-free { background: #1BA672 !important; }
html body .product-page:not(#v7p) .bundle-card .bc-qty { margin: 0; font: 700 15px/1.25 var(--v7p-head) !important; color: var(--v7p-navy) !important; text-transform: none; letter-spacing: 0; }
html body .product-page:not(#v7p) .bundle-card .bc-sub { margin: 0; font: 600 12px/1.35 var(--v7p-body) !important; color: var(--v7p-mute) !important; text-transform: none; letter-spacing: 0; }
html body .product-page:not(#v7p) .bundle-card .bc-sub.bc-save { color: #1BA672 !important; }
html body .product-page:not(#v7p) .bundle-card .bc-total { margin: 8px 0 0; font: 800 18px/1.2 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .bundle-card .bc-total s { font-size: 12.5px; font-weight: 500; color: #97A3B6; margin-right: 2px; }
html body .product-page:not(#v7p) .bundle-card .bc-each { margin: 0; font: 400 12px/1.35 var(--v7p-body) !important; color: var(--v7p-mute) !important; }
html body .product-page:not(#v7p) .bundle-card .pdp2-add-gap { flex: 1 1 auto; min-height: 10px; }
html body .product-page:not(#v7p) .bundle-card .pdp2-add { display: flex; align-items: center; justify-content: center; align-self: stretch; height: 40px; margin: 0;
  border-radius: 10px !important; background: var(--v7p-soft) !important; color: var(--v7p-navy) !important; border: 0 !important;
  font: 700 13.5px/1 var(--v7p-head) !important; transition: background .15s; }
html body .product-page:not(#v7p) .bundle-card:hover .pdp2-add { background: #DCE9F8 !important; }
html body .product-page:not(#v7p) .bundle-card.selected .pdp2-add { background: var(--v7p-navy) !important; color: #fff !important; }
html body .product-page:not(#v7p) .bundle-card:disabled, html body .product-page:not(#v7p) .bundle-card[aria-disabled="true"] { cursor: not-allowed; opacity: .55; }
html body .product-page:not(#v7p) .bundle-card.bundle-promo { grid-column: 1 / -1; }
html body .product-page:not(#v7p) .bundle-note { margin: 10px 0 0; font: 400 12.5px/1.5 var(--v7p-body); color: var(--v7p-mute); }

/* ---------- free-shipping bar, checks, points line (non-tab layout) ---------- */
html body .product-page:not(#v7p) .pps-pfs { margin: 12px 0 0; padding: 12px 16px 14px; border: 1px solid var(--v7p-line); border-radius: 16px; background: #fff; }
html body .product-page:not(#v7p) .pps-pfs[hidden] { display: none !important; }
html body .product-page:not(#v7p) .pps-pfs .pps-pfs-t { font: 400 13.5px/1.45 var(--v7p-body); color: #33415A; }
html body .product-page:not(#v7p) .pps-pfs .pps-pfs-t b { color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pps-pfs .pps-pfs-bar { height: 6px; background: var(--v7p-soft); }
html body .product-page:not(#v7p) .pps-pfs .pps-pfs-fill { background: linear-gradient(90deg, var(--v7p-blue), #1BA672); }
html body .product-page:not(#v7p) ul.pdp2-checks { margin: 12px 0 0; padding: 14px 16px; border: 1px solid var(--v7p-line); border-radius: 16px; background: #fff;
  font: 400 13px/1.5 var(--v7p-body); color: #33415A; }
html body .product-page:not(#v7p) ul.pdp2-checks a { color: var(--v7p-blue); }
html body .product-page:not(#v7p) .rw-pdp { margin: 12px 0 0; padding: 12px 16px; border: 1px solid var(--v7p-line); border-radius: 16px; background: #fff;
  font: 400 13px/1.45 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .rw-pdp b { color: var(--v7p-navy); }
html body .product-page:not(#v7p) .rw-pdp .rw-pdp-ic { border-radius: 8px; background: var(--v7p-soft); color: var(--v7p-blue); font-family: var(--v7p-head); }
html body .product-page:not(#v7p) .rw-pdp a { margin-left: auto; color: var(--v7p-blue) !important; font-weight: 700; text-decoration: none !important; border: 0 !important; }
html body .product-page:not(#v7p) .rw-pdp { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }

/* ---------- Prime Rewards / Free shipping perks + lab-tested card (tab layout) ---------- */
html body .product-page:not(#v7p) .pdx-perks { margin: 16px 0 0; background: #fff; border: 1px solid var(--v7p-line) !important; border-radius: 16px !important; overflow: hidden; }
html body .product-page:not(#v7p) .pdx-perks > a, html body .product-page:not(#v7p) .pdx-perks > div { gap: 12px; padding: 14px 16px; color: var(--v7p-ink); }
html body .product-page:not(#v7p) .pdx-perks > :last-child { border-left: 1px solid var(--v7p-line); }
html body .product-page:not(#v7p) .pdx-perks .ic { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 10px !important; background: var(--v7p-soft); color: var(--v7p-blue);
  font: 800 15px/1 var(--v7p-head); }
html body .product-page:not(#v7p) .pdx-perks b { font: 700 14.5px/1.3 var(--v7p-head); color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pdx-perks span span { font: 400 13px/1.45 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pdx-perks em { color: var(--v7p-blue); text-decoration: none; font-weight: 700; }
html body .product-page:not(#v7p) .pdx-perks > a:hover em { text-decoration: underline; }
html body .product-page:not(#v7p) .pdx-lab { gap: 14px; margin: 12px 0 0; padding: 14px 16px; background: #fff;
  border: 1px solid var(--v7p-line) !important; border-radius: 16px !important; }
html body .product-page:not(#v7p) .pdx-lab:empty { display: none !important; }
html body .product-page:not(#v7p) .pdx-lab .lc-ic { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50% !important; background: #E8F7F0; color: var(--v7p-green); }
html body .product-page:not(#v7p) .pdx-lab .lc-t b { font: 700 14.5px/1.35 var(--v7p-head); color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pdx-lab .lc-t span { font: 400 13px/1.45 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pdx-lab .lc-a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 10px !important;
  background: var(--v7p-navy); color: #fff !important; font: 700 13.5px/1 var(--v7p-head); text-decoration: none; white-space: nowrap; }
html body .product-page:not(#v7p) .pdx-lab .lc-a:hover { background: var(--v7p-navy2); }

/* ---------- "Complete your order": white rounded card, navy Add buttons ---------- */
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) { margin: 16px 0 8px !important; padding: 4px 20px 6px !important; background: #fff !important;
  border: 1px solid var(--v7p-line) !important; border-radius: 20px !important; box-shadow: none !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-complete-h { padding: 16px 0 10px !important; margin: 0 !important; background: none !important; border: 0 !important;
  font: 800 18px/1.3 var(--v7p-head) !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-complete-row { gap: 10px 14px !important; padding: 14px 0 !important; background: none !important;
  border-top: 1px solid var(--v7p-line) !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-complete-n { font: 700 15px/1.3 var(--v7p-head) !important; color: var(--v7p-navy) !important; text-decoration: none; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-complete-w { font: 400 12.5px/1.4 var(--v7p-body) !important; color: var(--v7p-mute) !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-complete-p { font: 700 15px/1.2 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-pair-sel { height: 44px !important; padding: 0 12px !important; border: 1px solid var(--v7p-field) !important;
  border-radius: 12px !important; background-color: #fff !important; font: 500 14px var(--v7p-body) !important; color: var(--v7p-ink) !important; }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-pair-sel:focus { outline: none; border-color: var(--v7p-navy) !important; box-shadow: 0 0 0 3px rgba(11, 29, 74, .12); }
html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) .pd-pair-one { font: 500 13px/1.3 var(--v7p-body); color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pd-complete .pd-complete-add { height: 44px !important; min-width: 88px !important; padding: 0 18px !important; border: 0 !important;
  background: var(--v7p-navy) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-radius: 12px !important;
  font: 700 14px/1 var(--v7p-head) !important; cursor: pointer; }
html body .product-page:not(#v7p) .pd-complete .pd-complete-add:hover { background: var(--v7p-navy2) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body .product-page:not(#v7p) .pd-complete .pd-complete-add:disabled { background: #EEF2F7 !important; color: var(--v7p-mute) !important; -webkit-text-fill-color: var(--v7p-mute) !important; }
html body .product-page:not(#v7p) .pd-complete .pd-complete-add:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(42, 130, 212, .4) !important; }

/* ---------- lab report rows in the buy column (no-tab layout) + report-page links ---------- */
html body .product-page:not(#v7p) .pcoa-sec.pcoa-up .pcoa-h { font: 800 18px/1.3 var(--v7p-head) !important; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pcoa-sec.pcoa-up > p { color: var(--v7p-mute); }
html body .product-page:not(#v7p) .pcoa-row { border: 1px solid var(--v7p-line); border-radius: 16px; background: #fff; }
html body .product-page:not(#v7p) .pcoa-pages a.pcoa-pg { color: var(--v7p-blue); text-decoration: none; font-weight: 600; }

/* ---------- facts list, description, research links (bacteriostatic water keeps these in the buy column) ---------- */
html body .product-page:not(#v7p) dl.pd-facts { margin: 16px 0 0; padding: 4px 18px; border: 1px solid var(--v7p-line); border-radius: 16px; background: #fff; }
html body .product-page:not(#v7p) dl.pd-facts dt { font: 600 12px/1.4 var(--v7p-body); letter-spacing: .08em; text-transform: uppercase; color: var(--v7p-mute); }
html body .product-page:not(#v7p) dl.pd-facts dd { font: 400 13.5px/1.5 var(--v7p-body); color: var(--v7p-ink); }
html body .product-page:not(#v7p) .product-description-block { margin-top: 28px; padding-top: 0; border-top: 0; }
html body .product-page:not(#v7p) .product-description-eyebrow { font: 600 12px/1.2 var(--v7p-body); letter-spacing: .18em; text-transform: uppercase; color: var(--v7p-blue); }
html body .product-page:not(#v7p) .product-description-title { margin: 8px 0 12px !important; font: 800 26px/1.15 var(--v7p-head) !important; letter-spacing: -.02em !important;
  color: var(--v7p-navy) !important; text-transform: none !important; }
html body .product-page:not(#v7p) .product-description-body p, html body .product-page:not(#v7p) .product-description-body li { font: 400 15.5px/1.7 var(--v7p-body); color: #3F4B5E; }
html body .product-page:not(#v7p) .product-description-body a { color: var(--v7p-blue); }

/* research & comparisons: small rounded cards (eyebrow, title, Read →) */
html body .pd-bridges:not(#v7p) { margin: 24px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
  overflow: visible !important; display: grid; grid-template-columns: 1fr; gap: 12px; }
html body .pd-bridges:not(#v7p) .pd-complete-h { padding: 0 !important; margin: 0 0 2px !important; background: none !important; border: 0 !important;
  font: 600 12px/1.2 var(--v7p-body) !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--v7p-blue) !important; }
html body .pd-bridges:not(#v7p) .pd-complete-row { display: flex !important; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 10px;
  margin: 0; padding: 18px 20px !important; background: #fff !important; border: 1px solid var(--v7p-line) !important; border-radius: 18px !important; }
html body .pd-bridges:not(#v7p) .pd-complete-row > div { display: flex; flex-direction: column-reverse; gap: 6px; }
html body .pd-bridges:not(#v7p) .pd-complete-n { display: block; min-height: 0; margin: 0 !important; padding: 0 !important; font: 700 15.5px/1.4 var(--v7p-head) !important; color: var(--v7p-navy) !important;
  text-decoration: none; }
html body .pd-bridges:not(#v7p) .pd-complete-n:hover { color: var(--v7p-blue) !important; }
html body .pd-bridges:not(#v7p) .pd-complete-w { margin: 0 !important; font: 600 12px/1.3 var(--v7p-body) !important; letter-spacing: .12em !important;
  text-transform: uppercase !important; color: var(--v7p-blue) !important; }
html body .pd-bridges:not(#v7p) .pd-bridge-go { display: inline-flex !important; align-items: center; min-height: 32px; margin: 0; padding: 0; border: 0; background: none;
  font: 700 13.5px/1 var(--v7p-head) !important; color: var(--v7p-blue) !important; text-decoration: none; }

/* ---------- details area: sticky tabs, white rounded sections ---------- */
html body .pdx-lite:not(#v7p) { margin-top: 0; border-top: 1px solid var(--v7p-line); font-family: var(--v7p-body); color: var(--v7p-ink); }
html body .pdx-lite:not(#v7p) .pdx-tabs { top: var(--v7p-sticky-top, 86px); background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--v7p-line); }
html body .pdx-lite:not(#v7p) .pdx-tabs-in { max-width: 1280px; padding: 0 40px; gap: 30px; box-sizing: border-box; }
html body .pdx-lite:not(#v7p) .pdx-tabs a { padding: 18px 0 15px; border-bottom: 2px solid transparent; font: 600 14.5px/1 var(--v7p-body); color: var(--v7p-mute); }
html body .pdx-lite:not(#v7p) .pdx-tabs a:hover { color: var(--v7p-navy); }
html body .pdx-lite:not(#v7p) .pdx-tabs a.on { color: var(--v7p-navy); border-bottom-color: var(--v7p-blue); }
html body .pdx-lite:not(#v7p) .pdx-dark-in { max-width: 1280px; padding: 40px 40px 72px; box-sizing: border-box; }
html body .pdx-lite:not(#v7p) .pdx-sec { scroll-margin-top: 156px; margin: 0 0 20px; padding: 30px 32px; background: #fff; border: 1px solid var(--v7p-line); border-radius: 22px; }
html body .pdx-lite:not(#v7p) .pdx-two { gap: 20px; margin: 0 0 20px; }
html body .pdx-lite:not(#v7p) .pdx-two .pdx-sec { margin: 0; }
html body .pdx-lite:not(#v7p) .pdx-sec > h2 { margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; font-family: var(--v7p-head) !important;
  font-weight: 800 !important; font-size: 22px !important; line-height: 1.25 !important; letter-spacing: -.01em !important; color: var(--v7p-navy) !important; }
html body .pdx-lite:not(#v7p) .product-description-body { max-width: 760px; }
html body .pdx-lite:not(#v7p) .product-description-body p { font: 400 15.5px/1.75 var(--v7p-body) !important; color: #3F4B5E !important; margin: 0 0 14px; }
html body .pdx-lite:not(#v7p) .product-description-body li { font: 400 15.5px/1.65 var(--v7p-body) !important; color: #3F4B5E !important; }
html body .pdx-lite:not(#v7p) .product-description-body a { color: var(--v7p-blue); text-decoration: underline; text-underline-offset: 3px; }

/* at a glance + specifications: label / value rows like the mockup's spec table */
html body .pdx-lite:not(#v7p) .pps-gl-row, html body .pdx-lite:not(#v7p) .pps-spec-row { padding: 12px 0 !important; border-top: 1px solid var(--v7p-line) !important; }
html body .pdx-lite:not(#v7p) .pps-gl dl .pps-gl-row:first-child, html body .pdx-lite:not(#v7p) .pps-spec-card > dl > .pps-spec-row:first-child { border-top: 1px solid var(--v7p-line) !important; }
html body .pdx-lite:not(#v7p) .pps-gl dt, html body .pdx-lite:not(#v7p) .pps-spec dt { font: 400 13.5px/1.5 var(--v7p-body) !important; letter-spacing: 0 !important;
  text-transform: none !important; color: var(--v7p-mute) !important; }
html body .pdx-lite:not(#v7p) .pps-gl dd, html body .pdx-lite:not(#v7p) .pps-spec dd { font: 600 14px/1.55 var(--v7p-body); color: var(--v7p-navy); }
html body .pdx-lite:not(#v7p) .pps-spec .pps-m { font-family: var(--v7p-body); font-size: 14px; letter-spacing: 0; }
html body .pdx-lite:not(#v7p) .pps-spec-q, html body .pdx-lite:not(#v7p) .pps-spec-pur span { font-weight: 400; color: var(--v7p-mute); }
html body .pdx-lite:not(#v7p) .pps-spec-q { font-family: var(--v7p-body); }   /* the page's inline style still named IBM Plex Sans */
html body .pdx-lite:not(#v7p) .pps-spec-pur strong { font: 800 16px/1.3 var(--v7p-head); }
html body .pdx-lite:not(#v7p) .pps-spec-pur a, html body .pdx-lite:not(#v7p) .pps-gl dd a, html body .pdx-lite:not(#v7p) .pps-gl-more a,
html body .pdx-lite:not(#v7p) .pps-spec-note a { color: var(--v7p-blue); }
html body .pdx-lite:not(#v7p) .pps-spec-part + .pps-spec-part, html body .pdx-lite:not(#v7p) .pps-spec-part + dl { border-top: 0; margin-top: 10px; }
html body .pdx-lite:not(#v7p) .pps-spec-pname { margin: 0 0 4px; padding: 8px 12px; border: 0; border-radius: 10px; background: var(--v7p-bg);
  font: 700 12px/1.3 var(--v7p-head); letter-spacing: .04em; color: var(--v7p-navy); }
html body .pdx-lite:not(#v7p) .pps-spec-note { color: var(--v7p-mute); }
html body .pdx-lite:not(#v7p) details.pps-gl-more-d { border-top: 1px solid var(--v7p-line); }
html body .pdx-lite:not(#v7p) details.pps-gl-more-d > summary { padding: 14px 0; font: 700 14.5px/1.35 var(--v7p-head); color: var(--v7p-navy); }
html body .pdx-lite:not(#v7p) details.pps-gl-more-d > summary::after { color: var(--v7p-blue); }
html body .pdx-lite:not(#v7p) .pps-gl-sub { padding: 12px 0; border-top: 1px solid var(--v7p-line); }
html body .pdx-lite:not(#v7p) .pps-gl-sub h3 { font: 600 12px/1.4 var(--v7p-body) !important; letter-spacing: .14em !important; color: var(--v7p-mute) !important; }
html body .pdx-lite:not(#v7p) .pps-gl-terms { color: #33415A; }

/* lab reports: navy panel with the purity, like the mockup's COA card */
html body .pdx-lite:not(#v7p) #pdx-coa { background: linear-gradient(160deg, #0B1D4A, #12306F); border: 0; color: #fff; }
html body .pdx-lite:not(#v7p) #pdx-coa > h2 { color: #fff !important; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-sec { background: none !important; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-sec > p { margin: 0 0 12px; font: 400 14px/1.6 var(--v7p-body); color: #B7C6E2; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-sec > p a { color: #8FC4F3; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-row { display: flex; align-items: center; gap: 14px; margin: 0 0 10px; padding: 12px 16px; color: #fff;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; box-shadow: none; text-decoration: none; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-row:hover { background: rgba(255, 255, 255, .1); }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-thumb { flex: none; border-radius: 8px; overflow: hidden; background: #fff; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-t { flex: 1 1 auto; min-width: 0; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-p { flex: none; margin-left: auto; text-align: right; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-t b { font: 700 15.5px/1.3 var(--v7p-head); color: #fff; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-t span { font: 400 12.5px/1.45 var(--v7p-body); color: #9FB3D6; letter-spacing: .02em; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-p b { font: 800 30px/1.05 var(--v7p-head) !important; letter-spacing: -.02em; color: #fff; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-p span { font: 700 12.5px/1.3 var(--v7p-head); color: #8FC4F3; text-decoration: none; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-pages a.pcoa-pg { color: #C9D6EC; }
html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-pages a.pcoa-pg:hover { color: #fff; }
html body .pdx-lite:not(#v7p) #pdx-coa .pdx-coanote { margin: 14px 0 0; font: 400 14px/1.65 var(--v7p-body); color: #B7C6E2; }
html body .pdx-lite:not(#v7p) #pdx-coa .pdx-coabtn { display: inline-flex; align-items: center; height: 48px; margin: 18px 0 0; padding: 0 22px; border-radius: 12px;
  background: var(--v7p-blue); color: #fff !important; font: 700 15px/1 var(--v7p-head); text-decoration: none; }
html body .pdx-lite:not(#v7p) #pdx-coa .pdx-coabtn:hover { background: #3A90E0; }

/* research guides: 3 cards per row */
html body .pdx-lite:not(#v7p) #pdx-res .pd-bridges { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 !important; }

/* ---------- "Researchers also bought" band (the cards themselves are styled in shop.css) ---------- */
html body .pdx-rel:not(#v7p) { padding: 64px 0 72px; background: var(--v7p-bg); border-top: 1px solid var(--v7p-line); }
html body .pdx-rel:not(#v7p) .pdx-rel-in { max-width: 1280px; padding: 0 40px; box-sizing: border-box; }
html body .pdx-rel:not(#v7p) .pdx-rel-in > h2 { margin: 0 0 24px !important; font-family: var(--v7p-head) !important; font-weight: 800 !important; font-size: 30px !important;
  line-height: 1.15 !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--v7p-navy) !important; }

/* ---------- water page: "Research peptides" grid section (cards in shop.css) ---------- */
html body main:not(#v7p) > section.pps-wgrid { padding: 64px 0 72px; border-top: 1px solid var(--v7p-line); }
html body main:not(#v7p) > section.pps-wgrid .product-description-eyebrow { font: 600 12px/1.2 var(--v7p-body); letter-spacing: .18em; text-transform: uppercase; color: var(--v7p-blue); }
html body main:not(#v7p) > section.pps-wgrid .section-title { margin: 8px 0 10px; font: 800 34px/1.12 var(--v7p-head) !important; letter-spacing: -.02em !important;
  text-transform: none !important; color: var(--v7p-navy) !important; }
html body main:not(#v7p) > section.pps-wgrid .section-title em { font: inherit !important; font-style: normal !important; color: var(--v7p-blue) !important; }
html body main:not(#v7p) > section.pps-wgrid .pps-wgrid-sub { font: 400 15px/1.6 var(--v7p-body); color: var(--v7p-mute); }
html body main:not(#v7p) > section.pps-wgrid .pps-wgrid-all a { color: var(--v7p-blue); font-weight: 700; text-decoration: none; }

/* ---------- product FAQ section (below the related band) ---------- */
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) { padding: 64px 0 72px !important; background: #fff; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) > .container { max-width: 1280px !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) .section-title { margin: 0 0 20px; text-align: left !important;
  font: 800 34px/1.12 var(--v7p-head) !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--v7p-navy) !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) .section-title em { font: inherit !important; font-style: normal !important; color: var(--v7p-blue) !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) > .container > div { max-width: 860px; margin-top: 0 !important; padding: 6px 28px;
  background: #fff; border: 1px solid var(--v7p-line); border-radius: 22px; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) details { margin: 0 !important; padding: 0 !important; border: 0 !important;
  border-top: 1px solid var(--v7p-line) !important; border-radius: 0 !important; background: none !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) details:first-child { border-top: 0 !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) summary { position: relative; display: block !important; margin: 0 !important;
  padding: 18px 34px 18px 0 !important; font: 700 15.5px/1.4 var(--v7p-head) !important; color: var(--v7p-navy) !important; list-style: none !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) summary::-webkit-details-marker { display: none; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) summary::after { content: "+"; position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  font: 500 22px/1 var(--v7p-body); color: var(--v7p-blue); }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) details[open] > summary::after { content: "\2212"; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) details > div { margin: -4px 0 18px !important; font: 400 14.5px/1.65 var(--v7p-body) !important;
  color: var(--v7p-mute) !important; }
html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) details > div a { color: var(--v7p-blue); }

/* ---------- reviews (when shown): stars + COA chip line, and the "Customer Reviews" section ---------- */
html body .product-page:not(#v7p) .pdx-rvrow { gap: 12px; margin: 10px 0 2px; }
html body .product-page:not(#v7p) .product-info a[href="#review-form"] { color: var(--v7p-mute) !important; font-family: var(--v7p-body); text-decoration: none; }
html body .product-page:not(#v7p) .pdx-rvrow .pcoa-chip, html body .product-page:not(#v7p) .product-meta .pcoa-chip { gap: 6px; margin: 0; min-height: 32px; padding: 0 12px 0 10px;
  box-sizing: border-box; border: 1px solid #BFE8D5; border-radius: 99px !important; background: #E8F7F0; color: var(--v7p-green); font: 700 12.5px/1 var(--v7p-body); text-decoration: none; }
html body .product-page:not(#v7p) .pdx-rvrow .pcoa-chip svg, html body .product-page:not(#v7p) .product-meta .pcoa-chip svg { stroke: var(--v7p-green); }
/* quality chips (COA / purity / tests from the lab report), like the mockup's chips; shown in the stars row when reviews are on */
html body .product-page:not(#v7p) .product-info > .product-meta, html body .product-page:not(#v7p) .pdx-rvrow .product-meta {
  display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 4px !important; padding: 0 !important;
  font: 600 12.5px/1 var(--v7p-body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--v7p-navy); }
html body .product-page:not(#v7p) .pdx-rvrow .product-meta { margin: 0 !important; }
html body .product-page:not(#v7p) .product-info .product-meta > span { display: inline-flex !important; align-items: center; min-height: 32px; padding: 0 12px;
  box-sizing: border-box; border: 1px solid var(--v7p-line); border-radius: 99px !important; background: #fff; color: var(--v7p-navy); }
html body main:not(#v7p) > section#pdx-reviews { padding: 64px 0 72px !important; background: var(--v7p-bg) !important; border-top: 1px solid var(--v7p-line); }
html body main:not(#v7p) > section#pdx-reviews > .container { max-width: 1280px !important; }
html body main:not(#v7p) > section#pdx-reviews > .container > div:first-child { margin-bottom: 24px !important; }
html body main:not(#v7p) > section#pdx-reviews .section-title { font: 800 34px/1.12 var(--v7p-head) !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--v7p-navy) !important; }
html body main:not(#v7p) > section#pdx-reviews .section-title em { font: inherit !important; font-style: normal !important; color: var(--v7p-blue) !important; }
html body main:not(#v7p) > section#pdx-reviews > .container > div:not(#review-form):not(:first-child):not(.alert),
html body main:not(#v7p) > section#pdx-reviews > .container > p, html body main:not(#v7p) > section#pdx-reviews #review-form { max-width: 860px; }
html body main:not(#v7p) > section#pdx-reviews > .container > div:not(#review-form):not(:first-child):not(.alert) { gap: 12px !important; margin-bottom: 20px !important; }
html body main:not(#v7p) > section#pdx-reviews > .container > div:not(#review-form):not(:first-child):not(.alert) > div {
  padding: 22px 24px !important; background: #fff !important; border: 1px solid var(--v7p-line) !important; border-radius: 18px !important; }
html body main:not(#v7p) > section#pdx-reviews strong { font-family: var(--v7p-head); color: var(--v7p-navy); }
html body main:not(#v7p) > section#pdx-reviews > .container > p { padding: 28px !important; background: #fff !important; border: 1px solid var(--v7p-line); border-radius: 18px !important; color: var(--v7p-mute) !important; }
html body main:not(#v7p) > section#pdx-reviews > .container > [style*="--accent"] { background: #E8F7F0 !important; border-left: 0 !important; border-radius: 14px !important; color: var(--v7p-green) !important; }
html body main:not(#v7p) > section#pdx-reviews > .container > [style*="--accent"] strong { color: var(--v7p-green); }
html body main:not(#v7p) > section#pdx-reviews .alert { border-radius: 14px !important; }
html body main:not(#v7p) > section#pdx-reviews #review-form { padding: 28px !important; background: #fff !important; border: 1px solid var(--v7p-line) !important; border-radius: 22px !important; }
html body main:not(#v7p) > section#pdx-reviews #review-form h3 { margin: 0 0 10px !important; font: 800 20px/1.25 var(--v7p-head) !important; color: var(--v7p-navy) !important; }
html body main:not(#v7p) > section#pdx-reviews #review-form p { font-family: var(--v7p-body); line-height: 1.6; }
html body main:not(#v7p) > section#pdx-reviews #review-form a { color: var(--v7p-blue) !important; font-weight: 600; }
html body main:not(#v7p) > section#pdx-reviews #review-form label { font: 600 13px/1.4 var(--v7p-body); color: var(--v7p-navy); }

/* ---------- back-in-stock alert (sold-out / coming-soon) ---------- */
html body .product-page:not(#v7p) .notify-back-in-stock { margin: 16px 0 0; }
html body .product-page:not(#v7p) .notify-card { padding: 18px 20px; background: #fff !important; border: 1px solid var(--v7p-line) !important; border-radius: 18px !important;
  box-shadow: none !important; font-family: var(--v7p-body); }
html body .product-page:not(#v7p) .notify-card strong { font: 700 15.5px/1.35 var(--v7p-head); color: var(--v7p-navy); }
html body .product-page:not(#v7p) .notify-card .notify-icon { border-radius: 10px; }
html body .product-page:not(#v7p) .notify-card input[type="email"], html body .product-page:not(#v7p) .notify-card input[type="tel"] {
  height: 48px !important; min-height: 48px; padding: 0 16px !important; box-sizing: border-box; border: 1px solid var(--v7p-field) !important; border-radius: 12px !important;
  background: #fff !important; box-shadow: none !important; color: var(--v7p-ink); font: 400 16px var(--v7p-body) !important; }
html body .product-page:not(#v7p) .notify-card input[type="email"]:focus, html body .product-page:not(#v7p) .notify-card input[type="tel"]:focus {
  outline: none; border-color: var(--v7p-navy) !important; box-shadow: 0 0 0 3px rgba(11, 29, 74, .12) !important; }
html body .product-page:not(#v7p) .notify-card input::placeholder { color: #8090A8; }
html body .product-page:not(#v7p) .notify-card .pd-sms-consent { color: var(--v7p-mute); }
html body .product-page:not(#v7p) .notify-card .btn { min-height: 48px; padding: 0 20px; border: 0; background: var(--v7p-navy); color: #fff;
  font: 700 15px/1 var(--v7p-head); border-radius: 12px !important; }
html body .product-page:not(#v7p) .notify-card .btn.btn-secondary { background: #fff; color: var(--v7p-navy); box-shadow: inset 0 0 0 1.5px #CBD5E3; }
html body .product-page:not(#v7p) .notify-card .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(42, 130, 212, .4); }
html body .product-page:not(#v7p) .notify-card details form { gap: 8px; }
html body .product-page:not(#v7p) .notify-card .pd-notify-summary { color: var(--v7p-mute); }

/* ---------- phone sticky buy bar ---------- */
html body .pd-stickybuy:not(#v7p) { background: rgba(255, 255, 255, .97); border-top: 1px solid var(--v7p-line); box-shadow: 0 -8px 24px rgba(11, 29, 74, .08); }
html body .pd-stickybuy:not(#v7p) .pd-stickybuy-name { font: 600 13px/1.3 var(--v7p-body); color: var(--v7p-mute); }
html body .pd-stickybuy:not(#v7p) .pd-stickybuy-price { font: 800 16px/1.3 var(--v7p-head); color: var(--v7p-navy); }
html body .pd-stickybuy:not(#v7p) .pd-stickybuy-btn { min-height: 48px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--v7p-navy);
  color: #fff; font: 800 15px/1 var(--v7p-head); }

/* ---------- tablet + phone: one column, photo first ---------- */
@media (max-width: 900px) {
  html body .product-page:not(#v7p) { row-gap: 22px; padding-bottom: 40px; }
  html body .product-page:not(#v7p) .product-gallery-wrap { width: 100%; max-width: 560px; margin-inline: auto; }
  html body .product-page:not(#v7p) .product-gallery { border-radius: 20px; }
  html body .pdx-lite:not(#v7p) .pdx-tabs { top: var(--v7p-sticky-top-m, 76px); }
  html body .pdx-lite:not(#v7p) .pdx-tabs-in { padding: 0 16px; gap: 22px; }
  html body .pdx-lite:not(#v7p) .pdx-dark-in { padding: 24px 16px 52px; }
  html body .pdx-lite:not(#v7p) .pdx-sec { scroll-margin-top: 140px; padding: 22px 18px; border-radius: 18px; }
  html body .pdx-lite:not(#v7p) .pdx-two { grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
  html body .pdx-lite:not(#v7p) #pdx-res .pd-bridges { grid-template-columns: 1fr; }
  html body .pdx-rel:not(#v7p) { padding: 44px 0 52px; }
  html body .pdx-rel:not(#v7p) .pdx-rel-in { padding: 0 16px; }
  html body .pdx-rel:not(#v7p) .pdx-rel-in > h2 { font-size: 26px !important; }
  html body main:not(#v7p) > section#pdx-reviews { padding: 44px 0 52px !important; }
  html body main:not(#v7p) > section#pdx-reviews .section-title { font-size: 28px !important; }
  html body main:not(#v7p) > section#pdx-reviews #review-form { padding: 22px 18px !important; border-radius: 18px !important; }
  html body .product-page:not(#v7p) .pdx-rvrow .pcoa-chip { min-height: 40px; }
  html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) { padding: 44px 0 52px !important; }
  html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) .section-title { font-size: 28px !important; }
  html body main:not(#v7p):has(> .product-page) > section:not(.catpage-about):has(> .container > div > details) > .container > div { padding: 2px 18px; border-radius: 18px; }
}
@media (max-width: 600px) {
  html body .product-page:not(#v7p) .product-info > h1 { font-size: 32px !important; }
  html body .product-page:not(#v7p) .pdp2-price, html body .product-page:not(#v7p) .pdp2-price * { font-size: 28px !important; }
  html body .product-page:not(#v7p) .pdp2-price s, html body .product-page:not(#v7p) .pdp2-price s * { font-size: 16px !important; }
  html body .product-page:not(#v7p) .variant-options { grid-template-columns: 1fr 1fr; }
  html body .product-page:not(#v7p) .variant-option .variant-card { grid-template-columns: 1fr; grid-template-areas: "l" "p" "s"; padding: 12px 14px !important; }
  html body .product-page:not(#v7p) .variant-option .variant-card > .price { text-align: left; }
  html body .product-page:not(#v7p) .bundle-cards { gap: 8px !important; }
  html body .product-page:not(#v7p) .bundle-card { padding: 14px 10px 10px !important; }
  html body .product-page:not(#v7p) .bundle-card .bc-badge { right: 6px; padding: 3px 7px; }
  html body .product-page:not(#v7p) .bundle-card .bc-total { font-size: 16px !important; }
  html body .product-page:not(#v7p) .qty-row > .pcoa-btn { padding: 0 12px !important; }
  html body .product-page:not(#v7p) .qty-row > .pdp2-step > button { width: 38px; }
  html body .product-page:not(#v7p) .qty-row > button[type="submit"] { padding: 0 12px !important; font-size: 15px !important; }
  html body .product-page:not(#v7p) .pd-complete:not(.pd-bridges) { padding: 2px 16px 4px !important; }
  html body .pdx-lite:not(#v7p) .pdx-sec > h2 { font-size: 20px !important; }
  html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-p b { font-size: 24px !important; }
  html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-row { gap: 12px; padding: 12px; }
  html body .pdx-lite:not(#v7p) #pdx-coa .pcoa-thumb { width: 44px; height: 54px; }
  /* phones: no text under 12px */
  html body .product-page:not(#v7p) .product-info > .hero-eyebrow, html body .product-page:not(#v7p) .pdx-lbl,
  html body .product-page:not(#v7p) .variant-picker-label, html body .product-page:not(#v7p) .bundle-save-label,
  html body .product-page:not(#v7p) .sns-po .sns-more-h, html body .pd-bridges:not(#v7p) .pd-complete-h,
  html body .pd-bridges:not(#v7p) .pd-complete-w, html body .product-page:not(#v7p) .product-description-eyebrow,
  html body .pdx-lite:not(#v7p) .pps-gl-sub h3 { font-size: 12px !important; letter-spacing: .12em !important; }
  html body .product-page:not(#v7p) .bundle-card .bc-badge, html body .product-page:not(#v7p) .sns-po .sns-badge,
  html body .product-page:not(#v7p) .sns-po .sns-opt-p small, html body .product-page:not(#v7p) .sold-out-banner .sold-out-tag { font-size: 12px !important; }
  html body .pdx-lite:not(#v7p) .pps-spec sub, html body .pdx-lite:not(#v7p) .pps-spec sup { font-size: 12px; }
  /* phones: link targets at least 40px tall */
  html body .pd-bridges:not(#v7p) .pd-bridge-go { min-height: 40px; }
  html body .pd-bridges:not(#v7p) .pd-complete-n { padding: 9px 0 !important; margin: -9px 0 !important; }
  html body .pdx-lite:not(#v7p) .pps-gl-more a, html body .pdx-lite:not(#v7p) .pps-spec-pur a { display: inline-flex; align-items: center; min-height: 40px; }
  html body .product-page:not(#v7p) .rw-pdp a, html body main:not(#v7p) > section.pps-wgrid .pps-wgrid-all a { display: inline-flex; align-items: center; min-height: 40px; }
  html body .product-page:not(#v7p) .product-meta .pcoa-chip { position: relative; }
  html body .product-page:not(#v7p) .product-meta .pcoa-chip::after { content: ""; position: absolute; inset: -5px 0; }   /* 40px tap area, chip looks the same */
}
@media (max-width: 480px) {
  html body .product-page:not(#v7p) .pdx-perks > :last-child { border-left: 0; border-top: 1px solid var(--v7p-line); }
  html body .product-page:not(#v7p) .pdx-lab { flex-wrap: wrap; align-items: flex-start; }
  html body .product-page:not(#v7p) .pdx-lab .lc-t { flex: 1 1 0; }
  html body .product-page:not(#v7p) .pdx-lab .lc-a { flex: 1 1 100%; justify-content: center; margin-left: 48px; }
  html body .product-page:not(#v7p) .rw-pdp a { margin-left: 34px; }
}

/* ---------- [PPS-PDP-PHONE-ORDER] phones: buy first, the descriptive text lower ----------
   Owner: on a phone there was too much text above the sizes and Add to Cart. CSS order only: no element moves in the
   page, so every field stays inside its form and every script keeps working. Order on a phone:
   1 category, name, CAS, price, deal box (+ the sold-out / coming-soon note)
   2 the add form: sizes, purchase options (one-time / Subscribe & Save: it changes what Add does), qty + Add to Cart,
     stock-up kits; then the back-in-stock alert (sold out / coming soon)
   3 rewards / free shipping (+ the water page's shipping bar, checks, points line), Complete your order
   4 the text: lab-tested box, COA chips, "Also known as", short description (+ the water page's facts, long text, guides)
   Flex items don't collapse margins, so the gaps are set here (margin-top only); anything not listed goes to the end.
   Tablets (768-900px) and desktop keep the page as it was. */
@media (max-width: 767.98px) {
  html body .product-page:not(#v7p) .product-info { display: flex; flex-direction: column; align-items: stretch; }
  html body .product-page:not(#v7p) .product-info > * { order: 40; margin-top: 16px !important; margin-bottom: 0 !important; }
  html body .product-page:not(#v7p) .product-info > noscript { margin: 0 !important; }
  html body .product-page:not(#v7p) .product-info > #pdp-add-status { margin: -1px !important; }   /* screen-reader status line, as before */
  /* 1: name block */
  html body .product-page:not(#v7p) .product-info > .hero-eyebrow { order: 1; align-self: flex-start; margin: 0 !important; }
  html body .product-page:not(#v7p) .product-info > h1 { order: 2; margin: 14px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pd-cas { order: 3; margin: 8px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > a[href="#review-form"] { order: 3; align-self: flex-start; margin: 4px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pdx-rvrow { order: 3; margin: 8px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pdx-deal { order: 3; }
  html body .product-page:not(#v7p) .product-info > .pdp2-price { order: 4; margin: 14px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pdp2-price:empty { margin: 0 !important; }   /* coming soon: no price line, no gap */
  html body .product-page:not(#v7p) .product-info > .pd-promo-badge,
  html body .product-page:not(#v7p) .product-info > .bx-pdp { order: 5; margin: 14px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .sold-out-banner { order: 6; margin: 16px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > #stock-out-msg { order: 7; margin: 16px 0 0 !important; }
  /* 2: the add form, then the back-in-stock alert */
  html body .product-page:not(#v7p) .product-info > #pdp-add-form { order: 10; display: flex; flex-direction: column; margin: 24px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .notify-back-in-stock { order: 11; margin: 16px 0 0 !important; }
  html body .product-page:not(#v7p) #pdp-add-form > * { order: 7; }
  html body .product-page:not(#v7p) #pdp-add-form > .pdx-lbl { order: 1; margin: 0 0 10px !important; }
  html body .product-page:not(#v7p) #pdp-add-form > .variant-picker { order: 2; margin: 0 !important; }
  html body .product-page:not(#v7p) #pdp-add-form > .variant-picker > .variant-picker-label { margin-top: 0 !important; }   /* water page: its own "Select size" heads the form */
  /* exactly 3 sizes: one row of 3 (no lone card on a second row) */
  html body .product-page:not(#v7p) #pdp-add-form .variant-options:has(> .variant-option:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; }
  html body .product-page:not(#v7p) #pdp-add-form .variant-options:has(> .variant-option:nth-child(3):last-child) .variant-option .variant-card { padding: 12px !important; }
  html body .product-page:not(#v7p) #pdp-add-form > .sns-po { order: 3; margin: 22px 0 0 !important; }
  html body .product-page:not(#v7p) #pdp-add-form > .qty-row { order: 4; margin: 16px 0 0 !important; }
  html body .product-page:not(#v7p) #pdp-add-form > #pps-shipclock { order: 5; }   /* water page: the ship clock stays under Add to Cart */
  html body .product-page:not(#v7p) #pdp-add-form > .pd-includes { order: 5; margin: 12px 0 0 !important; }   /* bundles: what's inside, under Add */
  html body .product-page:not(#v7p) #pdp-add-form > .bundle-save { order: 6; margin: 26px 0 0 !important; }
  /* 3: perks, Complete your order */
  html body .product-page:not(#v7p) .product-info > .pps-pfs,
  html body .product-page:not(#v7p) .product-info > .pdp2-checks,
  html body .product-page:not(#v7p) .product-info > .rw-pdp,
  html body .product-page:not(#v7p) .product-info > .pdx-perks { order: 20; margin: 16px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pdp2-checks,
  html body .product-page:not(#v7p) .product-info > .rw-pdp { margin-top: 12px !important; }
  html body .product-page:not(#v7p) .product-info > .pd-complete:not(.pd-bridges) { order: 22; margin: 16px 0 0 !important; }
  /* 4: the text */
  html body .product-page:not(#v7p) .product-info > .pdx-lab { order: 30; margin: 20px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pdx-checks { order: 30; }
  html body .product-page:not(#v7p) .product-info > .product-meta { order: 31; margin: 18px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pps-aka { order: 32; margin: 18px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info:has(> .product-meta) > .pps-aka { margin-top: 14px !important; }   /* under the chips */
  html body .product-page:not(#v7p) .product-info > .product-desc { order: 33; margin: 18px 0 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pps-aka ~ .product-desc { margin-top: 8px !important; }
  html body .product-page:not(#v7p) .product-info > .pd-calc-link { order: 34; align-self: flex-start; }
  html body .product-page:not(#v7p) .product-info > .trust-row,
  html body .product-page:not(#v7p) .product-info > .pd-facts,
  html body .product-page:not(#v7p) .product-info > .pcoa-sec,
  html body .product-page:not(#v7p) .product-info > .pcoa-pages { order: 35; }
  html body .product-page:not(#v7p) .product-info > .product-description-block { order: 36; margin: 28px 0 0 !important; }
  /* a flex item keeps its last paragraph's bottom margin inside (no collapsing): drop it so the gap above "Research &
     comparisons" stays what it was (water page) */
  html body .product-page:not(#v7p) .product-info > .product-description-block .product-description-body > :last-child { margin-bottom: 0 !important; }
  html body .product-page:not(#v7p) .product-info > .pd-bridges { order: 37; margin: 24px 0 0 !important; }
  /* bundles: the product links in "Includes:" get a 40px+ tall tap area (inline padding: the line layout is unchanged) */
  html body .product-page:not(#v7p) #pdp-add-form > .pd-includes a { padding: 12px 0; }
}
