/* [PPS-PDP2] the new product page look. Loaded only when Admin -> Settings -> Product page look shows it (everything is
   scoped to .product-page.pdp2, so no other page changes). Undo: switch the look to Current, or run.sh pps_pdp2 --restore */
.product-page.pdp2 { --p2-line: #E3DED2; --p2-ink: var(--ink, #1F2124); --p2-mute: var(--ink-mute, #5F636A);
  --p2-gold: var(--accent-deep, #7F6320); --p2-green: #0F7A3A; --p2-soft: #F7F5F0; }

/* price under the title */
.product-page.pdp2 .pdp2-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 6px 0 2px;
  font-family: var(--font-body); font-size: 30px; font-weight: 700; line-height: 1.15; color: var(--p2-ink); }
.product-page.pdp2 .pdp2-price s { font-size: 17px; font-weight: 500; color: var(--p2-mute); opacity: 1 !important; margin: 0 !important; }

/* sizes: bright chips with the price under each */
body .product-page.pdp2 .variant-picker-label { text-align: left; padding-bottom: 0; margin-bottom: 10px; font-size: 12px; letter-spacing: .12em; }
body .product-page.pdp2 .variant-picker-label::after { display: none; }
body .product-page.pdp2 .variant-options { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 8px !important; }
body .product-page.pdp2 .variant-option { min-width: 0 !important; flex: none !important; }   /* the old 120px minimum made chips overlap */
body .product-page.pdp2 .variant-card { background: #fff !important; color: var(--p2-ink) !important; border: 1.5px solid var(--p2-line) !important;
  border-radius: 12px !important; padding: 10px 8px !important; text-align: center; min-height: 0 !important; box-shadow: none !important; }
body .product-page.pdp2 .variant-card .label { font-family: var(--font-body) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--p2-ink) !important; }
body .product-page.pdp2 .variant-card .price { font-size: 13px !important; color: var(--p2-mute) !important; margin-top: 2px !important; }
body .product-page.pdp2 .variant-card .price s { color: var(--p2-mute) !important; }
body .product-page.pdp2 .variant-card .stock { font-size: 11px !important; letter-spacing: .02em !important; text-transform: none !important; color: var(--p2-mute) !important; margin-top: 2px !important; }
body .product-page.pdp2 .variant-option input:checked + .variant-card { border: 2px solid var(--p2-ink) !important; background: #fff !important;
  box-shadow: 0 3px 12px rgba(31, 33, 36, .10) !important; }
