/** Shopify CDN: Minification failed

Line 1158:44 Unexpected "*"

**/
/* ===================================================================
   KUNDAN — Product (PDP)
   Local radii (global --radius-* are 0): pill 40 / card 14 / input 12.
   --kundan-sand = trust tiles surface (#F3EAD7).
   =================================================================== */
.product { --kundan-sand: 243, 234, 215; }
.page-width--kundan { max-width: 1296px; }

/* Product page */
.product .breadcrumbs {
  margin-block: var(--space-sm) var(--space-md);
}

@media (min-width: 990px) {
  .product .breadcrumbs { margin-block: var(--space-sm) var(--space-lg); }
}

/* On a phone the PDP opened with 80px of nothing: the generic .section rhythm
   (clamp(4rem, 7vw, 9rem)) plus the breadcrumb's own top margin, before a
   single pixel of product. Start the page just under the header instead --
   this alone lifts the price and both buy buttons into the first screen.
   Desktop keeps the airier editorial spacing. */
@media (max-width: 989px) {
  .product.section { padding-block-start: var(--space-sm); }
  .product .breadcrumbs { margin-block: 0 var(--space-sm); }
  .product__layout { gap: var(--space-md); }
}

.product__layout {
  display: grid;
  gap: var(--space-lg);
}

@media (min-width: 990px) {
  .product__layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: clamp(var(--space-lg), 4vw, 46px);
    align-items: start;
  }
}

/* Media gallery — 72px vertical thumb rail + main image (sticky on desktop) */
.product__media { position: relative; display: block; }

@media (min-width: 990px) {
  /* THUMBNAIL (default): 72px vertical thumb rail + sticky stacked main */
  .product__media--thumbnail.product__media--multi {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    position: sticky;
    top: calc(var(--header-height) + var(--space-sm));
  }
  /* The tab bar spans both columns so it sits under the rail AND the image,
     rather than being squeezed into the 72px thumb column. */
  .product__media--thumbnail.product__media--multi .product__media-tabs {
    grid-column: 1 / -1;
  }
}

.product__media-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.product__media-item {
  border-radius: 18px;
  overflow: hidden;
}

/* Click-to-zoom affordance (enhanced by product.js) */
.product__media-item.is-zoomable { cursor: zoom-in; }
.product__media-item.is-zoomable:focus-visible {
  outline: 2px solid rgb(var(--color-accent));
  outline-offset: 3px;
}
.product__media-item.is-zoomable img { transition: transform var(--duration-slow) var(--ease-out); }
@media (min-width: 990px) and (hover: hover) {
  .product__media-item.is-zoomable:hover img { transform: scale(1.04); }
}

@media (max-width: 989px) {
  /* The gallery becomes a column so the thumb strip and the media-type tabs
     can be ordered BELOW the slider — both precede it in the DOM. */
  .product__media--multi {
    display: flex;
    flex-direction: column;
  }
  .product__media-main {
    order: 0;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* Programmatic slides (thumb tap, arrow, tab switch) glide instead of
       jumping. Native swipe momentum is unaffected. */
    scroll-behavior: smooth;
    scrollbar-width: none;
    margin-inline: calc(var(--page-gutter) * -1);
    padding-inline: var(--page-gutter);
  }
  .product__media-main::-webkit-scrollbar { display: none; }
  /* Snap to the same left edge every time. With centre-snap the first slide
     clamped against the left while every later slide centred, so the sliver of
     the next image changed width as you swiped and the track never settled in
     the same place twice. */
  .product__media-main { scroll-padding-inline-start: var(--page-gutter); }
  .product__media-item { flex: 0 0 88%; scroll-snap-align: start; }

  /* Thumb strip under the slider — the active slide is always identifiable.
     The 72px vertical rail form stays desktop-only. */
  .product__media--multi .product__thumbs {
    display: flex;
    flex-direction: row;
    order: 1;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }
  .product__media--multi .product__thumbs::-webkit-scrollbar { display: none; }
  .product__thumb {
    flex: 0 0 64px;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    background: none;
    cursor: pointer;
    border: 1px solid rgba(var(--color-gold), 0.35);
    transition: border-color var(--duration-fast) var(--ease-soft), box-shadow var(--duration-fast) var(--ease-soft);
  }
  .product__thumb .media { border-radius: inherit; }
  .product__thumb.is-active {
    border-color: rgb(var(--color-maroon));
    box-shadow: 0 0 0 1px rgb(var(--color-maroon));
  }
}

/* Gallery prev/next arrows (injected by product.js). Shown only where the
   gallery is a horizontal carousel — i.e. on mobile/tablet. */
.product__media-arrow {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: rgb(var(--color-foreground));
  background: rgba(var(--color-background), 0.85);
  box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: opacity var(--duration-fast) var(--ease-soft);
}
.product__media-arrow--prev { left: var(--space-2xs); }
.product__media-arrow--next { right: var(--space-2xs); }
.product__media-arrow[disabled] { opacity: 0; pointer-events: none; }

@media (max-width: 989px) {
  .product__media--has-arrows .product__media-arrow { display: inline-flex; }
}

/* ---------------------------------------------------------------
   Media-type segmented control — Images / Video / 3D Viewer.
   Markup is server-rendered in main-product.liquid; product.js adds
   .product__media--has-tabs so it never shows as a dead control.
   order:2 keeps it below the thumb strip (order:1) in the carousel
   layout, where the gallery is a flex column.
   --------------------------------------------------------------- */
.product__media-tabs {
  display: none;
  order: 2;
  margin-top: 14px;
  border-top: 1px solid rgba(var(--color-foreground), 0.12);
}
.product__media--has-tabs .product__media-tabs { display: flex; }

