/** Shopify CDN: Minification failed

Line 421:8 Unexpected "@media"
Line 422:2 Expected identifier but found "."

**/
/* ============================================================================
   ce-product.css — Casper-ecom product page (reference layout on Dawn's main-product)
   ----------------------------------------------------------------------------
   Loaded by sections/main-product.liquid AFTER Dawn's own stylesheets (equal-specificity
   rules must win by order). Every value comes from `--ce-pd-*` custom properties written
   inline on `<product-info class="ce-pdp">` by the section (merchant settings) —
   measurements in EXEMPLES FROM OTHER SHOPS/…/SPEC-pdp.md.
   Dawn's markup, JS (product-info, media-gallery, variant-selects, product-form,
   product-modal) and ids are untouched: this file changes geometry and looks only.

   Breakpoints (measured on the reference):
     • GEOMETRY  — ≤989 = one column, full-bleed square carousel, bottom/top zoom button;
                   ≥990 = two columns (media 625 / info 511), rounded media, thumbnails.
     • TYPOGRAPHY — ≤749 mobile sizes; ≥750 desktop sizes (the reference already uses the
                   desktop title/USP/button sizes at 768).
   ============================================================================ */

/* ---------- section padding --------------------------------------------------- */
@media screen and (max-width: 989px) {
  /* the section padding class sits on <product-info> itself in Dawn 16 */
  product-info.ce-pdp {
    padding-top: var(--ce-pd-padding-top-mobile);
    padding-bottom: var(--ce-pd-padding-bottom-mobile);
  }
}

/* ---------- grid ---------------------------------------------------------------- */
.ce-pdp .product.grid {
  gap: var(--ce-pd-mobile-gap) 0;
}
@media screen and (min-width: 750px) and (max-width: 989px) {
  .ce-pdp .product.grid {
    gap: var(--ce-pd-tablet-gap) 0;
  }
  /* one column on tablet like the reference (Dawn splits at 750) */
  .ce-pdp .product:not(.product--no-media) .product__media-wrapper,
  .ce-pdp .product:not(.product--no-media) .product__info-wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .ce-pdp .product__column-sticky {
    position: static;
  }
  .ce-pdp .product__info-container {
    max-width: none; /* Dawn caps it at 60rem from 750px; the reference info spans the page */
  }
}
@media screen and (min-width: 990px) {
  .ce-pdp .product.grid {
    gap: 0 var(--ce-pd-column-gap);
    align-items: start;
  }
  /* the media column must span the whole row: a sticky box can only travel inside its parent
     (with align-items: start the wrapper hugged the gallery and the sticky never pinned) */
  .ce-pdp .product:not(.product--no-media) .product__media-wrapper {
    align-self: stretch;
  }
  /* reference: 625 / 511 columns (gap 48) instead of Dawn's 65 / 35 */
  .ce-pdp .product--large:not(.product--no-media) .product__media-wrapper,
  .ce-pdp .product--medium:not(.product--no-media) .product__media-wrapper,
  .ce-pdp .product--small:not(.product--no-media) .product__media-wrapper {
    width: calc((100% - var(--ce-pd-column-gap)) * var(--ce-pd-media-pct) / 100);
    max-width: none;
  }
  .ce-pdp .product--large:not(.product--no-media) .product__info-wrapper,
  .ce-pdp .product--medium:not(.product--no-media) .product__info-wrapper,
  .ce-pdp .product--small:not(.product--no-media) .product__info-wrapper {
    width: calc((100% - var(--ce-pd-column-gap)) * (100 - var(--ce-pd-media-pct)) / 100);
    max-width: none;
    padding: 0;
  }
  .ce-pdp .product__column-sticky {
    top: var(--ce-pd-sticky-top);
  }
}

/* ---------- media column ------------------------------------------------------ */
/* gallery + badges + note = one box (containing block of the badges), sticky ≥990 through Dawn's
   .product__column-sticky (its own sticky on <media-gallery> is neutralised) */
.ce-pdp .ce-pd-media-stack:not(.product__column-sticky) {
  position: relative;
}
.ce-pdp .ce-pd-media-stack > media-gallery.product__column-sticky {
  position: static;
}
.ce-pdp .product__media-wrapper {
  position: relative;
  /* own stacking context: the badges (z 3) and zoom button (z 2) must never paint over the sticky
     header, the menu drawer or the cart drawer — their z-index only competes inside the gallery */
  isolation: isolate;
  z-index: 0;
}
/* square, cover, no border/shadow — the reference media are edge-to-edge photos */
.ce-pdp .product-media-container {
  overflow: hidden;
  border: 0;
  box-shadow: none;
  max-width: 100%;
}
.ce-pdp .product-media-container.media-fit-cover .product__media img {
  object-fit: cover;
}
.ce-pdp .product-media-container:not(.constrain-height) {
  aspect-ratio: var(--ce-pd-media-ratio);
  --ratio: var(--ce-pd-media-ratio-value);
}
.ce-pdp .product__media-item .product__media,
.ce-pdp .product__media-item .media {
  border-radius: 0;
}
/* Dawn's slider--mobile adds 0.5rem focus padding + a first-slide offset: squares must be exact */
.ce-pdp .product__media-list .product__media-item,
.ce-pdp .product__media-list.slider--mobile .product__media-item.slider__slide {
  padding-top: 0;
  padding-bottom: 0;
}
.ce-pdp .product__media-list .product__media-item:first-child {
  margin-left: 0;
}
.ce-pdp .product__media-list.slider--mobile {
  scroll-padding-left: 0;
}

/* page gutter of the current breakpoint (tokens from layout/theme.liquid) */
.ce-pdp {
  --ce-pd-gutter: var(--ce-page-gutter-mobile, 2rem);
}
@media screen and (min-width: 750px) {
  .ce-pdp {
    --ce-pd-gutter: var(--ce-page-gutter-tablet, 3.2rem);
  }
}
@media screen and (min-width: 990px) {
  .ce-pdp {
    --ce-pd-gutter: var(--ce-page-gutter-desktop, 4.8rem);
  }
}

