/** Shopify CDN: Minification failed

Line 818:0 Unexpected "}"

**/
/* pk-pdp.css: GENERATED by shopify-theme/_tools/build-assets.mjs from the approved preview (remix/site). products/pdp.css minus pure header/footer rules (those live in pk-chrome.css).
   Edit the preview source or _src/*.extra.css, then rebuild. Brand colours/fonts come from Theme settings (snippets/pk-head). */
:root { --pdp-line: color-mix(in srgb, var(--brand-deep) 11%, var(--brand-bg)); --pdp-gap: 13px; --pdp-block: 20px; --pdp-sec: clamp(48px, 5.6vw, 80px); --pdp-soft: color-mix(in srgb, var(--rx-blush) 30%, var(--brand-bg)); }
html { scroll-padding-top: 16px; }
body { margin: 0; background: var(--brand-bg); color: var(--brand-ink); font: 500 var(--rx-fs-body)/1.6 var(--brand-font-body); -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; display: block; }
:is(h1, h2, h3) { font-family: var(--brand-font-heading); font-weight: 400; letter-spacing: -0.012em; line-height: 1.05; margin: 0; color: var(--brand-deep); }
p { margin: 0; }
a { color: var(--rx-accent-ink); }
button { font-family: inherit; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pdp-ico { width: 16px; height: 16px; flex: none; }
[hidden] { display: none !important; }
.pdp-rule { height: 0; margin: var(--pdp-gap) 0; border: 0; border-top: 1px solid var(--pdp-line); }
.pdp-rule--block { margin: var(--pdp-block) 0; }
.pdp-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; }
.pdp-price__pre { font: 600 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--brand-ink); }
.pdp-price__was { font: 500 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--rx-muted-ink); text-decoration-thickness: 1.5px; }
.pdp-price__now { font: 400 36px/1 var(--brand-font-heading); color: var(--brand-deep); letter-spacing: -.01em; }
.pdp-save { align-self: center; display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: var(--rx-olive-ink); color: var(--brand-surface); font: 700 var(--rx-fs-label)/1 var(--brand-font-body); letter-spacing: .04em; white-space: nowrap; }
.rx-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rx-tag { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--brand-accent); font: 500 var(--rx-fs-cap)/1.25 var(--brand-font-body); color: var(--brand-ink); background: var(--brand-surface); }
.rx-kit { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 0 6px; padding: 7px 12px; border-radius: 12px; background: var(--rx-ivory); border: 1px solid var(--rx-hair); }
.rx-kit__item { position: relative; display: inline-grid; place-items: center; width: 28px; height: 28px; flex: none; }
.rx-kit__item svg { width: 28px; height: 28px; overflow: visible; }
.rx-kit .ri { stroke-width: 1.7; }
.rx-kit .ri-thin { stroke-width: 1.3; }
.rx-kit__x { position: absolute; right: -9px; bottom: -4px; padding: 1px 5px; border-radius: 999px; background: var(--brand-deep); color: var(--brand-bg); font: 700 12px/1.2 var(--brand-font-body); }
.rx-kit__item:has(.rx-kit__x) { margin-right: 8px; }
.rx-kit__plus { font: 600 13px/1 var(--brand-font-body); color: var(--brand-deep); flex: none; }
.ri { fill: none; stroke: var(--brand-deep); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ri-thin { stroke-width: 1.8; }
.ri-f-rust { fill: var(--ri-rust); }
.ri-f-olive { fill: var(--ri-olive); }
.ri-f-blush { fill: var(--ri-blush); }
.ri-f-wheat { fill: var(--ri-wheat); }
.ri-f-ivory { fill: var(--brand-bg); }
.pdp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; cursor: pointer; font: 700 15px/1.2 var(--brand-font-body); letter-spacing: .02em; text-decoration: none; text-align: center; }
.pdp-btn--deep { background: var(--brand-deep); color: var(--brand-bg); }
.pdp-btn--light { background: var(--brand-bg); color: var(--brand-deep); }
.pdp-stars { display: inline-flex; gap: 2px; }
.pdp-stars svg { width: 16px; height: 16px; fill: var(--brand-accent); }
.pdp-stars--sm svg { width: 14px; height: 14px; }
.pdp-main { display: block; outline: none; }
.pdp-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 500px); gap: clamp(40px, 6vw, 96px); align-items: start; max-width: 1320px; margin: 0 auto; padding: 28px var(--rx-inset) 0; }
.pdp-gallery { position: sticky; top: 20px; }
.pdp-gallery__stage { position: relative; aspect-ratio: 1; border-radius: var(--rx-r-lg); overflow: hidden; background: var(--rx-linen); }
.pdp-slide { position: absolute; inset: 0; margin: 0; }
.pdp-slide__media, .pdp-slide__media img { width: 100%; height: 100%; }
.pdp-slide__media img { object-fit: cover; }
.pdp-phlabel { position: absolute; right: 12px; top: 12px; padding: 4px 9px; border-radius: 6px; background: var(--brand-bg); color: var(--brand-ink); border: 1px dashed var(--rx-line); font: 600 12px/1.3 var(--brand-font-body); }
.pdp-night { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; height: 100%; padding: 6px; }
.pdp-night__cell { border-radius: var(--rx-r-sm); overflow: hidden; min-height: 0; }
.pdp-night__img { width: 100%; height: 100%; object-fit: cover; }
.pdp-gallery__arrow { position: absolute; bottom: 14px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--brand-bg); color: var(--brand-deep); box-shadow: 0 6px 18px -8px rgba(42, 34, 30, .55); }
.pdp-gallery__arrow .pdp-ico { width: 20px; height: 20px; }
.pdp-gallery__arrow--prev { right: 64px; }
.pdp-gallery__arrow--next { right: 14px; }
.pdp-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.pdp-thumb { display: block; width: 100%; aspect-ratio: 1; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: pointer; background: var(--rx-linen); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.pdp-thumb[aria-current="true"] { box-shadow: 0 0 0 2px var(--brand-bg), 0 0 0 4px var(--brand-deep); }
.pdp-thumb[aria-current="true"] img { opacity: 1; }
.pdp-thumb__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; width: 100%; height: 100%; padding: 3px; }
.pdp-thumb__grid img { border-radius: 3px; }
.pdp-buy { min-width: 0; padding-top: 6px; }
.pdp-top { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.pdp-rating { display: inline-flex; align-items: center; gap: 8px; font: 700 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--brand-deep); }
.pdp-ready { display: inline-flex; align-items: center; gap: 8px; font: 600 var(--rx-fs-cap)/1 var(--brand-font-body); color: var(--brand-ink); }
.pdp-ready__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--rx-olive-ink); }
.pdp-ready__dot::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--rx-olive-ink); opacity: 0; animation: pdp-pulse 1.2s ease-out 3; }
@keyframes pdp-pulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2.8); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .pdp-ready__dot::after { animation: none !important; }
}
.pdp-eyebrow { margin: 28px 0 10px; font: 700 var(--rx-fs-label)/1.3 var(--brand-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--rx-accent-ink); }
.pdp-title { font-size: clamp(42px, 4.2vw, 56px); line-height: 1; outline: none; }
.pdp-desc { margin: var(--pdp-gap) 0 20px; max-width: 46ch; font: 500 16px/1.65 var(--brand-font-body); }
.pdp-card { padding: 24px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1.5px var(--brand-deep), 8px 8px 0 -1px color-mix(in srgb, var(--brand-deep) 14%, transparent); }
.pdp-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.pdp-label { margin: 0; font: 700 var(--rx-fs-label)/1.3 var(--brand-font-body) !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--rx-accent-ink); }
.pdp-incl { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pdp-incl__row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; }
.pdp-incl__img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; background: var(--rx-linen); }
.pdp-incl__name { font: 600 var(--rx-fs-body)/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pdp-incl__price { font: 600 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--rx-muted-ink); text-decoration-thickness: 1.5px; }
.pdp-card__foot { margin-top: 14px; font: 500 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--rx-muted-ink); }
.pdp-check { display: grid; gap: 14px; margin: 4px 0; padding: 0; list-style: none; }
.pdp-check li { display: flex; align-items: center; gap: 14px; font: 500 var(--rx-fs-sub)/1.4 var(--brand-font-body); }
.pdp-check__ico { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pdp-soft); color: var(--brand-deep); }
.pdp-check__ico svg { width: 18px; height: 18px; }
.pdp-price--main { margin-top: 4px; }
.pdp-price--main .pdp-price__now { font-size: 46px; }
.pdp-price--main .pdp-price__was { font-size: 18px; }
.pdp-price--main .pdp-save { font-size: 13px; padding: 6px 12px; }
.pdp-cta { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; margin-top: 24px; padding: 0 24px; border: 0; border-radius: 999px; cursor: pointer; background: var(--brand-deep); color: var(--brand-bg); font: 700 16px/1.2 var(--brand-font-body); letter-spacing: .02em; box-shadow: 0 14px 28px -18px rgba(42, 34, 30, .8); transition: transform .25s ease; }
.pdp-cta:hover { transform: translateY(-2px); }
.pdp-trust { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; text-align: center; }
.pdp-trust li { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pdp-trust__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); color: var(--brand-deep); }
.pdp-trust__ico svg { width: 24px; height: 24px; }
.pdp-trust__txt { display: flex; flex-direction: column; gap: 2px; font: 600 var(--rx-fs-cap)/1.35 var(--brand-font-body); color: var(--brand-deep); }
a.pdp-trust__txt { color: var(--rx-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.pdp-trust__sub { font-weight: 500; color: var(--brand-ink); }
.pdp-pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 22px; }
.pdp-pay__card { width: 38px; height: 24px; display: block; }
.pdp-acc { border-bottom: 1px solid var(--pdp-line); }
.pdp-acc > summary { list-style: none; position: relative; display: flex; align-items: center; min-height: 56px; padding: 10px 40px 10px 2px; cursor: pointer; font: 700 15px/1.3 var(--brand-font-body); color: var(--brand-deep); border-radius: 6px; }
.pdp-acc > summary::-webkit-details-marker { display: none; }
.pdp-acc > summary::before, .pdp-acc > summary::after { content: ''; position: absolute; right: 10px; top: 50%; width: 14px; height: 2px; background: var(--brand-deep); border-radius: 2px; }
.pdp-acc > summary::after { transform: rotate(90deg); transition: transform .2s ease; }
.pdp-acc[open] > summary::after { transform: rotate(0deg); }
.pdp-acc__list { display: grid; gap: 10px; margin: 0; padding: 0 2px 20px; list-style: none; }
.pdp-acc__list li { position: relative; padding-left: 18px; font: 500 var(--rx-fs-sub)/1.5 var(--brand-font-body); }
.pdp-acc__list li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--rx-olive-ink); }
.pdp-acc__list a { font-weight: 700; text-underline-offset: 3px; }
.pdp-acc__p { padding: 0 2px 20px; max-width: 60ch; font: 500 var(--rx-fs-body)/1.6 var(--brand-font-body); }
.pdp-sec { max-width: 1280px; margin: 0 auto; padding: var(--pdp-sec) var(--rx-inset) 0; }
.pdp-sec + .pdp-sec, .pdp-hero + .pdp-sec { position: relative; }
.pdp-sec::before { content: ''; display: block; height: 1px; margin: 0 0 var(--pdp-sec); background: var(--pdp-line); }
.pdp-hero + .pdp-sec { margin-top: var(--pdp-sec); padding-top: 0; }
.pdp-hero + .pdp-sec::before { display: none; }
.pdp-head { margin-bottom: clamp(22px, 2.7vw, 38px); text-align: center; }
.pdp-h2 { font-size: clamp(34px, 3.6vw, 52px); }
.pdp-h2--sm { font-size: clamp(28px, 2.6vw, 38px); }
.pdp-samples { display: grid; grid-template-columns: repeat(2, minmax(0, 300px)); justify-content: center; gap: clamp(20px, 4vw, 56px); }
.rx-samples { margin: 0; min-width: 0; }
.rx-samples__label { margin: 0 0 12px; font: 700 var(--rx-fs-label)/1.2 var(--brand-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--rx-accent-ink); text-align: center; }
.rx-samples { --deck: #b9b1b0; }
.rx-samples__stack { position: relative; display: grid; width: min(100%, 280px); margin: 0 auto 18px; perspective: 900px; isolation: isolate; }
.rx-samples__stack::before, .rx-samples__stack::after { content: ''; position: absolute; inset: 0; border-radius: 6px; background: var(--deck); z-index: 0; box-shadow: 0 1px 0 rgba(0, 0, 0, .06); }
.rx-samples__stack::before { transform: translate(3px, 3px) rotate(1.4deg); filter: brightness(.96); }
.rx-samples__stack::after { transform: translate(6px, 6px) rotate(2.8deg); z-index: -1; filter: brightness(.9); box-shadow: 0 18px 30px -18px rgba(42, 34, 30, .45); }
.rx-qcard { grid-area: 1 / 1; position: relative; z-index: 1; aspect-ratio: 5.75 / 8; padding: 7.5%; border-radius: 6px; background: var(--deck); box-shadow: 0 10px 22px -16px rgba(42, 34, 30, .5), inset 0 0 0 1px rgba(0, 0, 0, .05); visibility: hidden; opacity: 0; }
.rx-qcard__face { height: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 14px 12px; text-align: center; background: #fbf8f5; color: #1e1a17; clip-path: polygon(10px 0, calc(100% - 10px) 0, calc(100% - 10px) 10px, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 10px calc(100% - 10px), 0 calc(100% - 10px), 0 10px, 10px 10px); }
.rx-qcard.is-on { visibility: visible; opacity: 1; animation: rx-flip .45s cubic-bezier(.2, .7, .2, 1); }
@keyframes rx-flip { from { opacity: 0; transform: rotateY(-70deg) translateX(-6px); } to { opacity: 1; transform: none; } }
.rx-rm .rx-qcard.is-on { animation: none; }
.rx-qcard__spice { display: grid; place-items: center; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; border: 1px solid #1e1a17; font: 600 12px/1 var(--brand-font-body); }
.rx-qcard__q { margin: auto 0; font: 500 15px/1.45 var(--brand-font-body); color: #1e1a17; }
.rx-qcard__ch { margin: 0; font: 700 12px/1.25 var(--brand-font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--rx-accent-ink); }
.rx-qcard__mark { margin: 0; font: 600 12px/1 var(--brand-font-body); letter-spacing: .28em; color: #5b524c; }
.rx-samples__nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: min(100%, 280px); margin: 0 auto; }
.rx-samples__count { font: 600 var(--rx-fs-cap)/1 var(--brand-font-body); }
.rx-samples__next { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer; background: var(--brand-surface); box-shadow: inset 0 0 0 1.5px var(--brand-deep); color: var(--brand-deep); font: 700 var(--rx-fs-cap)/1 var(--brand-font-body); }
.rx-samples__next svg { width: 14px; height: 14px; }
.pdp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin: 0; padding: 0; list-style: none; }
.pdp-step__img { aspect-ratio: 4 / 5; border-radius: var(--rx-r-md); overflow: hidden; background: var(--rx-linen); }
.pdp-step__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-step__cap { display: flex; align-items: center; gap: 10px; margin-top: 16px; font: 400 24px/1.1 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-step__n { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--brand-deep); color: var(--brand-bg); font: 700 13px/1 var(--brand-font-body); }
.pdp-step__txt { margin-top: 8px; font: 500 var(--rx-fs-sub)/1.5 var(--brand-font-body); max-width: 30ch; }
.pdp-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin: 0; padding: 0; list-style: none; }
.pdp-quote figure { height: 100%; margin: 0; padding: 28px; display: flex; flex-direction: column; gap: 14px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-quote blockquote { margin: 0; flex: 1; }
.pdp-quote p { font: 400 20px/1.35 var(--brand-font-heading); color: var(--brand-ink); }
.pdp-quote figcaption { font: 700 var(--rx-fs-cap)/1.35 var(--brand-font-body); color: var(--brand-deep); }
.pdp-hl { font-weight: 400; color: var(--brand-ink); background: linear-gradient(transparent 14%, color-mix(in srgb, var(--brand-highlight) 55%, var(--brand-surface)) 14%, color-mix(in srgb, var(--brand-highlight) 55%, var(--brand-surface)) 90%, transparent 90%); padding: 0 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.pdp-wall { max-width: 900px; margin-left: auto !important; margin-right: auto !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); margin: clamp(20px, 2.4vw, 32px) 0 0; padding: 0; list-style: none; }
.pdp-wall__tile { display: grid; place-items: center; aspect-ratio: 1; padding: 14px; border-radius: var(--rx-r-md); border: 1.5px dashed var(--rx-line); text-align: center; background: var(--rx-ivory); }
.pdp-wall__tile--1 { background: var(--pdp-soft); }
.pdp-wall__tile--2 { background: color-mix(in srgb, var(--rx-sage) 40%, var(--brand-bg)); }
.pdp-wall__tile span { font: italic 400 16px/1.25 var(--brand-font-italic); color: var(--brand-deep); }
.pdp-wall__tile:has(img) { padding: 0; border: 1.5px solid var(--brand-deep); overflow: hidden; display: block; position: relative; }
.pdp-wall__tile img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.pdp-faq__list { max-width: 760px; margin: 0 auto; }
.pdp-faq__list .pdp-acc:first-child { border-top: 1px solid var(--pdp-line); }
.pdp-acc--faq > summary { font: 400 22px/1.2 var(--brand-font-heading); min-height: 64px; }
.pdp-cross__list { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; gap: clamp(16px, 3vw, 40px); margin: 0; padding: 0; list-style: none; }
.pdp-mini { display: flex; flex-direction: column; gap: 16px; }
.pdp-mini__img { aspect-ratio: 4 / 3; border-radius: var(--rx-r-md); overflow: hidden; background: var(--rx-linen); }
.pdp-mini__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-mini__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pdp-mini__name { font-size: 26px; }
.pdp-price--mini .pdp-price__now { font-size: 28px; }
.pdp-mini__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--brand-deep); color: var(--brand-deep); font: 700 var(--rx-fs-sub)/1 var(--brand-font-body); text-decoration: none; }
.pdp-mini__btn:hover { background: var(--rx-linen); }
.pdp-journal__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.pdp-journal__nav { display: none; gap: 10px; flex: none; }
.rx-arrow { width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0; display: grid; place-items: center; cursor: pointer; background: var(--brand-deep); color: var(--brand-bg); }
.rx-arrow svg { width: 20px; height: 20px; }
.rx-arrow--prev svg { transform: rotate(180deg); }
.rx-arrow[aria-disabled="true"] { background: transparent; color: var(--brand-deep); box-shadow: inset 0 0 0 1.5px var(--brand-deep); cursor: default; }
.pdp-journal__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin: 0; padding: 0; list-style: none; }
.pdp-article { position: relative; display: flex; flex-direction: column; gap: 10px; }
.pdp-article__img { border-radius: var(--rx-r-sm); overflow: hidden; aspect-ratio: 16 / 10; background: var(--rx-linen); }
.pdp-article__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-article__title { flex: 1; font-size: 21px; line-height: 1.15; }
.pdp-article__link { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; min-height: 44px; font: 700 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--rx-accent-ink); text-decoration: underline; text-underline-offset: 4px; }
.pdp-article__link svg { width: 16px; height: 16px; }
.pdp-sticky { display: none; }
@media (max-width: 767px) {
  html { scroll-padding-bottom: 96px; }
  .pdp-sticky { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 0 var(--rx-inset) 10px; visibility: hidden; transform: translateY(120%); transition: transform .3s ease, visibility 0s linear .3s; }
  .pdp-sticky.is-shown { visibility: visible; transform: none; transition: transform .3s ease, visibility 0s; }
}
.pdp-sticky__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 20px; border-radius: 999px; background: var(--brand-deep); box-shadow: 0 0 0 2px var(--brand-bg), 0 16px 36px -16px rgba(42, 34, 30, .7); }
.pdp-sticky__info { display: flex; align-items: baseline; gap: 10px; min-width: 0; color: var(--brand-bg); }
.pdp-sticky__name { font: 400 19px/1.1 var(--brand-font-heading); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdp-sticky__price { font: 700 14px/1 var(--brand-font-body); }
.pdp-sticky__btn { flex: none; min-height: 46px; padding: 0 20px; }
@media (prefers-reduced-motion: reduce) {
  .pdp-sticky, .pdp-sticky.is-shown { transition: none !important; transform: none !important; }
}
.pdp-cart { position: fixed; inset: 0; z-index: 100; }
.pdp-cart__scrim { position: absolute; inset: 0; background: color-mix(in srgb, var(--brand-deep) 45%, transparent); opacity: 0; transition: opacity .3s ease; }
.pdp-cart__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); display: flex; flex-direction: column; background: var(--brand-bg); box-shadow: -20px 0 60px -30px rgba(42, 34, 30, .6); transform: translateX(100%); transition: transform .3s ease; outline: none; }
.pdp-cart.is-open .pdp-cart__scrim { opacity: 1; }
.pdp-cart.is-open .pdp-cart__panel { transform: none; }
.pdp-cart__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--rx-hair); }
.pdp-cart__title { font-size: 28px; }
.pdp-cart__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--rx-linen); color: var(--brand-deep); }
.pdp-cart__body { flex: 1; overflow-y: auto; padding: 18px 20px; display: flex; flex-direction: column; gap: 16px; }
.pdp-cart__items { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pdp-line { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.pdp-line img { width: 72px; height: 72px; border-radius: 12px; object-fit: cover; background: var(--rx-linen); }
.pdp-line .rx-kit__item, .pdp-line .rx-kit__item svg { width: 44px; height: 44px; }
.pdp-line__thumb { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 12px; background: var(--rx-linen); }
.pdp-line__name { font: 400 22px/1.15 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-line__price { font: 700 15px/1 var(--brand-font-body); color: var(--brand-deep); }
.pdp-cart__saving { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--rx-sage) 45%, var(--brand-bg)); font: 700 14px/1.35 var(--brand-font-body); color: var(--brand-ink); }
.pdp-cart__saving .pdp-ico { color: var(--brand-deep); }
.pdp-upsell, .pdp-addon { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px; border-radius: var(--rx-r-sm); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-upsell img, .pdp-addon img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.pdp-upsell__link { display: inline-flex; align-items: center; min-height: 24px; font: 700 15px/1.3 var(--brand-font-body); color: var(--brand-deep); text-underline-offset: 3px; }
.pdp-upsell p, .pdp-addon p { margin-top: 4px; font: 500 13px/1.45 var(--brand-font-body); }
.pdp-addon__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; cursor: pointer; background: var(--brand-surface); color: var(--brand-deep); box-shadow: inset 0 0 0 1.5px var(--brand-deep); font: 700 14px/1 var(--brand-font-body); }
.pdp-addon__btn[aria-pressed="true"] { background: color-mix(in srgb, var(--rx-sage) 45%, var(--brand-bg)); }
.pdp-addon__btn .pdp-ico { display: none; }
.pdp-addon__btn[aria-pressed="true"] .pdp-ico { display: block; }
.pdp-addon__price { margin-left: 8px; font: 700 14px/1 var(--brand-font-body); color: var(--brand-deep); }
.pdp-cart__empty { font: italic 400 20px/1.3 var(--brand-font-italic); color: var(--brand-deep); }
.pdp-cart__foot { padding: 16px 20px 20px; border-top: 1px solid var(--rx-hair); }
.pdp-cart__checkout { width: 100%; min-height: 54px; }
.pdp-cart__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; margin: 12px 0 0; padding: 0; list-style: none; }
.pdp-cart__trust li { display: flex; align-items: center; gap: 6px; font: 600 13px/1.35 var(--brand-font-body); }
.pdp-cart__trust a { color: var(--rx-accent-ink); }
html.pdp-locked { overflow: hidden; }
@media (max-width: 989px) {
  .pdp-hero { grid-template-columns: minmax(0, 1fr); gap: 40px; max-width: 640px; padding-top: 16px; }
  .pdp-gallery { position: static; }
  .pdp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .pdp-quotes { grid-template-columns: minmax(0, 1fr); max-width: 640px; margin: 0 auto; }
}
@media (max-width: 767px) {
  :root[data-rx="slow-pour"] { --rx-inset: 16px; }
  :root { --pdp-block: 18px; }
  .pdp-hero { gap: 32px; padding-top: 12px; }
  .pdp-gallery__stage { border-radius: var(--rx-r-md); aspect-ratio: 1; }
  .pdp-gallery__arrow { display: none; }
  .pdp-thumbs { gap: 6px; margin-top: 8px; }
  .pdp-thumb { border-radius: 9px; }
  .pdp-eyebrow { margin-top: 22px; }
  .pdp-title { font-size: 42px; }
  .pdp-card { padding: 20px 18px; }
  .pdp-incl__row { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; }
  .pdp-incl__img { width: 44px; height: 44px; }
  .pdp-trust { gap: 8px; }
  .pdp-samples { grid-template-columns: minmax(0, 300px); }
  .pdp-steps { gap: 14px; row-gap: 28px; }
  .pdp-step__cap { font-size: 21px; margin-top: 12px; }
  .pdp-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdp-cross__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .pdp-mini { gap: 12px; }
  .pdp-mini__img { aspect-ratio: 1; }
  .pdp-mini .rx-kit { display: none; }
  .pdp-mini__name { font-size: 20px; }
  .pdp-price--mini { gap: 4px 6px; }
  .pdp-price--mini .pdp-price__now { font-size: 24px; }
  .pdp-mini__btn { padding: 0 14px; font-size: 13px; }
  .pdp-acc--faq > summary { font-size: 20px; }
  .pdp-journal__nav { display: flex; }
  .pdp-journal__track { position: relative; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--rx-inset); scrollbar-width: none; margin: 0 calc(-1 * var(--rx-inset)); padding: 4px 0 10px; }
  .pdp-journal__track::-webkit-scrollbar { display: none; }
  .pdp-journal__track:focus-visible { outline-offset: -4px !important; }
  .pdp-journal__list { display: flex; width: max-content; padding: 0 var(--rx-inset); }
  .pdp-article { width: min(74vw, 280px); flex: none; scroll-snap-align: start; }
}
.pdp-lede { max-width: 54ch; margin: 14px auto 0; font: 500 16px/1.6 var(--brand-font-body); }
.pdp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pdp-chips li { padding: 4px 10px; border-radius: 999px; background: var(--rx-ivory); box-shadow: inset 0 0 0 1px var(--rx-hair); font: 600 12px/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pdp-chips--sm li { padding: 3px 9px; }
.pdp-fam { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin: 0; padding: 0; list-style: none; }
.pdp-fam__tile { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-fam__ico { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 4px; border-radius: 50%; background: var(--pdp-soft); color: var(--brand-deep); }
.pdp-fam__ico svg { width: 21px; height: 21px; }
.pdp-fam__line { font: 400 21px/1.25 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-fam__follow { font: 500 var(--rx-fs-sub)/1.5 var(--brand-font-body); }
.pdp-pieces__list { display: grid; gap: clamp(20px, 2.6vw, 36px); max-width: 960px; margin: 0 auto; padding: 0; list-style: none; }
.pdp-piece { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: center; }
.pdp-piece:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
.pdp-piece:nth-child(even) .pdp-piece__img { order: 2; }
.pdp-piece__img { aspect-ratio: 4 / 3; border-radius: var(--rx-r-md); overflow: hidden; background: var(--rx-linen); }
.pdp-piece__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-piece__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pdp-piece__name { font-size: 28px; }
.pdp-piece__line { font: 500 16px/1.55 var(--brand-font-body); max-width: 40ch; }
.pdp-piece__price { font: 600 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--rx-muted-ink); }
.pdp-piece__price s { text-decoration-thickness: 1.5px; }
.pdp-embrace .pdp-head { margin-bottom: clamp(28px, 3vw, 44px); }
.pdp-emb__diagram { max-width: 720px; margin: 0 auto 32px; }
.pdp-emb { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.pdp-emb__item { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 12px 20px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); text-align: center; }
.pdp-emb__item:nth-child(odd) { background: color-mix(in srgb, var(--rx-blush) 16%, var(--brand-surface)); }
.pdp-emb__h { display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: inherit; }
.pdp-emb__letter { font: 400 clamp(64px, 6vw, 92px)/.9 var(--brand-font-heading); color: var(--rx-accent-ink); }
.pdp-emb__ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--pdp-soft); color: var(--brand-deep); }
.pdp-emb__ico svg { width: 19px; height: 19px; }
.pdp-emb__name { font: 700 var(--rx-fs-sub)/1.25 var(--brand-font-body); color: var(--brand-deep); }
.pdp-emb__line { font: 500 var(--rx-fs-cap)/1.45 var(--brand-font-body); }
.pdp-emb .pdp-chips { justify-content: center; margin-top: auto; }
.pdp-row__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: clamp(24px, 3vw, 40px); }
.pdp-row__nav { display: none; gap: 10px; flex: none; justify-content: flex-end; }
[data-row].is-scrollable .pdp-row__nav { display: flex; }
.pdp-row__track { position: relative; }
.pdp-row__track:focus-visible { outline-offset: -4px !important; }
.pdp-emb__item { position: relative; }
.pdp-embrace .pdp-row__nav { margin-bottom: 14px; }
.pdp-videos .pdp-row__track { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px 0 8px; }
.pdp-videos .pdp-row__track::-webkit-scrollbar { display: none; }
.pdp-vids { display: flex; gap: 14px; width: max-content; margin: 0; padding: 0; list-style: none; }
.pdp-vid { position: relative; flex: none; width: clamp(180px, 16vw, 220px); aspect-ratio: 9 / 16; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; border-radius: var(--rx-r-md); background: var(--rx-linen); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-vid:nth-child(3n+2) { background: var(--pdp-soft); }
.pdp-vid__play { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--brand-deep); color: var(--brand-bg); }
.pdp-vid__play svg { width: 22px; height: 22px; margin-left: 3px; }
.pdp-vid__label { font: 600 var(--rx-fs-cap)/1.3 var(--brand-font-body); color: var(--brand-deep); }
@media (max-width: 1199px) {
  .pdp-emb { display: flex; width: max-content; gap: 12px; }
  .pdp-emb__item { width: 200px; flex: none; scroll-snap-align: start; }
  .pdp-emb__track { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--rx-line) transparent; padding: 2px 2px 14px; }
}
@media (max-width: 989px) {
  .pdp-fam { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdp-piece { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
  .pdp-piece:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 220px); }
}
@media (max-width: 767px) {
  .pdp-fam { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pdp-fam__tile { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: 18px 16px; }
  .pdp-fam__ico { grid-row: span 2; margin: 0; }
  .pdp-fam__line { font-size: 19px; }
  .pdp-piece, .pdp-piece:nth-child(even) { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: start; }
  .pdp-piece:nth-child(even) .pdp-piece__img { order: 0; }
  .pdp-piece__img { aspect-ratio: 1; border-radius: var(--rx-r-sm); }
  .pdp-piece__name { font-size: 22px; }
  .pdp-piece__line { font-size: var(--rx-fs-sub); }
  .pdp-emb__item { width: 72vw; max-width: 260px; }
  .pdp-emb__track, .pdp-videos .pdp-row__track { margin: 0 calc(-1 * var(--rx-inset)); padding-left: var(--rx-inset); padding-right: var(--rx-inset); scroll-padding-inline: var(--rx-inset); }
  .pdp-vid { width: 58vw; max-width: 220px; }
  .pdp-row__head { margin-bottom: 20px; }
  .pdp-row__head .pdp-h2 { font-size: 30px; }
}
.pdp-chooser { margin: 0; padding: 0; border: 0; min-width: 0; }
.pdp-chooser legend { padding: 0; margin-bottom: 12px !important; }
.pdp-chooser__list { display: grid; gap: 8px; }
.pdp-swatch { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 48px; padding: 9px 12px; border-radius: 14px; cursor: pointer; background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-line); }
.pdp-swatch input.pdp-swatch__dot { appearance: none; -webkit-appearance: none; margin: 0; cursor: pointer; }
.pdp-swatch:has(input:checked) { box-shadow: inset 0 0 0 2px var(--brand-deep); background: color-mix(in srgb, var(--rx-blush) 22%, var(--brand-surface)); }
.pdp-swatch:has(input:focus-visible) { box-shadow: inset 0 0 0 2px var(--brand-deep), 0 0 0 3px var(--brand-bg), 0 0 0 5px var(--brand-ink); }
.pdp-swatch__dot { width: 30px; height: 30px; border-radius: 50%; background: var(--box); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35); }
.pdp-swatch input.pdp-swatch__dot:checked { box-shadow: 0 0 0 2px var(--brand-surface), 0 0 0 4px var(--brand-deep); }
.pdp-swatch__txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.pdp-swatch__name { font: 700 var(--rx-fs-sub)/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pdp-swatch__vibe { font: 500 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--brand-ink); }
.pdp-samples--one { grid-template-columns: minmax(0, 300px); }
.pdp-peek .pdp-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 28px; }
.pdp-peek .pdp-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; cursor: pointer; background: var(--brand-surface); color: var(--brand-deep); box-shadow: inset 0 0 0 1.5px var(--brand-deep); font: 700 var(--rx-fs-sub)/1 var(--brand-font-body); }
.pdp-peek .pdp-tab[aria-selected="true"] { background: var(--brand-deep); color: var(--brand-bg); }
.pdp-tab__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--box); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); }
.pdp-peek [role="tabpanel"] { border-radius: var(--rx-r-md); }
.pdp-peek [role="tabpanel"]:focus-visible { outline-offset: 8px; }
.pdp-line__variant { display: block; margin-top: 4px; font: 600 var(--rx-fs-cap)/1.3 var(--brand-font-body); color: var(--brand-ink); }
.pdp-cart__nudge { padding: 10px 12px; border-radius: 12px; background: var(--rx-ivory); box-shadow: inset 0 0 0 1px var(--rx-hair); font: 600 13px/1.45 var(--brand-font-body); color: var(--brand-ink); }
.pdp-cmp { width: 100%; max-width: 980px; margin: 0 auto; border-collapse: collapse; table-layout: fixed; }
.pdp-cmp caption { margin-bottom: clamp(28px, 3.4vw, 48px); text-align: center; }
.pdp-cmp__corner { width: 22%; }
.pdp-cmp th, .pdp-cmp td { padding: 16px 12px; border-bottom: 1px solid var(--pdp-line); text-align: center; vertical-align: middle; font: 500 var(--rx-fs-sub)/1.4 var(--brand-font-body); }
.pdp-cmp tbody th { text-align: left; font-weight: 700; color: var(--brand-deep); }
.pdp-cmp thead th { vertical-align: bottom; border-bottom: 0; padding-top: 30px; }
.pdp-cmp .is-here { background: color-mix(in srgb, var(--rx-blush) 20%, var(--brand-bg)); }
.pdp-cmp thead .is-here { border-radius: var(--rx-r-md) var(--rx-r-md) 0 0; }
.pdp-cmp tbody tr:last-child .is-here { border-radius: 0 0 var(--rx-r-md) var(--rx-r-md); }
.pdp-cmp tbody tr:last-child > * { border-bottom: 0; }
.pdp-cmp__col { position: relative; }
.pdp-cmp__here { position: absolute; top: 4px; left: 50%; transform: translateX(-50%); padding: 3px 10px; border-radius: 999px; background: var(--brand-deep); color: var(--brand-bg); font: 700 12px/1.3 var(--brand-font-body); white-space: nowrap; }
.pdp-cmp__img { display: block; width: min(100%, 120px); aspect-ratio: 1; margin: 0 auto 10px; border-radius: var(--rx-r-sm); overflow: hidden; background: var(--rx-linen); }
.pdp-cmp__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-cmp__name { display: block; font: 400 22px/1.1 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-price--cmp { justify-content: center; gap: 2px 6px; }
.pdp-price--cmp .pdp-price__now { font-size: 26px; }
.pdp-price--cmp .pdp-price__pre { width: 100%; font-size: 12px; }
.pdp-mark { display: inline-block; font: 700 18px/1 var(--brand-font-body); }
.pdp-mark--yes { color: var(--rx-olive-ink); }
.pdp-mark--no { color: var(--rx-muted-ink); }
.pdp-cmp__note { display: block; margin-top: 4px; font: 500 12px/1.35 var(--brand-font-body); color: var(--brand-ink); }
.pdp-cmp__num { font: 400 26px/1 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-cmp__best { font-size: var(--rx-fs-cap) !important; }
.pdp-cmp__ctas td { border-bottom: 0; padding-top: 20px; padding-bottom: 24px; }
.pdp-cmp__ctas .pdp-mini__btn { padding: 0 16px; }
.pdp-cmp__link { display: inline-flex; align-items: center; min-height: 44px; font: 700 var(--rx-fs-sub)/1.2 var(--brand-font-body); color: var(--rx-accent-ink); text-underline-offset: 3px; }
@media (max-width: 767px) {
  .pdp-cmp__corner { width: 25%; }
  .pdp-cmp th, .pdp-cmp td { padding: 12px 4px; font-size: 12.5px; }
  .pdp-cmp tbody th { padding-left: 0; font-size: 12.5px; overflow-wrap: anywhere; }
  .pdp-cmp__name { font-size: 16px; }
  .pdp-cmp__img { width: 56px; margin-bottom: 6px; }
  .pdp-cmp__here { font-size: 12px; padding: 2px 6px; top: 0; }
  .pdp-price--cmp { flex-direction: column; align-items: center; gap: 4px; }
  .pdp-price--cmp .pdp-price__now { font-size: 20px; }
  .pdp-price--cmp .pdp-price__was, .pdp-price--cmp .pdp-price__pre { font-size: 12px; }
  .pdp-price--cmp .pdp-save { padding: 3px 6px; font-size: 12px; letter-spacing: 0; }
  .pdp-cmp__num { font-size: 20px; }
  .pdp-cmp__ctas .pdp-mini__btn { padding: 0 8px; min-height: 44px; font-size: 12px; line-height: 1.15; white-space: normal; }
  .pdp-cmp__link { font-size: 12px; }
}
.pdp-cart__ph { padding: 10px 12px; border-radius: 12px; border: 1.5px dashed var(--rx-line); font: 600 13px/1.45 var(--brand-font-body); color: var(--brand-deep); }
.pdp-inside__h { margin: 0; font: inherit; }
.pdp-inside__btn { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; width: 100%; min-height: 56px; padding: 6px 34px 6px 0; border: 0; border-radius: 10px; background: none; cursor: pointer; text-align: left; position: relative; color: inherit; }
.pdp-inside__txt { display: flex; flex-direction: column; gap: 3px; margin-right: auto; }
.pdp-inside__count { font: 600 var(--rx-fs-sub)/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pdp-inside__btn .rx-kit { padding: 6px 10px; }
.pdp-inside__icon::before, .pdp-inside__icon::after { content: ''; position: absolute; right: 8px; top: 50%; width: 14px; height: 2px; background: var(--brand-deep); border-radius: 2px; }
.pdp-inside__icon::after { transform: rotate(90deg); transition: transform .2s ease; }
.pdp-inside__btn[aria-expanded="true"] .pdp-inside__icon::after { transform: rotate(0deg); }
.pdp-inside__panel { padding-top: 12px; }
.pdp-card .pdp-check { margin-top: 0; }
.pdp-real .pdp-lede { margin-top: 10px; }
.pdp-real__sum { margin-top: 12px; font: 700 var(--rx-fs-sub)/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pdp-real__star { color: var(--rx-accent-ink); }
.pdp-real__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin: 0; padding: 0; list-style: none; }
.pdp-rcard figure { height: 100%; margin: 0; padding: 24px; display: flex; flex-direction: column; gap: 12px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-rcard__label { font: 700 var(--rx-fs-label)/1.35 var(--brand-font-body) !important; letter-spacing: .1em !important; text-transform: uppercase; color: var(--rx-accent-ink); }
.pdp-rcard blockquote { margin: 0; flex: 1; }
.pdp-rcard p { font: 400 20px/1.35 var(--brand-font-heading); color: var(--brand-ink); }
.pdp-rcard figcaption { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font: 700 var(--rx-fs-cap)/1.35 var(--brand-font-body); color: var(--brand-deep); }
.pdp-rcard__deck { font-weight: 500; color: var(--brand-ink); }
.pdp-videos .pdp-wall { margin-top: clamp(14px, 1.8vw, 22px); }
@media (max-width: 989px) {
  .pdp-real__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pdp-real__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pdp-rcard figure { padding: 20px 18px; }
  .pdp-rcard p { font-size: 19px; }
  .pdp-inside__btn .rx-kit { order: 3; }
}
.pdp-cmp th, .pdp-cmp td { min-width: 0; overflow-wrap: break-word; word-break: normal; hyphens: manual; }
.pdp-cmp thead th { padding-top: 14px; }
.pdp-cmp__col { position: static; }
.pdp-cmp__badge { display: inline-block; max-width: 100%; min-height: 22px; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px; background: var(--rx-olive-ink); color: var(--brand-surface); font: 700 12px/1.3 var(--brand-font-body); letter-spacing: .02em; white-space: normal; }
.pdp-cmp__badge.is-empty { visibility: hidden; padding: 0; background: none; }
.pdp-cmp__here { position: static; transform: none; display: inline-block; max-width: 100%; margin-top: 6px; padding: 2px 9px; border-radius: 999px; background: var(--brand-deep); color: var(--brand-bg); font: 700 12px/1.3 var(--brand-font-body); white-space: normal; }
.pdp-price--cmp .pdp-save { white-space: normal; text-align: center; max-width: 100%; }
.pdp-cmp__note, .pdp-cmp__best { overflow-wrap: break-word; }
.pdp-cmp__ctas .pdp-mini__btn { max-width: 100%; white-space: normal; text-align: center; justify-content: center; line-height: 1.2; }
@media (max-width: 767px) {
  .pdp-cmp__badge { margin-bottom: 6px; padding: 2px 6px; letter-spacing: 0; }
  .pdp-cmp__here { padding: 2px 6px; }
}
@media (max-width: 479px) {
  .pdp-price--cmp { flex-direction: column; align-items: center; gap: 3px; }
  .pdp-price--cmp .pdp-price__pre { width: auto; }
  .pdp-price--cmp .pdp-save { padding: 2px 5px; font-size: 12px; line-height: 1.25; }
  .pdp-cmp th, .pdp-cmp td { padding-left: 3px; padding-right: 3px; hyphens: auto; -webkit-hyphens: auto; }
  .pdp-cmp__badge { padding: 2px 4px; }
  .pdp-cmp__corner { width: 24%; }
  .pdp-cmp tbody th { font-size: 12px; }
  .pdp-cmp__img { width: 48px; }
  .pdp-cmp__name { font-size: 15px; }
  .pdp-cmp__ctas .pdp-mini__btn { padding: 4px 6px; font-size: 12px; }
}
@media (max-width: 399px) {
  .pdp-cmp__narrow-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pdp-cmp__badge { padding: 2px 3px; }
}
.pdp-sec::before { display: none; }
.pdp-sec:not(.pdp-sec--tint) + .pdp-sec:not(.pdp-sec--tint)::before { display: block; }
.pdp-sec--tint { width: calc(100% - 2 * var(--rx-inset)); max-width: 1320px; margin: var(--pdp-sec) auto 0; padding: clamp(40px, 5vw, 72px) clamp(18px, 4vw, 56px); border-radius: var(--rx-r-lg); background: var(--tint); }
.pdp-tint-linen { --tint: var(--rx-linen); }
.pdp-tint-blush { --tint: color-mix(in srgb, var(--rx-blush) 32%, var(--brand-bg)); }
.pdp-tint-sage { --tint: color-mix(in srgb, var(--brand-olive) 20%, var(--brand-bg)); }
.pdp-tint-deep { --tint: var(--brand-deep); color: var(--brand-bg); }
.pdp-tint-deep :is(.pdp-h2, .pdp-lede) { color: var(--brand-bg); }
.pdp-tint-deep :is(a, button, [tabindex]):focus-visible { outline-color: var(--brand-bg) !important; box-shadow: 0 0 0 2px var(--brand-deep) !important; }
.pdp-ebpill { display: inline-block; margin: 0 0 12px; padding: 6px 14px; border-radius: 999px; background: color-mix(in srgb, var(--brand-olive) 22%, var(--brand-bg)); color: var(--brand-deep); font: 700 12px/1.3 var(--brand-font-body); letter-spacing: .06em; }
.pdp-sec--tint .pdp-ebpill { background: var(--brand-surface); }
.pdp-tint-deep .pdp-ebpill { background: var(--brand-highlight); color: var(--brand-deep); }
.pdp-head--cmp { margin-bottom: 0; }
.pdp-incl__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdp-incl__desc { font: 500 13px/1.3 var(--brand-font-body); color: var(--rx-muted-ink); }
.pdp-real__track { position: relative; }
.pdp-real__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: clamp(12px, 1.4vw, 18px); margin: 0; padding: 0; list-style: none; }
.pdp-rcard figure { position: relative; height: 100%; margin: 0; padding: 26px 22px 22px; display: flex; flex-direction: column; gap: 12px; border-radius: var(--rx-r-md); box-shadow: none; }
.pdp-rcard--deep figure { background: var(--brand-deep); color: var(--brand-bg); }
.pdp-rcard--cream figure { background: color-mix(in srgb, var(--brand-highlight) 32%, var(--brand-bg)); color: var(--brand-ink); }
.pdp-rcard__q { width: 40px; height: 30px; }
.pdp-rcard--deep .pdp-rcard__q { fill: var(--brand-highlight); }
.pdp-rcard--cream .pdp-rcard__q { fill: var(--rx-accent-ink); }
.pdp-rcard__label { align-self: flex-start; padding: 4px 11px; border-radius: 999px; font: 700 12px/1.35 var(--brand-font-body) !important; letter-spacing: .04em !important; text-transform: none !important; }
.pdp-rcard--deep .pdp-rcard__label { background: var(--brand-highlight); color: var(--brand-deep); }
.pdp-rcard--cream .pdp-rcard__label { background: var(--brand-surface); color: var(--brand-deep); }
.pdp-rcard p { color: inherit; font: 400 20px/1.35 var(--brand-font-heading); }
.pdp-rcard figcaption { color: inherit; }
.pdp-rcard--deep .pdp-rcard__deck { color: color-mix(in srgb, var(--brand-highlight) 55%, #fff); }
.pdp-rcard--cream .pdp-rcard__deck { color: var(--brand-ink); }
.pdp-rcard--img { border-radius: var(--rx-r-md); overflow: hidden; min-height: 220px; background: var(--rx-linen); }
.pdp-rcard--img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-real__nav { margin-bottom: 12px; }
.pdp-real__all { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 700 var(--rx-fs-sub)/1 var(--brand-font-body); color: var(--rx-accent-ink); text-decoration: underline; text-underline-offset: 4px; }
.pdp-real__all svg { width: 16px; height: 16px; }
.pdp-loox { display: grid; place-items: center; min-height: 240px; border-radius: var(--rx-r-md); border: 1.5px dashed var(--rx-line); background: var(--brand-surface); }
.pdp-loox__ph { font: italic 400 20px/1.3 var(--brand-font-italic); color: var(--brand-deep); }
.pdp-loox-sec h2:focus { outline: none; }
.pdp-loox-sec h2:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 4px; }
.pdp-cmp th, .pdp-cmp td { border-bottom-color: color-mix(in srgb, var(--brand-deep) 8%, transparent); }
.pdp-cmp .is-here { background: transparent; }
.pdp-cmp .is-feat { background: color-mix(in srgb, var(--brand-olive) 16%, var(--brand-surface)); box-shadow: inset 1.5px 0 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent), inset -1.5px 0 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent); }
.pdp-cmp thead .is-feat { border-radius: var(--rx-r-md) var(--rx-r-md) 0 0; box-shadow: inset 1.5px 1.5px 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent), inset -1.5px 0 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent); }
.pdp-cmp tbody tr:last-child .is-feat { border-radius: 0 0 var(--rx-r-md) var(--rx-r-md); box-shadow: inset 1.5px -1.5px 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent), inset -1.5px 0 0 color-mix(in srgb, var(--rx-olive-ink) 45%, transparent); }
.pdp-familiar .pdp-fam__tile { background: var(--brand-surface); box-shadow: none; }
.pdp-familiar .pdp-fam__tile:nth-child(3n+1) .pdp-fam__ico { background: color-mix(in srgb, var(--brand-olive) 30%, var(--brand-surface)); }
.pdp-familiar .pdp-fam__tile:nth-child(3n+2) .pdp-fam__ico { background: color-mix(in srgb, var(--brand-highlight) 50%, var(--brand-surface)); }
.pdp-familiar .pdp-fam__tile:nth-child(3n) .pdp-fam__ico { background: color-mix(in srgb, var(--brand-accent) 22%, var(--brand-surface)); }
.pdp-car { position: relative; }
.pdp-car__track { position: relative; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--rx-inset)); padding: 10px 0 16px; border-radius: var(--rx-r-lg); }
.pdp-car__track::-webkit-scrollbar { display: none; }
.pdp-car__track:focus-visible { outline-offset: -4px !important; }
.pdp-car__list { display: flex; gap: 18px; width: max-content; margin: 0; padding: 0; list-style: none; }
.pdp-cs { --on: var(--brand-ink); position: relative; flex: 0 0 min(860px, 80vw); scroll-snap-align: center; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(18px, 3vw, 44px); align-items: center; padding: clamp(22px, 3vw, 44px); border-radius: var(--rx-r-lg); background: var(--panel); color: var(--on); transform: scale(.93); transition: transform .35s ease; }
.pdp-cs.is-active { transform: none; }
.pdp-cs--deck { --panel: color-mix(in srgb, var(--deck) 45%, var(--brand-bg)); }
.pdp-cs--sage { --panel: color-mix(in srgb, var(--brand-olive) 34%, var(--brand-bg)); }
.pdp-cs--wheat { --panel: color-mix(in srgb, var(--brand-highlight) 55%, var(--brand-bg)); }
.pdp-cs--blush { --panel: color-mix(in srgb, var(--rx-rose) 45%, var(--brand-bg)); }
.pdp-cs--clay { --panel: color-mix(in srgb, var(--brand-accent) 28%, var(--brand-bg)); }
.pdp-cs--deep { --panel: var(--brand-deep); --on: var(--brand-bg); }
.pdp-cs__visual { min-width: 0; }
.pdp-cs__img { aspect-ratio: 1; max-width: 360px; margin: 0 auto; border-radius: var(--rx-r-md); overflow: hidden; background: var(--rx-linen); }
.pdp-cs__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-cs .rx-samples__label { display: none; }
.pdp-cs .rx-samples__stack, .pdp-cs .rx-samples__nav { width: min(100%, 270px); }
.pdp-cs__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.pdp-cs__name { color: inherit; font-size: clamp(30px, 3vw, 42px); }
.pdp-cs__desc { font: 700 12px/1.35 var(--brand-font-body); letter-spacing: .12em; text-transform: uppercase; color: inherit; }
.pdp-cs__line { font: 500 16px/1.55 var(--brand-font-body); color: inherit; max-width: 38ch; }
.pdp-cs .pdp-chips li { background: color-mix(in srgb, var(--brand-surface) 70%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--on) 30%, transparent); color: var(--on); }
.pdp-cs--deep .pdp-chips li { background: transparent; box-shadow: inset 0 0 0 1px var(--brand-highlight); }
.pdp-cs__price { font: 600 var(--rx-fs-sub)/1 var(--brand-font-body); color: inherit; }
.pdp-cs__price s { text-decoration-thickness: 1.5px; }
.pdp-car__ctrl { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; margin-top: 10px; }
.pdp-car__dots { display: flex; gap: 2px; }
.pdp-car__dot { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.pdp-car__dot::before { content: ''; width: 10px; height: 10px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--brand-deep); transition: width .2s ease; }
.pdp-car__dot[aria-current="true"]::before { width: 20px; background: var(--brand-deep); }
.pdp-embrace .pdp-emb__item, .pdp-embrace .pdp-emb__item:nth-child(odd) { background: color-mix(in srgb, var(--brand-deep) 84%, var(--brand-bg)); box-shadow: none; }
.pdp-embrace .pdp-emb__letter { color: var(--brand-highlight); }
.pdp-embrace :is(.pdp-emb__name, .pdp-emb__line) { color: var(--brand-bg); }
.pdp-embrace .pdp-emb__ico { background: var(--brand-highlight); color: var(--brand-deep); }
.pdp-embrace .pdp-chips li { background: transparent; color: var(--brand-bg); box-shadow: inset 0 0 0 1px var(--brand-highlight); }
.pdp-tint-deep .rx-arrow { background: var(--brand-bg); color: var(--brand-deep); }
.pdp-tint-deep .rx-arrow[aria-disabled="true"] { background: transparent; color: var(--brand-bg); box-shadow: inset 0 0 0 1.5px var(--brand-bg); }
.pdp-embrace .pdp-emb__track { scrollbar-color: var(--brand-highlight) transparent; }
.pdp-steps { --sgap: clamp(14px, 2vw, 28px); gap: var(--sgap); }
.pdp-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.pdp-step__n { position: relative; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 18px; border-radius: 50%; background: var(--brand-deep); color: var(--brand-highlight); font: 400 34px/1 var(--brand-font-heading); }
.pdp-step:not(:last-child)::after { content: ''; position: absolute; top: 31px; left: calc(50% + 40px); width: calc(100% - 80px + var(--sgap)); height: 2px; background: color-mix(in srgb, var(--brand-deep) 45%, transparent); }
.pdp-step__body { width: 100%; }
.pdp-step__img { aspect-ratio: 4 / 3; }
.pdp-step__cap { display: block; margin-top: 14px; font: 400 24px/1.1 var(--brand-font-heading); color: var(--brand-deep); }
.pdp-step__txt { margin: 6px auto 0; max-width: 28ch; }
@media (max-width: 989px) {
  .pdp-real__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pdp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .pdp-step:nth-child(2n)::after { display: none; }
}
@media (max-width: 767px) {
  .pdp-real__track { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--rx-inset)); padding: 2px var(--rx-inset) 10px; scroll-padding-inline: var(--rx-inset); }
  .pdp-real__track::-webkit-scrollbar { display: none; }
  .pdp-real__grid { display: flex; width: max-content; gap: 12px; }
  .pdp-rcard { flex: none; width: min(80vw, 320px); scroll-snap-align: start; }
  .pdp-rcard--img { display: none; }
  .pdp-real__nav { justify-content: flex-end; }
  .pdp-cs { flex-basis: 84vw; grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px 18px; transform: scale(.95); }
  .pdp-cs__img { max-width: 240px; }
  .pdp-car__dots { order: -1; width: 100%; justify-content: center; }
  .pdp-steps { grid-template-columns: minmax(0, 1fr); row-gap: 26px; }
  .pdp-step { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 16px; align-items: start; text-align: left; }
  .pdp-step__n { width: 52px; height: 52px; margin: 0; font-size: 28px; }
  .pdp-step:not(:last-child)::after, .pdp-step:nth-child(2n):not(:last-child)::after { display: block; top: 52px; left: 25px; width: 2px; height: calc(100% - 52px + 26px); }
  .pdp-step__cap { margin-top: 10px; }
  .pdp-step__txt { margin-left: 0; }
}
.pdp-center { margin: 18px 0 0; text-align: center; }
.pdp-acc > summary { padding-right: 52px; }
.pdp-acc > summary::before { content: none; }
.pdp-acc > summary::after, .pdp-acc[open] > summary::after, .pdp-inside__icon, .pdp-acc-ico { content: ''; position: absolute; right: 2px; top: 50%; width: 32px; height: 32px; border-radius: 50%; transform: translateY(-50%); transition: none; background: linear-gradient(var(--brand-bg), var(--brand-bg)) center / 12px 2px no-repeat, linear-gradient(var(--brand-bg), var(--brand-bg)) center / 2px 12px no-repeat, var(--brand-deep); }
.pdp-acc[open] > summary::after, .pdp-inside__btn[aria-expanded="true"] .pdp-inside__icon, .pdp-ladder__toggle[aria-expanded="true"] .pdp-acc-ico { background: linear-gradient(var(--brand-bg), var(--brand-bg)) center / 12px 2px no-repeat, var(--brand-deep); }
.pdp-inside__icon { width: 34px; height: 34px; right: 0; }
.pdp-inside__icon::before, .pdp-inside__icon::after { content: none; }
.pdp-inside__btn { padding-right: 46px; }
.pdp-sticky__info { display: flex; align-items: center; gap: 4px 10px; min-width: 0; flex-wrap: nowrap; }
.pdp-sticky__name { min-width: 0; }
.pdp-price--sticky { flex-wrap: nowrap; align-items: center; gap: 6px; }
.pdp-price--sticky .pdp-price__now { font-size: 22px; color: var(--brand-bg); }
.pdp-price--sticky .pdp-price__was { font-size: 13px; color: var(--brand-highlight); }
.pdp-sticky .pdp-price--sticky .pdp-save { background: var(--brand-highlight); color: var(--brand-deep); padding: 4px 8px; }
.pdp-sticky__btn { white-space: nowrap; }
@media (max-width: 479px) {
  .pdp-sticky__name { display: none; }
  .pdp-sticky__inner { padding: 7px 7px 7px 14px; gap: 8px; }
  .pdp-sticky__btn { min-height: 44px; padding: 0 14px; font-size: 14px; }
}
@media (max-width: 359px) {
  .pdp-sticky { padding-left: 8px; padding-right: 8px; }
  .pdp-sticky__inner { padding-left: 12px; }
  .pdp-price--sticky { gap: 4px; }
  .pdp-price--sticky .pdp-price__now { font-size: 20px; }
  .pdp-sticky .pdp-price--sticky .pdp-save { padding: 3px 6px; letter-spacing: 0; }
  .pdp-sticky__btn { padding: 0 12px; font-size: 13px; }
}
.pdp-tcs { display: none; }
@media (max-width: 639px) {
  .pdp-cmp { display: none; }
  .pdp-tcs { display: block; }
  .pdp-head--cmp { margin-bottom: clamp(18px, 4vw, 26px); }
}
.pdp-tcs__list { align-items: stretch; }
.pdp-tc { flex: 0 0 70vw; max-width: 340px; scroll-snap-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 16px 18px; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); text-align: center; min-width: 0; }
.pdp-tc.is-feat { background: color-mix(in srgb, var(--brand-olive) 16%, var(--brand-surface)); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--rx-olive-ink) 55%, transparent), 0 14px 28px -18px rgba(42, 34, 30, .5); }
.pdp-tc .pdp-cmp__badge, .pdp-tc .pdp-cmp__here { margin: 0; }
.pdp-tc__img { width: 84px; aspect-ratio: 1; border-radius: var(--rx-r-sm); overflow: hidden; background: var(--rx-linen); }
.pdp-tc__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-tc__name { font-size: 24px; }
.pdp-price--tc { justify-content: center; gap: 4px 8px; }
.pdp-price--tc .pdp-price__now { font-size: 28px; }
.pdp-price--tc .pdp-price__pre { width: 100%; text-align: center; font-size: 12px; }
.pdp-price--tc .pdp-save { white-space: normal; }
.pdp-tc__best { font: 600 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--brand-deep); }
.pdp-tc__cta { margin-top: auto; }
.pdp-tc .pdp-cmp__link { margin-top: auto; }
@media (max-width: 767px) {
  .pdp-cs { flex-basis: 82vw; }
  .pdp-emb__item { width: 80vw; max-width: 300px; }
}
@media (max-width: 767px) {
  .pdp-car[data-car-start-mobile] .pdp-car__track { scroll-padding-inline: 16px; }
  .pdp-car[data-car-start-mobile] .pdp-cs { scroll-snap-align: start; }
}
@media (max-width: 767px) {
  .pdp-cs { flex-basis: 78vw; }
  .pdp-car__list { gap: 12px; }
  .pdp-emb__item { width: calc((100vw - 36px) * .78); max-width: 320px; }
}
.pdp-tcs__list { align-items: flex-start; }
.pdp-tc { padding: 0; overflow: hidden; gap: 0; text-align: left; align-items: stretch; }
.pdp-tc__bar { margin: 0; padding: 9px 14px; background: var(--rx-olive-ink); color: var(--brand-surface); font: 700 14px/1.3 var(--brand-font-body); letter-spacing: .03em; text-align: center; }
.pdp-tc__img { width: 100%; aspect-ratio: 4 / 3; border-radius: 0; }
.pdp-tc__body { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 16px 18px; text-align: center; }
.pdp-tc__specs { width: 100%; display: grid; gap: 0; margin: 6px 0 4px; padding: 0; list-style: none; border-top: 1px solid var(--pdp-line); }
.pdp-tc__specs li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; column-gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--pdp-line); text-align: left; font: 500 var(--rx-fs-cap)/1.35 var(--brand-font-body); }
.pdp-tc__sico { display: grid; place-items: center; width: 26px; height: 26px; color: var(--brand-deep); }
.pdp-tc__sico svg { width: 24px; height: 24px; overflow: visible; }
.pdp-tc__sico .ri { stroke-width: 1.6; }
.pdp-tc__slabel { min-width: 0; overflow-wrap: break-word; }
.pdp-tc__sval { text-align: right; }
.pdp-tc__sval .pdp-cmp__num { font-size: 20px; }
.pdp-tc__cta { margin-top: 8px; }
.pdp-yn { display: inline-flex; align-items: center; gap: 4px; font: 700 var(--rx-fs-cap)/1 var(--brand-font-body); white-space: nowrap; }
.pdp-yn__ico { width: 16px; height: 16px; flex: none; }
.pdp-yn--yes { color: var(--rx-olive-ink); }
.pdp-yn--no { color: var(--rx-muted-ink); }
.pdp-cmp__rico { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 8px; vertical-align: middle; color: var(--brand-deep); }
.pdp-cmp__rico svg { width: 22px; height: 22px; overflow: visible; }
.pdp-cmp__rico .ri { stroke-width: 1.6; }
.pdp-cmp tbody th { white-space: normal; }
.pdp-cmp__badge { font-size: 13px; padding: 4px 12px; }
[data-deck-price] [hidden], [data-cta-save][hidden], [data-sticky-one][hidden], [data-sticky-save][hidden], .pdp-ladder__ship[hidden] { display: none !important; }
.pdp-chooser--multi .pdp-swatch { grid-template-columns: 30px minmax(0, 1fr) 26px; }
.pdp-chooser--multi .pdp-swatch__dot { border-radius: 8px; }
.pdp-chooser--multi .pdp-swatch input.pdp-swatch__dot:checked { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35); }
.pdp-swatch__tick { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--rx-line); color: transparent; }
.pdp-swatch__tick svg { width: 16px; height: 16px; }
.pdp-swatch:has(input:checked) .pdp-swatch__tick { background: var(--brand-deep); box-shadow: none; color: var(--brand-bg); }
.pdp-ladder { margin-top: 14px; }
.pdp-ladder__line { margin: 0; font: 700 var(--rx-fs-sub)/1.4 var(--brand-font-body); color: var(--brand-deep); }
.pdp-ladder__ship { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font: 600 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--rx-olive-ink); }
.pdp-ladder__ship svg { width: 20px; height: 20px; }
.pdp-rungs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.pdp-rung { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 9px 4px 10px; border-radius: 12px; text-align: center; background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-line); }
.pdp-rung.is-on { background: var(--brand-deep); box-shadow: none; color: var(--brand-bg); }
.pdp-rung__n { font: 700 12px/1.2 var(--brand-font-body); color: inherit; }
.pdp-rung__p { display: flex; flex-direction: column; align-items: center; font: 400 20px/1.05 var(--brand-font-heading); color: inherit; }
.pdp-rung__p s { font: 500 12px/1.3 var(--brand-font-body); color: var(--brand-ink); }
.pdp-rung.is-on .pdp-rung__p s, .pdp-rung.is-on .pdp-rung__n { color: var(--brand-bg); }
.pdp-save--sm { padding: 3px 6px; font-size: 11px; letter-spacing: 0; }
.pdp-rung.is-on .pdp-save--sm { background: var(--brand-highlight); color: var(--brand-deep); }
.pdp-rung__ship { position: absolute; top: -8px; right: -4px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--rx-olive-ink); color: var(--brand-surface); }
.pdp-rung__ship svg { width: 14px; height: 14px; }
.pdp-incl__img--ico { display: grid; place-items: center; }
.pdp-incl__img--ico svg { width: 30px; height: 30px; }
.pdp-cross { margin: 18px 0 0; padding: 14px 16px; border-radius: 14px; background: var(--rx-linen); font: 500 var(--rx-fs-sub)/1.5 var(--brand-font-body); }
.pdp-cross__q { font-weight: 700; color: var(--brand-deep); }
.pdp-cross a { display: inline-flex; align-items: center; gap: 4px; color: var(--brand-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pdp-cross a svg { width: 16px; height: 16px; }
.pdp-cs--solo { max-width: 960px; margin: 0 auto; transform: none; }
.pdp-expect { max-width: 60ch; font-weight: 600; }
.pdp-expect a, .pdp-cmp__link a { color: var(--brand-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pdp-price--cart { margin: 12px 0 0; }
.pdp-price--cart .pdp-price__now { font-size: 26px; }
@media (max-width: 767px) {
  .pdp-cs--solo { transform: none; }
  .pdp-rungs { gap: 4px; }
  .pdp-rung { padding: 8px 2px 9px; }
  .pdp-rung__n { font-size: 11px; }
  .pdp-rung__p { font-size: 17px; }
  .pdp-save--sm { padding: 2px 4px; font-size: 11px; }
}
@media (max-width: 479px) {
  .pdp-rungs { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .pdp-rung { flex-direction: row; align-items: center; gap: 10px; padding: 9px 12px; text-align: left; }
  .pdp-rung__n { flex: 1; font-size: 13px; }
  .pdp-rung__p { flex-direction: row; align-items: baseline; gap: 8px; font-size: 20px; }
  .pdp-save--sm { font-size: 12px; padding: 3px 7px; }
  .pdp-rung__ship { position: static; order: 3; }
}
.pdp-ladder__toggle { display: none; }
@media (max-width: 767px) {
  .pdp-chooser--multi .pdp-chooser__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .pdp-chooser--multi .pdp-swatch { grid-template-columns: 24px minmax(0, 1fr) 22px; gap: 8px; min-height: 44px; padding: 8px 9px; }
  .pdp-chooser--multi .pdp-swatch__dot { width: 24px; height: 24px; border-radius: 6px; }
  .pdp-chooser--multi .pdp-swatch__vibe { display: none; }
  .pdp-chooser--multi .pdp-swatch__tick { width: 22px; height: 22px; }
  .pdp-chooser--multi .pdp-swatch__tick svg { width: 14px; height: 14px; }
  .pdp-ladder__toggle { position: relative; display: flex; align-items: center; width: 100%; min-height: 44px; margin-top: 8px; padding: 0 44px 0 0; border: 0; background: none; cursor: pointer; font: 700 var(--rx-fs-sub)/1.3 var(--brand-font-body); color: var(--brand-deep); text-align: left; }
  .pdp-ladder__toggle:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 3px; border-radius: 6px; }
  .pdp-ladder__toggle .pdp-acc-ico { width: 30px; height: 30px; }
  .pdp-ladder .pdp-rungs { display: none; }
  .pdp-ladder.is-open .pdp-rungs { display: grid; }
}
.pdp-card--after { margin-top: 20px; }
.pdp-builder [hidden], .pdp-bship[hidden] { display: none !important; }
.pdp-builder__h { font-size: clamp(26px, 2.4vw, 32px); }
.pdp-builder__sub { margin-top: 4px; font: 500 var(--rx-fs-sub)/1.5 var(--brand-font-body); color: var(--brand-ink); }
.pdp-bdecks { display: grid; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.pdp-bdeck { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-line); }
.pdp-bdeck.is-on { box-shadow: inset 0 0 0 2px var(--brand-deep); background: color-mix(in srgb, var(--rx-blush) 22%, var(--brand-surface)); }
.pdp-bdeck__name { margin: 0; font: 700 var(--rx-fs-sub)/1.25 var(--brand-font-body); color: var(--brand-deep); }
.pdp-bdeck__x { font-weight: 800; }
.pdp-stepper { display: flex; align-items: center; gap: 4px; }
.pdp-stepper__btn { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--brand-deep); color: var(--brand-bg); cursor: pointer; }
.pdp-stepper__btn svg { width: 18px; height: 18px; }
.pdp-stepper__btn[aria-disabled="true"] { background: var(--brand-surface); color: var(--brand-ink); box-shadow: inset 0 0 0 1.5px var(--rx-line); cursor: not-allowed; }
.pdp-stepper__btn:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 2px; }
.pdp-stepper__in { width: 44px; min-height: 40px; padding: 0; border: 1.5px solid var(--rx-line); border-radius: 10px; background: var(--brand-bg); text-align: center; font: 700 16px/1 var(--brand-font-body); color: var(--brand-ink); -moz-appearance: textfield; }
.pdp-stepper__in::-webkit-outer-spin-button, .pdp-stepper__in::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdp-stepper__in:focus-visible { outline: 2px solid var(--brand-ink); outline-offset: 2px; }
.pdp-bship { margin-top: 10px; }
.pdp-bship__t { margin: 0 0 6px; font: 600 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--rx-olive-ink); }
.pdp-bship__bar { height: 8px; border-radius: 999px; background: color-mix(in srgb, var(--brand-deep) 12%, var(--brand-bg)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand-deep) 35%, transparent); overflow: hidden; }
.pdp-bship__bar span { display: block; height: 100%; border-radius: 999px; background: var(--rx-olive-ink); transition: width .25s ease; }
.rx-rm .pdp-bship__bar span { transition: none; }
.pdp-bship--us { font: 600 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--rx-olive-ink); }
.pdp-bnote { margin: 10px 0 0; font: 500 var(--rx-fs-cap)/1.5 var(--brand-font-body); color: var(--brand-ink); }
.pdp-cta[aria-disabled="true"], .pdp-sticky__btn[aria-disabled="true"] { background: var(--brand-surface) !important; color: var(--brand-ink) !important; box-shadow: inset 0 0 0 1.5px var(--rx-line); cursor: not-allowed; }
.pdp-card--builder { padding-top: 18px; }
@media (max-width: 479px) {
  .pdp-bdeck { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; padding: 7px 8px; }
  .pdp-stepper__btn { width: 36px; height: 36px; }
  .pdp-stepper__in { width: 36px; min-height: 36px; }
}
.pdp-cmp--decks { max-width: 1180px; }
.pdp-cmp--decks td, .pdp-cmp--decks th { font-size: 14px; line-height: 1.45; }
.pdp-cmp--decks .pdp-cmp__txt { text-align: center; }
.pdp-cmp--decks thead th { vertical-align: bottom; }
.pdp-cmp__img--deck { width: 72px; }
.pdp-cmp--decks .pdp-cmp__col.is-here, .pdp-cmp--decks td.is-here { background: color-mix(in srgb, var(--brand-olive) 16%, var(--brand-surface)); }
.pdp-tcs--decks .pdp-tc { flex-basis: 76vw; max-width: 360px; align-items: stretch; text-align: left; }
.pdp-tcs--decks .pdp-tc__name { text-align: center; }
.pdp-tcs--decks .pdp-cmp__here { align-self: center; }
.pdp-tc__dl { display: grid; gap: 8px; margin: 6px 0 0; }
.pdp-tc__dl > div { padding-top: 8px; border-top: 1px solid var(--pdp-line); }
.pdp-tc__dl dt { display: flex; align-items: center; gap: 6px; font: 700 12px/1.3 var(--brand-font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--rx-accent-ink); }
.pdp-tc__dl dt .pdp-cmp__rico svg { width: 18px; height: 18px; }
.pdp-tc__dl dd { margin: 3px 0 0; font: 500 var(--rx-fs-sub)/1.45 var(--brand-font-body); color: var(--brand-ink); }
.pdp-tcs--decks .pdp-tc__cta { align-self: center; margin-top: 8px; }
@media (max-width: 989px) {
  .pdp-cmp--decks { display: none; }
  .pdp-tcs--decks { display: block; }
}
@media (min-width: 640px) and (max-width: 989px) {
  .pdp-tcs--decks .pdp-tc { flex-basis: 46vw; }
}
.pdp-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); max-width: 1080px; margin: 0 auto; padding: 0; list-style: none; }
.pdp-idea { display: flex; flex-direction: column; padding: 10px 10px 18px; border-radius: var(--rx-r-md); background: var(--brand-surface); border: 1px solid var(--rx-hair); box-shadow: var(--rx-card-shadow); }
.pdp-idea__art { display: grid; place-items: center; aspect-ratio: 4 / 3; margin-bottom: 16px; border-radius: var(--rx-r-sm); background: var(--rx-ivory); }
.pdp-idea__art svg { width: 82%; height: 82%; overflow: visible; }
.pdp-idea__title { margin: 0 8px 8px; font-size: 25px !important; line-height: 1.08 !important; color: var(--brand-deep); }
.pdp-idea__body { margin: 0 8px 14px; font: 500 var(--rx-fs-sub)/1.55 var(--brand-font-body); color: var(--brand-ink); }
.pdp-idea__source { margin: auto 8px 0; padding-top: 10px; border-top: 1px solid var(--rx-hair); font: italic 500 var(--rx-fs-cap)/1.4 var(--brand-font-body); color: var(--brand-deep); }
@media (max-width: 767px) {
  .pdp-why__grid { grid-template-columns: minmax(0, 1fr); }
  .pdp-idea { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 12px; padding: 10px 12px 14px 10px; }
  .pdp-idea__art { grid-row: 1 / span 3; margin: 0; aspect-ratio: 1; align-self: start; }
  .pdp-idea__art svg { width: 96%; }
  .pdp-idea :is(.pdp-idea__title, .pdp-idea__body, .pdp-idea__source) { margin-left: 0; margin-right: 0; }
  .pdp-idea__title { font-size: 22px !important; margin-top: 4px; }
}
.pdp-real__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 989px) {
  .pdp-real__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
} @media (max-width: 599px) { .pdp-footnav { grid-template-columns: repeat(2, minmax(0, max-content)); } }
.pdp-compare--decks .pdp-cmp th, .pdp-compare--decks .pdp-cmp td, .pdp-cmp--decks .pdp-cmp__txt { text-align: left; }
.pdp-compare--decks .pdp-cmp td, .pdp-compare--decks .pdp-cmp tbody th { vertical-align: top; }
.pdp-compare--decks .pdp-cmp thead th { vertical-align: bottom; }
.pdp-compare--decks .pdp-cmp thead th .pdp-cmp__img { margin-left: 0; margin-right: auto; }
.pdp-compare--decks .pdp-cmp__ctas td { text-align: left; }
.pdp-compare--decks .pdp-cmp__ctas .pdp-mini__btn { text-align: left; justify-content: flex-start; }
.pdp-tcs--decks .pdp-tc__body { align-items: stretch; text-align: left; }
.pdp-tcs--decks .pdp-tc__bar { text-align: left; padding-left: 16px; }
.pdp-tcs--decks .pdp-tc__name { text-align: left; }
.pdp-tcs--decks .pdp-cmp__here { align-self: flex-start; }
.pdp-tcs--decks .pdp-tc__dl dd { text-align: left; padding-left: 24px; }
.pdp-tcs--decks .pdp-tc__cta { align-self: flex-start; }
.pdp-builder__sub { margin-top: 6px; }
.pdp-bdecks { gap: 8px; margin-top: 14px; }
.pdp-bdeck { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 12px; padding: 10px 10px 10px 12px; }
.pdp-bdeck__sw { width: 28px; height: 28px; border-radius: 50%; background: var(--box); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .35); }
.pdp-bdeck__txt { min-width: 0; }
.pdp-bdeck__name { font-size: 16px; line-height: 1.2; }
.pdp-bdeck__vibes { display: block; margin: 2px 0 0; font: 500 13px/1.35 var(--brand-font-body); color: var(--brand-ink); }
.pdp-kt { margin-top: 18px; padding: 16px 10px 12px; border-radius: 16px; background: var(--brand-bg); box-shadow: inset 0 0 0 1px var(--rx-hair); cursor: default; }
.pdp-kt__list { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.pdp-kt__list::before { content: ''; position: absolute; left: 10%; right: 10%; top: 17px; height: 2px; background: var(--rx-line); }
.pdp-kt__tier { position: relative; min-width: 0; }
.pdp-kt__vis { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.pdp-kt__dot { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--rx-linen); color: var(--brand-ink); font: 700 15px/1 var(--brand-font-body); }
.pdp-kt__tier.is-past .pdp-kt__dot { background: color-mix(in srgb, var(--rx-olive-ink) 22%, var(--brand-bg)); color: var(--brand-deep); }
.pdp-kt__tier.is-on .pdp-kt__dot { background: var(--brand-deep); color: var(--brand-bg); }
.pdp-kt__p { margin-top: 4px; font: 700 14px/1.2 var(--brand-font-body); color: var(--brand-deep); overflow-wrap: anywhere; }
.pdp-kt__u { font-weight: 500; font-size: 12px; color: var(--brand-ink); }
.pdp-kt__chip { display: inline-block; max-width: 100%; padding: 3px 6px; border-radius: 8px; background: color-mix(in srgb, var(--brand-highlight) 55%, var(--brand-bg)); color: var(--brand-deep); font: 700 11px/1.25 var(--brand-font-body); }
.pdp-kt__chip .pdp-kt__u { font-size: 11px; color: var(--brand-deep); }
.pdp-kt__tier.is-on .pdp-kt__p { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.pdp-kt__extra { margin: 12px 0 0; font: 500 12px/1.4 var(--brand-font-body); color: var(--brand-ink); text-align: center; }
.pdp-price--builder { margin-top: 16px; }
@media (max-width: 359px) {
  .pdp-kt { padding: 14px 4px 10px; }
  .pdp-kt__dot { width: 32px; height: 32px; font-size: 14px; }
  .pdp-kt__list::before { top: 15px; }
  .pdp-kt__p { font-size: 13px; }
  .pdp-kt__chip { padding: 2px 4px; font-size: 10.5px; }
  .pdp-bdeck { gap: 8px; padding: 8px; grid-template-columns: 24px minmax(0, 1fr) auto; }
  .pdp-bdeck__sw { width: 24px; height: 24px; }
}
.pdp-sticky__col { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdp-sticky__nudge { font: 600 12px/1.25 var(--brand-font-body); color: var(--brand-highlight); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp-sticky__nudge[hidden] { display: none; }
.pdp-kt__a, .pdp-kt__u { display: block; }
.pdp-kt__p { overflow-wrap: normal; }
.pdp-kt__chip { margin-top: 2px; white-space: nowrap; }
.pdp-kt__cu { display: block; }
@media (max-width: 479px) {
  .pdp-kt__cw, .pdp-kt__ca { display: block; }
  .pdp-kt__cu { display: none; }
  .pdp-kt__chip { min-width: 0; padding: 3px 4px; }
}
@media (max-width: 479px) {
  .pdp-card--builder { padding-left: 14px; padding-right: 14px; }
  .pdp-bdeck { gap: 10px; padding: 9px 8px 9px 10px; }
  .pdp-stepper { gap: 3px; }
  .pdp-stepper__btn { width: 34px; height: 34px; }
  .pdp-stepper__in { width: 34px; min-height: 34px; }
}
@media (max-width: 359px) {
  .pdp-card--builder { padding-left: 10px; padding-right: 10px; }
  .pdp-bdeck__name { font-size: 15px; }
  .pdp-bdeck__vibes { font-size: 13px; }
  .pdp-stepper__btn { width: 32px; height: 32px; }
  .pdp-stepper__in { width: 30px; min-height: 32px; font-size: 15px; }
}
.rx-qcard__face { height: auto; min-height: 100%; }
@media (max-width: 359px) {
  .rx-qcard__q { font-size: 14px; line-height: 1.4; }
  .rx-qcard__face { padding: 12px 10px 10px; gap: 6px; }
}
details.pdp-acc:not([open]) > :not(summary) { display: none; }
.pdp-save, .pdp-save--sm, .pdp-rung.is-on .pdp-save--sm, .pdp-sticky .pdp-price--sticky .pdp-save { background: var(--rx-save-bg); color: var(--rx-save-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rx-save-ink) 22%, transparent); }
.pdp-cart__saving { background: var(--rx-save-bg); color: var(--rx-save-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rx-save-ink) 22%, transparent); }
.pdp-cart__saving .pdp-ico { color: var(--rx-save-ink); }
.pdp-kt { margin-top: 22px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.pdp-kt__list { margin: 0; }
.pdp-kt__list::before { left: 10%; right: 10%; top: 19px; background: var(--rx-hair); }
.pdp-kt__dot { width: 40px; height: 40px; font-size: 15px; background: var(--brand-surface); box-shadow: inset 0 0 0 1.5px var(--rx-line); }
.pdp-kt__tier.is-past .pdp-kt__dot { background: var(--rx-save-bg); color: var(--rx-save-ink); box-shadow: inset 0 0 0 1.5px var(--rx-save-ink); }
.pdp-kt__tier.is-on .pdp-kt__dot { background: var(--rx-save-strong); color: #fff; box-shadow: 0 0 0 3px var(--rx-save-bg); }
.pdp-kt__tier.is-on .pdp-kt__p { text-decoration: none; }
.pdp-kt__p { margin-top: 6px; font-size: 15px; }
.pdp-kt__u { font-size: 12px; }
.pdp-kt__chip { margin-top: 4px; padding: 3px 7px; border-radius: 999px; background: var(--rx-save-bg); color: var(--rx-save-ink); font: 700 12px/1.25 var(--brand-font-body); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rx-save-ink) 22%, transparent); }
.pdp-kt__chip .pdp-kt__u, .pdp-kt__cu { color: var(--rx-save-ink); font-size: inherit; font-weight: 700; }
.pdp-kt__cw, .pdp-kt__ca { display: block; }
.pdp-kt__cu { display: inline; }
.pdp-kt__extra { margin-top: 14px; }
@media (max-width: 479px) {
  .pdp-kt__cu { display: none; }
  .pdp-kt__chip { padding: 3px 7px; border-radius: 10px; }
}
@media (max-width: 359px) {
  .pdp-kt__list { margin: 0; }
  .pdp-kt__dot { width: 34px; height: 34px; font-size: 14px; }
  .pdp-kt__list::before { top: 16px; }
  .pdp-kt__p { font-size: 13px; }
  .pdp-kt__chip { padding: 2px 4px; font-size: 11px; }
  .pdp-kt__cu { display: none; }
}
.pdp-compare--decks .pdp-cmp th, .pdp-compare--decks .pdp-cmp td { padding: 16px 14px; text-align: left; font: 500 14px/1.45 var(--brand-font-body); }
.pdp-compare--decks .pdp-cmp tbody th { font-weight: 700; color: var(--brand-deep); }
.pdp-compare--decks .pdp-cmp thead th { padding-top: 20px; vertical-align: bottom; }
.pdp-compare--decks .pdp-cmp thead th .pdp-cmp__img { margin: 0 0 10px; }
.pdp-compare--decks .pdp-cmp__name { font: 400 22px/1.1 var(--brand-font-heading); text-align: left; }
.pdp-compare--decks .pdp-cmp__here { margin: 6px 0 0; }
.pdp-cmp__rh { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 10px; align-items: start; }
.pdp-cmp__rh .pdp-cmp__rico { width: 22px; height: 20px; margin: 0; }
.pdp-cmp__rh .pdp-cmp__rico svg { width: 20px; height: 20px; }
.pdp-compare--decks .pdp-cmp__ctas td { padding-top: 18px; }
.pdp-compare--decks .pdp-cmp__corner { width: 18%; }
.pdp-compare--decks .pdp-cmp__ctas .pdp-mini__btn { padding: 0 12px; font-size: 13px; line-height: 1.2; white-space: nowrap; }
@media (max-width: 1239px) {
  .pdp-compare--decks .pdp-cmp__ctas .pdp-mini__btn { white-space: normal; text-align: left; }
}
.pdp-tcs--decks .pdp-tc__bar { padding: 9px 18px; text-align: left; font-size: 13px; }
.pdp-tcs--decks .pdp-tc__body { padding: 16px 18px 20px; gap: 10px; align-items: stretch; text-align: left; }
.pdp-tcs--decks .pdp-tc__name { margin: 0; text-align: left; font-size: 24px; }
.pdp-tcs--decks .pdp-cmp__here { align-self: flex-start; margin: 0; }
.pdp-tcs--decks .pdp-tc__dl { gap: 0; margin: 2px 0 0; }
.pdp-tcs--decks .pdp-tc__dl > div { padding: 10px 0; border-top: 1px solid var(--pdp-line); }
.pdp-tcs--decks .pdp-tc__dl dt { display: block; font: 700 12px/1.3 var(--brand-font-body); letter-spacing: .06em; }
.pdp-tcs--decks .pdp-tc__dl dt .pdp-cmp__rico { display: none; }
.pdp-tcs--decks .pdp-tc__dl dd { margin: 4px 0 0; padding: 0; text-align: left; font: 500 14px/1.45 var(--brand-font-body); }
.pdp-tcs--decks .pdp-tc__cta { align-self: flex-start; margin-top: 6px; }
.pdp-lede { font-size: var(--rx-fs-lead); }
.pdp-lede.pdp-cmp__link { font-size: var(--rx-fs-sub); }
.pdp-desc, .pdp-cs__line { font-size: var(--rx-fs-read); }
.pdp-btn:not(.pdp-sticky__btn), .pdp-cta, .pdp-mini__btn, .pdp-signup__btn, .rx-samples__next, .jr-pager .jr-pager__step, .jr-share__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 50px; border: 0; border-radius: 999px; cursor: pointer; font-family: var(--brand-font-body); font-weight: 700; line-height: 1.2; letter-spacing: .02em; text-align: center; text-decoration: none; text-transform: none; }
.pdp-btn:not(.pdp-sticky__btn), .pdp-cta { padding: 0 28px; font-size: 15px; }
.pdp-sticky__btn { font-weight: 700; letter-spacing: .02em; }
.pdp-btn--deep, .pdp-cta { background: var(--brand-deep); color: var(--brand-bg); box-shadow: none; }
.pdp-btn--light, .pdp-btn.ab-final__btn, .pdp-sticky__btn { background: var(--brand-bg); color: var(--brand-deep); box-shadow: none; }
.pdp-cta { display: flex; width: 100%; }
.pdp-mini__btn, .pdp-btn.pdp-signup__btn, .rx-samples__next, .jr-pager .jr-pager__step, .jr-share__btn { padding: 0 20px; font-size: 14px; background: transparent; color: var(--brand-deep); box-shadow: inset 0 0 0 1.5px var(--brand-deep); }
button.pdp-mini__btn { background: transparent; }
.pdp-mini__btn:hover, .pdp-btn.pdp-signup__btn:hover, .rx-samples__next:hover, .jr-pager .jr-pager__step:hover, .jr-share__btn:hover { background: var(--rx-linen); }
.pdp-btn--deep:hover, .pdp-cta:hover { background: color-mix(in srgb, var(--brand-deep) 88%, #000); }
.gi-jump .pdp-mini__btn { background: transparent; }
.pdp-cmp--decks { max-width: 1240px; }
.pdp-compare--decks .pdp-cmp__corner { width: 16%; }
.pdp-compare--decks .pdp-cmp__ctas td { padding-right: 0; }
.pdp-compare--decks .pdp-cmp__ctas .pdp-mini__btn { padding: 0 20px; font-size: 14px; line-height: 1.2; white-space: nowrap; }
@media (max-width: 1239px) {
  .pdp-compare--decks .pdp-cmp__ctas .pdp-mini__btn { white-space: normal; padding: 4px 14px; }
}
@media (max-width: 767px) {
  .pdp-cmp__ctas .pdp-mini__btn { font-size: 14px; }
}
.pdp-sticky__nudge .pdp-save--nudge { display: inline-block; padding: 1px 7px; border-radius: 999px; font: 700 11.5px/1.35 var(--brand-font-body); letter-spacing: 0; white-space: nowrap; vertical-align: baseline; }
.pdp-bdeck { grid-template-columns: 26px minmax(0, 1fr) auto; grid-template-areas: "sw name step" "sw vibe vibe"; column-gap: 10px; row-gap: 1px; align-items: center; padding: 7px 10px 8px 12px; }
.pdp-bdeck__sw { grid-area: sw; width: 26px; height: 26px; }
.pdp-bdeck__txt { display: contents; }
.pdp-bdeck__name { grid-area: name; margin: 0; font-size: 16px; line-height: 1.2; }
.pdp-bdeck__vibes { grid-area: vibe; margin: 0; font: 500 12px/1.35 var(--brand-font-body); color: var(--brand-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp-stepper { grid-area: step; }
.pdp-bdecks { gap: 6px; }
@media (max-width: 479px) {
  .pdp-bdeck { column-gap: 8px; padding: 6px 8px 7px 10px; }
  .pdp-bdeck__x { display: none !important; }
}
@media (max-width: 359px) {
  .pdp-bdeck { grid-template-columns: 20px minmax(0, 1fr) auto; column-gap: 6px; padding: 6px 6px 7px 8px; }
  .pdp-bdeck__sw { width: 20px; height: 20px; }
  .pdp-bdeck__name { font-size: 15px; }
  .pdp-bdeck__vibes { font-size: 12px; }
}
@media (max-width: 767px) {
  .rx-samples__next { min-height: 50px; padding: 0 20px; }
}
.pdp-gallery__stage { border: 1.5px solid var(--brand-deep); touch-action: pan-y; }
.pdp-thumbs { display: flex; gap: 10px; margin: 8px -4px 0; padding: 4px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumbs > li { flex: 0 0 calc((100% - 6 * 10px) / 6.4); min-width: 56px; scroll-snap-align: start; }
@media (max-width: 989px) {
  .pdp-thumbs { gap: 6px; margin-top: 4px; }
  .pdp-thumbs > li { flex-basis: 60px; }
}
@media (max-width: 359px) {
  .pdp-thumbs > li { flex-basis: 56px; }
}
.pdp-thumb__grid { grid-template-rows: 1fr 1fr; }
.pdp-thumb__grid img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; aspect-ratio: 1; object-fit: cover; }
.pdp-rcard--img { position: relative; }
.pdp-rcard--img:has(img) img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---- pk-pdp.extra.css (hand-written for the theme) ---- */
/* Product pages: theme-only additions (pk-* classes) + adaptations of preview rules to Shopify's section wrappers.
   Appended to assets/pk-pdp.css by _tools/build-assets.mjs (pk-pdp only; see _tools/pk-pdp-css.sh). */

/* 1. Section rhythm. The preview used adjacent siblings (.pdp-hero + .pdp-sec, .pdp-sec + .pdp-sec); in Shopify each section sits in
      its own .shopify-section wrapper, so the same rules are restated on the wrappers. An empty wrapper (a section with no content
      for this product, e.g. no videos) is skipped over. */
.shopify-section > .pdp-sec { position: relative; }
.shopify-section:has(> .pdp-hero) + .shopify-section > .pdp-sec,
.shopify-section:has(> .pdp-hero) + .shopify-section:not(:has(> *)) + .shopify-section > .pdp-sec { margin-top: var(--pdp-sec); padding-top: 0; }
.shopify-section:has(> .pdp-sec:not(.pdp-sec--tint)) + .shopify-section > .pdp-sec:not(.pdp-sec--tint)::before,
.shopify-section:has(> .pdp-sec:not(.pdp-sec--tint)) + .shopify-section:not(:has(> *)) + .shopify-section > .pdp-sec:not(.pdp-sec--tint)::before { display: block; }
.shopify-section:has(> .pdp-hero) + .shopify-section > .pdp-sec::before { display: none; }
.shopify-section:not(:has(> *)) { display: none; }

/* 2. Buy box */
.pk-pdp-form { display: contents; }
.pdp-cta[aria-busy="true"], .pdp-sticky__btn[aria-busy="true"] { cursor: progress; opacity: .85; }
.pdp-cta[aria-disabled="true"] { cursor: not-allowed; opacity: .6; }
.pk-ready--out { color: var(--brand-deep); font-weight: 700; }
.pdp-expect p { margin: 0; }
.pdp-bnote a { color: var(--brand-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* 3. Native customer videos (pk-video-row): poster tiles + <dialog> player */
.pk-vid { padding: 0; overflow: hidden; }
.pk-vid__btn { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: inherit; background: transparent; color: inherit; font: inherit; cursor: pointer; overflow: hidden; }
.pk-vid__poster { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.pk-vid__btn .pdp-vid__play { position: relative; z-index: 1; box-shadow: 0 2px 10px rgba(0, 0, 0, .25); }
.pk-vid__name { position: absolute; z-index: 1; left: 10px; bottom: 10px; padding: 4px 10px; border-radius: 999px; background: var(--brand-bg); }
.pk-vid__btn:focus-visible { outline: 3px solid var(--brand-ink); outline-offset: -3px; box-shadow: inset 0 0 0 6px var(--brand-bg); }
.pk-vid__app { margin-top: 16px; }
.pk-vdlg { width: min(92vw, 520px); max-width: 520px; max-height: 94vh; margin: auto; padding: 0; border: 0; border-radius: var(--rx-r-lg); background: var(--brand-bg); color: var(--brand-ink); overflow: auto; }
.pk-vdlg::backdrop { background: rgba(0, 0, 0, .72); }
.pk-vdlg__inner { display: grid; gap: 12px; padding: 14px; }
.pk-vdlg__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pk-vdlg__title { margin: 0; font: 700 var(--rx-fs-sub, 16px)/1.3 var(--brand-font-body); color: var(--brand-deep); }
.pk-vdlg__close { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--brand-deep); color: var(--brand-bg); cursor: pointer; }
.pk-vdlg__close .pdp-ico { width: 20px; height: 20px; }
.pk-vdlg__video { display: block; width: 100%; max-height: 78vh; border-radius: var(--rx-r-md); background: #000; }
.pk-vdlg__tx summary { cursor: pointer; font-weight: 700; color: var(--brand-deep); }
.pk-vdlg__tx p { margin: 8px 0 0; font-size: 15px; line-height: 1.5; }

/* 4. Kaching Bundles (legacy app embed) injects a <kaching-bundle> deal picker before every product form. Pakks pages use the deck
      builder + Shopify native discounts instead, so it is hidden here. Switch the Kaching Bundles embed off before launch. */
.pk-pdp kaching-bundle, .pk-pdp kaching-bundles-block, .pk-pdp .kaching-bundles { display: none !important; }

/* 5. Loox reviews widget (cross-origin iframe): a focus ring on the frame while keyboard focus is inside it (WCAG 2.4.7).
      The parent page can't see :focus inside another origin, so pk-pdp.js adds .pk-iframe-focus. */
.pdp-loox iframe:focus, .pdp-loox iframe.pk-iframe-focus, .pk-vid__app iframe.pk-iframe-focus { outline: 3px solid var(--brand-ink) !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px var(--brand-bg) !important; }
/* Loox sizes its iframe only once it scrolls into view; until then it is 0px tall but still focusable. A minimum height keeps the
   keyboard focus target visible while the widget loads. */
.pdp-loox iframe { min-height: 240px; }

/* 6. Gallery thumbnails keep the page gutter (Kayci, 23 Oct). The row used to snap its padding away on load (scroll-snap without
      scroll-padding), so on phones the first thumb sat flush against the clipped edge and its focus ring was cut off.
      Desktop: 6px of room on every side for the 4px ring, first thumb aligned with the main image.
      Under 990px: the row bleeds to the page edge with the gutter as inner padding, so the first thumb lines up with the main
      image, the next ones peek in from the right edge, and snapping always lands on the gutter. */
.pdp-thumbs { position: relative; margin: 2px -6px 0; padding: 6px; scroll-padding-inline: 6px; scroll-snap-type: x proximity; }
.pdp-thumbs > li { scroll-snap-align: start; }
@media (max-width: 989px) {
  .pdp-thumbs { margin: 2px calc(-1 * var(--rx-inset, 16px)) 0; padding: 6px var(--rx-inset, 16px); scroll-padding-inline: var(--rx-inset, 16px); }
  .pdp-thumbs > li:last-child { margin-right: 0; }
}
@media (prefers-reduced-motion: no-preference) { .pdp-thumbs { scroll-behavior: smooth; } }

/* 7. Loox reviews: everything OUTSIDE Loox's cross-origin iframe (Kayci, 23 Oct; inside styling = remix/LOOX-RESTYLE.md).
      The preview's placeholder box (dashed border, grid + place-items:center) shrink-wrapped the real widget to 300px wide on every
      screen. Now: a full-width ivory card with a hairline, same radius and rhythm as the other PDP cards. */
.pdp-loox { display: block; min-height: 240px; max-width: 1080px; margin: 0 auto; padding: clamp(10px, 2.4vw, 32px); border: 0; border-radius: var(--rx-r-md); background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair), var(--rx-card-shadow); }
.pdp-loox > #looxReviews, .pdp-loox .shopify-app-block, .pdp-loox .shopify-app-block > div { display: block; width: 100%; }
.pdp-loox iframe { display: block; width: 100% !important; max-width: none; border: 0; border-radius: var(--rx-r-sm); }
@media (max-width: 767px) { .pdp-loox { padding: 6px; border-radius: var(--rx-r-sm); } }

/* 8. Mini deck chooser (Kayci, 23 Oct): radio cards = tint dot (the radio itself) + the deck's box photo + name + one line.
      One tab stop, arrow keys move and select (native radios). The price stays the same for every deck. */
.pdp-chooser--decks .pdp-swatch { grid-template-columns: 26px 44px minmax(0, 1fr); gap: 10px; min-height: 60px; padding: 8px 12px 8px 10px; }
.pdp-chooser--decks .pdp-swatch:not(:has(.pdp-swatch__img)) { grid-template-columns: 26px minmax(0, 1fr); }
.pdp-chooser--decks .pdp-swatch__dot { width: 26px; height: 26px; }
.pdp-swatch__img { display: block; width: 44px; height: 44px; border-radius: 10px; overflow: hidden; background: var(--rx-linen); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-swatch__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 359px) {
  .pdp-chooser--decks .pdp-swatch { grid-template-columns: 22px 40px minmax(0, 1fr); gap: 8px; padding: 8px 10px 8px 8px; }
  .pdp-chooser--decks .pdp-swatch__dot { width: 22px; height: 22px; }
  .pdp-swatch__img { width: 40px; height: 40px; }
}

/* 9. Round 2 (Kayci, 23 Oct): rating = link to the reviews; "15,000+ sold" line in the top row; stock beacon under Add to cart;
      tick-box add-on above Add to cart (one 44px row, visible label, native checkbox). */
.pdp-rating-link { display: inline-flex; align-items: center; min-height: 24px; color: inherit; text-decoration: none; border-radius: 4px; }
.pdp-rating-link .pdp-rating__num { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pdp-rating-link:hover .pdp-rating__num { text-decoration-thickness: 2px; }
.pdp-sold { gap: 6px; font-weight: 700; color: var(--brand-deep); }
.pdp-sold__ico { display: inline-grid; place-items: center; width: 18px; height: 18px; color: var(--rx-olive-ink); }
.pdp-sold__ico svg { width: 18px; height: 18px; }
.pdp-ready--cta { display: flex; justify-content: center; margin: 12px 0 0; }
.pdp-addon-tick { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 16px 0; padding: 6px 14px; border-radius: 12px; background: var(--brand-surface); box-shadow: inset 0 0 0 1px var(--rx-hair); }
.pdp-addon-tick[hidden] { display: none; }
.pdp-addon-tick__box { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--brand-deep); cursor: pointer; }
.pdp-addon-tick__label { flex: 1; min-width: 0; padding: 8px 0; font: 600 var(--rx-fs-sub)/1.35 var(--brand-font-body); color: var(--brand-deep); cursor: pointer; }
.pdp-addon-tick:has(.pdp-addon-tick__box:checked) { box-shadow: inset 0 0 0 1.5px var(--brand-deep); background: color-mix(in srgb, var(--rx-blush) 18%, var(--brand-surface)); }

/* 10. Videowise widget in "In their words" (pakks.videowise_id). The player inside is third-party; we only give it room. */
.pk-vw { min-height: 160px; margin-top: 4px; }
/* Videowise sizes its cards to the container: on phones give it the full screen width (no side gutters) so the cards get as
   big as the widget's own layout allows. Card size / cards per row are Videowise admin settings (see report). */
@media (max-width: 767px) { .pk-vw { margin-inline: calc(-1 * var(--rx-inset, 16px)); } }
.pk-vw .reeview-app-widget { width: 100%; }

/* 11. Sample-card showcase (Kayci 24 Oct, iPhone): the card's height came from aspect-ratio alone, and Safari doesn't grow an
       aspect-ratio grid item to fit its text, so the question overflowed onto "1 of 5" / Next card. Now a spacer keeps the
       5.75:8 shape and the face can always grow; the controls sit below on their own layer. */
.rx-qcard { aspect-ratio: auto; display: grid; }
.rx-qcard::before { content: ''; grid-area: 1 / 1; padding-bottom: 146%; }
.rx-qcard > .rx-qcard__face { grid-area: 1 / 1; height: auto; min-height: 0; }
.rx-samples__stack { margin-bottom: 22px; }
.rx-samples__nav { position: relative; z-index: 2; min-height: 50px; }
