/** Shopify CDN: Minification failed

Line 253:0 Unexpected "}"

**/
/*
  BabbleBee layer for the Raw Hertz style pages (templates/product.pdp-*.json and the homepage).
  Loaded after pdp.css from snippets/pdp-head.liquid. Structure, spacing and type come from pdp.css, exactly as on
  Raw Hertz. This file holds only what is BabbleBee: the white scene with soft yellow, blue and pink washes, baby
  blue fills with ink text, the announcement bar and floating header, and the fit with the Shrine theme around it.
*/

/* ---------- Fit with the Shrine theme ---------- */
html, body { overflow-x: clip; }
body { background: #fff !important; }
/* The theme's own announcement bar and header stay in the page for the cart drawer, but these pages use pdp-chrome */
.shopify-section-group-header-group { display: none !important; }
/* The sticky buy bar owns the bottom of the screen here */
[id*="scroll-to-top"] { display: none !important; }
/* Shrine's drawers sit at z-index 1000: keep the buy bar and its pop up under an open cart, the pop up over the bar */
.pdp-sticky { z-index: 90; }
.pdp-pack-modal { z-index: 950; }
body.overflow-hidden .pdp-sticky { transform: translateY(110%); visibility: hidden; }
@media (min-width: 750px) { body.overflow-hidden .pdp-sticky { transform: translate(-50%, 140%); } }

/* ---------- Announcement bar (same build as Raw Hertz, in BabbleBee navy) ---------- */
.pdp-top { position: sticky; top: 0; z-index: 100; transition: transform 0.22s ease-out; }
html.pdp-header-away .pdp-top:not(.is-menu-open) { transform: translateY(-105%); pointer-events: none; }
.pdp-announce { padding: 8px 0; background: #14254A; color: #fff; }
.pdp-announce__inner { display: flex; align-items: center; justify-content: center; gap: 28px; }
.pdp-announce__text { display: grid; text-align: center; line-height: 1.15; }
.pdp-announce__title { font-family: var(--pdp-font-heading); font-size: 22px; letter-spacing: 0.02em; text-transform: uppercase; }
.pdp-announce__sub { font-size: 14px; color: rgba(255, 255, 255, 0.85); }
.pdp-announce em { font-family: var(--pdp-font-italic); font-style: italic; font-weight: 400; font-size: 1.15em; letter-spacing: 0; text-transform: none; padding-right: 0.08em; color: var(--pdp-accent-2); }
.pdp-announce__timer { display: flex; align-items: flex-start; gap: 6px; }
.pdp-announce__timer [hidden] { display: none !important; }
.pdp-announce__timer span { display: grid; justify-items: center; line-height: 1; }
.pdp-announce__timer b { font-family: var(--pdp-font-heading); font-weight: 400; font-size: 26px; font-variant-numeric: tabular-nums; }
.pdp-announce__timer small { font-size: 11px; opacity: 0.8; margin-top: 3px; }
.pdp-announce__timer i { font-style: normal; font-size: 18px; line-height: 26px; color: var(--pdp-accent-2); }
@media (max-width: 749px) {
  .pdp-announce__inner { gap: 16px; }
  .pdp-announce__title { font-size: 18px; }
  .pdp-announce__sub { font-size: 12px; }
  .pdp-announce__timer b { font-size: 22px; }
}

/* ---------- Floating header: white rounded card, Home + Shop, wordmark, cart ---------- */
.pdp-hdr { position: relative; padding: 8px 8px 12px; }
.pdp-hdr__card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: 56px; padding: 0 18px; background: #fff; border-radius: 12px;
  box-shadow: 0 0 0 1.5px var(--pdp-text), 0 10px 24px rgba(27, 43, 75, 0.08); }
.pdp-hdr__left { display: flex; align-items: center; height: 100%; min-width: 0; }
.pdp-hdr__right { display: flex; align-items: center; justify-content: flex-end; }
.pdp-hdr__nav { display: flex; align-items: center; height: 100%; }
.pdp-hdr__nav .pdp-nav { margin: 0; justify-content: flex-start; }
.pdp-hdr__logo { font-family: var(--pdp-font-heading); font-size: 25px; font-weight: 700; letter-spacing: -0.01em; line-height: 1; color: var(--pdp-text); text-decoration: none; white-space: nowrap; }
.pdp-hdr__logo span { color: #3D8BF2; }
.pdp-hdr__burger, .pdp-hdr__cart { position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--pdp-text); cursor: pointer; }
.pdp-hdr__burger:hover, .pdp-hdr__cart:hover { background: var(--pdp-soft); }
.pdp-hdr__burger svg, .pdp-hdr__cart svg { display: block; width: 24px; height: 24px; }
.pdp-hdr__burger { display: none; margin-left: -8px; }
.pdp-hdr__cart { margin-right: -8px; }
.pdp-hdr__count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--pdp-text); color: #fff; font-size: 10px; font-weight: 700; line-height: 17px; text-align: center; }
.pdp-hdr__count[hidden] { display: none; }
.pdp-hdr__menu { position: absolute; left: 8px; right: 8px; top: calc(100% - 4px); padding: 14px 0 18px; background: #fff; border-radius: 12px; box-shadow: 0 0 0 1.5px var(--pdp-text), 0 18px 40px rgba(27, 43, 75, 0.16); }
.pdp-hdr__menu[hidden] { display: none; }
/* Home and Shop: the Raw Hertz header type (Futura, 16.5px, 600) */
.pdp-nav__link { font-family: var(--pdp-font-heading); font-size: 16.5px; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-decoration: none; }
.pdp-nav__link:hover, .pdp-nav__item.is-open > .pdp-nav__link, .pdp-nav__item:hover > .pdp-nav__link { background: var(--pdp-soft); }
.pdp-nav__panel-card { box-shadow: 0 0 0 1.5px var(--pdp-text), 0 18px 40px rgba(27, 43, 75, 0.16); }
.pdp-nav__tile { background: var(--pdp-soft); }
.pdp-nav__tile-arrow { background: #fff; }
@media (max-width: 989px) {
  .pdp-hdr__card { min-height: 48px; padding: 0 14px; }
  .pdp-hdr__burger { display: grid; }
  .pdp-hdr__nav { display: none; }
  .pdp-hdr__logo { font-size: 22px; }
}

/* ---------- The scene: white, with soft yellow, blue and pink washes ---------- */
.pdp--white {
  background:
    radial-gradient(46% 60% at 0% 0%, rgba(255, 232, 150, 0.34), transparent 70%),
    radial-gradient(42% 56% at 100% 8%, rgba(190, 224, 255, 0.50), transparent 70%),
    radial-gradient(40% 50% at 92% 100%, rgba(255, 205, 226, 0.34), transparent 70%),
    #fff;
}
.pdp--offwhite {
  background:
    radial-gradient(44% 58% at 100% 0%, rgba(255, 232, 150, 0.32), transparent 70%),
    radial-gradient(42% 56% at 0% 100%, rgba(190, 224, 255, 0.46), transparent 70%),
    #FCFDFF;
}
.pdp--soft {
  background:
    radial-gradient(40% 54% at 0% 6%, rgba(255, 205, 226, 0.36), transparent 70%),
    radial-gradient(44% 58% at 100% 96%, rgba(255, 232, 150, 0.34), transparent 70%),
    var(--pdp-soft);
}
/* The dark bands of the skeleton become sky blue bands with white text and butter yellow accents */
.pdp--dark, .pdp--black { background: linear-gradient(150deg, #3D86EC, #2A62D2); color: #fff; }
.pdp--gradient { background: radial-gradient(120% 120% at 70% 30%, rgba(255, 255, 255, 0.16), transparent 60%), linear-gradient(180deg, #3D86EC, #2A62D2); color: #fff; }
.pdp--dark-alt { background: linear-gradient(180deg, #3D86EC, #2558C4); color: #fff; }
.pdp-announce.pdp--black { background: #14254A; }
/* Cards and boxes that were grey on Raw Hertz sit on the palette here */
.pdp-main__benefits, .pdp-showcase__benefits { background: var(--pdp-soft); }
@media (min-width: 750px) { .pdp-rating-pill { background: var(--pdp-soft); } }
.pdp-ph, .pdp-ph-box { background-color: #EEF5FC; }
.pdp-arrow { background: #DCEBFA; }

/* ---------- The playful gradient: baby blue into pink, on every fill and button ---------- */
:root {
  --pdp-accent-fill: linear-gradient(90deg, #8ECDFF 0%, #D4B9F7 48%, #FF9CCB 100%);
  --pdp-pink-fill: linear-gradient(135deg, #FF5FA8, #FFA4D0);
  --pdp-pink-text: #D9488F;
}
/* Accent words: serif italic, blue running into pink, strong enough to read on white */
.pdp-h em, .pdp h1 em, .pdp h2 em, .pdp h3 em { background-image: linear-gradient(90deg, #3D8BF2, #F25FA6); }

/* On the blue bands the italic words turn pink */
.pdp--dark .pdp-h em, .pdp--dark h2 em, .pdp--dark h3 em, .pdp--black .pdp-h em, .pdp--black h2 em,
.pdp--gradient .pdp-h em, .pdp--gradient h2 em, .pdp--dark-alt .pdp-h em, .pdp--dark-alt h2 em {
  background-image: none !important; color: var(--pdp-accent-light) !important; -webkit-text-fill-color: var(--pdp-accent-light) !important;
}

/* ---------- Baby blue fills carry ink text, not white ---------- */
.pdp-btn:not(.pdp-btn--cream):not(:hover),
.pdp-pill, .pdp-price-row__badge, .pdp-tier__badge, .pdp-size__badge, .pdp-gifts__label, .pdp-reason__tag,
.pdp-tile.is-open .pdp-tile__toggle,
.pdp-timeline__step.is-active .pdp-timeline__title { color: var(--pdp-text) !important; }
.pdp-timeline__title { transition: color 0.45s ease, box-shadow 0.45s ease; }
/* Buy button: baby blue gradient, ink label, white price pill */
.pdp-atc { color: var(--pdp-text); }
.pdp-atc::before, .pdp-atc.is-loading::before { background: var(--pdp-accent-fill); }
.pdp-atc__pill { background: rgba(255, 255, 255, 0.55); border-color: rgba(27, 43, 75, 0.18); }
.pdp-atc__pill s { color: rgba(27, 43, 75, 0.55); }
/* Buttons on the blue bands: pink with ink text */
.pdp-btn--cream:not(:hover) { color: var(--pdp-text) !important; }
.pdp-btn--cream::before,
.pdp--dark .pdp-btn::before, .pdp--black .pdp-btn::before, .pdp--gradient .pdp-btn::before, .pdp--dark-alt .pdp-btn::before { background: linear-gradient(90deg, #FF8FC4, #FFC2E2); }
/* Checkmarks: pink gradient everywhere */
.pdp-checks li::before { background: var(--pdp-pink-fill); }
.pdp-tier__extra-title svg { stroke: url(#pdp-pink); }
.pdp-tier__extra-line--offer .pdp-tier__extra-title svg, .pdp-compare__tick { background: var(--pdp-pink-fill); color: #fff !important; }
.pdp-tier__extra-line--offer .pdp-tier__extra-title svg { stroke: currentColor; }
/* Small pink labels need a deeper pink to read on white */
.pdp-tier__extra-head, .pdp-sticky__change { color: var(--pdp-pink-text); }

/* ---------- Hero pictures: soft baby blue frame ---------- */
.pdp-main__stage .pdp-ph-box { border: 2px solid #BFE0FF; border-radius: 16px !important; box-shadow: 0 0 0 5px #EEF7FF; }
.pdp-main__stage { padding: 5px; }
.pdp-main__thumb { border-radius: 8px; border-color: #D8E7F7; background: #EEF5FC; }
.pdp-main__thumb.is-active { border-color: #5AA8FF; }
.pdp-showcase__media { border: 2px solid #BFE0FF; box-shadow: 0 0 0 5px #EEF7FF; }

/* ---------- Buy box: option pickers inside the selected bundle ---------- */
.pdp-tier__sets { display: grid; gap: 8px; margin-top: 14px; }
.pdp-set { display: grid; grid-template-columns: 50px minmax(0, 1fr) minmax(0, 1.5fr); align-items: center; gap: 8px; }
.pdp-set--single { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important; }
.pdp-set__label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.pdp-set__select {
  width: 100%;
  min-height: 42px;
  padding: 8px 34px 8px 14px;
  border: 1.5px solid #BFD8F2;
  border-radius: 999px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5l5-5' fill='none' stroke='%231B2B4B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 13px center;
  font: 600 14.5px/1.2 var(--pdp-font-body);
  color: var(--pdp-text);
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
/* Focus ring is drawn inside the pill: the bundle card clips anything that pokes outside it */
.pdp-set__select:focus, .pdp-set__select:focus-visible { outline: none; border-color: #5AA8FF; box-shadow: inset 0 0 0 1.5px #5AA8FF; }
@media (max-width: 749px) {
  .pdp-set { grid-template-columns: 42px minmax(0, 1fr) minmax(0, 1.5fr); gap: 6px; }
  .pdp-set__select { padding-left: 12px; font-size: 13.5px; }
}

/* ---------- Under the buy button: shipping status and free shipping on one line on phones ---------- */
@media (max-width: 749px) {
  .pdp-shiprow { flex-wrap: nowrap; gap: 8px; font-size: 13.5px; white-space: nowrap; }
  .pdp-shiprow__status { gap: 7px; }
  .pdp-shiprow__free { gap: 6px; }
  .pdp-shiprow__icon--flag { width: 22px; height: 15px; }
}
@media (max-width: 359px) { .pdp-shiprow { font-size: 12.5px; } }

/* ---------- Homepage hero: Raw Hertz layout on the light scene ---------- */
.pdp-hero:not(.pdp-hero--playful) { color: var(--pdp-text);
  background:
    radial-gradient(50% 60% at 4% 6%, rgba(255, 232, 150, 0.55), transparent 70%),
    radial-gradient(52% 62% at 96% 18%, rgba(190, 224, 255, 0.80), transparent 70%),
    radial-gradient(46% 54% at 70% 100%, rgba(255, 205, 226, 0.55), transparent 70%),
    #fff; }
.pdp-hero__line { color: var(--pdp-text); }
.pdp-hero .pdp-hero__big { background-image: linear-gradient(100deg, #7CC4FF, #3D8BF2 45%, #2A62D2); }
.pdp-hero__text { color: rgba(27, 43, 75, 0.82); }
.pdp-hero__count { color: rgba(27, 43, 75, 0.9); }
@media (max-width: 749px) {
  .pdp-hero__copy::before { background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.88) 34%, #fff 70%); }
  .pdp-hero__text { color: rgba(27, 43, 75, 0.92); }
}
.pdp-hero .pdp-hero__big { background-image: linear-gradient(100deg, #5AA8FF, #8E8BF5 50%, #F25FA6); }
/* Until the hero has its cut out picture, the copy sits under the big word instead of over it */
@media (max-width: 749px) {
  .pdp-hero__inner:not(:has(.pdp-hero__img)) .pdp-hero__copy { margin-top: 14px; }
  .pdp-hero__inner:not(:has(.pdp-hero__img)) .pdp-hero__copy::before { display: none; }
}

/* ---------- Cart drawer on these pages: same type and baby blue buttons ---------- */
/* Cart drawer styles live in assets/pdp-cart.css (loaded on every page) */

/* ---------- Section headings sit centred with room under them; cards get more air under the picture and title ---------- */
.pdp .pdp-head { margin-left: auto; margin-right: auto; margin-bottom: 40px; }
.pdp-card .pdp-h3 { margin: 26px auto 14px; }
.pdp-card { padding-bottom: 32px; }
@media (max-width: 749px) {
  .pdp .pdp-head, .pdp-cards .pdp-head { margin-bottom: 28px; }
  .pdp-card .pdp-h3 { margin: 24px auto 12px; }
}

/* Stats, comparison and icon bands paint their italic words and big numbers themselves: make those pink too */
.pdp.pdp-section.pdp-stats h2 em, .pdp.pdp-section.pdp-stats .pdp-stats__value,
.pdp.pdp-section.pdp-compare h2 em, .pdp.pdp-section.pdp-iconben h2 em {
  background: linear-gradient(90deg, #FF8FC4, #FFC2E2) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  color: transparent !important; -webkit-text-fill-color: transparent !important;
}

/* BabbleBee icons on the blue icon band: the cut outs take the band colour, like the stroked ones */
.pdp-iconben__icon svg .pdp-ic-cut[fill="#fff"] { fill: var(--pdp-primary); }

/* Sounds leaving the device: a little larger on wide screens so they read from across the band */
@media (min-width: 990px) {
  .pdp-iconben__sounds > i { width: calc(var(--s, 30px) * 1.4); height: calc(var(--s, 30px) * 1.4); }
  .pdp-iconben__sounds > .pdp-iconben__word { font-size: 19px; padding: 9px 16px; }
}

/* ---------- Timeline picture: a soft brand tint over the photo with the wordmark (like Resilia's journey picture), and more air under it ---------- */
.pdp-timeline__intro > .pdp-ph-box { margin-bottom: 30px; border-radius: 16px; }
.pdp-timeline__intro > .pdp-ph-box img { filter: saturate(0.9); }
.pdp-timeline__intro > .pdp-ph-box::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, rgba(92, 168, 255, 0.62) 0%, rgba(176, 160, 245, 0.5) 50%, rgba(255, 140, 196, 0.6) 100%); }
.pdp-timeline__mark { position: absolute; z-index: 1; left: 50%; top: 50%; translate: -50% -50%; pointer-events: none; white-space: nowrap;
  font-family: var(--pdp-font-heading); font-weight: 700; font-size: clamp(34px, 4.2vw, 56px); line-height: 1; letter-spacing: -0.01em; color: #fff; text-shadow: 0 2px 18px rgba(27, 43, 75, 0.3); }
.pdp-timeline__mark span { color: #3D8BF2; text-shadow: 0 0 1px #fff, 0 2px 18px rgba(255, 255, 255, 0.55); }
@media (max-width: 749px) {
  .pdp-timeline__intro > .pdp-ph-box { margin-bottom: 24px; }
  .pdp-timeline__mark { font-size: 38px; }
}
}

/* Phones: the colour pill only needs room for one short word, so the language pill gets the rest and "English + Spanish" fits */
@media (max-width: 749px) {
  .pdp-set { grid-template-columns: 40px 86px minmax(0, 1fr); }
  .pdp-set--single { grid-template-columns: 96px minmax(0, 1fr) !important; }
  .pdp-set__select { padding: 8px 28px 8px 12px; font-size: 13px; background-position: right 11px center; }
}

/* Size switch and bundle pictures on the BabbleBee palette */
.pdp-size__opt { border-color: #BFD8F2; }
.pdp-tier__img img { object-fit: contain; }

/* Listicle on the BabbleBee palette: the black bands turn blue or navy, buttons and marks go pink */
.pdp-lst-hero__band, .pdp-lst-hero__band--device { background: radial-gradient(46% 78% at 75% 52%, rgba(255,176,216,0.55), rgba(255,176,216,0) 70%), radial-gradient(40% 60% at 96% 6%, rgba(255,226,140,0.35), rgba(255,226,140,0) 70%), linear-gradient(150deg, #3D86EC, #2A62D2); }
.pdp-lst-hero .pdp-lst-hero__device { filter: drop-shadow(0 22px 34px rgba(20,37,74,0.35)); }
.pdp-lst-hero__rings i { border-color: rgba(255,255,255,0.85); box-shadow: 0 0 26px rgba(255,255,255,0.35), inset 0 0 26px rgba(255,255,255,0.18); }
.pdp-lst-trust, .pdp-lst-marquee, .pdp-lst-foot { background: #14254A; }
.pdp-lst-trust--accent .pdp-lst-trust__icon { color: #FFA9D4; }
.pdp-lst-marquee__group span:nth-child(odd) { background: linear-gradient(90deg, #9AD2FF, #FFA9D4); -webkit-background-clip: text; background-clip: text; }
.pdp-lst-quote__band { background: linear-gradient(150deg, #3D86EC, #2A62D2); }
.pdp-lst-quote__badges { background: #fff; border-radius: 16px; box-shadow: 0 10px 26px rgba(27,43,75,0.14); }
.pdp-lst-quote__badges--accent .pdp-lst-quote__icon { color: #F25FA6; }
.pdp-lst-reason__num { border-bottom-right-radius: 16px; }
.pdp-lst-reason__num--accent { background: linear-gradient(135deg, #6DB6FF, #FF8FC4); }
.pdp-lst-reason__btn { padding: 12px 24px; border-radius: 40px; background: var(--pdp-pink-fill); color: #fff !important; font-family: var(--pdp-font-heading); font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; font-size: 15px; box-shadow: 0 8px 18px rgba(242,95,166,0.28); }
/* Proof plate, set up like Dog Friendly's: a wide white plate across the foot of the three pictures */
.pdp-lst-proof__plate { width: 88%; padding: 14px 16px; border-radius: 10px; text-align: center; font-size: clamp(19px, 2vw, 28px); letter-spacing: 0.01em; box-shadow: 0 10px 24px rgba(20,37,74,0.28); }
@media (max-width: 749px) { .pdp-lst-proof__plate { width: 92%; padding: 11px 10px; font-size: 19px; } }
.pdp-lst-assure__card { background: #fff; border: 1px solid var(--pdp-border, #D8E7F7); border-radius: 16px; box-shadow: 0 6px 18px rgba(27,43,75,0.06); color: inherit; }
.pdp.pdp-lst-assure .pdp-lst-assure__title { color: var(--pdp-text); }
.pdp-lst-offer__guarantee { border-color: #F7C6DF; color: var(--pdp-pink-text); border-radius: 12px; }
.pdp-lst-offer__btn { border-radius: 40px !important; }
@media (max-width: 749px) {
  .pdp-lst-hero__band--device { background: radial-gradient(80% 42% at 50% 72%, rgba(255,176,216,0.55), rgba(255,176,216,0) 70%), linear-gradient(170deg, #3D86EC, #2A62D2); }
}
.pdp-lst-offer__tick svg { stroke: url(#pdp-pink); }
.pdp-lst-offer__note { color: var(--pdp-pink-text); }
@media (max-width: 749px) {
  /* Phones: the rings stay round the toddler and off the sub line */
  .pdp-lst-hero__rings { width: 420px; top: 56%; }
}

/* Included free: both marks drawn the same way and the same size (no dark disc on one of them) */
.pdp-gift__icon, .pdp-gift__icon--truck-free { display: grid; place-items: center; width: 56px; height: 44px; border-radius: 0; background: none; box-shadow: none; color: var(--pdp-text); }
.pdp-gift__icon svg { width: auto; height: 40px; stroke: currentColor; }
.pdp-gift__icon--truck-free svg { width: 56px; height: auto; }
.pdp-gift__icon svg.pdp-ic-fill { fill: currentColor; stroke: none; }
@media (max-width: 749px) {
  .pdp-gift__icon, .pdp-gift__icon--truck-free { width: 46px; height: 36px; box-shadow: none; }
  .pdp-gift__icon svg { width: auto; height: 32px; }
  .pdp-gift__icon--truck-free svg { width: 46px; height: auto; }
}

/* Review cards: a small selfie next to the name */
.pdp-review__avatar { width: 26px; height: 26px; flex: none; }
.pdp-review__avatar:empty { display: none; }

/* A card set with no stock: switched off and marked */
.pdp-size__opt.is-soldout { opacity: 0.55; cursor: not-allowed; }
.pdp-size__opt.is-soldout .pdp-size__price::after { content: ' · Sold out'; font-weight: 500; }

/* Bundle pictures now carry the decks of cards too: a little more room so the readers stay readable */
.pdp-tier__img { height: 66px; }
@media (max-width: 749px) { .pdp-tier__img { height: 56px; } }
.pdp-pack-opt .pdp-tier__img { height: 46px !important; }

/* Listicle trust strip, set up like Dog Friendly: white line icons beside bold labels on the navy band */
.pdp-lst-trust li { font-size: 20px; letter-spacing: 0; }
.pdp-lst-trust__icon { width: 38px; height: 38px; color: #fff; }
.pdp-lst-trust__icon svg { stroke-width: 1.5; }
@media (max-width: 749px) { .pdp-lst-trust li { font-size: 13.5px; } .pdp-lst-trust__icon { width: 30px; height: 30px; } }
/* Listicle ticker, Dog Friendly style: two bold phrases taking turns, white then pink */
.pdp-lst-marquee__group span:nth-child(odd) { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: #fff; -webkit-text-fill-color: #fff; }
.pdp-lst-marquee__group span:nth-child(even) { color: #FFA9D4; -webkit-text-fill-color: #FFA9D4; }
/* Free gifts: crossed-out value above the name */
.pdp-gift__text s { display: block; font-size: 12px; color: #8A94A6; }

/* Review cards laid out like Resilia's: rating and stars on one line, a bold quote in the body face with the text right
   under it, then a small selfie and name on the left, the verified mark on the right, and two equal tags underneath */
.pdp .pdp-review { gap: 0; padding: 26px 24px 24px; border-color: #D5DEEA; border-radius: 6px; }
.pdp .pdp-review__rating { gap: 7px; font-size: 15px; line-height: 1; color: var(--pdp-text); }
.pdp .pdp-review__rating .pdp-stars { --star: 15px; }
.pdp .pdp-review__title { margin: 18px 0 6px; font-family: var(--pdp-font-body); font-size: 16.5px; font-weight: 700; line-height: 1.35; letter-spacing: 0; text-transform: none; color: var(--pdp-text); }
.pdp .pdp-review__body { flex: 1; font-size: 15.5px; line-height: 1.5; color: #2B3A55; }
.pdp .pdp-review__body p { margin: 0; }
.pdp .pdp-review__author { flex-wrap: nowrap; gap: 8px; margin-top: 18px; font-size: 13px; color: #5B6880; }
.pdp .pdp-review__name { letter-spacing: 0.03em; white-space: nowrap; }
.pdp .pdp-review__verified { margin-left: auto; gap: 4px; font-size: 11.5px; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap; color: #3D8BF2; }
.pdp .pdp-review__chips { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.pdp .pdp-review__chips .pdp-chip { justify-content: center; padding: 6px 8px; border-color: #A9CDF5; background: #F2F8FF; color: #2F6FDE; font-size: 13px; line-height: 1.3; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 749px) {
  .pdp .pdp-review { padding: 22px 18px 40px; } /* room for the slide dots that sit inside the card */
  .pdp .pdp-review__chips { gap: 8px; }
  .pdp .pdp-review__chips .pdp-chip { font-size: 12.5px; }
}

/* Four header links need more room: narrower desktops switch to the menu button before the links reach the logo */
@media (max-width: 1139px) {
  .pdp-hdr__burger { display: grid; }
  .pdp-hdr__nav { display: none; }
}

/* Review photo strip above the review cards */
.pdp-testimonials__photo { border-radius: 12px; background: #EAF2FB; }

/* One short review under the Add to Cart button */
.pdp-buyquote { margin: 14px 0 0; padding: 14px 16px; border: 1px solid #D8E7F7; border-radius: 14px; background: #fff; }
.pdp-buyquote__top { display: flex; align-items: center; gap: 10px; }
.pdp-buyquote__ok { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; font-size: 11px; font-weight: 500; letter-spacing: 0.03em; text-transform: uppercase; color: #3D8BF2; }
.pdp-buyquote__ok svg { width: 13px; height: 13px; }
.pdp-buyquote__text { margin: 8px 0 0; padding: 0; border: 0; font-family: var(--pdp-font-body); font-size: 15px; font-weight: 600; font-style: normal; line-height: 1.4; color: var(--pdp-text); quotes: none; }
.pdp-buyquote__text::before, .pdp-buyquote__text::after { content: none; }
.pdp-buyquote__by { margin: 6px 0 0; font-size: 12px; letter-spacing: 0.03em; text-transform: uppercase; color: #5B6880; }
/* Review list at the foot of the page: verified mark sits on the rating line, no avatar row */
.pdp-reviewlist .pdp-review__rating { display: flex; align-items: center; }
.pdp-reviewlist .pdp-review__chips { margin-top: 14px; }
.pdp-reviewlist .pdp-review__chips:has(.pdp-chip:only-child) { grid-template-columns: minmax(0, max-content); }

/* ---------- Plain pages in the BabbleBee look: contact, order tracking, store policies (body.pdp-plain, set in layout/theme.liquid) ---------- */
body.pdp-plain main { min-height: 48vh; padding: 36px 0 84px; font-family: var(--pdp-font-body); color: var(--pdp-text);
  background: radial-gradient(40% 50% at 0% 0%, rgba(255, 236, 170, 0.35), transparent 70%), radial-gradient(44% 54% at 100% 10%, rgba(207, 233, 255, 0.60), transparent 70%), radial-gradient(40% 50% at 100% 100%, rgba(255, 214, 234, 0.40), transparent 70%), #fff; }
body.pdp-plain main .gradient, body.pdp-plain main [class*="color-background"], body.pdp-plain main [class*="color-scheme"] { background: none; }
body.pdp-plain main, body.pdp-plain main p, body.pdp-plain main li, body.pdp-plain main label, body.pdp-plain main td, body.pdp-plain main th, body.pdp-plain main .rte { font-family: var(--pdp-font-body); color: var(--pdp-text); letter-spacing: 0; }
body.pdp-plain main h1, body.pdp-plain main h2, body.pdp-plain main h3, body.pdp-plain main .h1, body.pdp-plain main .title { font-family: var(--pdp-font-heading); font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--pdp-text); }
body.pdp-plain main h1, body.pdp-plain main .h1 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; }
body.pdp-plain main a:not(.button) { color: #D9488F; text-underline-offset: 3px; }
/* Fields: white, rounded, soft blue line */
body.pdp-plain main .field::before, body.pdp-plain main .field::after { display: none; }
body.pdp-plain main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), body.pdp-plain main textarea, body.pdp-plain main select {
  border: 1.5px solid #BFD8F2 !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; font-family: var(--pdp-font-body); font-size: 16px; color: var(--pdp-text); }
body.pdp-plain main input:focus, body.pdp-plain main textarea:focus { border-color: #5AA8FF !important; outline: 0; box-shadow: 0 0 0 3px rgba(90, 168, 255, 0.22) !important; }
body.pdp-plain main .field__label, body.pdp-plain main label { color: #5B6880; }
/* Buttons: the same pill as Add To Cart */
body.pdp-plain main .button, body.pdp-plain main button[type="submit"], body.pdp-plain main .btn, body.pdp-plain main input[type="submit"] {
  min-height: 50px; padding: 12px 30px; border: 0 !important; border-radius: 40px !important; background: var(--pdp-accent-fill) !important; color: var(--pdp-text) !important;
  font-family: var(--pdp-font-heading); font-size: 16px; font-weight: 600; letter-spacing: 0.01em; text-transform: none; box-shadow: 0 8px 18px rgba(242, 95, 166, 0.20); cursor: pointer; }
body.pdp-plain main .button::before, body.pdp-plain main .button::after { display: none; }
body.pdp-plain main .button:hover, body.pdp-plain main button[type="submit"]:hover { filter: brightness(1.04); }
/* Order tracking (ParcelPanel) */
body.pdp-plain #pp-tracking-page-app { --pp-base-color: #2F6FDE; }
body.pdp-plain #pp-tracking-page-app .pp_tracking_title { margin: 0 0 22px; }
/* Store policies */
body.pdp-plain .shopify-policy__container { max-width: 760px; padding: 0 20px; }
body.pdp-plain .shopify-policy__title { margin-bottom: 26px; }
body.pdp-plain .shopify-policy__body { font-size: 16px; line-height: 1.65; }
@media (max-width: 749px) { body.pdp-plain main { padding: 26px 0 60px; } }
/* Plain pages show their content straight away: the theme's fade-in on scroll is switched off here */
body.pdp-plain main .animate-item, body.pdp-plain main .animate-section { opacity: 1 !important; filter: none !important; transform: none !important; visibility: visible !important; }
body.pdp-plain main contact-form .button { width: 100%; }

/* Bundle titles now carry the gift ("Buy 2 Sets + Free Tablet"): let them wrap instead of running into the price */
.pdp-tier__info { min-width: 0; }
.pdp-tier__title { white-space: normal; line-height: 1.2; text-wrap: balance; }
/* Locked gift: a small white tag over the blurred picture ("Buy 2 to unlock"), clear of the price and name below */
.pdp-gift__lock { top: 50%; flex-direction: row; gap: 4px; padding: 4px 9px; border-radius: 999px; background: #fff; box-shadow: 0 4px 12px rgba(27, 43, 75, 0.16); color: var(--pdp-text); font-size: 11px; font-weight: 600; white-space: nowrap; transform: translate(-50%, -50%); z-index: 1; }
.pdp-gift__lock svg { width: 12px; height: 12px; }
.pdp-gift:has(.pdp-gift__lock) .pdp-gift__media { position: relative; }
@media (max-width: 749px) { .pdp-gift__lock { top: 24px; font-size: 10px; padding: 3px 7px; } }
@media (max-width: 749px) {
  .pdp-gift__lock { flex-direction: column; gap: 2px; max-width: 78px; padding: 5px 8px; border-radius: 12px; white-space: normal; text-align: center; line-height: 1.15; }
}

/* Bundle picture + gift, like Resilia's "bags + jar": the tablet sits after a pink + */
/* Tablet sized like the readers in the set picture (reader + card on top is ~75% of the box height) */
.pdp-tier__img--combo .pdp-tier__gift { flex: 0 0 auto; width: auto; height: 75%; max-height: 75%; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(17, 24, 64, 0.16)); }
.pdp-tier__img--combo .pdp-tier__plus { color: #F25FA6; font-size: 20px; font-weight: 700; }
.pdp-tier__img--combo { gap: 4px; }
@media (max-width: 749px) {
  .pdp-tier__main:has(.pdp-tier__img--combo), .pdp-tiers:has(.pdp-tier__img--combo) .pdp-tier__main { grid-template-columns: 94px minmax(0, 1fr) auto; }
  .pdp-tier__img--combo .pdp-tier__gift { height: 72%; max-height: 72%; }
  .pdp-tier__img--combo .pdp-tier__plus { font-size: 16px; }
  .pdp-tier__img--combo { gap: 3px; }
}

/* ---------- "What's in the box?" bubble on the main picture + its popup ---------- */
.pdp-main__stage { position: relative; }
.pdp-boxbubble { position: absolute; left: 20px; bottom: 20px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 5px 7px 5px 5px; border: 2px solid var(--pdp-text); border-radius: 999px; background: #fff; color: var(--pdp-text);
  font-family: var(--pdp-font-heading); font-size: 16px; font-weight: 700; line-height: 1; letter-spacing: 0.01em; cursor: pointer;
  box-shadow: 3px 4px 0 #F25FA6; transform: rotate(-3deg); animation: pdp-boxbob 2.8s ease-in-out infinite; transition: box-shadow 0.2s ease; }
.pdp-boxbubble:hover { box-shadow: 4px 6px 0 #F25FA6; animation-play-state: paused; }
.pdp-boxbubble:active { box-shadow: 1px 2px 0 #F25FA6; }
.pdp-boxbubble:focus-visible { outline: 3px solid #8ECDFF; outline-offset: 3px; }
/* Little speech tail on top, like the "cat!" bubble in the pictures */
.pdp-boxbubble::before { content: ''; position: absolute; top: -8px; left: 30px; width: 12px; height: 12px; border-left: 2px solid var(--pdp-text); border-top: 2px solid var(--pdp-text); background: #fff; transform: rotate(45deg) skew(8deg, 8deg); border-radius: 3px 0 0 0; }
.pdp-boxbubble__icon { position: relative; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pdp-accent-fill); color: #fff; }
.pdp-boxbubble__icon svg { width: 17px; height: 17px; }
.pdp-boxbubble__icon svg * { fill: #fff; }
.pdp-boxbubble__text { position: relative; white-space: nowrap; }
.pdp-boxbubble__tap { position: relative; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #F25FA6; color: #fff; }
.pdp-boxbubble__tap svg { width: 12px; height: 12px; }
.pdp-boxbubble__tap svg * { stroke: #fff; }
@keyframes pdp-boxbob { 0%, 100% { transform: rotate(-3deg) translateY(0); } 50% { transform: rotate(-1deg) translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .pdp-boxbubble { animation: none; } }
@media (max-width: 749px) {
  .pdp-boxbubble { left: 14px; bottom: 14px; gap: 6px; padding: 4px 6px 4px 4px; font-size: 14px; box-shadow: 2px 3px 0 #F25FA6; }
  .pdp-boxbubble__icon { width: 28px; height: 28px; }
  .pdp-boxbubble__icon svg { width: 15px; height: 15px; }
  .pdp-boxbubble__tap { width: 20px; height: 20px; }
}

.pdp-boxpop { position: fixed; inset: 0; z-index: 6000; display: grid; place-items: center; padding: 20px; }
.pdp-boxpop[hidden] { display: none; }
.pdp-boxpop__backdrop { display: block !important; position: absolute; inset: 0; background: rgba(27, 43, 75, 0.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity 0.22s ease; }
.pdp-boxpop__panel { position: relative; width: min(440px, 100%); max-height: calc(100dvh - 40px); overflow: auto; overscroll-behavior: contain; padding: 22px 20px 18px; border: 2px solid #BFE0FF; border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(27, 43, 75, 0.3);
  opacity: 0; transform: translateY(18px) scale(0.97); transition: opacity 0.22s ease, transform 0.25s cubic-bezier(.2,.8,.25,1.15); }
.pdp-boxpop.is-open .pdp-boxpop__backdrop { opacity: 1; }
.pdp-boxpop.is-open .pdp-boxpop__panel { opacity: 1; transform: none; }
html.pdp-box-open { overflow: hidden; }
.pdp-boxpop__close { position: absolute; top: 12px; right: 12px; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: #EEF5FC; color: var(--pdp-text); cursor: pointer; }
.pdp-boxpop__close svg { width: 15px; height: 15px; }
.pdp-boxpop__head { text-align: center; margin: 0 0 14px; padding: 14px 12px 14px; border-radius: 16px; background: linear-gradient(180deg, #EAF5FF 0%, #FCEFF7 100%); }
.pdp .pdp-boxpop__pic { width: auto; max-width: 70%; height: 110px; margin: 0 auto 8px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(27, 43, 75, 0.14)); }
.pdp-boxpop__title { margin: 0; font-family: var(--pdp-font-heading); font-size: 24px; font-weight: 700; line-height: 1.1; color: var(--pdp-text); }
.pdp-boxpop__sub { margin: 6px auto 0; max-width: 300px; font-size: 14px; line-height: 1.35; color: rgba(27, 43, 75, 0.72); }
.pdp-boxpop__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pdp-boxpop__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; border-radius: 14px; background: #F6FAFE; }
.pdp-boxpop__media { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; overflow: hidden; }
.pdp-boxpop__media img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.pdp-boxpop__media svg { width: 24px; height: 24px; }
.pdp-boxpop__media > span { display: grid; place-items: center; width: 100%; height: 100%; }
.pdp-boxpop__copy { display: grid; gap: 2px; min-width: 0; }
.pdp-boxpop__copy b { font-size: 14.5px; font-weight: 700; line-height: 1.25; }
.pdp-boxpop__copy small { font-size: 12.5px; line-height: 1.3; color: rgba(27, 43, 75, 0.62); }
.pdp-boxpop__tag { display: grid; justify-items: end; gap: 1px; font-size: 12px; line-height: 1.2; white-space: nowrap; }
.pdp-boxpop__tag s { color: rgba(27, 43, 75, 0.5); font-size: 12.5px; }
.pdp-boxpop__ok { padding: 4px 9px; border-radius: 999px; background: #E3F1FF; color: #2F6FC2; font-weight: 700; }
.pdp-boxpop__free { color: var(--pdp-pink-text); font-weight: 800; font-size: 13px; letter-spacing: 0.04em; }
.pdp-boxpop__lock { padding: 4px 9px; border-radius: 999px; background: #F1F1F4; color: rgba(27, 43, 75, 0.6); font-weight: 600; }
.pdp-boxpop__item.is-gift { background: #FFF3F9; }
.pdp-boxpop__item.is-locked .pdp-boxpop__media, .pdp-boxpop__item.is-locked .pdp-boxpop__copy { opacity: 0.45; }
.pdp-boxpop__divider { display: flex; align-items: center; gap: 10px; margin: 14px 0 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pdp-pink-text); }
.pdp-boxpop__divider::before, .pdp-boxpop__divider::after { content: ''; flex: 1; height: 1px; background: #F5D3E5; }
.pdp-boxpop__foot { position: sticky; bottom: -18px; margin: 14px -20px -18px; padding: 12px 20px 18px; background: #fff; border-top: 1px solid #EEF2F7; }
.pdp-boxpop__total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; font-size: 14px; color: rgba(27, 43, 75, 0.7); }
.pdp-boxpop__total[hidden], .pdp-boxpop__total span[hidden] { display: none; }
.pdp-boxpop__total s { margin-left: 4px; }
.pdp-boxpop__total strong { margin-left: auto; font-size: 18px; color: var(--pdp-text); }
.pdp-boxpop .pdp-boxpop__atc { min-height: 52px; border-radius: 40px; }
@media (max-width: 749px) {
  .pdp-boxpop { padding: 12px; }
  .pdp-boxpop__panel { max-height: calc(100dvh - 24px); padding: 14px 14px 14px; border-radius: 20px; }
  .pdp-boxpop__close { top: 8px; right: 8px; width: 30px; height: 30px; }
  .pdp-boxpop__head { display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 2px 12px; margin-bottom: 10px; padding: 10px 36px 10px 10px; text-align: left; }
  .pdp .pdp-boxpop__pic { grid-row: span 2; max-width: 100%; height: 64px; margin: 0; }
  .pdp-boxpop__title { font-size: 20px; }
  .pdp-boxpop__sub { margin: 0; font-size: 12.5px; }
  .pdp-boxpop__list { gap: 6px; }
  .pdp-boxpop__item { grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; padding: 6px 10px 6px 6px; border-radius: 12px; }
  .pdp-boxpop__media { width: 38px; height: 38px; border-radius: 10px; }
  .pdp-boxpop__media svg { width: 20px; height: 20px; }
  .pdp-boxpop__copy b { font-size: 13.5px; }
  .pdp-boxpop__copy small { font-size: 12px; }
  .pdp-boxpop__ok, .pdp-boxpop__lock { padding: 3px 8px; font-size: 11px; }
  .pdp-boxpop__divider { margin: 10px 0 8px; }
  .pdp-boxpop__foot { bottom: -14px; margin: 10px -14px -14px; padding: 10px 14px 14px; }
  .pdp-boxpop__total { margin-bottom: 8px; }
  .pdp-boxpop .pdp-boxpop__atc { min-height: 48px; }
}
/* Short laptop screens: picture beside the heading so the gifts fit without scrolling */
@media (min-width: 750px) and (max-height: 940px) {
  .pdp-boxpop__head { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 2px 14px; padding: 12px 40px 12px 12px; text-align: left; }
  .pdp .pdp-boxpop__pic { grid-row: span 2; max-width: 100%; height: 76px; margin: 0; }
  .pdp-boxpop__sub { margin: 0; }
  .pdp-boxpop__list { gap: 6px; }
  .pdp-boxpop__item { padding: 6px 12px 6px 6px; }
  .pdp-boxpop__media { width: 40px; height: 40px; }
  .pdp-boxpop__item { grid-template-columns: 40px minmax(0, 1fr) auto; }
}
/* "What's in the box?" accordion: same list as the popup */
.pdp-accordion__body--box { padding-top: 4px; }
.pdp-accordion__body--box .pdp-boxpop__divider { margin: 12px 0 8px; }
.pdp-accordion__body--box ul.pdp-boxpop__list { margin: 0; gap: 8px; }
.pdp-accordion__body--box ul li.pdp-boxpop__item { padding: 8px 12px 8px 8px; }
.pdp-accordion__body--box ul li.pdp-boxpop__item::before { content: none; display: none; }
@media (max-width: 749px) { .pdp-accordion__body--box ul.pdp-boxpop__list { gap: 6px; } .pdp-accordion__body--box ul li.pdp-boxpop__item { padding: 6px 10px 6px 6px; } }
/* Bundle names (Bilingual Bundle, Family Pack) with the deal in a small line under them */
.pdp-tier__sub { display: block; margin-top: 2px; font-size: 13px; font-weight: 500; line-height: 1.25; color: rgba(27, 43, 75, 0.7); }
@media (max-width: 749px) { .pdp-tier__sub { font-size: 12px; white-space: nowrap; } }
/* Bundle value line under the prices: crossed out price + the free gift */
.pdp-tier__value { display: block; margin-top: 2px; font-size: 12px; font-weight: 700; line-height: 1.2; color: var(--pdp-pink-text); white-space: nowrap; }
@media (max-width: 749px) { .pdp-tier__value { font-size: 11px; } }
@media (max-width: 749px) { .pdp-tier__sub { white-space: normal; } }

/* ---------- Upgrade popup (1 set → Bilingual Bundle), shell shared with the box popup ---------- */
.pdp-upsell__panel { width: min(440px, 100%); padding: 0; overflow: auto; }
.pdp-upsell__media { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; height: 230px; padding: 28px 28px 18px; background: linear-gradient(160deg, #EAF5FF 0%, #F6EEFF 52%, #FFEAF4 100%); }
.pdp .pdp-upsell__sets { width: auto; max-width: 62%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 16px rgba(27, 43, 75, 0.16)); }
.pdp .pdp-upsell__gift { width: auto; height: 70%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(27, 43, 75, 0.18)); }
.pdp-upsell__plus { color: #F25FA6; font-size: 26px; font-weight: 700; line-height: 1; }
.pdp-upsell__badge { position: absolute; left: 16px; top: 16px; padding: 5px 12px; border-radius: 999px; background: var(--pdp-accent-fill); color: var(--pdp-text); font-size: 12px; font-weight: 700; letter-spacing: 0.02em; }
.pdp-upsell__body { padding: 16px 22px 18px; }
.pdp-upsell__stars { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(27, 43, 75, 0.7); }
.pdp-upsell__title { margin: 6px 0 6px; font-family: var(--pdp-font-heading); font-size: 25px; font-weight: 700; line-height: 1.12; color: var(--pdp-text); }
.pdp-upsell__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 0 0 12px; font-size: 15px; color: rgba(27, 43, 75, 0.8); }
.pdp-upsell__price b { font-size: 22px; color: var(--pdp-text); }
.pdp-upsell__price s { color: rgba(27, 43, 75, 0.5); }
.pdp-upsell__save { padding: 3px 10px; border-radius: 999px; background: #FFE3F0; color: var(--pdp-pink-text); font-size: 12.5px; font-weight: 700; }
.pdp-upsell__save[hidden], .pdp-upsell__price s[hidden] { display: none; }
.pdp-upsell__list { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.pdp-upsell__list li { display: flex; align-items: flex-start; gap: 9px; font-size: 14.5px; line-height: 1.35; }
.pdp-upsell__list svg { flex: none; width: 18px; height: 18px; margin-top: 1px; padding: 3px; border-radius: 50%; background: #F25FA6; color: #fff; }
.pdp-upsell__list svg * { stroke: #fff; }
.pdp-upsell__option { display: grid; gap: 6px; margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(27, 43, 75, 0.7); }
.pdp-upsell__option[hidden] { display: none; }
.pdp-upsell__option select { width: 100%; text-transform: none; letter-spacing: 0; }
.pdp .pdp-upsell__yes { min-height: 56px; border-radius: 40px; }
.pdp-upsell__no { display: block; width: 100%; margin: 10px 0 0; padding: 6px; border: 0; background: none; color: rgba(27, 43, 75, 0.65); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pdp-upsell__no:hover { color: var(--pdp-text); }
.pdp-upsell__proof { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px 0 0; font-size: 13px; color: rgba(27, 43, 75, 0.7); }
.pdp-upsell__faces { display: flex; }
.pdp .pdp-upsell__faces img { width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; margin-left: -8px; object-fit: cover; }
.pdp .pdp-upsell__faces img:first-child { margin-left: 0; }
.pdp-upsell .pdp-boxpop__close { background: rgba(255, 255, 255, 0.85); }
/* Phones: a bottom sheet */
@media (max-width: 749px) {
  .pdp-upsell { align-items: end; padding: 0; }
  .pdp-upsell .pdp-upsell__panel { width: 100%; max-height: 92dvh; border-radius: 22px 22px 0 0; border-bottom: 0; transform: translateY(40px); }
  .pdp-upsell.is-open .pdp-upsell__panel { transform: none; }
  .pdp-upsell__media { height: 190px; padding: 24px 20px 14px; }
  .pdp-upsell__body { padding: 14px 18px calc(16px + env(safe-area-inset-bottom)); }
  .pdp-upsell__title { font-size: 22px; }
  .pdp-upsell__list li { font-size: 14px; }
}
.pdp-upsell__media { padding-top: 50px; }
@media (max-width: 749px) { .pdp-upsell__media { height: 200px; padding-top: 48px; } }