/* main carousel — mobile + tablet: full-bleed square snap slides, no arrows/counter */
@media screen and (max-width: 989px) {
  .ce-pdp .product__media-wrapper slider-component:not(.thumbnail-slider--no-slide) {
    margin-left: 0;
    margin-right: 0;
  }
  .ce-pdp .product__media-list {
    margin-bottom: 0;
    gap: 0 var(--ce-pd-slide-gap-mobile);
    padding: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overflow-x: auto;
    overflow-y: hidden; /* horizontal only: no vertical wiggle on touch (overflow-x:auto alone makes y auto too) */
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y; /* page keeps scrolling vertically over the carousel; the list itself only pans x */
    display: flex;
    flex-wrap: nowrap; /* Dawn's .grid wraps */
  }
  .ce-pdp .product__media-list .product__media-item,
  .ce-pdp .product__media-list .product__media-item > * {
    height: 100%;
  }
  .ce-pdp .product__media-list::-webkit-scrollbar {
    display: none;
  }
  .ce-pdp .product__media-list .product__media-item {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    scroll-snap-align: center;
  }
  /* Dawn hides non-active slides ≥750 for thumbnail layouts: the reference keeps a carousel */
  .ce-pdp .product--thumbnail_slider .product__media-item:not(.is-active),
  .ce-pdp .product--thumbnail .product__media-item:not(.is-active) {
    display: block;
  }
  .ce-pdp[data-ce-full-bleed='true'] .product__media-list {
    margin-left: calc(-1 * var(--ce-pd-gutter));
    width: calc(100% + 2 * var(--ce-pd-gutter));
  }
  .ce-pdp[data-ce-full-bleed='false'] .product__media-list {
    margin-left: 0;
    width: 100%;
  }
  .ce-pdp .product-media-container {
    border-radius: var(--ce-pd-media-radius-mobile);
  }
  /* the container IS Dawn's .global-media-settings (theme media radius 12 px on the image itself): the media inside
     must follow the container so "Media radius (mobile)" = 0 really shows square corners (thumbnails untouched) */
  .ce-pdp .product-media-container.global-media-settings::after,
  .ce-pdp .product-media-container.global-media-settings img,
  .ce-pdp .product-media-container.global-media-settings video,
  .ce-pdp .product-media-container.global-media-settings iframe,
  .ce-pdp .product-media-container.global-media-settings model-viewer,
  .ce-pdp .product-media-container.global-media-settings .placeholder-svg {
    border-radius: var(--ce-pd-media-radius-mobile);
  }
  .ce-pdp .product__media-wrapper .slider-buttons {
    display: none;
  }
}
@media screen and (min-width: 990px) {
  .ce-pdp .product__media-list {
    gap: 0 var(--ce-pd-slide-gap-desktop);
    padding-right: 0;
    padding-bottom: 0;
  }
  .ce-pdp .product-media-container {
    border-radius: var(--ce-pd-media-radius-desktop);
  }
  .ce-pdp .product-media-container.global-media-settings::after,
  .ce-pdp .product-media-container.global-media-settings img,
  .ce-pdp .product-media-container.global-media-settings video,
  .ce-pdp .product-media-container.global-media-settings iframe,
  .ce-pdp .product-media-container.global-media-settings model-viewer,
  .ce-pdp .product-media-container.global-media-settings .placeholder-svg {
    border-radius: var(--ce-pd-media-radius-desktop);
  }
}

/* badges over the first media (top-left) */
.ce-pdp .ce-pd-badges {
  position: absolute;
  top: var(--ce-pd-badge-inset);
  left: var(--ce-pd-badge-inset);
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ce-pd-badge-gap);
  pointer-events: none;
}
@media screen and (max-width: 749px) {
  /* the badges follow the full-bleed media edge on mobile */
  .ce-pdp .ce-pd-badges {
    left: var(--ce-pd-badge-inset-x-mobile);
  }
  .ce-pdp[data-ce-full-bleed='true'] .ce-pd-badges {
    left: calc(var(--ce-pd-badge-inset-x-mobile) - var(--ce-pd-gutter));
  }
}
.ce-pdp .ce-pd-badge {
  display: inline-block;
  padding: var(--ce-pd-badge-padding-y) var(--ce-pd-badge-padding-x);
  border-radius: var(--ce-pd-badge-radius);
  font-size: var(--ce-pd-badge-size-mobile);
  font-weight: var(--ce-pd-badge-weight);
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ce-pd-badge-color, #fff);
  background: var(--ce-pd-badge-bg);
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-pd-badge {
    font-size: var(--ce-pd-badge-size-desktop);
  }
}