body .product-page.pdp2 .variant-option.sold-out .variant-card { opacity: 1 !important; border-style: dashed !important; background: #FAF8F3 !important; }
body .product-page.pdp2 .variant-option.sold-out .variant-card .label,
body .product-page.pdp2 .variant-option.sold-out .variant-card .price,
body .product-page.pdp2 .variant-option.sold-out .variant-card .price s { color: #5F636A !important; }
body .product-page.pdp2 .variant-option.sold-out .variant-card .stock span { color: #9A3412 !important; }
body .product-page.pdp2 .variant-option.sold-out .variant-card::after { display: none !important; }   /* no slash across the chip */
body .product-page.pdp2 .variant-option.sold-out .variant-card .price { text-decoration: line-through; }
body.hv2 .product-page.pdp2 .variant-option input:checked + .variant-card .price s,
body .product-page.pdp2 .variant-option input:checked + .variant-card .price s { color: var(--p2-mute) !important; }   /* sale: struck price readable on the white chip */
body .product-page.pdp2 .variant-option input:checked + .variant-card .label,
body .product-page.pdp2 .variant-option input:checked + .variant-card .price,
body .product-page.pdp2 .variant-option input:checked + .variant-card .stock { color: var(--p2-ink) !important; }

/* stock up & save cards */
body .product-page.pdp2 .bundle-save { margin: 20px 0 16px; }
body .product-page.pdp2 .bundle-save-label { text-align: left; padding-bottom: 0; margin: 0 0 10px; font-family: var(--font-body);
  font-size: 17px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--p2-ink); }
body .product-page.pdp2 .bundle-save-label::after { display: none; }
body .product-page.pdp2 .bundle-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body .product-page.pdp2 .bundle-card { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  background: #fff !important; border: 1.5px solid var(--p2-line) !important; border-radius: 14px !important; padding: 22px 6px 10px !important;
  transform: none !important; color: var(--p2-ink); }
body .product-page.pdp2 .bundle-card[hidden] { display: none !important; }   /* the page's script hides cards (low stock, deal not met) */
body .product-page.pdp2 .bundle-card:hover { border-color: #BDB6A6 !important; }
body .product-page.pdp2 .bundle-card.selected { border: 2px solid var(--p2-ink) !important; box-shadow: 0 4px 14px rgba(31, 33, 36, .10); }
body .product-page.pdp2 .bundle-card .bc-qty { font-size: 14px; font-weight: 600; margin: 0; }
body .product-page.pdp2 .bundle-card .bc-sub { font-size: 12px; margin: 1px 0 4px; }
body .product-page.pdp2 .bundle-card .bc-sub.bc-save { color: #1D4ED8; font-weight: 700; }
body .product-page.pdp2 .bundle-card .bc-total { font-size: 21px; font-weight: 800; line-height: 1.15; }
body .product-page.pdp2 .bundle-card .bc-total s { font-size: 12px; }
body .product-page.pdp2 .bundle-card .bc-each { font-size: 11px; color: var(--p2-mute); line-height: 1.3; }
body .product-page.pdp2 .bundle-card .bc-free { font-size: 11px; }
body .product-page.pdp2 .bundle-card .bc-badge { top: -10px; border-radius: 999px; font-size: 10px; letter-spacing: .04em; padding: 3px 10px; white-space: nowrap; }
body .product-page.pdp2 .bundle-card.bundle-promo { background: #F3FAF5 !important; border-color: #9FD2B1 !important; }
.product-page.pdp2 .pdp2-vials { display: flex; justify-content: center; align-items: center; margin: 0 0 6px; min-height: 32px; }
.product-page.pdp2 .pdp2-vials { max-width: 100%; overflow: hidden; }
.product-page.pdp2 .pdp2-vials img { width: 28px; height: 28px; flex: 0 0 auto; object-fit: cover; border-radius: 7px; border: 2px solid #fff; background: #15171a;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .18); margin-left: -11px; }
.product-page.pdp2 .pdp2-vials img:first-child { margin-left: 0; }
.product-page.pdp2 .pdp2-vials .pdp2-x { margin-left: 4px; font-size: 11px; font-weight: 800; color: var(--p2-ink); white-space: nowrap; }
.product-page.pdp2 .pdp2-add { display: block; width: 100%; margin-top: auto; padding: 11px 0; border-radius: 999px; background: #EEF1F8;
  color: #1D4ED8; font-size: 13px; font-weight: 700; text-align: center; transition: background .15s, color .15s; }
.product-page.pdp2 .pdp2-add-gap { flex: 1 1 auto; min-height: 8px; }
.product-page.pdp2 .bundle-card:hover .pdp2-add { background: #1D4ED8; color: #fff; }
body .product-page.pdp2 .bundle-note { font-size: 12px; margin-top: 8px; }

/* quantity stepper + Add to Cart */
body .product-page.pdp2 .qty-row { display: flex; gap: 10px; align-items: stretch; }
.product-page.pdp2 .pdp2-step { display: flex; align-items: center; flex: 0 0 auto; border: 1.5px solid var(--p2-line); border-radius: 999px; background: #fff; min-height: 52px; }
.product-page.pdp2 .pdp2-step button { width: 42px; height: 100%; min-height: 48px; border: 0; background: none; font-size: 22px; line-height: 1; color: var(--p2-ink); cursor: pointer; border-radius: 999px; }
.product-page.pdp2 .pdp2-step button:focus-visible { outline: 2px solid var(--p2-ink); outline-offset: -2px; }
body .product-page.pdp2 .pdp2-step .qty-input { width: 40px !important; min-width: 0 !important; border: 0 !important; background: transparent !important;
  text-align: center; padding: 0 !important; font-size: 17px !important; font-weight: 700; -moz-appearance: textfield; }
.product-page.pdp2 .pdp2-step .qty-input::-webkit-outer-spin-button, .product-page.pdp2 .pdp2-step .qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body .product-page.pdp2 .qty-row .btn { flex: 1 1 auto; border-radius: 999px !important; min-height: 52px; font-size: 16px; }

/* checklist under the button replaces the old icon row */
body .product-page.pdp2 .trust-row { display: none !important; }
.product-page.pdp2 .pdp2-checks { list-style: none; margin: 12px 0 0; padding: 12px 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px;
  background: #fff; border: 1px solid var(--p2-line); border-radius: 12px; font-size: 13px; line-height: 1.35; color: var(--p2-ink); }
.product-page.pdp2 .pdp2-checks li { display: flex; gap: 6px; align-items: flex-start; }
.product-page.pdp2 .pdp2-checks li::before { content: "\2713"; color: var(--p2-green); font-weight: 800; }
.product-page.pdp2 .pdp2-checks a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 380px) {
  body .product-page.pdp2 .bundle-card .bc-total { font-size: 18px; }
  .product-page.pdp2 .pdp2-vials img:nth-of-type(4) { display: none; }
  .product-page.pdp2 .pdp2-checks { grid-template-columns: 1fr; }
}
