/* Zovarin PDP 20260929-v3. Warm Espresso & Caramel palette, tactile swatches, zero clutter. */
#MainContent .zv-pdp {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding: 20px clamp(18px, 2.5vw, 36px) 40px !important;
}
#MainContent .zv-pdp .product.grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(24px, 3vw, 44px);
  margin: 0;
  width: 100%;
  align-items: start;
}
#MainContent .zv-pdp .product--large { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); }
#MainContent .zv-pdp .product--small { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
#MainContent .zv-pdp .product__media-wrapper,
#MainContent .zv-pdp .product__info-wrapper {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin: 0;
}
#MainContent .zv-pdp .product__media-wrapper { position: sticky; top: 84px; align-self: start; }
#MainContent .zv-pdp .product__media-wrapper media-gallery.product__column-sticky,
#MainContent .zv-pdp .product__info-container.product__column-sticky { position: static; }
#MainContent .zv-pdp .product__info-container { display: block; padding: 0; }
#MainContent .zv-pdp .product__info-container > * + * { margin-block: 12px; }

#MainContent .zv-pdp .product-title {
  font-family: var(--zv-font-serif, 'Playfair Display', Georgia, serif) !important;
  font-size: clamp(26px, 2.2vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.24 !important;
  letter-spacing: -0.01em !important;
  color: #221A15 !important;
  margin: 6px 0 12px !important;
  overflow-wrap: anywhere;
}

#MainContent .zv-pdp .zv-pdp-category-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--zv-font-sans, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8C6239;
  margin-bottom: 4px;
}

#MainContent .zv-pdp [id^="price-"] {
  margin-block: 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #EAE3D9;
}
#MainContent .zv-pdp .product__info-container > .product__buy-buttons { margin-block: 12px 16px; }
#MainContent .zv-pdp .product__info-description-expand-container { margin-top: 24px; }

/* Warm Tactile Option Pills & Swatches */
#MainContent .zv-pdp variant-radios .product-form__input { margin-bottom: 14px; }
#MainContent .zv-pdp variant-radios .product-form__input:last-child { margin-bottom: 0; }
#MainContent .zv-pdp variant-radios .product-form__input--right { display: flex; flex-wrap: wrap; gap: 8px; }
#MainContent .zv-pdp variant-radios input + label:not(.product-form--color-swatch):not(.variant-image__wrapper) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 44px;
  padding: 9px 14px;
  margin: 0;
  border: 1px solid #CBBFB1;
  border-radius: 6px;
  background: #FFFFFF;
  color: #241B16;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.3;
  box-shadow: 0 1px 2px rgba(36, 27, 22, 0.05);
  transition: transform 160ms cubic-bezier(0.22, 1, 0.36, 1), background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
#MainContent .zv-pdp variant-radios input + label:not(.product-form--color-swatch):not(.variant-image__wrapper):hover {
  border-color: #8C6239;
  background: #F7EEE4;
  color: #6E4B2A;
  transform: translateY(-1px);
}
#MainContent .zv-pdp variant-radios input + label:not(.product-form--color-swatch):not(.variant-image__wrapper)::before { display: none; }
/* Selected option: solid espresso so the current colour/size reads at a glance (kept on hover too,
   because this rule comes after the :hover rule with equal specificity). */
#MainContent .zv-pdp variant-radios input:checked + label:not(.product-form--color-swatch):not(.variant-image__wrapper) {
  color: #FAF8F5;
  border-color: #241B16;
  background: #241B16;
  box-shadow: 0 3px 10px rgba(36, 27, 22, 0.22);
  font-weight: 700;
  transform: translateY(-1px);
}
#MainContent .zv-pdp variant-radios input:focus-visible + label { outline: 2px solid #8C6239; outline-offset: 3px; }
#MainContent .zv-pdp variant-radios input.disabled + label,
#MainContent .zv-pdp variant-radios input:disabled + label,
#MainContent .zv-pdp variant-radios label.disabled {
  opacity: .42 !important;
  text-decoration: line-through !important;
  text-decoration-color: #DC2626 !important;
  position: relative !important;
  cursor: not-allowed !important;
  background: #FAF8F5 !important;
  border-color: #EAE3D9 !important;
  color: #A8A29E !important;
  transform: none !important;
}
#MainContent .zv-pdp variant-radios label.variant-image__wrapper {
  width: 72px;
  height: 72px;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
#MainContent .zv-pdp variant-radios label.variant-image__wrapper img { object-fit: cover; }

/* Primary Add to Bag CTA (Warm Espresso #241B16 -> Warm Caramel #8C6239 hover) */
#MainContent .zv-pdp .product-form__submit {
  background: #241B16 !important;
  color: #FFFFFF !important;
  border: 1px solid #241B16 !important;
  border-radius: 9999px !important;
  height: 50px !important;
  min-height: 50px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 6px 18px rgba(36, 27, 22, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.24s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
#MainContent .zv-pdp .product-form__submit:hover {
  background: #8C6239 !important;
  border-color: #8C6239 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(140, 98, 57, 0.26) !important;
}
#MainContent .zv-pdp .product-form__submit:active {
  transform: scale(0.98) !important;
}