/* thumbnails strip (Dawn thumbnail-slider) */
.ce-pdp .thumbnail-slider {
  margin-top: var(--ce-pd-thumbs-gap-mobile);
  display: flex;
  align-items: center;
}
.ce-pdp .thumbnail-slider .slider-button,
.ce-pdp .product--thumbnail_slider .slider-mobile-gutter .slider-button {
  display: none;
}
.ce-pdp .thumbnail-slider .thumbnail-list.slider,
.ce-pdp .thumbnail-slider .thumbnail-list.slider--tablet-up,
.ce-pdp .thumbnail-list {
  display: flex;
  flex: 0 0 auto;
  width: 100%;
  flex-wrap: nowrap;
  gap: 0 var(--ce-pd-thumb-gap-mobile);
  padding: 0;
  margin: 0;
  scroll-padding-left: 0;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overflow-x: auto;
}
.ce-pdp .thumbnail-list::-webkit-scrollbar {
  display: none;
}
.ce-pdp .thumbnail-list__item::before {
  content: none;
}
/* the item reserves the active line's space under the image (reference strip = image + 4 + 2 px) */
.ce-pdp .thumbnail-list .thumbnail-list__item,
.ce-pdp .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide,
.ce-pdp .thumbnail-list__item.slider__slide {
  position: relative;
  flex: 0 0 auto;
  width: var(--ce-pd-thumb-w-mobile);
  height: calc(var(--ce-pd-thumb-h-mobile) + var(--ce-pd-thumb-ind-gap) + var(--ce-pd-thumb-ind-h));
  scroll-snap-align: start;
}
.ce-pdp .thumbnail-list__item::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--ce-pd-thumb-ind-h);
  background: var(--ce-pd-thumb-ind);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.ce-pdp .thumbnail-list__item:has(.thumbnail[aria-current])::after {
  opacity: 1;
}
.ce-pdp .thumbnail {
  width: var(--ce-pd-thumb-w-mobile);
  height: var(--ce-pd-thumb-h-mobile);
  padding: 0;
  border: 0;
  border-radius: var(--ce-pd-thumb-radius);
  overflow: hidden;
  background: rgba(var(--color-foreground), 0.04);
  box-shadow: none;
}
.ce-pdp .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: var(--ce-pd-thumb-radius);
}
.ce-pdp .thumbnail[aria-current] {
  box-shadow: 0 0 0 var(--ce-pd-thumb-active-ring) rgba(var(--color-foreground), var(--ce-pd-thumb-active-opacity));
}
@media screen and (min-width: 750px) {
  .ce-pdp .thumbnail-slider .thumbnail-list.slider,
  .ce-pdp .thumbnail-slider .thumbnail-list.slider--tablet-up,
  .ce-pdp .thumbnail-list {
    gap: 0 var(--ce-pd-thumb-gap-desktop);
  }
  .ce-pdp .thumbnail-list .thumbnail-list__item,
  .ce-pdp .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide,
  .ce-pdp .thumbnail-list__item.slider__slide {
    width: var(--ce-pd-thumb-w-desktop);
    height: calc(var(--ce-pd-thumb-h-desktop) + var(--ce-pd-thumb-ind-gap) + var(--ce-pd-thumb-ind-h));
  }
  .ce-pdp .thumbnail {
    width: var(--ce-pd-thumb-w-desktop);
    height: var(--ce-pd-thumb-h-desktop);
  }
}
@media screen and (min-width: 990px) {
  .ce-pdp .thumbnail-slider {
    margin-top: var(--ce-pd-thumbs-gap-desktop);
  }
}
/* mobile + tablet: full-bleed strip with side padding like the reference */
@media screen and (max-width: 989px) {
  .ce-pdp[data-ce-full-bleed='true'] .thumbnail-slider .thumbnail-list.slider,
  .ce-pdp[data-ce-full-bleed='true'] .thumbnail-slider .thumbnail-list.slider--tablet-up {
    margin-left: calc(-1 * var(--ce-pd-gutter));
    width: calc(100% + 2 * var(--ce-pd-gutter));
    padding: 0 var(--ce-pd-gutter);
    scroll-padding-left: var(--ce-pd-gutter);
  }
}

/* ---------- info column ----------------------------------------------------- */
.ce-pdp .product__info-wrapper {
  padding: 0;
}
.ce-pdp .product__info-container > :first-child {
  margin-top: 0;
}
.ce-pdp .product__info-container > * + * {
  margin: var(--ce-pd-info-gap) 0 0;
}
.ce-pdp .product__info-container .product-form,
.ce-pdp .product__info-container .product__description,
.ce-pdp .product__info-container .icon-with-text {
  margin: var(--ce-pd-info-gap) 0 0;
}
.ce-pdp .product__view-details {
  display: none;
}
/* subtitle (text block, uppercase) */
.ce-pdp .product__text.caption-with-letter-spacing {
  font-size: var(--ce-pd-subtitle-size);
  letter-spacing: var(--ce-pd-subtitle-tracking);
  line-height: 1.6;
  color: var(--ce-pd-subtitle-color);
  text-transform: uppercase;
  margin-bottom: 0;
}
.ce-pdp .product__text.caption-with-letter-spacing + .product__title {
  margin-top: var(--ce-pd-title-gap);
}
/* title */
.ce-pdp .product__title {
  margin-bottom: 0;
}
.ce-pdp .product__title h1,
.ce-pdp .product__title .h1 {
  font-family: var(--font-body-family);
  font-size: var(--ce-pd-title-size-mobile);
  font-weight: var(--ce-pd-title-weight);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0;
}
@media screen and (min-width: 750px) {
  .ce-pdp .product__title h1,
  .ce-pdp .product__title .h1 {
    font-size: var(--ce-pd-title-size-desktop);
  }
}
.ce-pdp @media screen and (min-width: 750px) {
  .ce-pdp }
