.product-detail-wrapper {
  border-bottom: 1px solid var(--b2b-line);
  background: #fff;
}

.product-detail-wrapper .page-width {
  max-width: 1480px;
}

.product-detail__main {
  align-items: flex-start;
}

.product-detail__media-group {
  min-width: 0;
}

.product-detail__media-gallery {
  --gap: 12px;
  --thumbnail-gap: 10px;
}

.product-detail__media-gallery .media-gallery__list-wrapper {
  overflow: hidden;
  border: 1px solid #e3e7e2;
  border-radius: 18px;
  background: #f4f6f3;
}

.product-detail__media-gallery .media-gallery__media,
.product-detail__media-gallery .media-gallery__placeholder {
  background: #f4f6f3;
}

.product-detail__media-gallery .media-gallery__image {
  mix-blend-mode: normal;
}

.product-detail__media-gallery:not([data-init="true"]) .media-gallery__item:first-child {
  display: flex;
}

.product-detail__media-gallery[data-desktop-thumbnail-position="beside"]
  .media-gallery__content {
  gap: 14px;
}

.product-detail__media-gallery[data-desktop-thumbnail-position="beside"]
  .media-gallery__thumbnails {
  width: 76px;
}

.product-detail__media-gallery .media-gallery__thumbnail {
  overflow: hidden;
  border: 1px solid #e0e5df;
  border-radius: 11px;
  background: #f4f6f3;
}

.product-detail__media-gallery .media-gallery__thumbnail::after {
  border-radius: 10px;
  box-shadow: inset 0 0 0 var(--border-thickness, 0) var(--b2b-green);
}

.product-detail__info {
  min-width: 0;
  padding: 8px 0 0;
}

.product-detail__title {
  margin: 0;
  color: var(--b2b-ink);
  font-family: var(--sort-body-font), system-ui, sans-serif;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  font-weight: 760;
  line-height: 1.02;
  letter-spacing: -.045em;
  text-transform: none;
}

.product-detail__info > .rich-text {
  max-width: 620px;
  color: var(--b2b-muted);
  font-size: 14px;
  line-height: 1.7;
}

.product-detail__variant-picker {
  padding: 18px 0 4px;
  border-top: 1px solid var(--b2b-line);
}

.product-detail__variant-picker .variant-picker__group-label {
  color: var(--b2b-ink);
  font-size: 12px;
  font-weight: 800;
}

.product-detail__variant-picker .variant-picker__button {
  min-height: 42px;
  border-radius: 8px;
}

@media (max-width: 959px) {
  .product-detail-wrapper .page-width {
    padding-inline: var(--page-padding);
  }

  .product-detail__main {
    gap: 30px;
  }

  .product-detail__media-gallery .media-gallery__list-wrapper {
    border-radius: 14px;
  }

  .product-detail__info {
    padding-top: 0;
  }

  .product-detail__title {
    font-size: clamp(30px, 9vw, 42px) !important;
  }
}
