/* [PPS-SITE-BW] Every page in the front page's look: white and ink, the front page's condensed lettering for titles,
   black buttons. Only colours, fonts and the cart's free line change; prices, buttons and links work as before.
   The front page (it has its own styles) is left out: body.hv2:not(:has(#pv5)). */
@font-face { font-family: "PV5 Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/static/fonts/barlow-condensed-600.woff2") format("woff2"); }
@font-face { font-family: "PV5 Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/barlow-condensed-700.woff2") format("woff2"); }
body.hv2:not(:has(#pv5)) {
  --paper: #FFFFFF; --paper-2: #F4F4F5; --paper-3: #EBEBED; --well: #0A0A0B; --ink: #0A0A0B; --ink-2: #26272B; --ink-3: #55565C;
  --ink-4: #8A8B91; --ink-soft: #26272B; --ink-mute: #55565C; --line: #E4E4E7; --line-2: #C8C8CD; --brass: #0A0A0B; --brass-2: #26272B;
  --gold: #0A0A0B; --accent: #0A0A0B; --on-dark: #FFFFFF; --cream: #FFFFFF; --bg: #FFFFFF;
  --font-display: "PV5 Condensed", "Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  background: #FFFFFF !important; color: #0A0A0B;
}
body.hv2:not(:has(#pv5)) main, body.hv2:not(:has(#pv5)) footer { background-color: #FFFFFF; }
body.hv2:not(:has(#pv5)) .hv2-header { background: rgba(255,255,255,.94) !important; }
body.hv2:not(:has(#pv5)) .ann { background: #0A0A0B !important; color: #F5F5F6 !important; border-bottom-color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) main h1, body.hv2:not(:has(#pv5)) main h2 {
  font-family: var(--font-display) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: -.005em; line-height: .95; }
body.hv2:not(:has(#pv5)) main h1 { font-size: clamp(40px, 10vw, 76px) !important; }
body.hv2:not(:has(#pv5)) main h2 { font-size: clamp(26px, 6vw, 44px) !important; }
/* black buttons where the site had gold */
body.hv2:not(:has(#pv5)) .btn-primary, body.hv2:not(:has(#pv5)) a.btn-primary, body.hv2:not(:has(#pv5)) .hv2-btn:not(.hv2-btn-line),
body.hv2:not(:has(#pv5)) .cx-checkout, body.hv2:not(:has(#pv5)) .cx-checkout-btn, body.hv2:not(:has(#pv5)) .cart-checkout-btn {
  background: #0A0A0B !important; color: #FFFFFF !important; border-color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .cx-sticky-total, body.hv2:not(:has(#pv5)) .cx-mobile-bar { background: #0A0A0B; }
/* the cart: one line per product, "4 in your cart · 1 FREE" (the separate free row is hidden) */
.pps-free-merged { display: none !important; }
.pps-bw-free { display: inline-block; margin-left: 2px; padding: 2px 8px; border-radius: 999px; background: #16A34A; color: #FFFFFF;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; }
/* on the black bars (cart total, order summary): white buttons, black text */
body.hv2:not(:has(#pv5)) .cx-st-btn, body.hv2:not(:has(#pv5)) .cx-sticky .btn, body.hv2:not(:has(#pv5)) [class*="cx-sum"] .btn-primary {
  background: #FFFFFF !important; color: #0A0A0B !important; border-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-item { background: #FFFFFF !important; border-color: #E4E4E7 !important; }
body.hv2:not(:has(#pv5)) .sns-ev-flip { color: #0A0A0B !important; text-decoration-color: #0A0A0B !important; }
/* the cart's free row: light grey, a black "1 FREE" badge */
body.hv2:not(:has(#pv5)) .cart-item[style*="dashed"] { background: #F4F4F5 !important; border: 1px solid #E4E4E7 !important; }
body.hv2:not(:has(#pv5)) .cart-item span[style*="#0f7a3a"] { background: #16A34A !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-item [style*="color:#0f7a3a"] { color: #15803D !important; }
/* the slide-out cart's free item: a black "1 FREE" badge (every page, the front page too) */
.pcq-free.pps-bw-badge { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: #16A34A; color: #FFFFFF;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; }
/* the cart's order summary (black): white accents instead of gold, a white checkout button */
body.hv2:not(:has(#pv5)) .cart-summary { --cl-gold: #FFFFFF; --cl-gold-soft: rgba(255,255,255,.08); }
body.hv2:not(:has(#pv5)) .cart-summary .btn.btn-block:not(.btn-secondary) { background: #FFFFFF !important; color: #0A0A0B !important; border-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .btn.btn-block:disabled { opacity: .45; }
body.hv2:not(:has(#pv5)) .cart-summary .cx-fill, body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress [class*="fill"] { background: #FFFFFF !important; }
/* auto-deliver box: black and white, no gold or brown */
body.hv2:not(:has(#pv5)) .cart-summary .sns-cart { border-color: rgba(255,255,255,.22) !important; background: rgba(255,255,255,.04) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-badge { background: rgba(255,255,255,.14) !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-toggle input:checked + .sns-track { background: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-toggle input:checked + .sns-track .sns-knob { background: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-alert, body.hv2:not(:has(#pv5)) .cart-summary .sns-msg, body.hv2:not(:has(#pv5)) .cart-summary .sns-note, body.hv2:not(:has(#pv5)) .cart-summary .sns-why {
  background: rgba(255,255,255,.08) !important; color: #F5F5F6 !important; border-color: rgba(255,255,255,.18) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li::before { background: #FFFFFF !important; box-shadow: 0 0 0 3px rgba(255,255,255,.15) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li:not(:first-child)::before { background: #55565C !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li:not(:last-child)::after { background: rgba(255,255,255,.3) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.22) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree:has(input:checked) { background: rgba(255,255,255,.1) !important; border-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree b { color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox] { accent-color: #FFFFFF; }

/* Black buttons and badges whose text took the old gold (now ink): white text. (Account orders, partner perks, about,
   calculator, affiliate page.) site-bw.js also turns any text left dark on a dark box white. */
body.hv2:not(:has(#pv5)) .btn-reorder, body.hv2:not(:has(#pv5)) .btn-reorder:hover, body.hv2:not(:has(#pv5)) .status-delivered, body.hv2:not(:has(#pv5)) .ord2-state.s-delivered, body.hv2:not(:has(#pv5)) .account-nav-item.active,
body.hv2:not(:has(#pv5)) .shipping-progress.met, body.hv2:not(:has(#pv5)) .partner-tier-pill, body.hv2:not(:has(#pv5)) .pd-complete-add, body.hv2:not(:has(#pv5)) .rf-face, body.hv2:not(:has(#pv5)) .dc-pill.is-on, body.hv2:not(:has(#pv5)) .ord2-av.done,
body.hv2:not(:has(#pv5)) .dc-edit:hover, body.hv2:not(:has(#pv5)) .inv-step:hover:not(:disabled), body.hv2:not(:has(#pv5)) .product-card .badge, body.hv2:not(:has(#pv5)) .cart-badge { color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .btn-reorder { background: #0A0A0B !important; border: 1px solid #0A0A0B; }
body.hv2:not(:has(#pv5)) .partner-perk-figure, body.hv2:not(:has(#pv5)) .partner-perk-figure span { color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .btn-accent { background: #0A0A0B !important; color: #FFFFFF !important; border-color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .calc-add:not(:disabled), body.hv2:not(:has(#pv5)) .calc-rec-add:not(:disabled) { background: #FFFFFF !important; color: #0A0A0B !important; border-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .calc-good { background: rgba(255,255,255,.12) !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .calc-shop-h, body.hv2:not(:has(#pv5)) .calc-item-p, body.hv2:not(:has(#pv5)) .calc-bundle-p { color: #FFFFFF !important; }

/* Cart: the free-vial line above the items in grey and ink (no cream/gold); the Subscribe & Save box's frame and the
   "I agree" tick box in white (ticked: a white box with a black tick). */
body.hv2:not(:has(#pv5)) main .cx-promo-nudge:not(.bxgy-nudge) { background: #F4F4F5 !important; color: #0A0A0B !important; border: 1px solid #E4E4E7 !important;
  filter: grayscale(1); }
body.hv2:not(:has(#pv5)) .cart-summary .sns-consent { border-color: rgba(255,255,255,.22) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree:hover { border-color: rgba(255,255,255,.6) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox] { border-color: #FFFFFF !important; background-color: transparent !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox]:checked { border-color: #FFFFFF !important;
  background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%230A0A0B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox]:focus-visible { outline-color: #FFFFFF !important; }

/* Cart: the "Make every item the same" panel (Subscribe & Save next to one-time items), its tags, links and the
   paused-checkout note, and the cart's lines and step dots: white, greys and ink instead of cream and gold. */
body.hv2:not(:has(#pv5)) .sns-mx, body.hv2:not(:has(#pv5)) .sns-ev-line, body.hv2:not(:has(#pv5)) .sns-ev-row, body.hv2:not(:has(#pv5)) .sns-mx-stop {
  --ev-ink: #0A0A0B; --ev-ink-2: #26272B; --ev-ink-3: #55565C; --ev-card: #FFFFFF; --ev-paper: #F4F4F5;
  --ev-line: #E4E4E7; --ev-line-2: #C8C8CD; --ev-brass: #0A0A0B; --ev-brass-2: #0A0A0B; --ev-brass-soft: #F4F4F5; }
body.hv2:not(:has(#pv5)) .cart-page { --cl-card: #FFFFFF; --cl-line: #E4E4E7; --cl-line-2: #C8C8CD; }
body.hv2:not(:has(#pv5)) .sns-mx { background: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-mx-flip { color: #0A0A0B !important; text-decoration-color: rgba(10,10,11,.4) !important; }
body.hv2:not(:has(#pv5)) .sns-mx .sns-mx-alert, body.hv2:not(:has(#pv5)) .sns-mx-stop p { color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-mx-stop p a.sns-mx-how { color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .sns-ev-tag b { color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-mx-btn.is-sub { background: #0A0A0B !important; color: #FFFFFF !important; }

/* Order summary: the savings lines ("Free units", Subscribe & Save) in green, and the free-shipping tick green. */
body.hv2:not(:has(#pv5)) .cart-summary .cart-summary-row[style*="0f7a3a"], body.hv2:not(:has(#pv5)) .cart-summary .cart-summary-row[style*="0f7a3a"] span { color: #3DDC84 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .shipping-progress.met .cx-ship-txt::before { background-color: #3DDC84 !important; }
/* the "1 vial away from a free vial" pop-up: white card, ink text and button (no cream) */
body.hv2:not(:has(#pv5)) .pfv-box { background: #FFFFFF !important; color: #0A0A0B !important; }
body.hv2:not(:has(#pv5)) .pfv-t { color: #0A0A0B !important; }

/* Blue accents (the blue printed on the vial labels, as on the front page: #0066D6, #4C9BFF on black) so the cart is
   not only black and white. Checkout buttons stay white on black; free items and savings stay green. */
body.hv2:not(:has(#pv5)) .hv2-cart-count { background: #0066D6 !important; color: #FFFFFF !important; border-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cx-steps span.on b { background: #0066D6 !important; border-color: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) main .cx-promo-nudge:not(.bxgy-nudge) { background: #EAF3FF !important; border: 1px solid #BFD8F7 !important; color: #0A0A0B !important;
  box-shadow: inset 3px 0 0 #0066D6 !important; filter: none !important; }
body.hv2:not(:has(#pv5)) .sns-ev-flip { color: #0066D6 !important; text-decoration-color: rgba(0,102,214,.45) !important; }
body.hv2:not(:has(#pv5)) .sns-ev-tag { background: #0066D6 !important; border-color: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-mx, body.hv2:not(:has(#pv5)) .sns-ev-line, body.hv2:not(:has(#pv5)) .sns-ev-row, body.hv2:not(:has(#pv5)) .sns-mx-stop { --ev-brass: #0066D6; --ev-brass-2: #0066D6; }
body.hv2:not(:has(#pv5)) .sns-mx-flip { color: #0066D6 !important; text-decoration-color: rgba(0,102,214,.45) !important; }
body.hv2:not(:has(#pv5)) .sns-mx-btn.is-sub { background: #0066D6 !important; border-color: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-mx-btn.is-sub:hover { background: #0052AD !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-badge { background: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-toggle input:checked + .sns-track { background: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-toggle input:checked + .sns-track .sns-knob { background: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li::before { background: #4C9BFF !important; box-shadow: 0 0 0 3px rgba(76,155,255,.2) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .cx-fill, body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress [class*="fill"] { background: #4C9BFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree:has(input:checked) { border-color: #4C9BFF !important; background: rgba(76,155,255,.1) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox]:checked { border-color: #0066D6 !important; background-color: #0066D6 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-consent .sns-terms a, body.hv2:not(:has(#pv5)) .cart-summary .sns-consent-h { color: #FFFFFF; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-consent .sns-terms a { text-decoration-color: #4C9BFF !important; }
body.hv2:not(:has(#pv5)) .cart-item[style*="dashed"] { box-shadow: inset 3px 0 0 #16A34A !important; }

/* ============ Cart colour pass (5 Oct): navy from the logo, the vial-label blue, green for anything free ============
   Page in a soft blue-grey with white cards; the order summary and the phone's bottom bar in deep navy (no more
   pure black); deal lines in blue (or green once the most free vials are reached); free items in green. */
body.hv2:not(:has(#pv5)) main:has(.cart-page) { background: #F3F6FB !important; }
body.hv2:not(:has(#pv5)) .cart-page { --cl-card: #FFFFFF; --cl-line: #DCE5F1; --cl-line-2: #C9D6EA; }
body.hv2:not(:has(#pv5)) .cart-page h1, body.hv2:not(:has(#pv5)) .cart-page .cx-items-head span { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cx-steps span b { border-color: #C9D6EA !important; color: #51607A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cx-steps span.on b { background: #0066D6 !important; border-color: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-page .cx-steps span.on { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cx-steps i { background: #C9D6EA !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-item { background: #FFFFFF !important; border: 1px solid #DCE5F1 !important; border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(11,29,74,.05), 0 10px 24px -18px rgba(11,29,74,.25) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-item [class*="size"], body.hv2:not(:has(#pv5)) .cart-page .cart-item .cx-size, body.hv2:not(:has(#pv5)) .sns-mx-size { border-color: #C9D6EA !important; background: #F3F6FB !important; color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cart-page .qty-control, body.hv2:not(:has(#pv5)) .cart-page .cart-item .qty, body.hv2:not(:has(#pv5)) .cart-page .cart-item [class*="qty"] { border-color: #C9D6EA !important; }
/* the free item: a green card */
body.hv2:not(:has(#pv5)) .cart-page .cart-item[style*="dashed"] { background: #F0FDF4 !important; border: 1px solid #BBF7D0 !important; box-shadow: inset 4px 0 0 #16A34A !important; }
/* the deal line: blue while more free vials can be earned, green at the most */
body.hv2:not(:has(#pv5)) main .cx-promo-nudge:not(.bxgy-nudge) { background: linear-gradient(90deg, #E8F1FF, #F5F9FF) !important; border: 1px solid #BFD8F7 !important;
  box-shadow: inset 4px 0 0 #0066D6 !important; color: #0B1D4A !important; font-weight: 600 !important; filter: none !important; }
body.hv2:not(:has(#pv5)) main .cx-promo-nudge.pps-max { background: linear-gradient(90deg, #DCFCE7, #F0FDF4) !important; border-color: #86EFAC !important;
  box-shadow: inset 4px 0 0 #16A34A !important; color: #14532D !important; }
/* Subscribe & Save on the lines and the "Make every item the same" panel */
body.hv2:not(:has(#pv5)) .sns-ev-flip { color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .sns-ev-tag { background: #0B1D4A !important; border-color: #0B1D4A !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-ev-tag b { color: #7CC0FF !important; }
body.hv2:not(:has(#pv5)) .sns-mx { background: linear-gradient(180deg, #EEF5FF, #FFFFFF 70%) !important; border: 1px solid #BFD8F7 !important; box-shadow: inset 4px 0 0 #0066D6, 0 10px 24px -18px rgba(11,29,74,.3) !important; }
body.hv2:not(:has(#pv5)) .sns-mx .sns-mx-h { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .sns-mx-g { border-color: #DCE5F1 !important; background: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .sns-mx .sns-mx-gh { color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .sns-mx-btn:not(.is-sub) { background: #FFFFFF !important; border: 1.5px solid #0B1D4A !important; color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .sns-mx-btn.is-sub { background: #0066D6 !important; border: 1.5px solid #0066D6 !important; color: #FFFFFF !important; }
/* the order summary and the bottom bar: deep navy */
body.hv2:not(:has(#pv5)) .cart-page .cart-summary { background: linear-gradient(165deg, #13295F 0%, #0B1736 100%) !important; border: 0 !important;
  box-shadow: 0 30px 60px -30px rgba(11,23,54,.65) !important; --cl-gold: #4C9BFF; --cl-d-line: rgba(255,255,255,.12); --cl-d-line-2: rgba(255,255,255,.2); }
body.hv2:not(:has(#pv5)) .cx-stickybar, body.hv2:not(:has(#pv5)) .cx-sticky-total, body.hv2:not(:has(#pv5)) .cx-mobile-bar { background: #0E1D45 !important; border-top-color: rgba(255,255,255,.12) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .btn.btn-block:not(.btn-secondary), body.hv2:not(:has(#pv5)) .cx-st-btn { background: #FFFFFF !important; color: #0B1D4A !important; border-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .cart-summary-row[style*="0f7a3a"], body.hv2:not(:has(#pv5)) .cart-summary .cart-summary-row[style*="0f7a3a"] span { color: #4ADE80 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.14) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .cx-bar { background: rgba(255,255,255,.14) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .cx-fill, body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress [class*="fill"] { background: linear-gradient(90deg, #2F7BF5, #4C9BFF) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress.met .cx-fill, body.hv2:not(:has(#pv5)) .cart-summary .shipping-progress.met [class*="fill"] { background: linear-gradient(90deg, #22C55E, #4ADE80) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .shipping-progress.met .cx-ship-txt::before { background-color: #4ADE80 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-cart { background: rgba(76,155,255,.08) !important; border-color: rgba(76,155,255,.35) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-badge { background: #22C55E !important; color: #052E16 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-track { background: rgba(255,255,255,.22) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-toggle input:checked + .sns-track { background: #2F7BF5 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-alert, body.hv2:not(:has(#pv5)) .cart-summary .sns-msg, body.hv2:not(:has(#pv5)) .cart-summary .sns-note, body.hv2:not(:has(#pv5)) .cart-summary .sns-why {
  background: rgba(251,191,36,.10) !important; border: 1px solid rgba(251,191,36,.35) !important; border-left: 3px solid #FBBF24 !important; color: #FFF7E0 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li::before { background: #4C9BFF !important; box-shadow: 0 0 0 3px rgba(76,155,255,.25) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li:not(:first-child)::before { background: #2A3F73 !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-timeline li:not(:last-child)::after { background: rgba(76,155,255,.4) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-consent { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.16) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-consent .sns-terms { background: rgba(0,0,0,.18) !important; border-color: rgba(255,255,255,.12) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.22) !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree:has(input:checked) { background: rgba(47,123,245,.18) !important; border-color: #4C9BFF !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree b { color: #FBBF24 !important; }
body.hv2:not(:has(#pv5)) .cart-summary .sns-agree input[type=checkbox]:checked { border-color: #2F7BF5 !important; background-color: #2F7BF5 !important; }
body.hv2:not(:has(#pv5)) .cart-summary select, body.hv2:not(:has(#pv5)) .cart-summary textarea, body.hv2:not(:has(#pv5)) .cart-summary input[type=text] { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.18) !important; color: #FFFFFF !important; }
/* the "1 vial away" pop-up */
body.hv2:not(:has(#pv5)) .pfv-tag { background: #16A34A !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .pfv-go { background: #0066D6 !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .pfv-t { color: #0B1D4A !important; }

/* ============ Order summary: light, with a navy title bar (chosen 5 Oct), and short ============
   White card, light grey boxes, blue auto-deliver box, blue checkout button; tighter spacing, the free-shipping bar
   gone once it is full, the delivery timeline hidden, the ticks hidden when the terms box is shown (it says the same),
   the terms in a short scroll box (all of it still there), the notes box small until tapped. Nothing is removed. */
body.hv2:not(:has(#pv5)) .cart-page .cart-summary { --ls-bg: #FFFFFF; --ls-in: #F5F8FC; --ls-line: #E1E8F2;
  background: var(--ls-bg) !important; color: #0B1D4A !important; border: 1px solid #DCE5F1 !important;
  box-shadow: 0 1px 2px rgba(11,29,74,.05), 0 18px 40px -24px rgba(11,29,74,.28) !important;
  --on-dark: #0B1D4A; --cl-d-mute: #51607A; --cl-d-line: #E3EAF4; --cl-d-line-2: #D3DDEB; --cl-d-soft: #F5F8FC; --cl-gold: #0066D6; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(h2, h3, .cart-summary-row, .cart-summary-row span, label, p, li, b, strong, summary, .sns-toggle-t, .sns-consent-h) { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.cart-summary-row:not(.total) span:first-child, .sns-off, .sns-timeline li span, .sns-ticks li, .cx-trust, .cx-trust *, small) { color: #51607A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary a { color: #0B1D4A !important; text-decoration-color: rgba(11,29,74,.35) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row[style*="0f7a3a"], body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row[style*="0f7a3a"] span { color: #15803D !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.shipping-progress, .sns-consent, .sns-consent .sns-terms, select, textarea, input[type=text]) {
  background: var(--ls-in) !important; border: 1px solid var(--ls-line) !important; color: #0B1D4A !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent .sns-terms { background: var(--ls-bg) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(textarea, input)::placeholder { color: #8A99B4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cx-bar { background: #E3EAF4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-cart { background: #EEF5FF !important; border: 1px solid #BFD8F7 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-badge { background: #16A34A !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-track { background: #C9D6EA !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-toggle input:checked + .sns-track { background: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.sns-alert, .sns-msg, .sns-note, .sns-why) { background: #FFF8E6 !important; border: 1px solid #FCE3A6 !important;
  border-left: 3px solid #F59E0B !important; color: #5B4510 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li::before { background: #0066D6 !important; box-shadow: 0 0 0 3px rgba(0,102,214,.15) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li:not(:first-child)::before { background: #C9D6EA !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li:not(:last-child)::after { background: #BFD8F7 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree { background: #FFFFFF !important; border: 1.5px solid #C9D6EA !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree:has(input:checked) { background: #EEF5FF !important; border-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree b { color: #D97706 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree input[type=checkbox] { border-color: #8A99B4 !important; background-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree input[type=checkbox]:checked { border-color: #0066D6 !important; background-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .btn.btn-block:not(.btn-secondary) { background: #0066D6 !important; color: #FFFFFF !important; border-color: #0066D6 !important;
  box-shadow: 0 8px 18px -10px rgba(0,102,214,.7) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .btn.btn-secondary { background: #FFFFFF !important; color: #0B1D4A !important; border: 1.5px solid #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cx-stickybar { background: #FFFFFF !important; border-top: 1px solid #DCE5F1 !important; box-shadow: 0 -8px 24px -16px rgba(11,29,74,.3) !important; }
body.hv2:not(:has(#pv5)) .cx-stickybar :is(.cx-st-total, .cx-st-total *) { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cx-st-btn { background: #0066D6 !important; color: #FFFFFF !important; border-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary { --ls-bg: #FFFFFF; --ls-in: #F5F8FC; --ls-line: #E1E8F2;
  background: var(--ls-bg) !important; color: #0B1D4A !important; border: 1px solid #DCE5F1 !important;
  box-shadow: 0 1px 2px rgba(11,29,74,.05), 0 18px 40px -24px rgba(11,29,74,.28) !important;
  --on-dark: #0B1D4A; --cl-d-mute: #51607A; --cl-d-line: #E3EAF4; --cl-d-line-2: #D3DDEB; --cl-d-soft: #F5F8FC; --cl-gold: #0066D6; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(h2, h3, .cart-summary-row, .cart-summary-row span, label, p, li, b, strong, summary, .sns-toggle-t, .sns-consent-h) { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.cart-summary-row:not(.total) span:first-child, .sns-off, .sns-timeline li span, .sns-ticks li, .cx-trust, .cx-trust *, small) { color: #51607A !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary a { color: #0B1D4A !important; text-decoration-color: rgba(11,29,74,.35) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row[style*="0f7a3a"], body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row[style*="0f7a3a"] span { color: #15803D !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.shipping-progress, .sns-consent, .sns-consent .sns-terms, select, textarea, input[type=text]) {
  background: var(--ls-in) !important; border: 1px solid var(--ls-line) !important; color: #0B1D4A !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent .sns-terms { background: var(--ls-bg) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(textarea, input)::placeholder { color: #8A99B4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cx-bar { background: #E3EAF4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-cart { background: #EEF5FF !important; border: 1px solid #BFD8F7 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-badge { background: #16A34A !important; color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-track { background: #C9D6EA !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-toggle input:checked + .sns-track { background: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.sns-alert, .sns-msg, .sns-note, .sns-why) { background: #FFF8E6 !important; border: 1px solid #FCE3A6 !important;
  border-left: 3px solid #F59E0B !important; color: #5B4510 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li::before { background: #0066D6 !important; box-shadow: 0 0 0 3px rgba(0,102,214,.15) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li:not(:first-child)::before { background: #C9D6EA !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline li:not(:last-child)::after { background: #BFD8F7 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree { background: #FFFFFF !important; border: 1.5px solid #C9D6EA !important; box-shadow: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree:has(input:checked) { background: #EEF5FF !important; border-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree b { color: #D97706 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree input[type=checkbox] { border-color: #8A99B4 !important; background-color: #FFFFFF !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree input[type=checkbox]:checked { border-color: #0066D6 !important; background-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .btn.btn-block:not(.btn-secondary) { background: #0066D6 !important; color: #FFFFFF !important; border-color: #0066D6 !important;
  box-shadow: 0 8px 18px -10px rgba(0,102,214,.7) !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .btn.btn-secondary { background: #FFFFFF !important; color: #0B1D4A !important; border: 1.5px solid #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cx-stickybar { background: #FFFFFF !important; border-top: 1px solid #DCE5F1 !important; box-shadow: 0 -8px 24px -16px rgba(11,29,74,.3) !important; }
body.hv2:not(:has(#pv5)) .cx-stickybar :is(.cx-st-total, .cx-st-total *) { color: #0B1D4A !important; }
body.hv2:not(:has(#pv5)) .cx-st-btn { background: #0066D6 !important; color: #FFFFFF !important; border-color: #0066D6 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary { overflow: hidden; padding-top: 0 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary > h2:first-child, body.hv2:not(:has(#pv5)) .cart-page .cart-summary > :first-child:is(h2,h3) {
  margin: 0 -20px 18px !important; padding: 18px 20px 16px !important; background: linear-gradient(120deg, #13295F, #0B1D4A) !important; color: #FFFFFF !important; border-bottom: 0 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree:has(input:checked) { box-shadow: none !important; }
/* short */
body.hv2:not(:has(#pv5)) .cart-page .cart-summary { padding: 0 16px 16px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary > h2:first-child { margin: 0 -16px 10px !important; padding: 14px 16px 12px !important; font-size: 24px !important; line-height: 1.1 !important; }
@media (min-width: 640px) { body.hv2:not(:has(#pv5)) .cart-page .cart-summary { padding: 0 24px 22px !important; } body.hv2:not(:has(#pv5)) .cart-page .cart-summary > h2:first-child { margin: 0 -24px 12px !important; padding: 16px 24px 14px !important; } }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row { padding: 4px 0 !important; margin: 0 !important; min-height: 0 !important; font-size: 15px !important; line-height: 1.35 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row.total { padding: 10px 0 4px !important; margin-top: 8px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-summary-row.total span:last-child { font-size: 30px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .shipping-progress { padding: 8px 12px !important; margin: 6px 0 2px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .shipping-progress.met .cx-bar { display: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .shipping-progress .cx-bar { margin-top: 6px !important; height: 4px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-cart { padding: 12px !important; margin: 10px 0 4px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-cart .sns-toggle { min-height: 40px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-off { margin: 6px 0 0 !important; font-size: 13px !important; line-height: 1.4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-timeline { display: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary:has(.sns-consent) .sns-ticks { display: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-ticks { margin-top: 10px !important; padding-top: 10px !important; gap: 4px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-ticks li { font-size: 13px !important; line-height: 1.4 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary :is(.sns-why, .sns-alert, .sns-msg, .sns-note) { padding: 8px 10px !important; margin: 10px 0 0 !important; font-size: 13px !important; line-height: 1.45 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-freq { margin-top: 10px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-freq select { min-height: 42px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary details#cart-code > summary { min-height: 44px !important; padding: 10px 0 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #checkout-form { margin-top: 8px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #checkout-form > div { margin-bottom: 10px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #checkout-form label:not(.sns-agree) { margin-bottom: 4px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #checkout-form select { min-height: 44px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #customer_note_input { min-height: 44px !important; height: 44px !important; transition: height .15s ease; resize: none; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary #customer_note_input:focus, body.hv2:not(:has(#pv5)) .cart-page .cart-summary #customer_note_input:not(:placeholder-shown) { height: 96px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary:has(#customer_note_input:placeholder-shown:not(:focus)) div:has(> #customer_note_count) { display: none !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent { padding: 12px !important; margin: 4px 0 12px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent-h { margin: 0 0 8px !important; font-size: 14px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent .sns-terms { max-height: 9.5em !important; overflow-y: auto !important; padding: 8px 12px !important; margin: 0 0 10px !important; font-size: 13px !important; line-height: 1.45 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-consent .sns-terms li { margin: 0 0 4px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-agree { padding: 10px 12px !important; min-height: 0 !important; font-size: 14px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .btn.btn-block { min-height: 52px !important; margin-top: 6px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cart-agree { margin: 10px 0 0 !important; font-size: 12px !important; line-height: 1.45 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .cx-trust { margin-top: 10px !important; padding-top: 10px !important; font-size: 12px !important; gap: 4px 12px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-body { margin-top: 10px !important; padding-top: 10px !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-body > .sns-freq:first-child, body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-body > :first-child { margin-top: 0 !important; }
body.hv2:not(:has(#pv5)) .cart-page .cart-summary .sns-body > :last-child { margin-bottom: 0 !important; }