.product__media-tab {
  flex: 1 1 0;
  position: relative;
  padding: 12px 8px;
  border: 0;
  background: none;
  color: rgba(var(--color-foreground), 0.62);
  font-size: 0.875rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--duration-fast) var(--ease-soft);
}
/* Hairline separators between tabs, but not before the first. */
.product__media-tab + .product__media-tab::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 1.1em;
  border-left: 1px solid rgba(var(--color-foreground), 0.12);
}
/* The active underline. Always painted so it can slide between tabs rather
   than blink; scaleX(0) hides it on the inactive ones. */
.product__media-tab::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px;
  height: 2px;
  border-radius: 2px;
  background: rgb(var(--color-maroon));
  transform: scaleX(0);
  transition: transform var(--duration-default, 250ms) var(--ease-out);
}
.product__media-tab.is-active {
  color: rgb(var(--color-foreground));
  font-weight: 500;
}
.product__media-tab.is-active::after { transform: scaleX(1); }
.product__media-tab:focus-visible {
  outline: 2px solid rgb(var(--color-accent));
  outline-offset: -2px;
}

/* Slides hidden by the tab filter. Kept out of layout entirely so the
   scroll-snap track only contains what the active tab shows. */
.product__media-item[hidden],
.product__thumb[hidden] { display: none !important; }

.product__thumbs {
  display: none;
  gap: 12px;
}

@media (min-width: 990px) {
  .product__thumbs {
    display: flex;
    flex-direction: column;
    order: -1;
  }
  .product__thumb {
    width: 100%;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    background: none;
    cursor: pointer;
    border: 1px solid rgba(var(--color-gold), 0.35);
    transition: border-color var(--duration-fast) var(--ease-soft), box-shadow var(--duration-fast);
  }
  .product__thumb .media { border-radius: inherit; }
  .product__thumb.is-active { border-color: rgb(var(--color-maroon)); box-shadow: 0 0 0 1px rgb(var(--color-maroon)); }
  .product__thumb:hover { border-color: rgba(var(--color-maroon), 0.6); }
}

/* ============================================================
   Gallery layout variants — section setting `gallery_layout`.
   thumbnail (rail, above) · carousel · grid · stacked
   ============================================================ */
@media (min-width: 990px) {
  /* Stacked & grid drop the thumb rail entirely */
  .product__media--stacked .product__thumbs,
  .product__media--grid .product__thumbs { display: none; }

  /* STACKED — full-width images, one beneath the next (editorial scroll) */
  .product__media--stacked .product__media-main { gap: var(--space-sm); }

  /* GRID — two-column mosaic; the hero image spans the full width */
  .product__media--grid .product__media-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
  }
  .product__media--grid .product__media-item:first-child { grid-column: 1 / -1; }

  /* CAROUSEL — one image at a time, arrows + a horizontal thumb strip below */
  .product__media--carousel {
    display: flex;
    flex-direction: column; /* makes the thumbs' order:1 actually place them BELOW the viewport */
    position: sticky;
    top: calc(var(--header-height) + var(--space-sm));
  }
  .product__media--carousel .product__media-main {
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }
  .product__media--carousel .product__media-main::-webkit-scrollbar { display: none; }
  .product__media--carousel .product__media-item { flex: 0 0 100%; scroll-snap-align: center; }
  .product__media--carousel .product__thumbs {
    display: flex;
    flex-direction: row;
    order: 1; /* sit below the viewport, not as a left rail */
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .product__media--carousel .product__thumbs::-webkit-scrollbar { display: none; }
  .product__media--carousel .product__thumb { flex: 0 0 64px; }
  /* arrows are desktop-visible only in carousel mode */
  .product__media--carousel.product__media--has-arrows .product__media-arrow { display: inline-flex; }
}

/* Mobile: GRID opts out of the default horizontal swipe carousel.
   STACKED deliberately does not. "Stacked" means an editorial column on
   desktop and a swipe carousel on the phone — a column of full-width images
   is a long, thumbless scroll on a 390px screen, which is what the PDP used
   to be. Desktop keeps the column; mobile inherits the default carousel
   rules above, thumb strip and media-type tabs included. */
@media (max-width: 989px) {
  .product__media--grid .product__media-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xs);
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
  .product__media--grid .product__media-item { flex: initial; }
  .product__media--grid .product__thumbs { display: none; }
  /* arrows belong to the swipe carousel only */
  .product__media--grid .product__media-arrow { display: none; }
}

/* Info column */
.product__info-wrap { position: relative; }

@media (min-width: 990px) {
  .product__info {
    position: sticky;
    top: calc(var(--header-height) + var(--space-md));
  }
}

.product-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.product-info > * { margin: 0; }

/* Gold category eyebrow */
.product-info__vendor {
  margin-bottom: calc(var(--space-sm) * -1 + var(--space-3xs));
  color: rgb(var(--color-gold));
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* Jost title (~34px to match mockup) */
.product-info__title {
  font-family: var(--font-heading-family);
  font-weight: 400;
  font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.125rem);
  line-height: 1.15;
}
/* Large ₹ price + MRP strike + green % off */
.product-info__price { margin-top: var(--space-3xs); }
.product-info__price .price { font-size: var(--text-lg); align-items: baseline; gap: var(--space-2xs); }
.product-info__price .price__current { font-weight: 600; }
.product-info__price .price__off { font-size: 0.62em; }
.product-info__tax {
  margin-top: var(--space-3xs);
  font-size: var(--text-sm);
  color: rgba(var(--color-foreground), 0.6);
}
.product-info__tax a { text-decoration: underline; }
.product-info__description { color: rgba(var(--color-foreground), 0.78); line-height: var(--leading-normal); margin-top: var(--space-2xs); }

.product-info__rating { display: inline-flex; align-items: center; gap: var(--space-2xs); width: fit-content; }
.product-info__rating-count { color: rgba(var(--color-foreground), 0.6); font-size: var(--text-sm); }