/* rating stars (Dawn `rating` block, CE markup): 5 stars in one svg, foreground clipped to rating/5 */
.ce-pdp .product__info-container > .ce-pd-rating {
  margin-top: var(--ce-pd-rating-gap-top);
}
.ce-pdp .ce-pd-rating,
.ce-pdp .ce-pd-rating__link {
  display: flex;
  align-items: center;
  gap: var(--ce-pd-rating-gap);
  color: rgb(var(--color-foreground));
  text-decoration: none;
}
.ce-pdp .ce-pd-rating__stars {
  position: relative;
  display: block;
  height: var(--ce-pd-rating-star);
  width: calc(var(--ce-pd-rating-star) * 5.6586); /* viewBox 79.22 × 14 */
  flex: 0 0 auto;
}
.ce-pdp .ce-pd-rating__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.ce-pdp .ce-pd-rating__bg {
  fill: var(--ce-pd-rating-bg);
}
.ce-pdp .ce-pd-rating__fg {
  position: absolute;
  inset: 0 auto 0 0;
  overflow: hidden;
  fill: var(--ce-pd-rating-color);
}
.ce-pdp .ce-pd-rating__fg .ce-pd-rating__svg {
  width: calc(var(--ce-pd-rating-star) * 5.6586);
}
.ce-pdp .ce-pd-rating__count {
  font-size: var(--ce-pd-rating-text);
  line-height: 1.6;
  white-space: nowrap;
}
.ce-pdp .ce-pd-rating__link:hover .ce-pd-rating__count {
  text-decoration: underline;
}
/* USP rows */
.ce-pdp .ce-pd-usp {
  display: flex;
  align-items: flex-start;
  gap: var(--ce-pd-usp-gap);
  font-size: var(--ce-pd-usp-size-mobile);
  line-height: 1.6;
}
.ce-pdp .ce-pd-usp + .ce-pd-usp {
  margin-top: var(--ce-pd-usp-row-gap);
}
.ce-pdp .ce-pd-usp__icon {
  flex: 0 0 auto;
  width: var(--ce-pd-usp-icon-mobile);
  height: var(--ce-pd-usp-icon-mobile);
  margin-top: calc((var(--ce-pd-usp-size-mobile) * 1.6 - var(--ce-pd-usp-icon-mobile)) / 2);
  display: block;
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-pd-usp__icon svg,
.ce-pdp .ce-pd-usp__icon img {
  width: 100%;
  height: 100%;
  display: block;
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-pd-usp {
    font-size: var(--ce-pd-usp-size-desktop);
  }
  .ce-pdp .ce-pd-usp__icon {
    width: var(--ce-pd-usp-icon-desktop);
    height: var(--ce-pd-usp-icon-desktop);
    margin-top: calc((var(--ce-pd-usp-size-desktop) * 1.6 - var(--ce-pd-usp-icon-desktop)) / 2);
  }
}
/* small icon rows (stock, shipping estimate, reassurance) */
.ce-pdp .ce-pd-row {
  display: flex;
  align-items: center;
  gap: var(--ce-pd-row-gap);
  font-size: var(--ce-pd-row-size);
  line-height: 1.6;
}
.ce-pdp .ce-pd-row--tight {
  margin-top: var(--ce-pd-row-tight-gap);
}
.ce-pdp .ce-pd-row__icon {
  flex: 0 0 auto;
  width: var(--ce-pd-row-icon);
  height: var(--ce-pd-row-icon);
  display: block;
}
.ce-pdp .ce-pd-row__icon img,
.ce-pdp .ce-pd-row__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
/* stock row (ce_row style "stock": dot + colored text) */
.ce-pdp .ce-pd-row--stock {
  color: var(--ce-pd-stock-color);
  gap: var(--ce-pd-stock-gap);
  line-height: 1;
}
.ce-pdp .ce-pd-row--stock::before {
  content: '';
  flex: 0 0 auto;
  width: var(--ce-pd-stock-dot-size);
  height: var(--ce-pd-stock-dot-size);
  border-radius: 50%;
  background: var(--ce-pd-stock-dot-color);
}
/* subtle pulse (section setting "Pulse the dot"): a soft ring in the dot colour + a 10% swell, 2.4 s loop */
.ce-pdp .ce-pd-row--pulse::before {
  animation: ce-stock-pulse 2.4s ease-out infinite;
}
@keyframes ce-stock-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ce-pd-stock-dot-color) 55%, transparent);
  }
  60% {
    transform: scale(1.1);
    box-shadow: 0 0 0 0.6rem color-mix(in srgb, var(--ce-pd-stock-dot-color) 0%, transparent);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--ce-pd-stock-dot-color) 0%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-pdp .ce-gift__dot,
  .ce-pdp .ce-pd-row--pulse::before {
    animation: none;
  }
}
/* payment icons inside an accordion */
.ce-pdp .ce-pd-payment {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ce-pdp .ce-pd-payment .list-payment__item {
  margin: 0;
  padding: 0;
}
/* stock line (Dawn inventory block) */
.ce-pdp .product__inventory {
  font-size: var(--ce-pd-row-size);
  line-height: 1;
  margin-top: var(--ce-pd-info-gap);
}
.ce-pdp .product__inventory .svg-wrapper {
  display: none;
}

/* ---------- variant picker ---------------------------------------------------- */
.ce-pdp .product-form__input {
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
}
.ce-pdp .product-form__input + .product-form__input {
  margin-top: var(--ce-pd-option-gap);
}
.ce-pdp .product-form__input .form__label {
  margin: 0 0 var(--ce-pd-option-label-gap);
  font-size: var(--ce-pd-option-label-size);
  line-height: 1.6;
  letter-spacing: 0;
  color: rgb(var(--color-foreground));
}
.ce-pdp .product-form__input .form__label [data-selected-value],
.ce-pdp .product-form__input .ce-pd-split-label span {
  font-size: var(--ce-pd-option-value-size);
  font-weight: var(--ce-pd-option-value-weight);
  color: var(--ce-pd-option-value-color);
}
/* help link next to the first option's pills (reference: pills + "Need help choosing?" in one row, gap 20) */
.ce-pdp .ce-pd-pill-row {
  display: flex;
  align-items: center;
  gap: var(--ce-pd-help-gap);
  flex: 1 1 100%;
  min-width: 0;
}
.ce-pdp .ce-pd-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ce-pd-pill-gap);
  flex: 0 1 auto;
  min-width: 0;
}
.ce-pdp .ce-pd-help {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex: 0 1 auto;
  padding: 0.6rem 0;
  font-size: var(--ce-pd-help-size);
  line-height: 1.6;
  color: var(--ce-pd-help-color);
  text-decoration: none;
}
.ce-pdp .ce-pd-help:hover .ce-pd-help__text {
  text-decoration: underline;
}
.ce-pdp .ce-pd-help__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  padding: 0.2rem;
  border-radius: 0.2rem;
  background: #e8e8e8;
}
.ce-pdp .ce-pd-help__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
/* one option shown in two swatch groups (reference "Color: Limited Edition") */
.ce-pdp .ce-pd-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ce-pd-swatch-gap);
  flex-basis: 100%;
}
.ce-pdp .product-form__input .ce-pd-split-label {
  flex-basis: 100%;
  margin: var(--ce-pd-option-gap) 0 var(--ce-pd-option-label-gap);
}
/* pills (option 1) */
.ce-pdp .product-form__input--pill {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ce-pd-pill-gap);
}
.ce-pdp .product-form__input--pill .form__label {
  flex-basis: 100%;
}
.ce-pdp .product-form__input--pill input[type='radio'] + label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--ce-pd-pill-height);
  margin: 0;
  padding: 0 var(--ce-pd-pill-padding-x-mobile);
  border: 0;
  border-radius: var(--ce-pd-pill-radius);
  background: var(--ce-pd-pill-bg);
  color: var(--ce-pd-pill-text);
  font-size: var(--ce-pd-pill-text-size);
  letter-spacing: 0;
  line-height: 1;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.ce-pdp .product-form__input--pill input[type='radio'] + label::before {
  content: none;
}
.ce-pdp .product-form__input--pill input[type='radio'] + label:hover {
  border-color: transparent;
  color: rgb(var(--color-foreground));
}
.ce-pdp .product-form__input--pill input[type='radio']:checked + label {
  background: var(--ce-pd-pill-selected-bg);
  color: var(--ce-pd-pill-selected-text);
}
@media screen and (min-width: 750px) {
  .ce-pdp .product-form__input--pill input[type='radio'] + label {
    padding: 0 var(--ce-pd-pill-padding-x-desktop);
  }
}
/* swatches (option 2 — image swatches from option values) */
.ce-pdp .product-form__input--swatch {
  gap: var(--ce-pd-swatch-gap);
}
.ce-pdp .product-form__input--swatch .form__label {
  flex-basis: 100%;
  margin-bottom: var(--ce-pd-option-label-gap);
}
.ce-pdp .product-form__input--swatch .swatch-input__input + .swatch-input__label {
  --swatch-input--size: var(--ce-pd-swatch-size);
  --swatch-input--border-radius: var(--ce-pd-swatch-radius);
  margin: 0;
  outline-offset: 0;
}
.ce-pdp .product-form__input--swatch .swatch {
  --swatch--size: var(--ce-pd-swatch-size);
  --swatch--border-radius: var(--ce-pd-swatch-radius);
  position: relative;
  overflow: hidden;
  border: 0;
  background: var(--swatch--background);
  background-size: cover;
}
/* metallic highlight on every colour dot (theme setting ce_swatch_shine) */
.ce-pdp variant-selects[data-ce-swatch-shine='true'] .product-form__input--swatch .swatch::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0.16) 100%);
  pointer-events: none;
}
.ce-pdp .swatch-input__input + .swatch-input__label:hover,
.ce-pdp .swatch-input__input:hover + .swatch-input__label {
  outline: var(--ce-pd-swatch-ring) solid rgba(var(--color-foreground), 0.25);
}
.ce-pdp .swatch-input__input:checked + .swatch-input__label,
.ce-pdp .swatch-input__input:active + .swatch-input__label {
  outline: var(--ce-pd-swatch-ring) solid var(--ce-pd-swatch-ring-color, var(--ce-pd-accent));
  outline-offset: 0.3rem; /* dark ring with a small gap around the chosen dot */
}

