.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));
}

/* 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[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);
  }
}

@media (max-width: 959px) {
  .product-detail__info {
    padding-inline: 10px;
  }

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