/** Shopify CDN: Minification failed

Line 1023:0 Unexpected "}"

**/
/* ============================================================================
   NORATIV ELITE PDP v13 — Mobile-First High-Converting Product Page
   Zero bloat. Maximum CRO.
============================================================================ */

/* ── Reset ─────────────────────────────────────────────────── */
.pdp { color: var(--ct); background: var(--cbga); -webkit-font-smoothing: antialiased; font-family: "Inter", var(--font-body-family), sans-serif; letter-spacing: -0.01em; }
.pdp *, .pdp *::before, .pdp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.pdp img { display: block; max-width: 100%; }
.pdp button { font-family: inherit; cursor: pointer; }
.pdp svg { display: block; }

/* ── 1. GALLERY (IS the hero) ──────────────────────────────── */
.pdp-gallery {
  position: relative;
  background: transparent;
  overflow: hidden;
}

.pdp-gallery__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.pdp-gallery__track::-webkit-scrollbar { display: none; }

.pdp-gallery__slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.pdp-gallery__slide img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
}
.pdp-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--cbga); }
.pdp-ph svg { width: 80px; height: 80px; }

.pdp-gallery__dots {
  position: absolute;
  bottom: 12px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 5px; z-index: 5;
}
.pdp-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.5); border: none; padding: 0;
  cursor: pointer; transition: background .2s;
}
.pdp-dot.is-active { background: #fff; }

.pdp-gallery__arrow { display: none; }

/* Review pill — floating top of gallery */
.pdp-review-pill {
  position: absolute; top: 18px; left: 50%; transform: translateX(-50%);
  z-index: 10;
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  padding: 8px 16px 8px 10px;
  border-radius: 40px;
  border: 1px solid rgba(255,255,255,0.7);
  box-shadow: 0 10px 40px rgba(0,0,0,0.12), 0 2px 10px rgba(0,0,0,0.05);
  width: max-content; max-width: 92vw;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
}
.pdp-review-pill:hover { transform: translateX(-50%) translateY(-4px) scale(1.02); box-shadow: 0 15px 50px rgba(0,0,0,0.15); }
.pdp-av {
  width: 28px; height: 28px; border-radius: 50%;
  object-fit: cover; border: 2px solid #fff;
  margin-left: -7px;
}
.pdp-av:first-child { margin-left: 0; }
.pdp-review-pill__text { display: flex; flex-direction: column; gap: 1px; }
.pdp-review-pill__text span { font-size: .72rem; font-weight: 700; color: #111; }

/* Deal badge — bottom right corner of gallery */
.pdp-gallery__deal-badge {
  position: absolute; bottom: 14px; right: 14px;
  background: var(--ca); color: #fff;
  font-size: .75rem; font-weight: 900; letter-spacing: .05em;
  padding: 6px 12px; border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

/* Stars */
.pdp-stars { display: flex; gap: 2px; color: var(--cstr, #F59E0B); }
.pdp-stars svg { width: 14px; height: 14px; }
.pdp-stars--sm svg { width: 12px; height: 12px; }
.pdp-stars--gold { color: #F59E0B; justify-content: center; }
.pdp-stars--gold svg { width: 16px; height: 16px; }

/* ── 2. PURCHASE ZONE ──────────────────────────────────────── */
.pdp-buy { padding: 18px 16px 0; display: flex; flex-direction: column; gap: 20px; }

/* Title + price header */
.pdp-buy__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.pdp-title { font-size: 1.35rem; font-weight: 900; color: var(--ct); line-height: 1.15; margin-bottom: 5px; }
.pdp-rating { display: flex; align-items: center; gap: 6px; }
.pdp-rating span { font-size: .75rem; font-weight: 600; color: var(--ctl); }
.pdp-price-block { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.pdp-price--old { font-size: .85rem; font-weight: 700; color: var(--cd); text-decoration: line-through; }
.pdp-price--new { font-size: 1.45rem; font-weight: 900; color: var(--ct); }
.pdp-price--per { font-size: .7rem; font-weight: 700; color: var(--ca); background: var(--csbg); padding: 2px 6px; border-radius: 4px; white-space: nowrap; }

/* Row wrapper */
.pdp-row { display: flex; flex-direction: column; gap: 9px; }
.pdp-row-head { display: flex; justify-content: space-between; align-items: center; }
.pdp-label { font-size: .8rem; font-weight: 900; color: var(--ct); text-transform: uppercase; letter-spacing: .06em; }
.pdp-link { font-size: .78rem; font-weight: 700; color: var(--ctl); background: none; border: none; text-decoration: underline dotted; padding: 0; }

/* Pack selector */
.pdp-packs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pdp-pack {
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 14px; border: 2px solid var(--cbd); border-radius: 14px;
  background: var(--cbg); text-align: left; 
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pdp-pack:hover:not(.is-active) { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.08); border-color: rgba(17,17,17,0.2); }
.pdp-pack.is-active { border-color: var(--cb); box-shadow: 0 0 0 1px var(--cb), 0 8px 24px rgba(0,0,0,0.12); background: #fff; transform: translateY(-2px); }
.pdp-pack__badge {
  display: inline-block;
  font-size: 0.6rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase;
  background: linear-gradient(135deg, var(--ca), #367d51); color: #fff;
  padding: 3px 8px; border-radius: 4px; width: fit-content; margin-bottom: 4px;
  box-shadow: 0 2px 6px rgba(76,163,110,0.4);
}
.pdp-pack__name { font-size: 0.88rem; font-weight: 900; color: var(--ct); line-height: 1.1; }
.pdp-pack__meta { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.pdp-pack__price { font-size: 1.1rem; font-weight: 900; color: var(--ct); }
.pdp-pack__save { font-size: 0.75rem; font-weight: 800; color: var(--ca); background: var(--csbg); padding: 2px 6px; border-radius: 4px; }
.pdp-pack__sub { font-size: 0.68rem; font-weight: 500; color: var(--ctl); margin-top: 4px; line-height: 1.35; }

/* Sizes */
.pdp-sizes { display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-sz {
  padding: 12px 16px; border: 1.5px solid var(--cbd); border-radius: 10px;
  background: var(--cbg); font-size: 0.95rem; font-weight: 700; color: var(--ct);
  transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.pdp-sz.is-active { border-color: var(--cb); background: var(--cb); color: var(--cbt); box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-1px); }
.pdp-sz:hover:not(.is-active) { border-color: var(--ctl); transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0,0,0,0.05); }

/* Colour carousel — COMPACT, horizontal scroll */
.pdp-carousel {
  display: flex; gap: 9px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-carousel::-webkit-scrollbar { display: none; }

.pdp-col-card {
  flex: 0 0 100px;         /* ~3.2 visible on 375px screen */
  display: flex; flex-direction: column; gap: 4px;
  border: 1.5px solid var(--cbd); border-radius: 8px; overflow: hidden;
  background: var(--cbga); scroll-snap-align: start;
  transition: border-color .15s;
}
.pdp-col-card.is-selected { border-color: var(--cb); }
.pdp-col-card.is-disabled { opacity: .5; }

.pdp-col-card__img {
  position: relative; aspect-ratio: 1; overflow: hidden;
}
.pdp-col-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.pdp-col-card:hover .pdp-col-card__img img { transform: scale(1.06); }

.pdp-col-card__qty {
  position: absolute; top: 4px; right: 4px;
  background: var(--cb); color: var(--cbt);
  font-size: .6rem; font-weight: 900;
  padding: 1px 5px; border-radius: 8px; line-height: 1.5;
}
.pdp-col-card__name {
  font-size: .65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: var(--ct); padding: 0 5px; text-align: center;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pdp-col-card__btn {
  margin: 0 5px 5px; padding: 6px 0; width: calc(100% - 10px);
  background: var(--ca); color: #fff;
  border: none; border-radius: 5px;
  font-size: .75rem; font-weight: 800;
  transition: opacity .15s;
}
.pdp-col-card__btn:hover { opacity: .85; }
.pdp-col-card.is-disabled .pdp-col-card__btn { background: var(--cbd); color: var(--ctl); cursor: not-allowed; }

.pdp-counter { font-size: .78rem; font-weight: 700; color: var(--ca); }

/* ── SLOTS + PROGRESS ──────────────────────────────────────── */
.pdp-slots-wrap {
  background: var(--cbga); border: 1px solid var(--cbd); border-radius: 10px;
  padding: 14px; gap: 10px;
}

.pdp-segs { display: flex; gap: 5px; }
.pdp-seg { flex: 1; height: 9px; background: var(--cbd); border-radius: 4px; transition: background .3s; }
.pdp-seg.is-filled { background: var(--cs); }

.pdp-slots-scroll { overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; }
.pdp-slots-scroll::-webkit-scrollbar { display: none; }
.pdp-slots { display: flex; align-items: flex-start; gap: 10px; width: max-content; min-width: 100%; }

.pdp-slot-item {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  flex: 0 0 60px; /* Fixed width for the whole column */
}
.pdp-slot {
  width: 56px; height: 56px; flex: 0 0 56px;
  border: 1.5px dashed var(--cbd); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; position: relative; overflow: hidden; transition: border-color .2s;
}
.pdp-slot svg { width: 20px; height: 20px; color: #c0c7d0; }
.pdp-slot.is-filled { border-style: solid; border-color: var(--cs); }
.pdp-slot.is-filled svg { display: none; }
.pdp-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: slotIn .3s cubic-bezier(.34,1.56,.64,1); }
@keyframes slotIn { 0% { transform: scale(.3); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.pdp-slot__rm-row {
  background: #f3f4f6; color: #4b5563;
  border: 1px solid #d1d5db; border-radius: 4px;
  font-size: .55rem; font-weight: 800; text-transform: uppercase;
  padding: 4px 6px; width: 100%;
  cursor: pointer; transition: all .2s;
  text-align: center;
}
.pdp-slot__rm-row:hover { background: #ef4444; color: #fff; border-color: #ef4444; }

.pdp-hint { margin-top: 12px; font-size: .75rem; color: var(--ctl); line-height: 1.5; }
@keyframes pdpShake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-5px)} 40%{transform:translateX(5px)} 60%{transform:translateX(-3px)} 80%{transform:translateX(3px)} }
.pdp-shake { animation: pdpShake .4s ease; }

/* ── CTA BLOCK ─────────────────────────────────────────────── */
.pdp-cta-wrap {
  padding: 12px 0 24px;
  display: flex; flex-direction: column; gap: 16px;
}

/* Sticky CTA on mobile */
.pdp-cta {
  width: 100%; padding: 18px;
  font-size: 1.1rem; font-weight: 900;
  border: none; border-radius: 12px; letter-spacing: 0.05em; text-transform: uppercase;
  cursor: not-allowed; background: var(--cbd); color: var(--ctl); 
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.pdp-cta.is-ready {
  background: linear-gradient(135deg, var(--cb), #222); color: var(--cbt);
  cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.pdp-cta.is-ready:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,0,0,0.3); }
.pdp-cta.is-ready:active { transform: scale(0.97) translateY(0); box-shadow: 0 4px 12px rgba(0,0,0,0.2); }

.pdp-cta-note { font-size: .72rem; color: var(--ctl); text-align: center; }
.pdp-trust-row {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 16px;
  font-size: .7rem; font-weight: 700; color: var(--ctl);
}
.pdp-trust-item {
  display: flex; align-items: center; gap: 5px;
}
.pdp-trust-item svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ── USP Bullets ─────────────────────────────────────────── */
.pdp-usps {
  list-style: none;
  display: flex; flex-direction: column; gap: 6px;
  padding: 12px 14px;
  background: var(--cbga);
  border: 1px solid var(--cbd);
  border-radius: 10px;
}
.pdp-usp {
  display: flex; align-items: center; gap: 8px;
  font-size: .82rem; font-weight: 600; color: var(--ct); line-height: 1.3;
}
.pdp-usp__icon { width: 18px; height: 18px; color: var(--cs); flex-shrink: 0; }

/* ── Low Stock Bar ───────────────────────────────────────── */
.pdp-stock-bar {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px;
  background: #FFF7ED;
  border: 1px solid #FED7AA;
  border-radius: 8px;
}
.pdp-stock-bar__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--cd); flex-shrink: 0;
  animation: pdpBlink 1.2s infinite;
}
@keyframes pdpBlink { 0%,100%{opacity:1} 50%{opacity:.25} }
.pdp-stock-bar__text { font-size: .78rem; font-weight: 800; color: #92400E; flex: 1; }
.pdp-stock-bar__track {
  width: 60px; height: 8px; background: #FED7AA; border-radius: 4px; flex-shrink: 0; overflow: hidden;
}
.pdp-stock-bar__fill { height: 100%; background: var(--cd); border-radius: 4px; transition: width .6s; }

/* ── Popular Packs ────────────────────────────────────────── */
.pdp-popular { padding: 36px 16px; background: var(--cbg); }
.pdp-pack-carousel {
  display: flex; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-pack-carousel::-webkit-scrollbar { display: none; }

.pdp-pack-card {
  flex: 0 0 77vw; max-width: 300px;
  background: var(--cbga); border: 1px solid var(--cbd); border-radius: 12px;
  overflow: hidden; scroll-snap-align: start; position: relative;
  transition: transform .2s, box-shadow .2s;
}
.pdp-pack-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,.1); }

.pdp-pack-card__badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #fff; font-size: .7rem; font-weight: 900;
  padding: 4px 10px; border-radius: 4px; color: var(--ct);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.pdp-pack-card__img { 
  aspect-ratio: 1/1; 
  background: #f8f8f8;
  padding: 10px;
  display: flex; align-items: center; justify-content: center;
}
.pdp-pack-card__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pdp-pack-card__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 5px; }
.pdp-pack-card__name { font-size: .95rem; font-weight: 800; color: var(--ct); }
.pdp-pack-card__pricing { display: flex; align-items: center; gap: 8px; }
.pdp-pack-card__old { font-size: .85rem; color: var(--ctl); }
.pdp-pack-card__new { font-size: 1.1rem; font-weight: 900; color: var(--ct); }
.pdp-pack-card__per { font-size: .72rem; font-weight: 700; color: var(--ca); }
.pdp-pack-card__sizes-lbl {
  font-size: .55rem; font-weight: 800; color: var(--ctl);
  letter-spacing: .06em; margin-top: 4px;
}
.pdp-pack-card__sizes { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.pdp-pack-card__sz {
  flex: 1; min-width: 32px; padding: 6px 0;
  font-size: .65rem; font-weight: 700; text-align: center;
  background: #fff; border: 1px solid var(--cbd); border-radius: 4px; color: var(--ctl);
  transition: all .2s;
}
.pdp-pack-card__sz.is-active {
  border-color: var(--cb); background: var(--cb); color: var(--cbt);
}
.pdp-pack-card__btn {
  margin-top: 10px; width: 100%; padding: 12px;
  background: var(--cb); color: var(--cbt);
  border: none; border-radius: 8px;
  font-size: .85rem; font-weight: 900; cursor: pointer;
  transition: opacity .15s, transform .1s;
}
.pdp-pack-card__btn:hover { opacity: .9; }
.pdp-pack-card__btn:active { transform: scale(.98); }
.pdp-pack-card__btn:disabled { opacity: .6; cursor: not-allowed; }

/* ── Social Proof Popup ──────────────────────────────────── */
.pdp-proof-popup {
  position: fixed; bottom: 20px; left: 16px; z-index: 9980;
  max-width: calc(100vw - 32px);
  animation: proofSlideIn .4s cubic-bezier(.34,1.56,.64,1);
}
.pdp-proof-popup[hidden] { display: none; }
@keyframes proofSlideIn {
  0% { transform: translateY(80px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
.pdp-proof-popup__inner {
  display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,0.94); border: 1px solid var(--cbd);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-radius: 14px; padding: 12px 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
  min-width: 260px;
}
.pdp-proof-popup__icon {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--csbg); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.pdp-proof-popup__icon svg { width: 18px; height: 18px; color: var(--cs); filter: drop-shadow(0 0 4px rgba(16,185,129,0.2)); }
.pdp-proof-popup__text { font-size: .8rem; color: var(--ctl); line-height: 1.4; flex: 1; }
.pdp-proof-popup__text strong { color: var(--ct); }
.pdp-proof-popup__close {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--cbga); border: none; padding: 0;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; cursor: pointer;
}
.pdp-proof-popup__close svg { width: 10px; height: 10px; color: var(--ctl); }

/* STICKY BOTTOM BAR — see end of file for new implementation */

/* ══════════════════════════════════════════
   BELOW-FOLD CRO SECTIONS
══════════════════════════════════════════ */

/* 3-col Benefit strip */
.pdp-benefits {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--cbd); border-bottom: 1px solid var(--cbd);
  margin-top: 24px;
}
.pdp-benefit {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 14px 8px; text-align: center;
  border-right: 1px solid var(--cbd);
  font-size: .7rem; font-weight: 700; color: var(--ct);
}
.pdp-benefit:last-child { border-right: none; }
.pdp-benefit__icon-wrap { width: 28px; height: 28px; color: var(--cs); }
.pdp-benefit__icon-wrap svg { width: 100%; height: 100%; }
.pdp-benefit__title { font-weight: 800; line-height: 1.2; }
.pdp-benefit__sub { font-size: .65rem; font-weight: 500; color: var(--ctl); }

/* Social proof quote */
.pdp-quote {
  padding: 32px 20px;
  background: var(--cbga);
  text-align: center;
}
.pdp-quote__body { max-width: 480px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.pdp-quote blockquote { font-size: 1.1rem; font-weight: 700; color: var(--ct); line-height: 1.45; font-style: italic; }
.pdp-quote cite { font-size: .8rem; font-weight: 800; color: var(--ctl); font-style: normal; }

/* Section headings */
.pdp-eyebrow { font-size: 0.75rem; font-weight: 900; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ca); text-align: center; margin-bottom: 6px; text-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.pdp-section-title { font-size: 1.6rem; font-weight: 900; color: var(--ct); text-align: center; line-height: 1.15; margin-bottom: 22px; }
.pdp-section-title--light { color: #fff; }

/* Problems horizontal carousel */
.pdp-problems { padding: 36px 16px; background: var(--cbg); }

.pdp-h-scroll {
  display: flex; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-h-scroll::-webkit-scrollbar { display: none; }

.pdp-prob-card {
  flex: 0 0 72vw; max-width: 280px;
  background: var(--cbga); border: 1px solid var(--cbd); border-radius: 10px;
  overflow: hidden; scroll-snap-align: start;
}
.pdp-prob-card__img { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.pdp-prob-card__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-tag {
  position: absolute; bottom: 7px;
  font-size: .6rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 3px; color: #fff;
}
.pdp-tag--bad { left: 7px; background: var(--cd); }
.pdp-tag--good { right: 7px; background: var(--cs); }
.pdp-prob-card__text { padding: 10px 12px 12px; }
.pdp-prob-card__bad { font-size: .8rem; color: var(--ctl); margin-bottom: 4px; line-height: 1.4; }
.pdp-prob-card__good { font-size: .82rem; font-weight: 700; color: var(--ct); line-height: 1.4; }

/* Feature horizontal carousel — 4 across on desktop, swipeable on mobile */
.pdp-features { padding: 36px 16px; background: var(--cbga); }
.pdp-feat-carousel {
  display: flex; gap: 14px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-feat-carousel::-webkit-scrollbar { display: none; }
.pdp-feat {
  flex: 0 0 78vw; max-width: 260px;
  background: #fff; border: 1px solid var(--cbd); border-radius: 14px;
  padding: 22px 20px; display: flex; flex-direction: column; gap: 10px;
  scroll-snap-align: start;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s;
}
.pdp-feat:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); border-color: rgba(0,0,0,0.1); }
.pdp-feat__icon { width: 36px; height: 36px; color: var(--ca); background: var(--csbg); padding: 6px; border-radius: 8px; }
.pdp-feat__icon svg { width: 100%; height: 100%; }
.pdp-feat__title { font-size: 1.05rem; font-weight: 800; color: var(--ct); line-height: 1.2; }
.pdp-feat__text { font-size: 0.85rem; color: var(--ctl); line-height: 1.5; }

.pdp-comp { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--comp-bg, #111827), #0a0f18); padding: 56px 16px; transition: background .3s; }
.pdp-comp__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.25; mix-blend-mode: overlay; }
.pdp-comp__inner { position: relative; z-index: 2; max-width: 520px; margin: 0 auto; }
.pdp-comp__table { border: 1px solid rgba(255,255,255,0.15); border-radius: 16px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,0.3); background: rgba(0,0,0,0.2); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.pdp-comp__head {
  display: grid; grid-template-columns: 1fr 80px 80px;
  background: rgba(255,255,255,0.08);
  padding: 16px 18px;
  font-size: 0.8rem; font-weight: 900;
  letter-spacing: 0.1em; text-transform: uppercase;
  border-bottom: 1px solid var(--comp-row-border, rgba(255,255,255,0.1));
}
.pdp-comp__head span:first-child { color: rgba(255,255,255,0.6); }
.pdp-comp__head span:nth-child(2) { text-align: center; color: var(--comp-us, #10B981); text-shadow: 0 0 12px rgba(16,185,129,0.4); font-size: 0.85rem; }
.pdp-comp__head span:nth-child(3) { text-align: center; color: var(--comp-them, rgba(255,255,255,0.4)); }
.pdp-comp__row {
  display: grid; grid-template-columns: 1fr 80px 80px;
  border-top: 1px solid var(--comp-row-border, rgba(255,255,255,0.07));
  padding: 16px 18px;
  align-items: center;
  transition: background 0.2s;
}
.pdp-comp__row:hover { background: rgba(255,255,255,0.04); }
.pdp-comp__row span:first-child { font-size: 0.95rem; font-weight: 600; color: var(--comp-label, rgba(255,255,255,0.9)); }
.pdp-comp__check, .pdp-comp__cross { display: flex; justify-content: center; }
.pdp-comp__check svg { width: 20px; height: 20px; color: var(--comp-us, #10B981); filter: drop-shadow(0 0 4px rgba(16,185,129,0.3)); }
.pdp-comp__cross svg { width: 18px; height: 18px; color: var(--cd); opacity: 0.8; }

/* Modal */
.pdp-modal { position: fixed; inset: 0; z-index: 9990; display: flex; align-items: center; justify-content: center; }
.pdp-modal[hidden] { display: none; }
.pdp-modal__bd { position: absolute; inset: 0; background: rgba(0,0,0,.75); }
.pdp-modal__box { position: relative; background: #fff; border-radius: 12px; overflow: hidden; max-width: 90vw; max-height: 90vh; z-index: 1; }
.pdp-modal__box img { display: block; width: 100%; max-width: 700px; max-height: 85vh; object-fit: contain; }
.pdp-modal__x { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; border: none; display: flex; align-items: center; justify-content: center; }
.pdp-modal__x svg { width: 16px; height: 16px; color: #fff; }

/* ── Hero Banner (mobile) ─────────────────────────────── */
.pdp-hero-banner {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: space-between;
  min-height: 130px;
  background-size: cover; background-position: center;
  padding: 22px 20px;
  gap: 10px;
}
.pdp-hero-banner__inner {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 6px; z-index: 1;
}
.pdp-hero-banner__pill {
  display: flex; align-items: center; gap: 5px;
  font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.88);
}
.pdp-hero-av {
  width: 22px; height: 22px; border-radius: 50%;
  object-fit: cover; border: 1.5px solid rgba(255,255,255,.55);
  margin-left: -5px;
}
.pdp-hero-av:first-child { margin-left: 0; }
.pdp-hero-banner__title {
  font-size: 1.15rem; font-weight: 900; line-height: 1.15; color: #fff;
}
.pdp-hero-banner__sub {
  font-size: .75rem; line-height: 1.5; color: rgba(255,255,255,.75);
  max-width: 280px;
}
.pdp-hero-banner__side {
  position: absolute; right: 0; top: 0; height: 100%;
  width: auto; object-fit: cover; z-index: 0; opacity: .45;
  pointer-events: none;
}

/* ════════════════════════════════════════════════════════
   PREMIUM UI POLISH
════════════════════════════════════════════════════════ */
.pdp { font-feature-settings: "kern" 1, "liga" 1; }
.pdp-title { letter-spacing: -.02em; }
.pdp-pack {
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.pdp-pack:hover:not(.is-active) { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.09); }
.pdp-pack.is-active { box-shadow: 0 0 0 2px var(--cb), 0 4px 16px rgba(0,0,0,.1); }

.pdp-sz { border-radius: 8px; letter-spacing: .01em; }
.pdp-cta.is-ready:hover { box-shadow: 0 8px 28px rgba(0,0,0,.28); transform: translateY(-1px); }
.pdp-cta.is-ready:active { transform: scale(.98) translateY(0); }
.pdp-section-title { letter-spacing: -.03em; }
.pdp-feat { box-shadow: 0 1px 4px rgba(0,0,0,.06); transition: transform .2s, box-shadow .2s; }
.pdp-feat:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,.1); }
.pdp-pack-card { box-shadow: 0 2px 8px rgba(0,0,0,.07); }

/* ── Quick Buy Modal ────────────────────────────────────── */
.pdp-quickbuy {
  position: fixed; inset: 0; z-index: 9988;
  display: flex; align-items: flex-end; justify-content: center;
}
.pdp-quickbuy[hidden] { display: none !important; }
.pdp-quickbuy__bd { position: absolute; inset: 0; background: rgba(0,0,0,.5); backdrop-filter: blur(4px); }
.pdp-quickbuy__sheet {
  position: relative; z-index: 1; width: 100%; max-width: 540px;
  background: #fff; border-radius: 20px 20px 0 0;
  padding: 20px 20px 32px;
  animation: pdpSheetUp .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes pdpSheetUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.pdp-quickbuy__handle { width: 36px; height: 4px; background: #E5E7EB; border-radius: 2px; margin: 0 auto 16px; }
.pdp-quickbuy__img { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.pdp-quickbuy__img img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; border: 1px solid var(--cbd); }
.pdp-quickbuy__info { flex: 1; }
.pdp-quickbuy__name { font-size: 1rem; font-weight: 800; color: var(--ct); line-height: 1.2; }
.pdp-quickbuy__price { font-size: 1.1rem; font-weight: 700; color: var(--ct); margin-top: 4px; }
.pdp-quickbuy__sizes-label { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 10px; color: var(--ctl); }
.pdp-quickbuy__sizes { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.pdp-quickbuy__sz {
  padding: 12px 18px; border: 1.5px solid var(--cbd); border-radius: 8px;
  font-size: .9rem; font-weight: 700; color: var(--ct);
  background: #fff; transition: all .15s;
}
.pdp-quickbuy__sz.is-active { border-color: var(--cb); background: var(--cb); color: var(--cbt); }
.pdp-quickbuy__atc {
  width: 100%; padding: 18px;
  background: var(--cb); color: var(--cbt);
  border: none; border-radius: 12px;
  font-size: 1.1rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase;
  transition: opacity .15s, transform .1s;
}
.pdp-quickbuy__atc:disabled { opacity: .5; cursor: not-allowed; }
.pdp-quickbuy__atc:not(:disabled):active { transform: scale(.98); }
.pdp-quickbuy__close {
  position: absolute; top: 16px; right: 16px;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--cbga); border: none;
  display: flex; align-items: center; justify-content: center;
}
.pdp-quickbuy__close svg { width: 14px; height: 14px; color: var(--ctl); }

/* ── Desktop upgrades ────────────────────────────────────── */
@media (min-width: 768px) {
  .pdp {
    display: flex;
    flex-wrap: wrap;
    max-width: 1240px;
    padding: 0 20px;
    margin: 40px auto;
    align-items: flex-start;
    gap: 40px;
  }
  .pdp-gallery { 
    width: calc(100% - 460px - 40px);
    position: relative;
    align-self: flex-start;
    background: transparent;
    z-index: 1;
    overflow: hidden;
    border-radius: 16px;
  }
  .pdp-buy { 
    width: 460px;
    padding: 16px 0 0 0; 
    z-index: 2;
  }
  /* Below-fold sections span full width */
  .pdp-benefits, .pdp-quote, .pdp-problems, .pdp-features, .pdp-comp, .pdp-popular,
  .pdp-custphotos, .pdp-testimonials, .pdp-press, .pdp-ba, .pdp-faq,
  .pdp-ugc, .pdp-experts, .pdp-howto { width: 100%; z-index: 2; position: relative; margin-top: 12px; }

  .pdp-gallery__slide { aspect-ratio: 4/5; max-height: calc(100vh - 60px); width: 100%; border-radius: 12px; }
  .pdp-gallery__slide img { object-position: center; }
  .pdp-cta-wrap { padding-bottom: 24px; }

  .pdp-gallery__arrow {
    display: flex; position: absolute; top: 50%; margin-top: -24px;
    width: 48px; height: 48px; border-radius: 50%; background: #fff;
    border: none; box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    align-items: center; justify-content: center; z-index: 10; cursor: pointer;
    transition: transform 0.2s; color: #111;
  }
  .pdp-gallery__arrow:hover { transform: scale(1.08); }
  .pdp-gallery__arrow--prev { left: 16px; }
  .pdp-gallery__arrow--next { right: 16px; }
  .pdp-gallery__arrow svg { width: 22px; height: 22px; }

  /* Thumbnail strip — horizontal on desktop */
  .pdp-thumbs { display: flex; gap: 8px; margin-top: 10px; }
  .pdp-thumb { width: 64px; height: 64px; }

  /* Feature cards — 4 in a row */
  .pdp-feat { flex: none; max-width: none; }
  .pdp-feat-carousel { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px; 
    overflow-x: visible; 
  }

  .pdp-pack-carousel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    overflow-x: visible;
  }
  .pdp-pack-card { flex: none; max-width: none; }

  .pdp-col-card { flex: 0 0 120px; }
  .pdp-prob-card { flex: 0 0 calc(50% - 10px); }
  .pdp-h-scroll { display: flex; flex-wrap: wrap; overflow-x: visible; }

  .pdp-slot { flex: 0 0 58px; height: 58px; }
  
  /* Hero banner desktop */
  .pdp-hero-banner { min-height: 180px; padding: 32px 48px; }
  .pdp-hero-banner__title { font-size: 2rem; }
  .pdp-hero-banner__side { opacity: 1; width: 42%; }

  /* Before/After side by side */
  .pdp-ba__grid { grid-template-columns: 1fr 1fr; }

  /* Customer photos — larger on desktop */
  .pdp-custphoto { flex: 0 0 220px; }

  /* Sticky bar hidden on desktop */
  .pdp-sticky-bar { display: none !important; }

  /* FAQ wider */
  .pdp-faq-list { max-width: 720px; margin: 0 auto; }
}

/* ── Size Guide Modal ── */
.pdp-sg-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.7);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  z-index: 100000; opacity: 0; visibility: hidden; transition: all 0.3s;
}
.pdp-sg-overlay.is-open { opacity: 1; visibility: visible; }
.pdp-sg-modal {
  position: fixed; top: 50%; left: 50%; width: 92vw; max-width: 600px;
  background: #fff; border-radius: 20px; z-index: 100001;
  transform: translate(-50%, -45%) scale(0.95);
  opacity: 0; visibility: hidden; transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.pdp-sg-modal.is-open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.pdp-sg-close {
  position: absolute; top: 12px; right: 12px; width: 34px; height: 34px;
  background: var(--cb, #000); color: var(--cbt, #fff); border-radius: 50%; border: none;
  display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.pdp-sg-inner { padding: 30px; text-align: center; max-height: 85vh; overflow-y: auto; }
.pdp-sg-title { margin: 0 0 20px; font-size: 1.25rem; color: #111; font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; }
.pdp-sg-inner img { width: 100%; height: auto; border-radius: 12px; }
@media (max-width: 767px) {
  .pdp-sg-inner { padding: 20px; }
  .pdp-sg-modal { width: 95vw; }
}

/* ══════════════════════════════════════════════════════════
   NEW CRO SECTIONS
══════════════════════════════════════════════════════════ */

/* ── Thumbnail Strip ─────────────────────────────────── */
.pdp-thumbs {
  display: none; /* hidden on mobile — dots handle navigation */
  gap: 6px; margin-top: 8px; padding: 0 4px;
  overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none;
}
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumb {
  flex: 0 0 52px; width: 52px; height: 52px;
  border: 2px solid transparent; border-radius: 8px;
  overflow: hidden; cursor: pointer; padding: 0; background: none;
  transition: border-color 0.2s, opacity 0.2s;
  opacity: 0.6;
}
.pdp-thumb.is-active { border-color: var(--cb); opacity: 1; }
.pdp-thumb:hover { opacity: 1; }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ── Pulse Animation (scroll-to-colours) ─────────────── */
@keyframes pdpPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(76,163,110,0); }
  50% { box-shadow: 0 0 0 8px rgba(76,163,110,0.25); }
}
.pdp-pulse { animation: pdpPulse 0.6s ease 2; border-radius: 12px; }

/* ── Customer Photo Carousel ─────────────────────────── */
.pdp-custphotos { padding: 40px 16px; background: var(--cbg); }
.pdp-custphotos__track {
  display: flex; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-custphotos__track::-webkit-scrollbar { display: none; }
.pdp-custphoto {
  flex: 0 0 68vw; max-width: 280px;
  border-radius: 14px; overflow: hidden;
  scroll-snap-align: start; position: relative;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transition: transform 0.3s;
}
.pdp-custphoto:hover { transform: translateY(-4px); }
.pdp-custphoto img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; }
.pdp-custphoto__cap {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 14px 12px;
  background: linear-gradient(to top, rgba(0,0,0,0.65), transparent);
  font-size: 0.78rem; font-weight: 700; color: #fff;
}

/* ── Testimonial Carousel ────────────────────────────── */
.pdp-testimonials { padding: 40px 16px; background: var(--cbga); text-align: center; }
.pdp-testi-wrap { position: relative; min-height: 140px; max-width: 560px; margin: 0 auto; }
.pdp-testi-slide {
  display: none; flex-direction: column; align-items: center; gap: 12px;
  animation: pdpFadeIn 0.5s ease;
}
.pdp-testi-slide.is-active { display: flex; }
@keyframes pdpFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.pdp-testi-slide blockquote {
  font-size: 1.1rem; font-weight: 700; color: var(--ct);
  line-height: 1.5; font-style: italic; max-width: 480px;
}
.pdp-testi-slide cite {
  font-size: 0.85rem; font-weight: 800; color: var(--ctl); font-style: normal;
}
.pdp-testi-verified {
  display: inline-block; font-size: 0.7rem; font-weight: 800;
  color: var(--cs); background: var(--csbg);
  padding: 2px 8px; border-radius: 10px; margin-left: 6px;
  vertical-align: middle;
}
.pdp-testi-dots { display: flex; justify-content: center; gap: 6px; margin-top: 16px; }
.pdp-testi-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--cbd); border: none; padding: 0; cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.pdp-testi-dot.is-active { background: var(--cb); transform: scale(1.3); }

/* ── Press / As Seen In ──────────────────────────────── */
.pdp-press { padding: 32px 16px; background: var(--cbg); text-align: center; }
.pdp-press__title {
  font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ctl); margin-bottom: 16px;
}
.pdp-press__row {
  display: flex; align-items: center; justify-content: center;
  gap: 24px; flex-wrap: wrap;
}
.pdp-press__logo {
  flex: 0 0 auto; max-width: 100px;
  filter: grayscale(1) opacity(0.5);
  transition: filter 0.3s, transform 0.2s;
}
.pdp-press__logo:hover { filter: grayscale(0) opacity(1); transform: scale(1.08); }
.pdp-press__logo img { max-height: 36px; width: auto; display: block; margin: 0 auto; }
.pdp-press__logo a { display: block; }

/* ── Before / After ──────────────────────────────────── */
.pdp-ba { padding: 40px 16px; background: var(--cbga); }
.pdp-ba__grid {
  display: grid; grid-template-columns: 1fr; gap: 16px;
  max-width: 800px; margin: 0 auto;
}
.pdp-ba__side {
  position: relative; border-radius: 14px; overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.pdp-ba__side img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.pdp-ba__before img { filter: saturate(0.4) brightness(0.9); }
.pdp-ba__after img { filter: saturate(1.1) brightness(1.05); }
.pdp-ba__label {
  position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%);
  font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 6px 16px; border-radius: 8px; color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.pdp-ba__label--bad { background: var(--cd); }
.pdp-ba__label--good { background: var(--cs); }

/* ── FAQ Accordion ───────────────────────────────────── */
.pdp-faq { padding: 40px 16px; background: var(--cbg); }
.pdp-faq-list { display: flex; flex-direction: column; gap: 0; }
.pdp-faq-item {
  border-bottom: 1px solid var(--cbd);
}
.pdp-faq-item:first-child { border-top: 1px solid var(--cbd); }
.pdp-faq-q {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  padding: 18px 4px; gap: 12px;
  background: none; border: none; cursor: pointer; text-align: left;
  font-size: 1rem; font-weight: 700; color: var(--ct);
  transition: color 0.2s;
}
.pdp-faq-q:hover { color: var(--ca); }
.pdp-faq-icon {
  width: 18px; height: 18px; flex-shrink: 0; color: var(--ctl);
  transition: transform 0.3s;
}
.pdp-faq-item.is-open .pdp-faq-icon { transform: rotate(45deg); color: var(--ca); }
.pdp-faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.pdp-faq-a__inner {
  padding: 0 4px 18px;
  font-size: 0.9rem; line-height: 1.6; color: var(--ctl);
}

/* ── Sticky Bar (mobile) improvements ────────────────── */
.pdp-sticky-bar {
  display: flex;
  position: fixed; bottom: 0; left: 0; width: 100%; z-index: 9990;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid var(--cbd);
  box-shadow: 0 -6px 24px rgba(0,0,0,0.12);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.pdp-sticky-bar.is-visible {
  transform: translateY(0);
}
.pdp-sticky-bar .pdp-cta { width: 100%; }

/* ── UGC Gallery ─────────────────────────────────────── */
.pdp-ugc { padding: 40px 16px; background: var(--cbg); text-align: center; }
.pdp-ugc__grid {
  display: flex; gap: 12px; margin-top: 24px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 4px;
}
.pdp-ugc__grid::-webkit-scrollbar { display: none; }
.pdp-ugc__item {
  flex: 0 0 45vw; max-width: 220px;
  position: relative; border-radius: 10px; overflow: hidden;
  scroll-snap-align: start;
}
.pdp-ugc__item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.pdp-ugc__handle {
  position: absolute; bottom: 8px; left: 8px;
  display: flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,0.3); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 4px 10px; border-radius: 20px;
  font-size: 0.75rem; font-weight: 700; color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
}
.pdp-ugc__handle svg { width: 12px; height: 12px; }
@media (min-width: 768px) {
  .pdp-ugc__grid { justify-content: center; }
  .pdp-ugc__item { flex: 0 0 19%; }
}

/* ── Experts ─────────────────────────────────────────── */
.pdp-experts { padding: 40px 16px; background: var(--cbga); text-align: center; }
.pdp-experts__grid {
  display: flex; gap: 16px; margin-top: 24px;
  overflow-x: auto; scroll-snap-type: x mandatory;
  -ms-overflow-style: none; scrollbar-width: none;
  padding-bottom: 8px;
}
.pdp-experts__grid::-webkit-scrollbar { display: none; }
.pdp-expert-card {
  flex: 0 0 85vw; max-width: 380px;
  background: #fff; border: 1px solid #EBEBEB; border-radius: 12px;
  overflow: hidden; scroll-snap-align: start; text-align: left;
}
.pdp-expert-card__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.pdp-expert-card__body { padding: 20px; }
.pdp-expert-card__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.pdp-expert-card__head h3 { font-size: 1rem; font-weight: 900; margin: 0; display: flex; align-items: center; gap: 4px; }
.pdp-expert-card__head h3 svg { width: 14px; height: 14px; }
.pdp-expert-card__head span { font-size: 0.75rem; color: var(--ctl); font-weight: 600; padding-left: 8px; border-left: 1px solid #ddd; }
.pdp-expert-card__body p { font-size: 0.9rem; color: var(--ctl); line-height: 1.5; margin: 0; }
@media (min-width: 768px) {
  .pdp-experts__grid { justify-content: center; }
  .pdp-expert-card { flex: 1; }
}

/* ── How To Tabs ─────────────────────────────────────── */
.pdp-howto { padding: 40px 16px; background: var(--cbg); max-width: 800px; margin: 0 auto; }
.pdp-howto__nav {
  display: flex; justify-content: center; gap: 24px; border-bottom: 1px solid #eee;
  margin-bottom: 24px; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none;
}
.pdp-howto__nav::-webkit-scrollbar { display: none; }
.pdp-howto__tab {
  background: none; border: none; padding: 12px 4px;
  font-size: 0.85rem; font-weight: 800; color: var(--ctl);
  letter-spacing: 0.05em; text-transform: uppercase;
  border-bottom: 2px solid transparent; cursor: pointer;
  white-space: nowrap; transition: all 0.2s;
}
.pdp-howto__tab:hover { color: var(--ct); }
.pdp-howto__tab.is-active { color: var(--ct); border-bottom-color: var(--ct); }

.pdp-howto__panel { display: none; animation: pdpFadeIn 0.4s ease; }
.pdp-howto__panel.is-active { display: block; }
.pdp-howto__card {
  background: var(--cbga); border-radius: 16px; overflow: hidden;
}
.pdp-howto__img img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.pdp-howto__content { padding: 32px 24px; }
.pdp-howto__content h3 { font-size: 1.25rem; font-weight: 900; margin-bottom: 20px; }
.pdp-howto__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.pdp-howto__steps li { display: flex; align-items: flex-start; gap: 12px; }
.pdp-howto__num {
  width: 24px; height: 24px; flex-shrink: 0;
  background: #E5E7EB; color: #111; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; font-weight: 800;
}
.pdp-howto__steps p { font-size: 0.95rem; color: var(--ct); margin: 0; line-height: 1.4; font-weight: 600; padding-top: 2px; }
.pdp-howto__tip { margin-top: 24px; font-size: 0.9rem; color: var(--ctl); background: #fff; padding: 12px 16px; border-radius: 8px; border: 1px solid #eee; }
@media (min-width: 768px) {
  .pdp-howto__img img { aspect-ratio: 16/9; }
}
.pdp-sticky-bar .pdp-cta { width: 100%; }
}

/* ══════════════════════════════════════════════════════════
   ELITE REDESIGN — COMPACT TOP SECTION (NORATIV STYLE)
══════════════════════════════════════════════════════════ */

/* 1. GALLERY: Square 1:1 & White Background IN ELITE SECTION */
[id^="pdp-"] .pdp-gallery {
    background: #ffffff !important;
}
[id^="pdp-"] .pdp-gallery__slide {
    aspect-ratio: 1 / 1 !important;
    background: #ffffff !important;
}
[id^="pdp-"] .pdp-gallery__slide img {
    object-fit: contain !important;
    background: #ffffff !important;
}

/* 30 DAY GUARANTEE Pill Badge */
[id^="pdp-"] .pdp-gallery::before {
    content: "30 DAY GUARANTEE";
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 20;
    background: #1B3A2D !important; /* Dark Green */
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 6px 14px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* 2. PRODUCT INFO: Red Strikethrough & Compact Spacing */
.pdp-buy {
    padding: 8px 16px 0 !important;
    gap: 12px !important;
}
.pdp-buy__header {
    margin-bottom: 0 !important;
}

/* Strike-through Price in Red */
.pdp-price--old {
    color: #DC2626 !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: line-through !important;
    opacity: 1 !important;
}

/* Remove all grey backgrounds — White only IN ELITE SECTION */
[id^="pdp-"] .pdp-packs, 
[id^="pdp-"] .pdp-pack, 
[id^="pdp-"] .pdp-slots-wrap, 
[id^="pdp-"] .pdp-usps, 
[id^="pdp-"] .pdp-features, 
[id^="pdp-"] .pdp-problems, 
[id^="pdp-"] .pdp-bg-grey {
    background-color: #ffffff !important;
}

/* 3. USP SECTION: Icon Cards (3 in a row) IN ELITE SECTION */
[id^="pdp-"] .pdp-usps {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
[id^="pdp-"] .pdp-usp {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 6px !important;
    padding: 10px 6px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    min-height: 85px !important;
    justify-content: center !important;
}
[id^="pdp-"] .pdp-usp svg, 
[id^="pdp-"] .pdp-usp__icon {
    width: 22px !important;
    height: 22px !important;
    color: #111 !important;
    margin-bottom: 2px !important;
}
[id^="pdp-"] .pdp-usp span, 
[id^="pdp-"] .pdp-usp__text {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #111 !important;
}

/* 4. TESTIMONIAL: Restyle existing rotator to match compact look */
.npp-testimonial-rotator {
    background: #f0f7f4 !important;
    border: 1px solid #d4e8df !important;
    border-radius: 12px !important;
    padding: 10px !important;
    margin: 4px 0 !important;
    box-shadow: 0 2px 8px rgba(27, 58, 45, 0.06) !important;
}
.npp-tm-slide p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #1B3A2D !important;
}
.npp-tm-slide span:first-child {
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #1B3A2D !important;
}

/* 5. GENERAL SPACING: Vertical Tightening */
.pdp-row {
    gap: 6px !important;
    margin-bottom: 4px !important;
}
/* ─── GENERAL SPACING: Vertical Tightening ─── */
.pdp-row {
    gap: 6px !important;
    margin-bottom: 4px !important;
}
.pdp-label {
    font-size: 0.72rem !important;
    margin-bottom: 2px !important;
}
.pdp-cta-wrap {
    padding-top: 8px !important;
    padding-bottom: 16px !important;
}
.pdp-trust-row {
    margin-top: 8px !important;
}

/* ══════════════════════════════════════════════════════════
   BRAND IDENTITY & COLOR REFINEMENT (#1B3A2D)
══════════════════════════════════════════════════════════ */

/* 1. GLOBAL BACKGROUND: Absolute White (#FFFFFF) ONLY IN ELITE SECTION */
[id^="pdp-"].pdp, 
[id^="pdp-"] .pdp-gallery, 
[id^="pdp-"] .pdp-buy, 
[id^="pdp-"] .pdp-packs, 
[id^="pdp-"] .pdp-pack, 
[id^="pdp-"] .pdp-sz, 
[id^="pdp-"] .pdp-slots-wrap, 
[id^="pdp-"] .pdp-usps, 
[id^="pdp-"] .pdp-features, 
[id^="pdp-"] .pdp-problems, 
[id^="pdp-"] .pdp-popular,
[id^="pdp-"] .pdp-bg-grey,
[id^="pdp-"] .pdp-col-card,
[id^="pdp-"] .pdp-pack-card__img,
[id^="pdp-"] .pdp-slots,
[id^="pdp-"] .pdp-slot {
    background-color: #ffffff !important;
    background-image: none !important;
}

/* Remove all lingering grey container fills ONLY IN ELITE SECTION */
[id^="pdp-"] [style*="background:#f0f0f0"],
[id^="pdp-"] [style*="background:#f7f7f7"],
[id^="pdp-"] [style*="background:#f8f8f8"],
[id^="pdp-"] [style*="background:#f3f4f6"] {
    background-color: #ffffff !important;
}

/* 2. ICON CARDS (USP SECTION): White & Brand Green ONLY IN ELITE SECTION */
[id^="pdp-"] .pdp-usps {
    background: #ffffff !important;
}
[id^="pdp-"] .pdp-usp {
    background: #ffffff !important;
    border: 1px solid #1B3A2D !important;
    box-shadow: none !important;
}
[id^="pdp-"] .pdp-usp svg, 
[id^="pdp-"] .pdp-usp__icon,
[id^="pdp-"] .pdp-usp span svg {
    color: #1B3A2D !important;
    stroke: #1B3A2D !important;
}
[id^="pdp-"] .pdp-usp span, 
[id^="pdp-"] .pdp-usp__text {
    color: #000000 !important;
}

/* 3. BRAND COLOR (#1B3A2D) ACCENTS & ACTIVE STATES */
/* Selected Borders */
[id^="pdp-"] .pdp-pack.is-active,
[id^="pdp-"] .pdp-sz.is-active,
[id^="pdp-"] .pdp-col-card.is-selected,
[id^="pdp-"] .npp-active,
[id^="pdp-"] .selected,
[id^="pdp-"] .pdp-slot.is-filled {
    border-color: #1B3A2D !important;
}

/* Selected Backgrounds */
[id^="pdp-"] .pdp-sz.is-active,
[id^="pdp-"] .pdp-col-card__qty,
[id^="pdp-"] .pdp-pack__badge,
[id^="pdp-"] .pdp-gallery__pack-pill,
[id^="pdp-"] .pdp-gallery__guarantee-pill,
[id^="pdp-"] .pdp-gallery__deal-badge,
[id^="pdp-"] .pdp-pill__badge,
[id^="pdp-"] .pdp-pill__badge-best,
[id^="pdp-"] .pdp-gallery::before {
    background: #1B3A2D !important;
    color: #ffffff !important;
}

/* Best Seller/Deal overrides */
[id^="pdp-"] .pdp-pack__badge, 
[id^="pdp-"] .pdp-pill__badge {
    background: #1B3A2D !important;
    box-shadow: none !important;
}

/* Progress bars & Checks */
[id^="pdp-"] .pdp-seg.is-filled,
[id^="pdp-"] .pdp-comp__check svg,
[id^="pdp-"] .pdp-ct-check {
    color: #1B3A2D !important;
    background-color: #1B3A2D !important;
}

/* 4. 30 DAY GUARANTEE BADGE: Positioned Bottom-Left */
[id^="pdp-"] .pdp-gallery::before {
    content: "30 DAY GUARANTEE";
    position: absolute;
    top: auto !important;
    bottom: 14px !important;
    left: 14px !important;
    z-index: 20;
    background: #1B3A2D !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 6px 14px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
/* ══════════════════════════════════════════════════════════
   ELITE REDESIGN — REFINED COMPACT BLOCKS
══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   ELITE REDESIGN — FULLY SCOPED TO ELITE SECTION
   (Prevents leakage into Norativ PDP)
══════════════════════════════════════════════════════════ */

/* 1. Global Spacing & Layout Scoping */
[id^="pdp-"] .pdp-section, 
[id^="pdp-"] .pdp-buy,
[id^="pdp-"] .pdp-experts,
[id^="pdp-"] .pdp-problems,
[id^="pdp-"] .pdp-features,
[id^="pdp-"] .pdp-quote,
[id^="pdp-"] .pdp-ba,
[id^="pdp-"] .pdp-popular {
    margin-bottom: 8px !important;
    margin-top: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

[id^="pdp-"] .pdp-buy {
    padding-top: 8px !important; /* Gallery to title */
}

[id^="pdp-"] .pdp-title {
    margin-bottom: 4px !important; /* Title to stars */
}

[id^="pdp-"] .pdp-rating {
    margin-bottom: 4px !important; /* Stars to price */
}

[id^="pdp-"] .pdp-buy__header {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}

[id^="pdp-"] .pdp-row {
    margin-bottom: 8px !important; /* Between rows (Quantity to Size, Size to Colour) */
    margin-top: 0 !important;
    padding: 0 !important;
}

[id^="pdp-"] .pdp-row-head {
    margin-bottom: 6px !important; /* Label to buttons/swatches */
}

/* 2. ICON CARDS (USP SECTION) - SCOPED */
[id^="pdp-"] .pdp-usps {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 8px 0 !important;
    background: transparent !important;
}

[id^="pdp-"] .pdp-usp {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 4px !important;
    padding: 8px 6px !important;
    background: #F5F5F5 !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(27, 58, 45, 0.08) !important;
    transition: all 0.25s ease !important;
    min-height: auto !important;
    max-height: 70px !important;
    justify-content: center !important;
}

[id^="pdp-"] .pdp-usp svg, [id^="pdp-"] .pdp-usp__icon {
    width: 16px !important;
    height: 16px !important;
    color: #1B3A2D !important;
}

[id^="pdp-"] .pdp-usp span, [id^="pdp-"] .pdp-usp__text {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #1B3A2D !important;
    line-height: 1.3 !important;
}

[id^="pdp-"] .pdp-usp:hover {
    box-shadow: 0 8px 20px rgba(27, 58, 45, 0.15) !important;
    transform: scale(1.03) !important;
}

/* 3. QUANTITY BLOCKS - SCOPED */
[id^="pdp-"] .pdp-packs {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

[id^="pdp-"] .pdp-pack {
    flex: 1 !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border: 1.5px solid #E0E0E0 !important;
    background: #ffffff !important;
    text-align: center !important;
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    position: relative !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    gap: 0 !important;
}

[id^="pdp-"] .pdp-pack.is-active {
    border: 2px solid #1B3A2D !important;
    box-shadow: 0 4px 16px rgba(27, 58, 45, 0.15) !important;
}

[id^="pdp-"] .pdp-pack:not(.is-active):hover {
    border-color: #1B3A2D !important;
}

[id^="pdp-"] .pdp-pack__badge {
    position: relative !important;
    display: inline-block !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    background: #1B3A2D !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    margin: 0 auto 4px auto !important;
    z-index: 5 !important;
    align-self: center !important;
}

[id^="pdp-"] .pdp-pack__name {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1B3A2D !important;
    margin-bottom: 2px !important;
}

[id^="pdp-"] .pdp-pack:not(.is-active) .pdp-pack__name {
    color: #333 !important;
    font-weight: 600 !important;
}

[id^="pdp-"] .pdp-pack__price-wrap {
    display: block !important;
}

[id^="pdp-"] .pdp-pack__price {
    font-size: 14px !important;
    font-weight: 800 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

[id^="pdp-"] .pdp-pack__save {
    background: #E8F0EC !important;
    color: #1B3A2D !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    padding: 2px 6px !important;
    border-radius: 6px !important;
    display: inline-block !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
}

[id^="pdp-"] .pdp-pack__sub {
    display: block !important;
    font-size: 9px !important;
    color: #666 !important;
    margin-top: 4px !important;
}

/* 4. MIDDLE SECTION COMPONENTS - SCOPED */
[id^="pdp-"] .pdp-slots-wrap {
    padding: 10px !important;
    background: transparent !important;
}

[id^="pdp-"] .pdp-slots {
    justify-content: flex-start !important;
    width: max-content !important;
    margin: 8px auto 0 auto !important;
    gap: 8px !important;
}

[id^="pdp-"] .pdp-slot-item {
    flex: 0 0 52px !important;
    width: 52px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}

[id^="pdp-"] .pdp-slot {
    height: 52px !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    border: 1.5px dashed #E0E0E0 !important;
    border-radius: 8px !important;
    background: #FAFAFA !important;
    margin: 0 !important;
}

[id^="pdp-"] .pdp-slot svg {
    width: 16px !important;
    height: 16px !important;
    color: #CCCCCC !important;
}

[id^="pdp-"] .pdp-slot__rm-row {
    width: 100% !important;
    font-size: 8.5px !important;
    padding: 4px 2px !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

[id^="pdp-"] .pdp-cta {
    background: #1B3A2D !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 14px 24px !important;
    box-shadow: 0 4px 12px rgba(27, 58, 45, 0.2) !important;
    margin-top: 8px !important;
    transition: all 0.25s ease !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

[id^="pdp-"] .pdp-cta:hover {
    box-shadow: 0 8px 20px rgba(27, 58, 45, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* SCOPED STOCK BAR - This was the primary leak */
[id^="pdp-"] .pdp-stock-bar {
    padding: 6px 10px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
    background: #FFF8F0 !important;
    border: 1px solid #F0D9C0 !important;
    color: #B35C00 !important;
    margin-top: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

[id^="pdp-"] .pdp-stock-bar__track {
    width: 100% !important;
    height: 4px !important;
    background: rgba(179, 92, 0, 0.15) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

[id^="pdp-"] .pdp-stock-bar__fill {
    height: 100% !important;
    background: #B35C00 !important;
}

/* SCOPED TRUST LINE */
[id^="pdp-"] .pdp-trust-row {
    color: #111111 !important;
    font-size: 11px !important;
    border-top: 1px solid #F0F0F0 !important;
    padding: 10px 0 !important;
    margin-top: 12px !important;
    justify-content: space-around !important;
}

[id^="pdp-"] .pdp-trust-item {
    color: #111111 !important;
    font-weight: 500 !important;
}

/* 5. STORYTELLING & EXPERTS - SCOPED */
[id^="pdp-"] .pdp-quote blockquote {
    font-style: italic !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #1B3A2D !important;
    line-height: 1.4 !important;
}

[id^="pdp-"] .pdp-experts {
    background: #ffffff !important;
}

[id^="pdp-"] .pdp-experts__grid {
    display: flex !important;
    justify-content: center !important;
}

[id^="pdp-"] .pdp-experts .pdp-section-title {
    font-weight: 900 !important;
    font-size: 22px !important;
    color: #111 !important;
}

[id^="pdp-"] .pdp-expert-card {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(27,58,45,0.1) !important;
    padding: 16px !important;
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 360px !important;
}

/* 6. CLEANUP - Only apply white background to Elite elements */
[id^="pdp-"].pdp, 
[id^="pdp-"] .pdp-buy, 
[id^="pdp-"] .pdp-packs, 
[id^="pdp-"] .pdp-sz, 
[id^="pdp-"] .pdp-slots-wrap, 
[id^="pdp-"] .pdp-features, 
[id^="pdp-"] .pdp-problems, 
[id^="pdp-"] .pdp-bg-grey, 
[id^="pdp-"] .pdp-col-card, 
[id^="pdp-"] .pdp-slot {
    background-color: #ffffff !important;
}

/* 7. COLOUR CAROUSEL - SCOPED */
[id^="pdp-"] .pdp-carousel {
    display: flex !important;
    overflow-x: scroll !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
[id^="pdp-"] .pdp-carousel::-webkit-scrollbar {
    display: none !important;
}
[id^="pdp-"] .pdp-col-card {
    flex-shrink: 0 !important;
    width: 80px !important;
}
[id^="pdp-"] .pdp-col-card__img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
}
[id^="pdp-"] .pdp-col-card__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* 8. ACTIVE SIZE BUTTON */
[id^="pdp-"] .pdp-sz.is-active {
    background: #1B3A2D !important;
    color: #ffffff !important;
    border: 2px solid #1B3A2D !important;
}

/* ── SIZE CALCULATOR ── */
.pdp-calc-btn-wrap {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
}

.pdp-calc-trigger {
    font-size: .78rem !important;
    font-weight: 700 !important;
    color: var(--ctl, #666) !important;
    background: none !important;
    border: none !important;
    text-decoration: underline dotted !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.pdp-calc-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,0.6) !important;
    z-index: 100000 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.pdp-calc-overlay.is-active {
    display: flex !important;
    opacity: 1;
}

.pdp-calc-modal {
    background: #fff !important;
    width: 90% !important;
    max-width: 400px !important;
    border-radius: 16px !important;
    padding: 28px !important;
    position: relative !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3) !important;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}
.pdp-calc-overlay.is-active .pdp-calc-modal {
    transform: translateY(0);
}

.pdp-calc-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: none !important;
    border: none !important;
    font-size: 24px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    color: #999 !important;
    padding: 4px !important;
}

.pdp-calc-title {
    font-size: 22px !important;
    font-weight: 900 !important;
    text-align: center !important;
    margin: 0 0 24px !important;
    color: #111 !important;
    letter-spacing: -0.02em !important;
}

.pdp-calc-toggle-wrap {
    display: flex !important;
    background: #f3f4f6 !important;
    border-radius: 10px !important;
    padding: 4px !important;
    margin-bottom: 24px !important;
}
.pdp-calc-toggle-btn {
    flex: 1 !important;
    background: none !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    color: #666 !important;
    transition: all 0.2s ease;
}
.pdp-calc-toggle-btn.is-active {
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    font-weight: 800 !important;
}

.pdp-calc-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}
.pdp-calc-label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #888 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.pdp-calc-input-row {
    display: flex !important;
    gap: 12px !important;
}
.pdp-calc-field {
    flex: 1 !important;
    position: relative !important;
}
.pdp-calc-input {
    width: 100% !important;
    padding: 14px 40px 14px 14px !important;
    border: 1.5px solid #eee !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111 !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}
.pdp-calc-input:focus {
    border-color: #1B3A2D !important;
}
.pdp-calc-unit-label {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #aaa !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    pointer-events: none !important;
}

.pdp-calc-submit {
    width: 100% !important;
    background: #1B3A2D !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(27,58,45,0.2) !important;
    transition: transform 0.2s ease !important;
}
.pdp-calc-submit:active {
    transform: scale(0.98) !important;
}

.pdp-calc-result-screen {
    text-align: center !important;
}
.pdp-calc-result-label {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 12px !important;
}
.pdp-calc-result-size {
    font-size: 72px !important;
    font-weight: 900 !important;
    color: #1B3A2D !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    letter-spacing: -0.04em !important;
}
.pdp-calc-result-social {
    font-size: 15px !important;
    color: #444 !important;
    margin-bottom: 32px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    padding: 0 10px !important;
}
.pdp-calc-result-social strong {
    color: #111 !important;
    font-weight: 800 !important;
}

.pdp-calc-error {
    color: #dc2626 !important;
    font-size: 12px !important;
    margin-top: 5px !important;
    font-weight: 600 !important;
}