/* ---------- buy buttons ------------------------------------------------------- */
/* the block is wrapped in .ce-pd-buy so its top gap is a block setting (reference: 15 px after the shipping row) */
.ce-pdp .product__info-container > .ce-pd-buy {
  margin-top: var(--ce-pd-buy-gap);
}
.ce-pdp .ce-pd-buy .product-form {
  margin-top: 0;
}
.ce-pdp .product-form__buttons {
  max-width: none;
}
/* Dawn disables the submit for the ~300 ms of every variant update (product-info.js → toggleSubmitButton) and
   base.css dims disabled buttons to opacity .5 → a visible flash on each size/colour click. The dimmed look now only
   settles after 0.7 s, so transient updates never show it while a real "Sold out" state still dims. */
.ce-pdp .product-form__submit.button,
.ce-pdp .ce-sticky-atc__button.button {
  transition: opacity 0.15s ease;
}
.ce-pdp .product-form__submit.button:disabled,
.ce-pdp .product-form__submit.button[aria-disabled='true'],
.ce-pdp .ce-sticky-atc__button.button:disabled,
.ce-pdp .ce-sticky-atc__button.button[aria-disabled='true'] {
  transition-delay: 0.7s;
}
.ce-pdp .product-form__submit.button {
  min-height: var(--ce-pd-atc-height);
  height: var(--ce-pd-atc-height);
  margin-bottom: 0;
  border-radius: var(--ce-pd-atc-radius);
  font-size: var(--ce-pd-atc-text-mobile);
  text-transform: var(--ce-pd-atc-transform);
  letter-spacing: 0;
  padding: 0 var(--ce-pd-atc-padding-x);
  box-shadow: var(--ce-pd-atc-shadow);
}
.ce-pdp .product-form__submit.button::after {
  box-shadow: none;
}
@media screen and (min-width: 750px) {
  .ce-pdp .product-form__submit.button {
    font-size: var(--ce-pd-atc-text-desktop);
  }
}
.ce-pdp .ce-pd-row--reassurance {
  margin-top: var(--ce-pd-reassurance-gap);
  justify-content: var(--ce-pd-reassurance-align);
  font-size: var(--ce-pd-reassurance-size);
  min-height: var(--ce-pd-reassurance-height);
}
/* the reference leaves 41 px between the reassurance row and the next block (25 margin + a 16 px phantom
   grid gap); sibling margins collapse, so the extra space is added to the FOLLOWING block's top margin */
.ce-pdp .product__info-container > .ce-pd-row--reassurance + * {
  margin-top: calc(var(--ce-pd-info-gap) + var(--ce-pd-reassurance-after));
}