#MainContent .zv-pdp .price-item--sale {
  color: #221A15 !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  letter-spacing: -0.015em !important;
}
#MainContent .zv-pdp .price-item--regular {
  color: #8C7E74 !important;
  text-decoration: line-through !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  margin-left: 8px !important;
}
#MainContent .zv-pdp .price-item--save {
  display: inline-flex !important;
  align-items: center !important;
  background: #F4EFEA !important;
  color: #8C6239 !important;
  border: 1px solid #D6C8B7 !important;
  border-radius: 9999px !important;
  padding: 3px 10px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  margin-left: 10px !important;
  vertical-align: middle !important;
}

#MainContent .zv-pdp .product__info-item--quantity-input {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-block: 14px 8px;
}
#MainContent .zv-pdp .quantity-input-label { margin: 0; padding: 0; }
#MainContent .zv-pdp .product__info-item--quantity-input quantity-input { width: 136px; min-height: 44px; border-radius: 6px; background: #FFFFFF; }
#MainContent .zv-pdp .product__info-item--quantity-input .quantity__button { min-height: 44px; width: 44px; }
#MainContent .zv-pdp .product__info-item--quantity-input .quantity__input { min-height: 44px; font-size: 15px; font-weight: 600; }
#MainContent .zv-pdp .product__inventory { margin-block: 6px; font-size: 12.5px; color: #6C5D52; }

#MainContent .zv-pdp .product__info-container:has(.zv-unified-assurance-card) .product-sell-info {
  display: none !important;
}

#MainContent .zv-pdp zv-pdp-secondary { display: none; }
#MainContent .zv-pdp .plugin-product-group-wrapper { margin-top: 12px !important; }
#MainContent .zv-pdp .plugin-product-group-tiled-select { display: flex; flex-wrap: wrap; gap: 8px; }
#MainContent .zv-pdp .plugin-product-group-tiled-option { flex: 0 0 76px; width: 76px; margin: 0 !important; }
#MainContent .zv-pdp .plugin-product-group-tiled-option-wrap { width: 100%; }
#MainContent .zv-pdp .plugin-product-group-tiled-option-box {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  flex: 1 1 auto;
  aspect-ratio: 1;
}
#MainContent .zv-pdp .plugin-product-group-tiled-option-img { width: 100%; height: 100%; object-fit: contain; }
#MainContent .zv-pdp .plugin-product-group-tiled-option:focus-visible { outline: 2px solid #8C6239; outline-offset: 2px; }

@media (max-width: 959px) {
  #MainContent .zv-pdp { max-width: 100%; padding: 8px 14px 28px !important; }
  #MainContent .zv-pdp .product.grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #MainContent .zv-pdp .product__media-wrapper { position: static; padding: 0; margin: 0; }
  #MainContent .zv-pdp .product__info-container { padding: 0; }
  #MainContent .zv-pdp .product-title { font-size: 21px !important; line-height: 1.26 !important; }
  #MainContent .zv-pdp variant-radios label.variant-image__wrapper { width: 64px; height: 64px; }
  #MainContent .zv-pdp .plugin-product-group-tiled-select {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 3px 3px 10px;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
  }
  #MainContent .zv-pdp .plugin-product-group-tiled-option { flex-basis: 72px; width: 72px; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  #MainContent .zv-pdp variant-radios label { transition: none !important; }
  #MainContent .zv-pdp .plugin-product-group-tiled-select { scroll-behavior: auto; }
}

/* Round-2 Fix: Eliminate horizontal scrollbar clipping on PDP Garment Measurements & Fit Guide table */
#MainContent .zv-pdp .product__info-container table,
#MainContent .zv-pdp .product__description table,
#MainContent .zv-pdp .rte table,
[id^="ProductInfo-"] table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
#MainContent .zv-pdp .product__info-container th,
#MainContent .zv-pdp .product__info-container td,
#MainContent .zv-pdp .product__description th,
#MainContent .zv-pdp .product__description td,
[id^="ProductInfo-"] th,
[id^="ProductInfo-"] td {
  padding: 8px 6px !important;
  font-size: clamp(11.5px, 0.85vw, 13px) !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  box-sizing: border-box !important;
}
@media screen and (min-width: 750px) {
  #MainContent .zv-pdp .product__info-container div[style*="overflow"],
  #MainContent .zv-pdp .product__description div[style*="overflow"],
  [id^="ProductInfo-"] div[style*="overflow"],
  [id^="ProductInfo-"] .table-wrapper,
  [id^="ProductInfo-"] .scrollable-wrapper {
    overflow-x: visible !important;
    max-width: 100% !important;
  }
}

/* Desktop frame matches the published theme's product page (max 1880px, ~2vw side padding, ~3vw gap,
   same left/right edges), but the photo column takes slightly less than live's 1:1 split. */
@media (min-width: 1200px) {
  #MainContent section.zv-pdp.page-width {
    max-width: 1880px !important;
    padding-left: min(2vw, 32px) !important;
    padding-right: min(2vw, 32px) !important;
  }
  #MainContent .zv-pdp .product.grid {
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
    gap: min(3vw, 44px);
  }
}