.product-info__highlight { color: rgba(var(--color-foreground), 0.85); font-size: var(--text-md); }

/* Variant picker */
.variant-picker { display: flex; flex-direction: column; gap: var(--space-md); }
.variant-picker__option { display: flex; flex-direction: column; gap: var(--space-2xs); }
.variant-picker__label { display: flex; align-items: baseline; gap: var(--space-2xs); }
.variant-picker__selected { font-size: var(--text-sm); color: rgba(var(--color-foreground), 0.7); }
.variant-picker__values { display: flex; flex-wrap: wrap; gap: var(--space-2xs); border: 0; padding: 0; margin: 0; }
.variant-picker__label .overline { color: rgb(var(--color-foreground)); font-weight: 600; letter-spacing: 0.04em; }
.variant-picker__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  min-height: 2.75rem;
  padding: 0 var(--space-md);
  font-size: var(--text-sm);
  color: rgb(var(--color-foreground));
  border: 1.5px solid rgba(var(--color-gold), 0.55);
  border-radius: 40px;
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-soft), background-color var(--duration-fast), color var(--duration-fast);
}
.variant-picker__chip:hover { border-color: rgb(var(--color-maroon)); }
.variant-picker__input:checked + .variant-picker__chip {
  background-color: rgb(var(--color-maroon));
  color: #fff;
  border-color: rgb(var(--color-maroon));
}
.variant-picker__input:focus-visible + .variant-picker__chip { outline: 2px solid rgb(var(--color-accent)); outline-offset: 2px; }

/* Variant picker — visible color/material swatches */
.variant-picker__values--swatch { gap: var(--space-xs); }
.variant-picker__swatch {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3xs);
  cursor: pointer;
  text-align: center;
}
.variant-picker__swatch .swatch {
  width: 2.25rem;
  height: 2.25rem;
  transition: box-shadow var(--duration-fast) var(--ease-soft), transform var(--duration-fast) var(--ease-out);
}
.variant-picker__swatch:hover .swatch { box-shadow: inset 0 0 0 1px rgba(var(--color-foreground), 0.4), 0 0 0 2px rgba(var(--color-foreground), 0.12); }
.variant-picker__swatch-name {
  font-size: var(--text-xs);
  color: rgba(var(--color-foreground), 0.6);
  max-width: 5rem;
  line-height: var(--leading-snug);
}
.variant-picker__input:checked + .variant-picker__swatch .swatch {
  box-shadow: inset 0 0 0 1px rgba(var(--color-foreground), 0.18), 0 0 0 2px rgb(var(--color-background)), 0 0 0 4px rgb(var(--color-foreground));
}
.variant-picker__input:checked + .variant-picker__swatch .variant-picker__swatch-name { color: rgb(var(--color-foreground)); }
.variant-picker__input:focus-visible + .variant-picker__swatch .swatch { outline: 2px solid rgb(var(--color-accent)); outline-offset: 3px; }

/* Unavailable / impossible option combinations (set by product.js) */
.variant-picker__chip.is-unavailable,
.variant-picker__swatch.is-unavailable {
  opacity: 0.55;
}
.variant-picker__chip.is-unavailable {
  text-decoration: line-through;
  text-decoration-color: rgba(var(--color-foreground), 0.4);
}
.variant-picker__swatch.is-unavailable .swatch { position: relative; }
.variant-picker__swatch.is-unavailable .swatch::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(to top left, transparent calc(50% - 1px), rgba(var(--color-foreground), 0.55) 50%, transparent calc(50% + 1px));
}
.variant-picker__chip.is-nonexistent,
.variant-picker__swatch.is-nonexistent {
  opacity: 0.3;
  pointer-events: none;
}

