/* Product PDP — align to Impulse https://lalensvip.com/.../products/aegean-sea-ii */

body[data-page-type="product"] {
  background-color: #f2f2f2 !important;
}

body[data-page-type="product"] .product-detail-wrapper,
body[data-page-type="product"] .product-detail,
body[data-page-type="product"] .main-product,
body[data-page-type="product"] .product-detail__info {
  background: #f2f2f2 !important;
  color: #4b4848 !important;
  font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

body[data-page-type="product"] .product-detail-wrapper > .page-width,
body[data-page-type="product"] .product-detail.page-width,
body[data-page-type="product"] .main-product .page-width {
  max-width: 1500px;
  padding-left: 40px !important;
  padding-right: 40px !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Column ratio ~60/40, gap ~22px (Impulse ~807 / 531) */
@media (min-width: 960px) {
  body[data-page-type="product"] .product-detail__main[data-desktop-direction="row"] {
    --detail-main-column-gap: 22px !important;
    column-gap: 22px !important;
    gap: 22px !important;
  }

  body[data-page-type="product"] .product-detail__media-group {
    --detail-col-width: 60% !important;
  }

  body[data-page-type="product"] .product-detail__info {
    --detail-col-width: 40% !important;
    padding-left: 23px !important; /* Impulse meta inset ~45px from photos edge / half gap feel */
  }
}

/* Main gallery: single square + thumbs below (not mosaic) */
body[data-page-type="product"] .product-detail__media-gallery {
  width: 100%;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__item,
body[data-page-type="product"] .product-detail__media-gallery .carousel__slide,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__media,
body[data-page-type="product"] .product-detail__media-gallery img {
  border-radius: 0 !important;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__image {
  background-color: #fff;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Paint via background as fallback for blank <img> decode issues */
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__media {
  position: relative;
  background-color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 1 / 1;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__media > img.media-gallery__image--paint {
  opacity: 0 !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Hide carousel chrome; keep thumbnail strip */
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__indicator,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__dots,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__arrows,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__pagination,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__progress,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__preview-icon {
  display: none !important;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnails {
  display: block !important;
  margin-top: 15px !important;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail-list,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 19px !important;
  justify-content: flex-start !important;
  align-items: flex-start;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail-item,
body[data-page-type="product"] .product-detail__media-gallery [class*="thumbnail-item"] {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 76px !important;
  border-radius: 0 !important;
  overflow: hidden;
  border: 1px solid transparent;
  opacity: 1 !important;
  flex: 0 0 76px !important;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail.is-active,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail-item.is-active,
body[data-page-type="product"] .product-detail__media-gallery .is-active .media-gallery__thumbnail {
  border-color: #4b4848 !important;
}

body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail img,
body[data-page-type="product"] .product-detail__media-gallery .media-gallery__thumbnail-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* Title */
body[data-page-type="product"] .product-detail__title,
body[data-page-type="product"] h1.product-detail__title,
body[data-page-type="product"] .product-detail__info h1 {
  margin: 0 0 10px !important;
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 25px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Price */
body[data-page-type="product"] .product-detail__price,
body[data-page-type="product"] .product-detail__price .product-price,
body[data-page-type="product"] .product-detail__price .product-price__item,
body[data-page-type="product"] .product-detail__price .product-price__sale,
body[data-page-type="product"] .product-detail__price [class*="price"] {
  color: #675e5e !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

body[data-page-type="product"] .product-detail__price {
  margin: 0 0 4px !important;
  gap: 4px !important;
}

body[data-page-type="product"] .product-detail__price .price__compare,
body[data-page-type="product"] .product-detail__price .product-price__origin {
  display: none !important;
}

/* Tax / shipping note */
body[data-page-type="product"] .product-detail__policies,
body[data-page-type="product"] .product-detail__price .body4,
body[data-page-type="product"] .product-detail__price .rte {
  color: #4b4848 !important;
  font-size: 15.3px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

body[data-page-type="product"] .product-detail__policies a,
body[data-page-type="product"] .product-detail__price .rte a {
  color: #4b4848 !important;
  text-decoration: underline !important;
}

/* Prefer Impulse-matching note; hide theme empty/shop policies duplicate */
body[data-page-type="product"] .product-detail__policies.hidden-empty {
  display: none !important;
}

/* Divider under price like Impulse */
body[data-page-type="product"] .product-detail__variant-picker {
  border-top: 1px solid #e8e8e1 !important;
  padding-top: 22px !important;
  margin-top: 14px !important;
  /* Impulse: 颜色 / 尺寸 / MOQ in one horizontal row */
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 20px !important;
  row-gap: 16px !important;
}

body[data-page-type="product"] .product-detail__variant-picker > .product-detail__row {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  gap: 0 !important;
}

/* Variant labels — Impulse uppercase spaced */
body[data-page-type="product"] .variant-picker__group-label,
body[data-page-type="product"] .variant-picker__group-head,
body[data-page-type="product"] .product-detail__quantity-selector .title-font-bold,
body[data-page-type="product"] .product-detail__quantity-selector > .product-detail__row > div:first-child,
body[data-page-type="product"] .product-detail__quantity-selector [class*="title"] {
  display: block !important;
  margin: 0 0 10px !important;
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
}

body[data-page-type="product"] .variant-picker__group {
  margin: 0 !important;
}

/* Selects — content-sized navy boxes (Impulse ~95 / 145 / 118) */
body[data-page-type="product"] .product-detail__variant-picker theme-select {
  position: relative !important;
  display: inline-block !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  background: transparent !important;
}

/* Kill Fashion theme-select full-bleed chrome that leaves empty space */
body[data-page-type="product"] .product-detail__variant-picker theme-select::before,
body[data-page-type="product"] .product-detail__variant-picker theme-select::after {
  display: none !important;
  box-shadow: none !important;
  content: none !important;
}

body[data-page-type="product"] .product-detail__variant-picker theme-select > select,
body[data-page-type="product"] .product-detail__variant-picker .variant-picker__select {
  display: inline-block !important;
  width: auto !important;
  min-width: 95px !important;
  max-width: none !important;
  border: 1px solid #214261 !important;
  border-radius: 0 !important;
  background: #f2f2f2 !important;
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  min-height: 45px !important;
  height: 45px !important;
  line-height: 1.2 !important;
  padding: 8px 28px 8px 10px !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: auto !important;
}

body[data-page-type="product"] .product-detail__variant-picker .theme-select__arrow {
  color: #214261 !important;
  right: 10px !important;
  inset-inline-end: 10px !important;
}

/* Quantity — Impulse input border #214261, ~100px */
body[data-page-type="product"] .product-detail__quantity-selector {
  margin: 16px 0 !important;
  width: 100% !important;
}

body[data-page-type="product"] .product-detail__quantity-selector .product-detail__row {
  align-items: flex-start !important;
}

body[data-page-type="product"] .product-detail__quantity-selector .quantity-selector,
body[data-page-type="product"] .product-detail__quantity-selector .quantity-selector__input,
body[data-page-type="product"] .product-detail__quantity-selector theme-input-number,
body[data-page-type="product"] .product-detail__quantity-selector [class*="input-number"] {
  border: 1px solid #214261 !important;
  border-radius: 0 !important;
  background: #f2f2f2 !important;
  max-width: 100px;
  width: 100px !important;
  min-height: 45px !important;
  height: 45px !important;
  box-shadow: none !important;
}

body[data-page-type="product"] .product-detail__quantity-selector input {
  background: transparent !important;
  border: 0 !important;
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  text-align: center !important;
  font-weight: 400 !important;
}

body[data-page-type="product"] .product-detail__quantity-selector button {
  background: transparent !important;
  border: 0 !important;
  color: #4b4848 !important;
  box-shadow: none !important;
}

/* Buy button group — stacked full width */
body[data-page-type="product"] .product-detail__buy-button-group,
body[data-page-type="product"] .block-product-buy-button-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 10px !important;
}

body[data-page-type="product"] .product-detail__buy-button-group [class*="bundle"],
body[data-page-type="product"] .product-buy-button-group__bundle {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

/* Add to cart — Impulse secondary outline (not filled) */
body[data-page-type="product"] .product-detail__buy-button-group .block-product-buy-button,
body[data-page-type="product"] .product-detail__buy-button-group button.button,
body[data-page-type="product"] .product-detail__buy-button-group button.button--fill,
body[data-page-type="product"] .product-detail__buy-button-group [name="add"],
body[data-page-type="product"] .product-detail__buy-button-group .product-form__submit {
  width: 100% !important;
  min-height: 50px !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 13px 20px !important;
  border: 1px solid #4b4848 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body[data-page-type="product"] .product-detail__buy-button-group .block-product-buy-button::before,
body[data-page-type="product"] .product-detail__buy-button-group .block-product-buy-button::after,
body[data-page-type="product"] .product-detail__buy-button-group button.button::before,
body[data-page-type="product"] .product-detail__buy-button-group button.button::after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
}

/* Buy it now / payment button */
body[data-page-type="product"] .product-detail__buy-button-group .payment-button-wrapper,
body[data-page-type="product"] .product-detail__buy-button-group .product-form.payment-button-wrapper {
  width: 100% !important;
  min-height: 44px !important;
}

body[data-page-type="product"] .product-detail__buy-button-group .lalens-buy-it-now,
body[data-page-type="product"] .product-detail__buy-button-group .payment-button-wrapper button,
body[data-page-type="product"] .product-detail__buy-button-group [class*="payment"] button,
body[data-page-type="product"] .product-detail__buy-button-group .pay-button-buy-now,
body[data-page-type="product"] .product-detail__buy-button-group .button--primary {
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #605756 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Rename Shopline “Buy now” → Impulse “Buy it now” */
body[data-page-type="product"] .pay-button-buy-now-text {
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

body[data-page-type="product"] .pay-button-buy-now-text::after {
  content: "Buy it now";
  font-size: 14px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: #605756;
  font-family: Montserrat, sans-serif;
}

/* Hide text fallback if dynamic payment widgets inject real buttons */
body[data-page-type="product"] .payment-button-wrapper:has(.shopline-payment-button-wrapper:not(:empty)) .lalens-buy-it-now {
  display: none !important;
}

/* Hide Fashion sell-info / recently viewed */
body[data-page-type="product"] .product-detail__sell-info,
body[data-page-type="product"] [class*="sell-info"],
body[data-page-type="product"] .recently-viewed-product {
  display: none !important;
}

/* Description / WHY CHOOSE US banner */
body[data-page-type="product"] .product-description,
body[data-page-type="product"] .product-detail__additional,
body[data-page-type="product"] .product-detail__info .rte {
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 15.3px !important;
  line-height: 1.5 !important;
}

body[data-page-type="product"] .product-description {
  padding-inline: 0 !important;
  padding-block-start: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body[data-page-type="product"] .product-description .product-expander__content,
body[data-page-type="product"] .product-description theme-product-expander {
  overflow: visible !important;
  max-height: none !important;
}

body[data-page-type="product"] .lalens-pdp-desc-banner {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
}

body[data-page-type="product"] .lalens-pdp-desc-banner img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

/* Impulse social sharing under product graphic */
body[data-page-type="product"] .lalens-pdp-share {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  margin: 18px 0 8px !important;
  padding: 0 !important;
}

body[data-page-type="product"] .lalens-pdp-share__link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: #4b4848 !important;
  text-decoration: none !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

body[data-page-type="product"] .lalens-pdp-share__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

body[data-page-type="product"] .lalens-pdp-share__title {
  color: #4b4848;
}

body[data-page-type="product"] .product-detail__additional .additional__title,
body[data-page-type="product"] [class*="accordion"] summary,
body[data-page-type="product"] [class*="collapsible"] {
  font-size: 13.5px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #4b4848 !important;
}

/* You may also like — Impulse sentence case ~20px */
body[data-page-type="product"] .recommended-product,
body[data-page-type="product"] [class*="recommended-product"] {
  background: #f2f2f2 !important;
  padding-top: 20px;
  padding-bottom: 60px;
}

body[data-page-type="product"] .recommended-product h2,
body[data-page-type="product"] .recommended-product [class*="heading"],
body[data-page-type="product"] .recommended-product .title {
  color: #4b4848 !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: center !important;
}

body[data-page-type="product"] .recommended-product .product-title,
body[data-page-type="product"] .recommended-product .product-title a {
  color: #4b4848 !important;
  font-size: 16px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

body[data-page-type="product"] .recommended-product .product-price,
body[data-page-type="product"] .recommended-product .product-price__sale {
  color: #675e5e !important;
  font-size: 15.3px !important;
  font-weight: 400 !important;
  text-align: center !important;
}

body[data-page-type="product"] .recommended-product .product-buy-button,
body[data-page-type="product"] .recommended-product [class*="quick-add"],
body[data-page-type="product"] .recommended-product [class*="discount-tag"],
body[data-page-type="product"] .recommended-product .product-card__description {
  display: none !important;
}

@media (max-width: 959px) {
  body[data-page-type="product"] .product-detail-wrapper > .page-width,
  body[data-page-type="product"] .product-detail.page-width {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body[data-page-type="product"] .product-detail__title,
  body[data-page-type="product"] h1.product-detail__title {
    font-size: 22px !important;
  }

  body[data-page-type="product"] .product-detail__info {
    padding-left: 0 !important;
  }

  body[data-page-type="product"] .product-detail__variant-picker {
    flex-direction: column !important;
    gap: 16px !important;
  }
}
