.product-detail__page {
  box-sizing: border-box;
  width: 100%;
}

.product-detail__info {
  --button-border-radius: 30px;
}

.product-detail__info > :empty {
  display: none;
}

.product-detail__media-group {
  overflow-x: hidden;
}

/* These zero-height integration hosts should not create extra flex gaps. */
.product-detail__info > theme-payment-layout {
  display: none;
}

.product-detail__info > #wishlist-product-details {
  margin-block-start: calc(-1 * var(--info-row-gap));
}

/* Keep the plugin button on the first available main image, including late injection. */
.product-detail[data-section-type="main-product"]
  .product-detail__media-gallery
  .media-gallery__list
  > .media-gallery__item:not(
    :nth-child(1 of .media-gallery__item:not(.hidden):not([hidden]):not([data-cloned]))
  )
  .wishlist-collect-icon-btn {
  display: none !important;
}

/* Grid layouts render the leading image in the separate sticky media wrapper. */
@media (min-width: 960px) {
  .product-detail[data-section-type="main-product"]
    .product-detail__media-gallery:is(
      [data-desktop-layout="two-columns"],
      [data-desktop-layout="flatten"],
      [data-desktop-layout="stacked"]
    )
    .media-gallery__list
    .wishlist-collect-icon-btn {
    display: none !important;
  }
}

/* Hide both the plugin trigger and its inline chart; our SIZE GUIDE replaces them. */
.product-detail__info [class*="plugin-ruler__entry"] {
  display: none !important;
}

.product-detail__variant-picker .variant-picker__option {
  --variant-selector-border-radius: 30px;
  --button-padding-inline: 30px;
}

.product-detail__variant-picker .variant-picker__input:checked + * {
  --button-background-color: 41, 37, 44;
  --button-text: 255, 255, 255;
}

.product-detail__additional.product-detail__additional {
  border: 0;
}

.product-detail__additional details {
  padding: 5px 20px;
  margin-bottom: 20px;
  background-color: #f4f4f4;
  border-radius: 15px;
}

.product-description {
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.product-description .product-detail__additional details {
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .product-detail__page {
    padding-right: 77px;
  }

  .product-detail[data-desktop-direction="row"] .product-detail__media-group,
  .product-detail__main[data-desktop-direction="row"] .product-detail__media-group {
    flex: 2 1 0;
  }

  .product-detail[data-desktop-direction="row"] .product-detail__info,
  .product-detail__main[data-desktop-direction="row"] .product-detail__info {
    flex: 1 1 0;
    padding-inline-end: min(5vw, 77px);
  }

  .product-detail__page > .product-detail[data-section-type="main-product"] .product-detail__media-group {
    flex: 2 1 0;
    min-width: 0;
  }

  .product-detail__page > .product-detail[data-section-type="main-product"] .product-detail__info {
    flex: 1 1 0;
    min-width: 0;
    padding-inline-end: 0;
  }
}

@media (max-width: 959px) {
  .product-detail__page {
    padding-inline: var(--page-padding, 20px);
  }

  .product-detail__info {
    padding-inline: 10px;
  }

  .product-detail__variant-picker .variant-picker__button {
    height: 30px;
    padding: 0 15px;
  }
}