/* Stock state */
.variant-picker__stock {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
  font-size: var(--text-sm);
  color: rgba(var(--color-foreground), 0.7);
}
.variant-picker__stock-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: rgb(var(--color-accent));
  flex: 0 0 auto;
}
.variant-picker__stock-dot[data-state="in"] { background: rgb(var(--color-success)); }
.variant-picker__stock-dot[data-state="low"] { background: #c97a16; }
.variant-picker__stock-dot[data-state="out"] { background: rgba(var(--color-foreground), 0.35); }
.variant-picker__stock[data-state="low"] { color: rgb(var(--color-foreground)); }
.variant-picker__stock[data-state="out"] { color: rgba(var(--color-foreground), 0.55); }

/* Buy buttons — qty stepper pill + Add to bag (outline) row, Buy it now (fill) below */
.product-form { display: flex; flex-direction: column; gap: var(--space-sm); }
.product-form__error { color: rgb(var(--color-error, var(--color-maroon))); font-size: var(--text-sm); }
/* Bottom-align so the Add button lines up with the 3.25rem stepper pill,
   not with the small "Quantity" overline above it. */
.product-form__controls { display: flex; gap: var(--space-xs); align-items: flex-end; }
.product-form__controls > .button { min-height: 3.25rem; }
.product-form__quantity { display: flex; flex-direction: column; gap: var(--space-2xs); }
.product-form__quantity .overline { color: rgb(var(--color-foreground)); font-weight: 600; }
.product-form__quantity quantity-input {
  height: 3.25rem;
  border: 1px solid rgba(var(--color-gold), 0.6);
  border-radius: 40px;
  overflow: hidden;
}
.product-form__quantity quantity-input button {
  height: 100%;
  width: 3rem;
  color: rgb(var(--color-maroon));
}
.product-form__quantity quantity-input button:hover { color: rgb(var(--color-maroon-deep)); }
.product-form__quantity quantity-input input { height: 100%; font-weight: 600; }

/* Add to bag = maroon outline pill (flex-grows beside qty) */
.product-form__submit {
  position: relative;
  flex: 1;
  min-height: 3.25rem;
  border-radius: 40px;
  font-weight: 600;
}
.product-form__submit.is-loading .spinner { position: absolute; }

/* Buy it now = maroon fill pill (Shopify dynamic checkout) */
.shopify-payment-button { margin-top: var(--space-sm); }
.shopify-payment-button__button {
  border-radius: 40px !important;
  min-height: 3.25rem;
  font-weight: 600;
}
body:not(.theme--minimal) .shopify-payment-button__button--unbranded {
  background: rgb(var(--color-maroon)) !important;
  color: #fff !important;
}
body:not(.theme--minimal) .shopify-payment-button__button--unbranded:hover { background: rgb(var(--color-maroon-deep)) !important; }

/* Accordion details (Materials & care / Shipping & delivery / Returns & exchange) */
.product-info .accordion:first-of-type { margin-top: var(--space-2xs); }
.accordion { border-top: 1px solid rgba(var(--color-gold), 0.28); }
.product-info .accordion:last-of-type { border-bottom: 1px solid rgba(var(--color-gold), 0.28); }
.accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  cursor: pointer;
  list-style: none;
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.accordion__summary::-webkit-details-marker { display: none; }
.accordion__summary > span { display: inline-flex; align-items: center; gap: var(--space-2xs); }
.accordion__summary .icon { transition: transform var(--duration-base) var(--ease-out); color: rgb(var(--color-gold)); }
.accordion[open] .accordion__summary .icon--chevron-down { transform: rotate(180deg); }
.accordion__body { padding-bottom: var(--space-md); color: rgba(var(--color-foreground), 0.7); font-size: var(--text-sm); line-height: var(--leading-normal); }

/* Share */
.product-info__share { display: flex; align-items: center; gap: var(--space-sm); }
.product-info__share-links { display: flex; gap: var(--space-2xs); }
.product-info__share-links a { color: rgba(var(--color-foreground), 0.6); transition: color var(--duration-fast); }
.product-info__share-links a:hover { color: rgb(var(--color-accent)); }

/* ===== Trust row (beside add-to-cart) ===== */
.product-trust {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs) var(--space-md);
  margin: 0;
  padding: var(--space-sm) 0 0;
  list-style: none;
}
.product-trust__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--text-sm);
  color: rgba(var(--color-foreground), 0.75);
}
.product-trust__item .icon { color: rgb(var(--color-accent)); flex: 0 0 auto; }

/* ===== Trust tiles — 3 tiles on sand (COD / Free shipping / 7-day returns) ===== */
.product-info__badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2xs);
  margin: var(--space-2xs) 0 0;
  padding: 0;
  list-style: none;
}
.product-info__badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3xs);
  text-align: center;
  padding: 14px 10px;
  background: rgb(var(--kundan-sand));
  border-radius: 12px;
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: var(--leading-snug);
}
.product-info__badge .icon { color: rgb(var(--color-gold)); flex: 0 0 auto; }
@media (max-width: 359px) {
  .product-info__badges { grid-template-columns: 1fr; }
  .product-info__badge { flex-direction: row; text-align: left; }
}

/* ===== Size guide trigger ===== */
.product-info__size-guide-trigger { gap: var(--space-3xs); }
.product-info__size-guide-trigger .icon { color: rgb(var(--color-accent)); }

/* ===== Size guide drawer (reuses .overlay; bottom-sheet on mobile) ===== */
.size-guide__panel { width: min(480px, 92vw); }
.size-guide .overlay__body :last-child { margin-bottom: 0; }

@media (max-width: 749px) {
  .size-guide__panel {
    width: 100%;
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    max-height: 85vh;
    max-height: 85dvh;
    border-radius: 18px 18px 0 0;
    transform: translateY(100%);
    padding-bottom: env(safe-area-inset-bottom, 0px); /* clear the iPhone home indicator */
  }
  .size-guide.is-open .size-guide__panel { transform: none; }
}

/* ===== Product image lightbox ===== */
.product-lightbox { z-index: 110; }
.product-lightbox .overlay__backdrop { background-color: rgba(var(--color-shadow, 26, 24, 22), 0.82); }
.product-lightbox__dialog {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(var(--space-sm), 4vw, var(--space-xl));
  opacity: 0;
  transition: opacity var(--duration-base) var(--ease-soft);
}
.product-lightbox.is-open .product-lightbox__dialog { opacity: 1; }
.product-lightbox__figure {
  margin: 0;
  max-width: min(1100px, 100%);
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-lightbox__image {
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  background: rgb(var(--color-background));
}
.product-lightbox__close,
.product-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  color: rgb(var(--color-foreground));
  background: rgba(var(--color-background), 0.9);
  box-shadow: var(--shadow-sm);
  transition: background-color var(--duration-fast), transform var(--duration-fast) var(--ease-out);
}
.product-lightbox__close:hover,
.product-lightbox__nav:hover { background: rgb(var(--color-background)); }
.product-lightbox__close { top: var(--space-sm); right: var(--space-sm); }
.product-lightbox__nav { top: 50%; transform: translateY(-50%); }
.product-lightbox__nav--prev { left: var(--space-sm); }
.product-lightbox__nav--next { right: var(--space-sm); }
.product-lightbox--single .product-lightbox__nav,
.product-lightbox--single .product-lightbox__counter { display: none; }
.product-lightbox__counter {
  position: absolute;
  bottom: var(--space-sm);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  color: rgba(var(--color-foreground), 0.7);
}

@media (max-width: 749px) {
  .product-lightbox__nav { width: 2.5rem; height: 2.5rem; }
  .product-lightbox__nav--prev { left: var(--space-3xs); }
  .product-lightbox__nav--next { right: var(--space-3xs); }
}