/* ---------- description + accordions ----------------------------------------- */
.ce-pdp .product__description {
  font-size: var(--ce-pd-text-size-mobile);
  line-height: 1.6;
  color: var(--ce-pd-desc-color, rgb(var(--color-foreground)));
}
.ce-pdp .product__info-container .product__description {
  margin-top: var(--ce-pd-desc-gap, var(--ce-pd-info-gap)); /* block setting "Gap above" */
}
.ce-pdp .product__description p {
  margin: 0;
}
@media screen and (min-width: 750px) {
  .ce-pdp .product__description {
    font-size: var(--ce-pd-text-size-desktop);
  }
}
.ce-pdp .product__accordion.accordion {
  margin-top: 0;
  border-color: rgba(var(--color-foreground), var(--ce-pd-accordion-border-opacity));
}
.ce-pdp .product__info-container > .product__accordion:not(.product__accordion + .product__accordion) {
  margin-top: var(--ce-pd-accordion-gap);
}
.ce-pdp .accordion summary {
  align-items: center;
  min-height: var(--ce-pd-accordion-height-mobile);
  padding: 0;
}
.ce-pdp .accordion .accordion__title,
.ce-pdp .accordion .summary__title .h4 {
  font-family: var(--font-body-family);
  font-size: var(--ce-pd-accordion-text-mobile);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  min-height: 0;
}
.ce-pdp .accordion .summary__title + .icon-caret {
  position: static;
  width: var(--ce-pd-accordion-chevron);
  height: var(--ce-pd-accordion-chevron);
  margin-left: auto;
}
.ce-pdp .accordion .summary__title .svg-wrapper:empty {
  display: none;
}
.ce-pdp .accordion__content {
  padding: 0 0 var(--ce-pd-accordion-content-gap);
  margin: 0;
  font-size: var(--ce-pd-text-size-mobile);
}
@media screen and (min-width: 750px) {
  .ce-pdp .accordion summary {
    min-height: var(--ce-pd-accordion-height-desktop);
  }
  .ce-pdp .accordion .accordion__title,
  .ce-pdp .accordion .summary__title .h4 {
    font-size: var(--ce-pd-accordion-text-desktop);
  }
  .ce-pdp .accordion__content {
    font-size: var(--ce-pd-text-size-desktop);
  }
}

