/** Shopify CDN: Minification failed

Line 220:0 Unexpected "}"

**/
/* Prophy landing sections — shared styles. Each section sets its own --pl-* vars inline. */
.pl {
  --pl-accent: #0070c0;
  --pl-ink: #0b2a45;
  --pl-muted: #5b6b7a;
  --pl-radius: 20px;
  color: var(--pl-text, var(--pl-ink));
  background: var(--pl-bg, #fff);
}
.pl h1, .pl h2, .pl h3, .pl p { margin: 0; color: inherit; }
.pl a { text-decoration: none; }
.pl .page-width { padding-left: 2rem; padding-right: 2rem; }
@media (min-width: 750px) { .pl .page-width { padding-left: 5rem; padding-right: 5rem; } }

.pl-kicker { display: inline-flex; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pl-accent); margin-bottom: 1.4rem; }
.pl-badge { display: inline-flex; background: color-mix(in srgb, var(--pl-accent) 12%, #fff); color: var(--pl-accent); font-size: 1.2rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.7rem 1.4rem; border-radius: 999px; margin-bottom: 2rem; }
.pl-heading { font-size: 3rem; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 1.6rem; }
.pl-heading--xl { font-size: 3.6rem; }
.pl-sub { font-size: 1.6rem; line-height: 1.6; color: var(--pl-muted); margin-bottom: 2.4rem; max-width: 52ch; }
.pl-sub p { margin: 0 0 1rem; }
.pl-trust { font-size: 1.3rem; font-weight: 600; color: var(--pl-muted); }
.pl-price { font-size: 2.8rem; font-weight: 800; margin-bottom: 1.6rem; }

.pl-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 700; padding: 1.4rem 2.8rem; font-size: 1.5rem; line-height: 1; border: 1.5px solid transparent; cursor: pointer; font-family: inherit; }
.pl-btn--primary { background: var(--pl-accent); color: #fff; }
.pl-btn--primary:hover { filter: brightness(0.92); }
.pl-btn--outline { background: transparent; color: var(--pl-text, var(--pl-ink)); border-color: color-mix(in srgb, currentColor 30%, transparent); }
.pl-btn--light { background: #fff; color: var(--pl-accent); }
.pl-btn-row { display: flex; gap: 1.4rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.pl-form { display: inline-block; margin-top: 0.8rem; }

/* Media: constrain height so portrait product shots never blow up the layout */
.pl-media { flex: 1 1 0; min-width: 0; display: flex; justify-content: center; }
.pl-media img { display: block; width: auto; max-width: 100%; height: auto; max-height: var(--pl-media-h, 52rem); border-radius: var(--pl-radius); object-fit: cover; }
.pl-media--cover img { width: 100%; aspect-ratio: 4 / 5; max-height: var(--pl-media-h, 52rem); }
.pl-media--contain img { object-fit: contain; }

/* Two-column split used by hero + product */
.pl-split { display: flex; align-items: center; gap: 4.8rem; flex-wrap: wrap; }
.pl-split__text { flex: 1 1 32rem; min-width: 0; max-width: 56rem; }
.pl-split--media-left .pl-media { order: -1; }

/* Features grid */
.pl-features { text-align: center; }
.pl-features .pl-sub { margin: 0 auto 3.6rem; }
.pl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 2.4rem; text-align: left; }
.pl-card { background: var(--pl-card-bg, #f4f8fb); border-radius: 1.6rem; padding: 2.4rem; }
.pl-card h3 { font-size: 1.7rem; margin-bottom: 0.8rem; }
.pl-card p { font-size: 1.4rem; color: var(--pl-muted); line-height: 1.6; }
.pl-card__icon { width: 3.2rem; height: 3.2rem; color: var(--pl-accent); margin-bottom: 1.2rem; }

/* Checklist */
.pl-checklist { list-style: none; margin: 0 0 1.2rem; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.pl-checklist li { font-size: 1.5rem; padding-left: 2.4rem; position: relative; line-height: 1.5; opacity: 0.9; }
.pl-checklist li:before { content: "✓"; position: absolute; left: 0; color: var(--pl-accent); font-weight: 700; }

/* FAQ accordion */
.pl-faq { max-width: 78rem; margin: 0 auto; }
.pl-faq .pl-heading { text-align: center; margin-bottom: 2.8rem; }
.pl-faq__list { border-radius: 1.4rem; overflow: hidden; background: color-mix(in srgb, var(--pl-accent) 14%, #fff); display: flex; flex-direction: column; gap: 1px; }
.pl-faq__item { background: #fff; }
.pl-faq__item summary { list-style: none; cursor: pointer; font-weight: 700; padding: 2rem 2.4rem; display: flex; justify-content: space-between; gap: 1.6rem; align-items: center; }
.pl-faq__item summary::-webkit-details-marker { display: none; }
.pl-faq__item summary::after { content: "+"; font-size: 2.2rem; font-weight: 400; color: var(--pl-accent); flex: none; }
.pl-faq__item[open] summary::after { content: "–"; }
.pl-faq__answer { font-size: 1.4rem; color: var(--pl-muted); line-height: 1.6; padding: 0 2.4rem 2rem; }
.pl-faq__answer p { margin: 0 0 0.8rem; }

/* CTA band */
.pl-cta { text-align: center; }
.pl-cta .pl-sub { margin: 0 auto 2.4rem; color: inherit; opacity: 0.9; }

@media (max-width: 749px) {
  .pl-heading { font-size: 2.6rem; }
  .pl-heading--xl { font-size: 3rem; }
  .pl-split { gap: 2.8rem; }
  .pl-split .pl-media { order: 0; flex: 0 0 100%; width: 100%; }
  .pl-badge { font-size: 1.05rem; padding: 0.6rem 1.2rem; }
  .pl-media img, .pl-media--cover img { max-height: 38rem; width: 100%; }
  .pl-btn { width: 100%; }
}

/* Video media (portrait reels) */
.pl-media--video { width: 100%; }
.pl-media--video video { display: block; width: 100%; max-width: 42rem; margin: 0 auto; aspect-ratio: 4 / 5; max-height: var(--pl-media-h, 52rem); object-fit: cover; border-radius: var(--pl-radius); background: #000; }
@media (max-width: 749px) { .pl-media--video video { max-height: 44rem; } }

/* Reviews carousel */
.pl-reviews { text-align: center; }
.pl-reviews__stars { color: #f5b301; font-size: 1.8rem; letter-spacing: 0.1em; }
.pl-reviews__summary { font-size: 1.4rem; color: var(--pl-muted); margin: 0.8rem 0 2.8rem; }
.pl-reviews__wrap { position: relative; }
.pl-reviews__track { display: flex; gap: 1.6rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0.4rem 0.4rem 1.6rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.pl-reviews__track::-webkit-scrollbar { display: none; }
.pl-review { flex: 0 0 min(32rem, 82vw); scroll-snap-align: start; background: #fff; border-radius: 1.6rem; padding: 2.4rem; text-align: left; box-shadow: 0 1px 2px rgba(11,42,69,0.06), 0 8px 24px -12px rgba(11,42,69,0.18); display: flex; flex-direction: column; gap: 1rem; }
.pl-review__stars { color: #f5b301; font-size: 1.5rem; letter-spacing: 0.08em; }
.pl-review__text { font-size: 1.45rem; line-height: 1.6; color: var(--pl-text, var(--pl-ink)); flex: 1; }
.pl-review__meta { display: flex; align-items: center; gap: 1.2rem; margin-top: 0.6rem; }
.pl-review__avatar { width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--pl-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.4rem; flex: none; overflow: hidden; }
.pl-review__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pl-review__name { font-weight: 700; font-size: 1.4rem; }
.pl-review__sub { font-size: 1.2rem; color: var(--pl-muted); }
.pl-review__verified { color: #1a9d55; font-weight: 600; }
.pl-reviews__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 0; background: #fff; color: var(--pl-ink); box-shadow: 0 4px 16px rgba(11,42,69,0.18); cursor: pointer; font-size: 2rem; line-height: 1; display: none; align-items: center; justify-content: center; z-index: 1; }
.pl-reviews__nav--prev { left: -1.2rem; } .pl-reviews__nav--next { right: -1.2rem; }
@media (min-width: 750px) { .pl-reviews__nav { display: inline-flex; } }
.pl-review__translation { font-size: 1.3rem; color: var(--pl-muted); font-style: italic; line-height: 1.5; }
.pl-review__shot { display: block; border-radius: 1rem; overflow: hidden; border: 1px solid rgba(11,42,69,0.08); }
.pl-review__shot img { display: block; width: 100%; height: 16rem; object-fit: cover; object-position: top; }

/* ---- Motion ---- */
.pl [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); transition-delay: calc(var(--d, 0) * 90ms); will-change: opacity, transform; }
.pl [data-reveal="scale"] { transform: translateY(20px) scale(0.94); }
.pl [data-reveal="left"] { transform: translateX(-36px); }
.pl [data-reveal="right"] { transform: translateX(36px); }
.pl [data-reveal].is-in { opacity: 1; transform: none; }

.pl-media img, .pl-media--video video { box-shadow: 0 24px 60px -24px rgba(11, 42, 69, 0.45); transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s ease; }
.pl-media:hover img, .pl-media:hover video { transform: translateY(-6px) scale(1.02); box-shadow: 0 36px 80px -28px rgba(11, 42, 69, 0.55); }
.pl-media--cover img { transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s ease; }

.pl-hero .pl-media.is-in img { animation: pl-float 6s ease-in-out 0.8s infinite; }
@keyframes pl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.pl-hero .pl-media:hover img { animation-play-state: paused; }

.pl-card { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.pl-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px -20px rgba(11, 42, 69, 0.35); }
.pl-review { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.pl-review:hover { transform: translateY(-4px); }
.pl-review__shot img { transition: transform 0.5s ease; }
.pl-review__shot:hover img { transform: scale(1.04); }
.pl-btn { transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease; }
.pl-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.35); }
.pl-checklist li { transition: transform 0.3s ease; }

@media (prefers-reduced-motion: reduce) {
  .pl [data-reveal] { opacity: 1; transform: none; transition: none; }
  .pl-hero .pl-media.is-in img { animation: none; }
  .pl-media img, .pl-media video, .pl-card, .pl-review, .pl-btn { transition: none; }
}


/* ---- Motion ---- */
.pl [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); transition-delay: calc(var(--d, 0) * 90ms); will-change: opacity, transform; }
.pl [data-reveal="scale"] { transform: translateY(20px) scale(0.94); }
.pl [data-reveal="left"] { transform: translateX(-36px); }
.pl [data-reveal="right"] { transform: translateX(36px); }
.pl [data-reveal].is-in { opacity: 1; transform: none; }

.pl-media img, .pl-media--video video { box-shadow: 0 24px 60px -24px rgba(11, 42, 69, 0.45); transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.6s ease; }
.pl-media:hover img, .pl-media:hover video { transform: translateY(-6px) scale(1.02); box-shadow: 0 36px 80px -28px rgba(11, 42, 69, 0.55); }

.pl-hero .pl-media.is-in img { animation: pl-float 6s ease-in-out 0.8s infinite; }
@keyframes pl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.pl-hero .pl-media:hover img { animation-play-state: paused; }

.pl-card { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.pl-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px -20px rgba(11, 42, 69, 0.35); }
.pl-review { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.pl-review:hover { transform: translateY(-4px); }
.pl-review__shot img { transition: transform 0.5s ease; }
.pl-review__shot:hover img { transform: scale(1.04); }
.pl-btn { transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease; }
.pl-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.35); }

@media (prefers-reduced-motion: reduce) {
  .pl [data-reveal] { opacity: 1; transform: none; transition: none; }
  .pl-hero .pl-media.is-in img { animation: none; }
  .pl-media img, .pl-media video, .pl-card, .pl-review, .pl-btn { transition: none; }
}

/* Hero: full-width photo layout */
.pl-hero--photo { position: relative; overflow: hidden; }
.pl-hero--photo .pl-hero__bg { position: absolute; inset: 0; z-index: 0; }
.pl-hero--photo .pl-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, right center); display: block; }
.pl-hero--photo .page-width { position: relative; z-index: 1; }
.pl-hero--photo .pl-split { min-height: 56rem; align-items: center; }
.pl-hero--photo .pl-split__text { max-width: 50rem; }
.pl-hero__logo { margin-bottom: 2rem; }
.pl-hero__logo img { width: 18rem; height: auto; display: block; }
@media (min-width: 990px) { .pl-hero--photo .pl-split { min-height: 62rem; } .pl-hero--photo .pl-split__text { max-width: 54rem; } }
@media (max-width: 749px) {
  .pl-hero--photo .pl-hero__bg { position: relative; inset: auto; height: 32rem; margin: 0 -2rem 1.6rem; }
  .pl-hero--photo .pl-hero__bg img { object-position: 100% center; }
  .pl-hero--photo .pl-split { min-height: 0; }
  .pl-hero--photo .page-width { padding-top: 0; }
  .pl-hero__logo img { width: 14rem; margin: 0 auto; }
  .pl-hero--photo .pl-split__text { text-align: center; }
  .pl-hero--photo .pl-sub { margin-left: auto; margin-right: auto; }
}

/* Photo banner (under header) */
.pl-banner { position: relative; overflow: hidden; height: var(--h-desktop, 56rem); }
.pl-banner__media, .pl-banner__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.pl-banner__media img { object-fit: cover; object-position: var(--pos, right center); display: block; box-shadow: none; border-radius: 0; }
.pl-banner__media:hover img { transform: none; box-shadow: none; }
.pl-banner__logo { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; width: min(38%, 42rem); padding: 0 5rem; }
.pl-banner__logo--left { left: 0; } .pl-banner__logo--right { right: 0; text-align: right; }
.pl-banner__logo--center { left: 50%; transform: translate(-50%, -50%); text-align: center; }
.pl-banner__logo img { width: 100%; max-width: 36rem; height: auto; display: inline-block; filter: drop-shadow(0 6px 18px rgba(11,42,69,0.12)); }
.pl-banner__tagline { margin: 1.2rem 0 0; font-size: 1.5rem; font-weight: 600; color: var(--pl-ink); letter-spacing: 0.04em; }
.pl-banner [data-reveal].is-in { transform: translateY(-50%); }
.pl-banner .pl-banner__logo--center[data-reveal].is-in { transform: translate(-50%, -50%); }
.pl-banner .pl-banner__media[data-reveal].is-in { transform: none; }
@media (max-width: 749px) {
  .pl-banner { height: auto; }
  .pl-banner__media { position: relative; inset: auto; height: var(--h-mobile, 34rem); overflow: hidden; }
  .pl-banner__logo { background: var(--pl-bg); }
  .pl-banner__media img { object-position: 100% center; }
  .pl-banner__logo { position: static; transform: none; width: 100%; padding: 1.8rem 2rem 0.4rem; text-align: center; }
  .pl-banner__logo img { max-width: 15rem; }
  .pl-banner [data-reveal].is-in, .pl-banner .pl-banner__logo--center[data-reveal].is-in { transform: none; }
  .pl-banner__tagline { display: none; }
}
}


/* ---- Scroll parallax (wrapper carries data-parallax; the child media moves) ---- */
.pl [data-parallax] { --py: 0%; }
.pl [data-parallax] > img, .pl [data-parallax] > video { transform: translate3d(0, var(--py), 0); will-change: transform; }
.pl-media[data-parallax]:hover > img, .pl-media[data-parallax]:hover > video { transform: translate3d(0, var(--py), 0) scale(1.02); }
.pl-hero .pl-media.is-in > img { animation: none; }
.pl-banner__media[data-parallax] > img { height: 124%; top: -12%; }
.pl-pcard__media[data-parallax] > .pl-pcard__img--a { transform: translate3d(0, var(--py), 0); }
.pl-pcard:hover .pl-pcard__media[data-parallax] > .pl-pcard__img--a { transform: translate3d(0, var(--py), 0) scale(1.06); }
.pl-pcard__media[data-parallax] > .pl-pcard__img--b { transform: scale(1.06); }
.pl-pcard:hover .pl-pcard__media[data-parallax] > .pl-pcard__img--b { transform: scale(1); }
.pl-bundle__imgs[data-parallax] > img { transform: translate3d(0, var(--py), 0); }

/* ---- Catalog ---- */
.pl-catalog__head { max-width: 64rem; margin-bottom: 4rem; }
.pl-catalog__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)); gap: 3.2rem; }
.pl-pcard { background: #fff; border-radius: 2rem; overflow: hidden; box-shadow: 0 1px 2px rgba(11,42,69,0.06), 0 16px 40px -24px rgba(11,42,69,0.25); display: flex; flex-direction: column; transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease; }
.pl-pcard:hover { transform: translateY(-6px); box-shadow: 0 1px 2px rgba(11,42,69,0.06), 0 32px 64px -28px rgba(11,42,69,0.35); }
.pl-pcard__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f4f8fb; }
.pl-pcard__img { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; transition: opacity 0.6s ease; }
.pl-pcard__img--b { opacity: 0; transform: scale(1.06); transition: opacity 0.6s ease, transform 0.8s cubic-bezier(0.22,1,0.36,1); }
.pl-pcard:hover .pl-pcard__img--b { opacity: 1; transform: scale(1); }
.pl-pcard__badge, .pl-pcard__tag { position: absolute; top: 1.6rem; z-index: 2; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.04em; padding: 0.7rem 1.2rem; border-radius: 999px; }
.pl-pcard__badge { left: 1.6rem; background: var(--pl-accent); color: #fff; }
.pl-pcard__tag { right: 1.6rem; background: #fff; color: var(--pl-ink); box-shadow: 0 2px 8px rgba(11,42,69,0.15); }
.pl-pcard__body { padding: 2.4rem 2.8rem 2.8rem; display: flex; flex-direction: column; gap: 1rem; flex: 1; }
.pl-pcard__title { font-size: 2.2rem; letter-spacing: -0.01em; margin: 0; }
.pl-pcard__title a { color: inherit; }
.pl-pcard__price { display: flex; align-items: baseline; gap: 1rem; }
.pl-pcard__now { font-size: 2.2rem; font-weight: 800; }
.pl-pcard__was { font-size: 1.5rem; color: var(--pl-muted); }
.pl-pcard__text { font-size: 1.5rem; line-height: 1.6; color: var(--pl-muted); }
.pl-checklist--compact { gap: 0.6rem; margin: 0.4rem 0 0.8rem; }
.pl-checklist--compact li { font-size: 1.4rem; }
.pl-pcard__actions { margin-top: auto; display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; padding-top: 0.8rem; }
.pl-pcard__actions .pl-form { margin: 0; }
.pl-pcard__more { font-weight: 700; font-size: 1.4rem; color: var(--pl-accent); }
.pl-bundle { margin-top: 4rem; background: #0b2a45; color: #fff; border-radius: 2rem; padding: 3.2rem; display: flex; align-items: center; gap: 3.2rem; flex-wrap: wrap; }
.pl-bundle .pl-heading, .pl-bundle .pl-sub { color: #fff; }
.pl-bundle .pl-sub { opacity: 0.85; margin-bottom: 1.2rem; }
.pl-bundle .pl-kicker { color: #4db3ff; }
.pl-bundle__imgs { display: flex; flex: none; }
.pl-bundle__imgs img { width: 11rem; height: 11rem; object-fit: cover; border-radius: 1.6rem; border: 3px solid #0b2a45; box-shadow: 0 10px 30px -12px rgba(0,0,0,0.5); }
.pl-bundle__imgs img + img { margin-left: -2.4rem; }
.pl-bundle__text { flex: 1 1 32rem; }
.pl-bundle__form { flex: none; }
@media (max-width: 749px) {
  .pl-catalog__grid { gap: 2rem; }
  .pl-pcard__body { padding: 2rem; }
  .pl-bundle { padding: 2.4rem; }
  .pl-bundle__form { width: 100%; }
  .pl-bundle__form .pl-btn { width: 100%; }
}

/* Banner: whole-photo mode (portrait shots) */
.pl-banner--contain .pl-banner__media[data-parallax] > img { object-fit: contain; object-position: center bottom; height: 100%; top: 0; }
.pl-banner--contain .pl-banner__media { right: 6%; left: auto; width: 60%; }
@media (max-width: 749px) {
  .pl-banner--contain .pl-banner__media { width: 100%; right: auto; }
  .pl-banner--contain .pl-banner__media img { object-position: center bottom; }
}

/* ---- Product page (Dawn main-product restyle) ---- */
.product .product__title h1, .product .product__title .h1 { font-size: 3rem; line-height: 1.1; letter-spacing: -0.02em; color: #0b2a45; }
.product .price { font-size: 2rem; }
.product .price .price-item--regular { font-size: 1.4rem; }
.product .price__badge-sale, .product .badge { background: #0070c0; color: #fff; border: 0; border-radius: 999px; font-weight: 700; }
.product .product__info-container > * + * { margin-top: 1.4rem; }
.product .product-form__submit, .product .shopify-payment-button__button--unbranded { border-radius: 999px; font-weight: 700; min-height: 4.8rem; }
.product .product-form__submit { background: #0070c0; color: #fff; --color-button: 0, 112, 192; --color-button-text: 255, 255, 255; }
.product .product-form__submit:after { box-shadow: none; }
.product .shopify-payment-button__button--unbranded { background: #0b2a45 !important; color: #fff !important; }
.product .product__media-item img, .product .product__media-item .media { border-radius: 2rem; }
.product .product__media-wrapper .thumbnail { border-radius: 1rem; }
.product .product__media-wrapper .thumbnail[aria-current] { border: 2px solid #0070c0; }
.product .product__description { font-size: 1.5rem; line-height: 1.6; color: #5b6b7a; }
.product .quantity { border-radius: 999px; }

/* Details section (product description moved below the buy box) */
.pl-details__head { max-width: 72rem; margin: 0 auto 2.8rem; text-align: center; }
.pl-details__body { max-width: 84rem; margin: 0 auto; background: #fff; border-radius: 2rem; padding: 3.2rem 3.6rem; box-shadow: 0 1px 2px rgba(11,42,69,0.06), 0 16px 40px -28px rgba(11,42,69,0.25); font-size: 1.5rem; line-height: 1.65; color: #5b6b7a; }
.pl-details__body > :first-child { margin-top: 0; }
.pl-details__body p { margin: 0 0 1.4rem; }
.pl-details__body p strong:only-child, .pl-details__body h2, .pl-details__body h3, .pl-details__body h4 { display: block; color: #0b2a45; font-size: 1.8rem; font-weight: 700; margin: 2.4rem 0 0.8rem; line-height: 1.3; }
.pl-details__body h2 { font-size: 2.2rem; }
.pl-details__body ul { margin: 0 0 1.6rem; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr)); gap: 0.6rem 2.4rem; }
.pl-details__body li { position: relative; padding-left: 2.2rem; }
.pl-details__body li::before { content: "✓"; position: absolute; left: 0; color: #0070c0; font-weight: 700; }
.pl-details__body li strong { color: #0b2a45; }
@media (max-width: 749px) { .pl-details__body { padding: 2.4rem 2rem; border-radius: 1.6rem; } .pl-details__body ul { grid-template-columns: 1fr; } }

/* ---- PDP: single hero image, hide bundle widget on product page, compact ---- */
.product .product__media-list .product__media-item:not(:first-child), .product .slider-buttons, .product .product__media-icon { display: none !important; }
.product .product__media-list { padding: 0; margin: 0; }
.product .product__media-item { width: 100%; max-width: 100%; }
.product .product-media-container { max-width: 100%; }
.product .bundler-target-element, .product .bundler-volume-target-element { display: none !important; }
.product .product__title h1 { font-size: 2.6rem; }
@media (max-width: 749px) {
  .product .product__title h1 { font-size: 2.3rem; }
  .product .product__media-list { display: block; padding: 0; margin: 0; }
  .product .product__media-item { margin: 0 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
  .product .product__media-item .media { padding-top: 0 !important; height: 34rem; }
  .product .product__media-item .media img, .product .product__media-item .media video { object-fit: cover; object-position: center 20%; }
  .product .product__media-wrapper, .product .product-media-container, .product .product__media-item .media { width: 100% !important; max-width: 100% !important; }
  .product .product__media-list { overflow: hidden; }
  .product .product__media-item img, .product .product__media-item .media { border-radius: 1.6rem; }
  .product .product-media-container.constrain-height { --viewport-offset: 320px; --constrained-min-height: 300px; }
  body:has(#prophy-sticky-atc) { padding-bottom: 8rem; }
}
.prophy-review-pill { margin: 0.4rem 0 0.2rem; }