/* ===== Sticky add-to-cart bar ===== */
.sticky-atc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  background: rgb(var(--color-background));
  border-top: 1px solid rgba(var(--color-foreground), 0.12);
  box-shadow: var(--shadow-md);
  transform: translateY(110%);
  visibility: hidden;
  transition: transform var(--duration-base) var(--ease-out), visibility 0s linear var(--duration-base);
  padding-block: var(--space-2xs);
  padding-bottom: calc(var(--space-2xs) + env(safe-area-inset-bottom, 0px));
}
.sticky-atc.is-visible {
  transform: none;
  visibility: visible;
  transition: transform var(--duration-base) var(--ease-out), visibility 0s;
}
/* While the bar is visible, reserve its height at the page bottom so the
   footer / last PDP block can always be scrolled clear of it (JS sets
   --sticky-atc-height from the bar's measured height). */
html.sticky-atc-open { scroll-padding-bottom: calc(var(--sticky-atc-height, 4.5rem) + var(--space-sm)); }
html.sticky-atc-open body { padding-bottom: var(--sticky-atc-height, 4.5rem); }
.sticky-atc__inner {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.sticky-atc__product { display: flex; align-items: center; gap: var(--space-2xs); min-width: 0; flex: 1; }
.sticky-atc__media {
  width: 3rem;
  height: 3rem;
  border-radius: 10px;
  flex: 0 0 auto;
}
.sticky-atc__text { display: flex; flex-direction: column; min-width: 0; }
.sticky-atc__title {
  font-size: var(--text-sm);
  font-weight: var(--font-body-weight-bold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sticky-atc__price { font-size: var(--text-sm); }
.sticky-atc__price .price { font-size: var(--text-sm); }
.sticky-atc__add {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.875rem;
  padding-inline: var(--space-md);
  border-radius: 40px;
}
.sticky-atc__add.is-loading .spinner { position: absolute; }

/* Hide the sticky product summary on the narrowest screens — keep the button. */
@media (max-width: 480px) {
  .sticky-atc__media { display: none; }
  .sticky-atc__add { padding-inline: var(--space-sm); }
}
@media (min-width: 750px) {
  .sticky-atc__media { width: 3.25rem; height: 3.25rem; }
  .sticky-atc__title { font-size: var(--text-base); }
  .sticky-atc__add { min-height: 3rem; padding-inline: var(--space-lg); }
}

@media (prefers-reduced-motion: reduce) {
  .sticky-atc, .product-lightbox__dialog, .size-guide__panel { transition: none; }
}

/* ===== Related products carousel ===== */
.related-products__carousel { position: relative; display: block; }
.related-products__track {
  display: flex;
  gap: var(--space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  margin-inline: calc(var(--page-gutter) * -1);
  padding-inline: var(--page-gutter);
}
.related-products__track::-webkit-scrollbar { display: none; }
.related-products__slide {
  flex: 0 0 72%;
  scroll-snap-align: start;
}
@media (min-width: 750px) {
  .related-products__slide { flex-basis: 40%; }
}
@media (min-width: 990px) {
  .related-products__slide { flex-basis: calc((100% - (var(--grid-cols, 4) - 1) * var(--space-md)) / var(--grid-cols, 4)); }
}
.related-products__nav { display: flex; justify-content: center; gap: var(--space-2xs); margin-top: var(--space-md); }
.related-products__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  color: rgb(var(--color-foreground));
  border: 1px solid rgba(var(--color-foreground), 0.2);
  transition: border-color var(--duration-fast) var(--ease-soft), color var(--duration-fast);
}
.related-products__arrow:hover { border-color: rgb(var(--color-foreground)); color: rgb(var(--color-accent)); }

/* ===== Recently viewed ===== */
.recently-viewed[hidden] { display: none; }
.recently-viewed__grid:empty { display: none; }

/* ===== KUNDAN — related / recently-viewed headings ===== */
.related-products .page-width,
.recently-viewed .page-width { max-width: 1296px; }
.related-products .section-header__title,
.recently-viewed .section-header__title {
  font-family: var(--font-heading-family);
  font-weight: 400;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 1.625rem);
}
.related-products .section-header--center,
.recently-viewed .section-header--center { text-align: left; align-items: flex-start; }
.related-products__arrow:hover { border-color: rgb(var(--color-maroon)); color: rgb(var(--color-maroon)); }

/* Rating row: gold stars */
.product-info__rating .star-rating__stars { color: rgb(var(--color-gold)); }

/* Product specifications (custom metafields) */
.product-specs-block { margin-top: var(--space-md); }
.product-specs-block__title { font-family: var(--font-heading-family); font-size: var(--text-lg); margin-bottom: var(--space-sm); }
.product-specs { margin: 0; }
.product-specs__row {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: var(--space-sm);
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(var(--color-foreground), 0.1);
}
.product-specs__row:first-child { border-top: 1px solid rgba(var(--color-foreground), 0.1); }
.product-specs dt { margin: 0; font-size: var(--text-sm); color: rgba(var(--color-foreground), 0.55); letter-spacing: 0.02em; }
.product-specs dd { margin: 0; font-size: var(--text-sm); color: rgb(var(--color-foreground)); }
@media (max-width: 489px) { .product-specs__row { grid-template-columns: 1fr; gap: 2px; } }

/* ===== Complete the set — curated PDP cross-sell (metafield-driven) ===== */
.complete-set {
  border: 1px solid rgba(var(--color-gold), 0.4);
  border-radius: 14px;
  padding: var(--space-sm);
  background: rgba(var(--color-cream), 0.45);
}
.complete-set__head { margin-bottom: var(--space-2xs); }
.complete-set__title { font-size: var(--text-lg); }
.complete-set__sub { font-size: var(--text-sm); color: rgba(var(--color-foreground), 0.62); margin-top: 2px; }
.complete-set__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  margin: 0 0 var(--space-sm);
  padding: 0;
  list-style: none;
}
.complete-set__item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2xs);
}
.complete-set__media { width: 56px; border-radius: 10px; overflow: hidden; }
.complete-set__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.complete-set__name { font-size: var(--text-sm); font-weight: 500; line-height: var(--leading-snug); }
.complete-set__name:hover { color: rgb(var(--color-maroon)); }
.complete-set__price { font-size: var(--text-sm); }
.complete-set__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(var(--color-maroon), 0.5);
  color: rgb(var(--color-maroon));
  background: rgb(var(--color-background));
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}
.complete-set__add:hover { background: rgb(var(--color-maroon)); color: rgb(var(--color-cream)); }
.complete-set__add.is-loading { opacity: 0.6; pointer-events: none; }
.complete-set__sold { font-size: var(--text-xs); color: rgba(var(--color-foreground), 0.5); }
.complete-set__add-all { position: relative; }
.complete-set__add-all.is-loading [data-button-label] { opacity: 0; }
.complete-set__add-all.is-loading .spinner { position: absolute; }