/* accordion title icon (built-in svg or custom image, size = setting) */
.ce-pdp .accordion .summary__title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.ce-pdp .ce-pd-acc-icon {
  flex: 0 0 auto;
  width: var(--ce-pd-accordion-icon);
  height: var(--ce-pd-accordion-icon);
  display: block;
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-pd-acc-icon svg,
.ce-pdp .ce-pd-acc-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* ---------- donation note ----------------------------------------------------- */
/* rendered twice by the section: under the gallery (≥990) and inside the info column (<990) */
.ce-pdp .ce-pd-note {
  display: flex;
  align-items: center;
  gap: var(--ce-pd-note-gap);
  padding: var(--ce-pd-note-padding);
  border: 0.1rem solid var(--ce-pd-note-border);
  border-radius: var(--ce-pd-note-radius);
  background: var(--ce-pd-note-bg);
  color: var(--ce-pd-note-color);
  font-size: var(--ce-pd-note-text-mobile);
  line-height: 1.6;
}
.ce-pdp .ce-pd-note__icon {
  flex: 0 0 auto;
  width: var(--ce-pd-note-icon-mobile);
  height: var(--ce-pd-note-icon-mobile);
}
.ce-pdp .ce-pd-note__icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.ce-pdp .ce-pd-note__text {
  margin: 0;
}
.ce-pdp .ce-pd-note--media {
  display: none;
  margin-top: var(--ce-pd-note-margin-desktop);
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-pd-note {
    font-size: var(--ce-pd-note-text-desktop);
  }
  .ce-pdp .ce-pd-note__icon {
    width: var(--ce-pd-note-icon-desktop);
    height: var(--ce-pd-note-icon-desktop);
  }
}
@media screen and (min-width: 990px) {
  .ce-pdp .ce-pd-note--media {
    display: flex;
  }
  .ce-pdp .ce-pd-note--info {
    display: none;
  }
}

/* ---------- video row ("Loved by …") ------------------------------------------- */
.ce-pdp .product__info-container > .ce-pd-videos {
  margin-top: var(--ce-pd-video-margin-top);
  margin-bottom: var(--ce-pd-video-margin-bottom);
}
.ce-pdp .ce-pd-videos__heading {
  margin: 0 0 2rem;
  font-family: var(--font-body-family);
  font-size: var(--ce-pd-video-heading-mobile);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-pd-videos__list {
  display: flex;
  gap: var(--ce-pd-video-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.ce-pdp .ce-pd-videos__list::-webkit-scrollbar {
  display: none;
}
.ce-pdp .ce-pd-videos__item {
  flex: 0 0 auto;
  width: var(--ce-pd-video-w-mobile);
  height: var(--ce-pd-video-h-mobile);
  margin: 0;
  scroll-snap-align: start;
}
.ce-pdp .ce-pd-video {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--ce-pd-video-radius);
  overflow: hidden;
  background: rgba(var(--color-foreground), 0.05);
}
.ce-pdp .ce-pd-video__poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.ce-pdp .ce-pd-video__img,
.ce-pdp .ce-pd-video video {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.ce-pdp .ce-pd-video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--ce-pd-video-play);
  height: var(--ce-pd-video-play);
  transform: translate(-50%, -50%);
  color: #fff;
  pointer-events: none;
}
.ce-pdp .ce-pd-video__play svg {
  width: 100%;
  height: 100%;
  display: block;
}
.ce-pdp .ce-pd-videos__bar {
  position: relative;
  display: block;
  height: 0.4rem;
  margin: var(--ce-pd-video-bar-gap) 0.5rem 0;
  border-radius: 1rem;
  background: rgba(var(--color-foreground), 0.1);
  overflow: hidden;
}
.ce-pdp .ce-pd-videos__bar[hidden] {
  display: none;
}
.ce-pdp .ce-pd-videos__bar-thumb {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 30%;
  border-radius: 1rem;
  background: var(--ce-pd-video-bar);
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-pd-videos__heading {
    font-size: var(--ce-pd-video-heading-desktop);
  }
  .ce-pdp .ce-pd-videos__item {
    width: var(--ce-pd-video-w-desktop);
    height: var(--ce-pd-video-h-desktop);
  }
}

/* ---------- sticky add-to-cart (mobile) --------------------------------------- */
/* Rendered OUTSIDE .product__info-wrapper: Dawn's scroll-trigger animation leaves a
   transform on that wrapper, which would turn it into the containing block of a fixed bar. */
.ce-sticky-atc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  height: var(--ce-pd-sticky-height);
  padding: 0 var(--ce-pd-gutter);
  display: flex;
  align-items: center;
  background: var(--ce-pd-sticky-bg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.15s ease-in, transform 0.15s ease-in, visibility 0.15s ease-in;
  pointer-events: none;
}
.ce-sticky-atc.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.ce-sticky-atc__button.button {
  width: 100%;
  min-height: var(--ce-pd-sticky-button-height);
  height: var(--ce-pd-sticky-button-height);
  border-radius: var(--ce-pd-atc-radius);
  font-size: var(--ce-pd-atc-text-mobile);
  text-transform: var(--ce-pd-atc-transform);
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.ce-sticky-atc__button.button::after {
  box-shadow: none;
}
/* no focus ring on the sticky button: it is a mirror (tabindex -1) and Dawn's white .button:focus ring stayed
   visible after a tap on phones (Quentin) */
.ce-sticky-atc__button.button:focus,
.ce-sticky-atc__button.button:focus-visible {
  outline: none;
  box-shadow: none;
}
.ce-sticky-atc__price {
  font-weight: inherit;
}
@media screen and (min-width: 750px) {
  .ce-sticky-atc[data-desktop='false'] {
    display: none;
  }
}

/* media filtered out by the selected colour (alt-text tags) */
.ce-pdp .ce-media-hidden {
  display: none !important;
}

/* ---------- size panel (variant picker block, ce_size_layout = circles) ---------------------------------- */
.ce-pdp .ce-size {
  --ce-sz-circle: var(--ce-sz-circle-m);
}
/* the panel is an option like the others: same gap above it and the same label style as "Color:" */
.ce-pdp .product-form__input + .ce-size,
.ce-pdp .ce-size + .product-form__input {
  margin-top: var(--ce-pd-option-gap);
}
.ce-pdp .ce-size__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  margin: 0 0 var(--ce-pd-option-label-gap);
}
.ce-pdp .ce-size__head .ce-size__heading {
  margin: 0;
}
/* "Size system" switch: Dawn's native select, compact, same tone as the option labels */
.ce-pdp .ce-size__system {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex: 0 0 auto;
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(var(--color-foreground), 0.6);
}
.ce-pdp .ce-size__system-select.select {
  width: auto;
}
.ce-pdp .ce-size__system-select .select__select {
  min-height: 3.2rem;
  height: 3.2rem;
  padding: 0 2.8rem 0 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  border-radius: 0.6rem;
  background: transparent;
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-size__system-select .svg-wrapper {
  right: 1rem;
}
.ce-pdp .ce-size__heading {
  margin: 0 0 var(--ce-pd-option-label-gap);
  font-size: var(--ce-pd-option-label-size);
  line-height: 1.6;
  letter-spacing: 0;
  color: rgb(var(--color-foreground));
}
/* the finder is a <button> when it opens the on-screen sizer: neutralise the UA button chrome so it looks exactly like the link card */
.ce-pdp button.ce-size__finder {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 0;
  outline: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.ce-pdp button.ce-size__finder:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
  outline-offset: 0.3rem;
}
.ce-pdp .ce-size__finder {
  margin-bottom: 1.2rem;
}
.ce-pdp .ce-size__finder,
.ce-pdp .ce-size__panel {
  background: var(--ce-sz-card-bg);
  border-radius: var(--ce-sz-card-radius);
}
.ce-pdp .ce-size__finder {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: calc(var(--ce-sz-card-pad) * 0.8) var(--ce-sz-card-pad);
  color: rgb(var(--color-foreground));
  text-decoration: none;
}
.ce-pdp .ce-size__finder-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: var(--ce-sz-icon);
  height: var(--ce-sz-icon);
  border-radius: 1.2rem;
  background: rgba(var(--color-foreground), 0.06);
  font-size: calc(var(--ce-sz-icon) * 0.5);
}
.ce-pdp .ce-size__finder-icon svg,
.ce-pdp .ce-size__finder-icon img {
  width: 1em;
  height: 1em;
  display: block;
}
.ce-pdp .ce-size__finder-text {
  flex: 1 1 auto;
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}
.ce-pdp .ce-size__finder-title {
  font-size: var(--ce-sz-title);
  font-weight: 700;
  line-height: 1.2;
}
.ce-pdp .ce-size__finder-sub {
  font-size: var(--ce-sz-help);
  line-height: 1.4;
  color: rgba(var(--color-foreground), 0.6);
}
.ce-pdp .ce-size__chevron {
  flex: 0 0 auto;
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  overflow: hidden;
  transition: transform var(--duration-short) ease;
}
.ce-pdp .ce-size__chevron svg {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
}
.ce-pdp .ce-size__chevron--right svg {
  transform: rotate(-90deg);
}
.ce-pdp .ce-size__panel {
  padding: var(--ce-sz-card-pad);
}
.ce-pdp .ce-size__fieldset.product-form__input {
  margin: 0;
  padding: 0;
  gap: 0;
}
.ce-pdp .ce-size__label.form__label {
  margin: 0 0 1.4rem;
  font-size: var(--ce-pd-option-label-size); /* same size as "Select Ring Size" and "Color:" (uniformity) */
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(var(--color-foreground), 0.6);
}
.ce-pdp .ce-size__label [data-selected-value] {
  color: rgb(var(--color-foreground));
  font-weight: 700;
}
.ce-pdp .ce-size__grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ce-sz-gap);
}
.ce-pdp .ce-size__fieldset input[type='radio'] + label {
  width: var(--ce-sz-circle);
  height: var(--ce-sz-circle);
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: transparent;
  color: rgb(var(--color-foreground));
  font-size: var(--ce-sz-text);
  line-height: 1;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.25);
  transition: box-shadow var(--duration-short) ease;
}
.ce-pdp .ce-size__fieldset input[type='radio'] + label::before {
  display: none;
}
.ce-pdp .ce-size__fieldset input[type='radio'] + label:hover {
  box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.6);
}
.ce-pdp .ce-size__fieldset input[type='radio']:checked + label {
  background: transparent;
  color: rgb(var(--color-foreground));
  box-shadow: 0 0 0 var(--ce-pd-swatch-ring) var(--ce-pd-swatch-ring-color, var(--ce-pd-accent));
}
.ce-pdp .ce-size__fieldset input[type='radio'].disabled + label,
.ce-pdp .ce-size__fieldset input[type='radio']:disabled + label {
  opacity: 0.35;
  text-decoration: none;
}
.ce-pdp .ce-size__help {
  margin-top: 2rem;
  font-size: var(--ce-sz-help);
  line-height: 1.5;
  text-align: center;
  color: rgba(var(--color-foreground), 0.75);
}
.ce-pdp .ce-size__help p {
  margin: 0;
}
.ce-pdp .ce-size__help strong {
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-size__help a {
  color: rgb(var(--color-foreground));
  text-underline-offset: 0.3rem;
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-size {
    --ce-sz-circle: var(--ce-sz-circle-d);
  }
}

/* price block (settings on the "Price" block): compare-at struck in its own colour, bold price, currency code, text badge */
.ce-pdp .ce-price {
  --ce-price-size: var(--ce-price-size-m);
  --ce-price-compare-size: var(--ce-price-compare-size-m);
  --ce-price-badge-size: var(--ce-price-badge-size-m);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ce-price-gap);
}
.ce-pdp .ce-price .price,
.ce-pdp .ce-price .price__container,
.ce-pdp .ce-price .price:not(.price--on-sale) .price__regular,
.ce-pdp .ce-price .price--on-sale .price__sale {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ce-price-gap);
  margin: 0;
  letter-spacing: 0;
  line-height: 1;
}
.ce-pdp .ce-price .price .price-item {
  margin: 0;
}
.ce-pdp .ce-price .price-item--sale,
.ce-pdp .ce-price .price__regular .price-item--regular {
  font-size: var(--ce-price-size);
  font-weight: var(--ce-price-weight);
  letter-spacing: var(--ce-heading-letter-spacing, -0.02em); /* same tracking as the product title */
  color: var(--ce-price-color);
}
.ce-pdp .ce-price .price--on-sale .price-item--regular {
  font-size: var(--ce-price-compare-size);
  font-weight: var(--ce-price-compare-weight);
  color: var(--ce-price-compare-color);
  text-decoration: line-through;
  text-decoration-thickness: 0.06em;
}
.ce-pdp .ce-price__badge {
  white-space: nowrap; /* looks and sizes come from .ce-pd-badge (same component as the media badges) */
}
@media screen and (min-width: 750px) {
  .ce-pdp .ce-price {
    --ce-price-size: var(--ce-price-size-d);
    --ce-price-compare-size: var(--ce-price-compare-size-d);
    --ce-price-badge-size: var(--ce-price-badge-size-d);
  }
}