/* ===== BuyForMe — "ask someone to gift this" (viral WhatsApp share) ===== */
.buy-for-me { margin-top: var(--space-2xs); }
.buy-for-me__trigger { gap: var(--space-2xs); }

/* Centered modal — reuses the .overlay show/hide machinery */
.buy-for-me__modal {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}
.buy-for-me__modal .overlay__backdrop { background-color: rgba(var(--color-maroon-deep), 0.58); }
.buy-for-me__dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 2 * var(--space-md));
  max-height: calc(100dvh - 2 * var(--space-md)); /* real mobile viewport — keeps footer CTA reachable */
  display: flex;
  flex-direction: column;
  background-color: #FBF6EE; /* opaque — never see-through */
  border-radius: 16px;
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  transform: translateY(14px) scale(0.985);
  opacity: 0;
  transition: transform var(--duration-base) cubic-bezier(0.34, 1.28, 0.64, 1), opacity var(--duration-base) var(--ease-soft);
}
.buy-for-me__modal.is-open .buy-for-me__dialog { transform: none; opacity: 1; }
.buy-for-me__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  padding: var(--space-md);
  overflow-y: auto;
}
@media (min-width: 720px) {
  .buy-for-me__layout { grid-template-columns: 0.85fr 1fr; align-items: start; }
}

/* Left — live preview card */
.bfm-preview { display: flex; flex-direction: column; gap: var(--space-2xs); }
.bfm-preview__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(var(--color-foreground), 0.55);
}
.bfm-preview__label .icon { color: rgb(var(--color-gold)); }
.bfm-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  text-align: center;
  padding: calc(var(--space-md) + 4px) var(--space-md) var(--space-md);
  border-radius: 16px;
  /* gradient-gold hairline frame */
  background:
    linear-gradient(rgb(var(--color-background)), rgb(var(--color-background))) padding-box,
    linear-gradient(160deg, rgba(var(--color-gold), 0.55), rgba(var(--color-gold), 0.12)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 14px 30px -22px rgba(var(--color-maroon-deep), 0.5);
}
.bfm-card__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 2px;
  border-radius: 999px;
  color: rgb(var(--color-maroon));
  background: radial-gradient(circle at 50% 38%, rgba(var(--color-gold), 0.38), rgba(var(--color-gold), 0.14));
  box-shadow: inset 0 0 0 1px rgba(var(--color-gold), 0.6);
}
.bfm-card__brand { margin: 0; font-family: var(--font-heading-family); letter-spacing: 0.2em; text-transform: uppercase; font-size: var(--text-xs); color: rgb(var(--color-maroon)); }
.bfm-card__msg { margin: 0; font-family: var(--font-heading-family); font-size: var(--text-base); line-height: var(--leading-snug); color: rgb(var(--color-foreground)); }
.bfm-card__media { width: 58%; max-width: 150px; border-radius: 10px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(var(--color-gold), 0.3); }
.bfm-card__title { margin: 0; font-family: var(--font-heading-family); font-size: var(--text-base); }
.bfm-card__price { margin: 0; font-size: var(--text-sm); color: rgba(var(--color-foreground), 0.75); }
.bfm-card__btn {
  display: inline-block;
  margin-top: var(--space-2xs);
  padding: 0.55rem 1.5rem;
  border-radius: 999px;
  background: rgb(var(--color-maroon));
  color: rgb(var(--color-cream));
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.bfm-card__from { margin: 0; font-size: var(--text-xs); font-style: italic; color: rgba(var(--color-foreground), 0.6); }

/* Right — options */
.bfm-options { display: flex; flex-direction: column; gap: var(--space-sm); }
.bfm-field { display: flex; flex-direction: column; gap: var(--space-3xs); }
.bfm-field label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(var(--color-foreground), 0.7); }
.bfm-field textarea { resize: vertical; min-height: 3.2rem; }
.bfm-field__count { align-self: flex-end; font-size: var(--text-xs); color: rgba(var(--color-foreground), 0.45); }
.bfm-imgpick { display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
.bfm-imgpick__thumb {
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 1px solid rgba(var(--color-foreground), 0.15);
  transition: border-color var(--duration-fast) var(--ease-soft), box-shadow var(--duration-fast) var(--ease-soft);
}
.bfm-imgpick__thumb .media { border-radius: inherit; width: 100%; height: 100%; }
.bfm-imgpick__thumb:hover { border-color: rgba(var(--color-accent), 0.6); }
.bfm-imgpick__thumb.is-active { border-color: rgb(var(--color-accent)); box-shadow: 0 0 0 1px rgb(var(--color-accent)); }
.bfm-check { display: flex; align-items: center; gap: var(--space-2xs); font-size: var(--text-sm); cursor: pointer; }
.bfm-check input { width: 18px; height: 18px; accent-color: rgb(var(--color-maroon)); }

.buy-for-me__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-sm) var(--space-md) var(--space-md);
  border-top: 1px solid rgba(var(--color-gold), 0.28);
}
.buy-for-me__wa {
  gap: var(--space-2xs);
  color: #fff;
  background-color: rgb(var(--color-success));
  border-color: rgb(var(--color-success));
  box-shadow: 0 10px 22px -12px rgba(var(--color-success), 0.85);
}
.buy-for-me__wa:hover {
  filter: brightness(0.96);
  transform: translateY(-1px);
  /* re-assert the WhatsApp green: base.css .button--secondary:hover otherwise flips the fill */
  background-color: rgb(var(--color-success));
  border-color: rgb(var(--color-success));
  color: #fff;
}
.buy-for-me__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  min-height: 2.75rem; /* 44px touch target */
  padding: var(--space-2xs);
  background: none;
  cursor: pointer;
  font-size: var(--text-sm);
  color: rgba(var(--color-foreground), 0.7);
}
.buy-for-me__copy:hover { color: rgb(var(--color-maroon)); }

/* ===== Gift greeting — the card a friend sees on the PDP (?gift=1) ===== */
.gift-greeting { display: flex; align-items: center; justify-content: center; padding: var(--space-md); }
.gift-greeting .overlay__backdrop { background-color: rgba(var(--color-maroon-deep), 0.62); }
.gift-greeting__card {
  position: relative;
  z-index: 1;
  width: min(384px, 100%);
  max-height: calc(100vh - 2 * var(--space-md));
  max-height: calc(100dvh - 2 * var(--space-md));
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  text-align: center;
  padding: calc(var(--space-lg) + 6px) var(--space-lg) var(--space-lg);
  border-radius: 20px;
  /* gradient hairline frame on the scheme surface (cream in traditional,
     white in the minimal skin — token, so the skin override actually works) */
  background:
    linear-gradient(rgb(var(--color-background)), rgb(var(--color-background))) padding-box,
    linear-gradient(160deg, rgba(var(--color-gold), 0.7), rgba(var(--color-gold), 0.18)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 30px 60px -28px rgba(var(--color-maroon-deep), 0.6);
  transform: translateY(18px) scale(0.96);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.34, 1.3, 0.64, 1), opacity 0.4s var(--ease-soft);
}
.gift-greeting.is-open .gift-greeting__card { transform: none; opacity: 1; }
.gift-greeting__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: none;
  cursor: pointer;
  color: rgba(var(--color-foreground), 0.55);
  transition: background-color var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}
.gift-greeting__close:hover { color: rgb(var(--color-maroon)); background-color: rgba(var(--color-maroon), 0.08); }
.gift-greeting__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: var(--space-3xs);
  border-radius: 999px;
  color: rgb(var(--color-maroon));
  background: radial-gradient(circle at 50% 36%, rgba(var(--color-gold), 0.42), rgba(var(--color-gold), 0.16));
  box-shadow: inset 0 0 0 1px rgba(var(--color-gold), 0.65), 0 8px 18px -10px rgba(var(--color-maroon), 0.5);
}
.gift-greeting__brand { margin: 0; font-family: var(--font-heading-family); letter-spacing: 0.2em; text-transform: uppercase; font-size: var(--text-xs); color: rgb(var(--color-maroon)); }
.gift-greeting__eyebrow { margin: 0; font-size: var(--text-xs); letter-spacing: 0.04em; color: rgba(var(--color-foreground), 0.6); }
.gift-greeting__msg { margin: var(--space-2xs) 0 0; font-family: var(--font-heading-family); font-size: var(--text-lg); line-height: var(--leading-snug); color: rgb(var(--color-foreground)); }
.gift-greeting__rule { width: 34px; height: 1px; margin: var(--space-2xs) 0; background: linear-gradient(90deg, transparent, rgb(var(--color-gold)), transparent); }
.gift-greeting__media { width: 60%; max-width: 180px; border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(var(--color-gold), 0.35); }
.gift-greeting__title { margin: var(--space-2xs) 0 0; font-family: var(--font-heading-family); font-size: var(--text-base); }
.gift-greeting__price { margin: 0; font-size: var(--text-sm); color: rgba(var(--color-foreground), 0.75); }
.gift-greeting__cta { margin-top: var(--space-sm); }
.gift-greeting__from { margin: var(--space-2xs) 0 0; font-size: var(--text-sm); font-style: italic; color: rgba(var(--color-foreground), 0.65); }

/* ===== Quick view content (injected into the overlay) ===== */
.qv { display: grid; grid-template-columns: 1fr; gap: var(--space-md); padding: var(--space-md); }
@media (min-width: 750px) { .qv { grid-template-columns: 1fr 1fr; gap: var(--space-lg); padding: var(--space-lg); } }
.qv__media { position: relative; border-radius: 14px; overflow: hidden; align-self: start; }
.qv__badge { position: absolute; top: 12px; left: 12px; }
.qv__info { display: flex; flex-direction: column; gap: var(--space-sm); }
.qv__vendor { color: rgb(var(--color-gold)); margin: 0; }
.qv__title { margin: 0; font-family: var(--font-heading-family); font-size: var(--text-xl); }
.qv__title a { color: inherit; }
.qv__title a:hover { color: rgb(var(--color-maroon)); }
.qv__price { font-size: var(--text-lg); }
.qv__full { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; font-size: var(--text-sm); color: rgb(var(--color-maroon)); border-bottom: 1px solid rgba(var(--color-gold), 0.5); }
.qv__full:hover { border-color: rgb(var(--color-maroon)); }