/* free-gift box (snippets/ce-free-gift.liquid) — same language as the size panel: soft card, inner white row */
.ce-pdp .ce-gift {
  margin-top: var(--ce-gift-gap-top, 1.6rem);
  padding: var(--ce-gift-pad, 1.6rem);
  border-radius: var(--ce-gift-radius, 2rem);
  background: var(--ce-gift-bg, #f7f7f7);
}
/* same type as the "RING SIZE:" legend (.ce-size__label.form__label): regular weight, 0.06em, uppercase */
.ce-pdp .ce-gift__heading {
  margin: 0 0 1.2rem;
  font-size: var(--ce-gift-heading-size, 1.6rem);
  font-weight: 400;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ce-gift-heading-color, #666666);
}
.ce-pdp .ce-gift__card {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: calc(var(--ce-gift-pad, 1.6rem) * 0.6) var(--ce-gift-pad, 1.6rem);
  border-radius: var(--ce-gift-card-radius, 1.6rem);
  background: var(--ce-gift-card-bg, #ffffff);
}
.ce-pdp .ce-gift__media {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: var(--ce-gift-media, 5.6rem);
  height: var(--ce-gift-media, 5.6rem);
}
.ce-pdp .ce-gift__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ce-pdp .ce-gift__name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--ce-gift-title-size, 1.6rem);
  font-weight: 700;
  line-height: 1.25;
}
.ce-pdp .ce-gift__prices {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  font-size: var(--ce-gift-price-size, 1.6rem);
  line-height: 1.2;
}
.ce-pdp .ce-gift__compare {
  color: var(--ce-gift-compare-color, #8c8c8c);
  text-decoration: line-through;
}
.ce-pdp .ce-gift__free {
  font-weight: 700;
}
/* small pulsing dot before the note — em-sized so it always matches the note text size */
.ce-pdp .ce-gift__dot {
  display: inline-block;
  width: 0.55em;
  height: 0.55em;
  margin-right: 0.5em;
  border-radius: 50%;
  vertical-align: baseline;
  background: var(--ce-gift-dot-color, #ff8a00);
  --ce-pd-stock-dot-color: var(--ce-gift-dot-color, #ff8a00); /* the shared keyframes read this var for the ring */
  animation: ce-stock-pulse 2.4s ease-out infinite;
}
.ce-pdp .ce-gift__note {
  margin: 1.2rem 0 0;
  font-size: var(--ce-gift-note-size, 1.3rem);
  line-height: 1.4;
  text-align: center;
  color: var(--ce-gift-note-color, #6b6b6b);
}
.ce-pdp .ce-gift__note strong {
  font-weight: 700;
  color: rgb(var(--color-foreground));
}
.ce-pdp .ce-gift__setup {
  margin: 1.2rem 0 0;
  padding: 0.8rem 1.2rem;
  border-radius: 0.8rem;
  background: rgba(var(--color-foreground), 0.06);
  font-size: 1.3rem;
  line-height: 1.4;
  text-align: center;
}