/* ===== Wishlist page ===== */
.wishlist-page__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2xs);
  text-align: center;
  padding: var(--space-2xl) var(--space-md);
}
.wishlist-page__empty .icon { color: rgb(var(--color-gold)); margin-bottom: var(--space-2xs); }
.wishlist-page__empty-text { color: rgba(var(--color-foreground), 0.65); }
.wishlist-page__empty .button { margin-top: var(--space-sm); }
.wishlist-page__loading { display: flex; justify-content: center; padding: var(--space-2xl); }

/* ===================================================================
   ELRA-STYLE PDP BLOCKS — coupon banner / material icons / pincode
   checker / delivery trust row. Design tokens only (rgb(var(--color-*)),
   --space-*, --text-*, --duration-*/--ease-*) so these read correctly in
   BOTH skins: forest green + sage in .theme--minimal, maroon + gold in the
   traditional skin. Radii are explicit px per spec: pills 999px, panels
   10–12px (global --radius-* tokens are 0, see file header).
   =================================================================== */

/* ===== Coupon banner — dashed sage panel + one-tap copy ===== */
.pdp-coupon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-sm);
  background-color: rgb(var(--color-cream));
  border: 1.5px dashed rgba(var(--color-accent), 0.45);
  border-radius: 12px;
}
.pdp-coupon__heading { margin: 0 0 2px; }
.pdp-coupon__offer {
  margin: 0;
  font-size: var(--text-sm);
  color: rgb(var(--color-foreground));
  line-height: var(--leading-snug);
}
.pdp-coupon__code {
  display: inline-block;
  padding: 1px 10px;
  border: 1px dashed rgba(var(--color-button), 0.6);
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.04em;
  /* button tokens (ink/maroon), not accent — gold-on-cream fails contrast in the traditional skin */
  color: rgb(var(--color-button));
}
.pdp-coupon__copy {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem; /* 44px touch target */
  padding: 0 var(--space-sm);
  border: 1px solid rgb(var(--color-button));
  border-radius: 999px;
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-button));
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}
.pdp-coupon__copy:hover,
.pdp-coupon__copy.is-copied {
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
}
.pdp-coupon__copy:focus-visible { outline: 2px solid rgb(var(--color-button)); outline-offset: 2px; }
@media (max-width: 389px) {
  .pdp-coupon { flex-direction: column; align-items: stretch; text-align: center; }
}

/* ===== Material trust icons — icon + label row ===== */
.pdp-material-icons__heading { margin: 0 0 var(--space-2xs); }
.pdp-material-icons__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin: 0;
  padding: 0;
  list-style: none;
}
.pdp-material-icons__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--text-xs);
  font-weight: 600;
  color: rgba(var(--color-foreground), 0.8);
}
.pdp-material-icons__icon {
  display: inline-flex;
  flex: 0 0 auto;
  color: rgb(var(--color-accent));
}

/* ===== Pincode / delivery checker — inline field, client-side only ===== */
.pdp-pincode__heading { margin: 0 0 var(--space-2xs); }
.pdp-pincode__row {
  display: flex;
  gap: var(--space-2xs);
}
.pdp-pincode__input {
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0.5rem 0.9rem;
  font-size: max(16px, var(--text-sm)); /* 16px floor — no iOS auto-zoom */
  border-radius: 10px;
}
.pdp-pincode__check {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0 var(--space-md);
  border: 1px solid rgb(var(--color-button));
  border-radius: 999px;
  background-color: rgb(var(--color-background));
  color: rgb(var(--color-button));
  font-size: var(--text-sm);
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-soft), color var(--duration-fast) var(--ease-soft);
}
.pdp-pincode__check:hover { background-color: rgb(var(--color-button)); color: rgb(var(--color-button-text)); }
.pdp-pincode__check:focus-visible { outline: 2px solid rgb(var(--color-button)); outline-offset: 2px; }
.pdp-pincode__result {
  margin: var(--space-2xs) 0 0;
  font-size: var(--text-sm);
  min-height: 1.2em;
}
.pdp-pincode__result:empty { margin: 0; }
.pdp-pincode__result.is-success { color: rgb(var(--color-success)); font-weight: 600; }
.pdp-pincode__result.is-error { color: rgb(var(--color-foreground)); opacity: 0.72; }
@media (max-width: 389px) {
  .pdp-pincode__row { flex-direction: column; }
  .pdp-pincode__check { padding: 0 var(--space-sm); }
}

/* ===== Delivery trust row — "30-Day Returns | Lifetime Warranty | Skin Safe" ===== */
.pdp-delivery-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: var(--space-sm) 0 0;
  padding: 0;
  list-style: none;
  text-align: center;
}
.pdp-delivery-trust__item {
  padding: 0 var(--space-xs);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(var(--color-foreground), 0.75);
  border-left: 1px solid rgba(var(--color-foreground), 0.18);
}
.pdp-delivery-trust__item:first-child { border-left: 0; padding-left: 0; }
.pdp-delivery-trust__item:last-child { padding-right: 0; }
/* Narrow phones: stack instead of wrapping with orphaned "|" separators */
@media (max-width: 389px) {
  .pdp-delivery-trust { flex-direction: column; gap: 4px; }
  .pdp-delivery-trust__item { border-left: 0; padding: 0; }
}

/* ===================================================================
   ELRA PDP polish — scoped to the minimal skin only (.theme--minimal),
   so the traditional (maroon & gold) skin is untouched.
   =================================================================== */
.theme--minimal .product-info__title {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  /* quiet Elra title, but never smaller than in-column sub-headings */
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
}
.theme--minimal .complete-set__title,
.theme--minimal .product-specs-block__title { font-size: var(--text-md); }

/* Main add-to-cart stays the single loud CTA: .product-form__submit /
   .sticky-atc__add already carry .button--primary, and .theme--minimal's
   own rules (assets/minimal.css) make .button--primary solid forest green
   + all-caps globally. Nothing above touches .button, .button--primary,
   .product-form__submit or .sticky-atc__add — intentionally, so that CTA
   stays the only loud element on the page. */
