/* The native gallery, cart form and Addify conditionals keep their own behavior. */
body.single-product {
  background: var(--color-bg-surface);
}
.woocommerce-page .stock {
  font-family: var(--font-ui) !important;
  margin-bottom: var(--spacing-24) !important;
}
.woocommerce-page .stock:before {
  content: "" !important;
  margin: 0 !important;
}
.single-product div.product .woocommerce-tabs > .panel {
  color: var(--color-text-primary);
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body);
  letter-spacing: 0;
}
.single-product div.product .woocommerce-tabs > .panel > h2 {
  margin-bottom: var(--spacing-24);
  font-family: var(--font-display);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-h2);
  letter-spacing: 0;
}
.single-product .ov-product-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: var(--spacing-40);
  margin-block: var(--spacing-24) var(--spacing-64);
}
.ov-product-overview > * {
  min-width: 0;
}
.single-product div.product .ov-product-overview .summary {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.single-product .ov-product-overview .product_title {
  font-weight: var(--font-weight-medium);
  margin-block: 0 var(--spacing-16);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.ov-product-overview .woocommerce-product-details__short-description {
  color: var(--color-text-muted);
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.ov-product-overview .woocommerce-product-details__short-description p {
  margin-bottom: var(--spacing-16);
}
.ov-product-overview .ov-product-description {
  font-family: var(--font-ui);
  font-weight: var(--font-weight-regular);
  font-style: normal;
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: var(--color-text-primary);
}
.single-product div.product .ov-product-overview .summary > .price {
  margin-block: 0 var(--spacing-24);
  color: var(--color-text-primary);
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}
.ov-product-overview .summary > :is(.onsale, .ov-tag) {
  margin: 0 0 var(--spacing-16);
}
.single-product div.product .ov-product-overview .woocommerce-product-gallery {
  float: none;
  width: 100%;
  margin: 0;
}
.ov-product-media
  .woocommerce-product-gallery__wrapper
  > :is(
    .woocommerce-product-gallery__image,
    .woocommerce-product-gallery__image--placeholder
  ) {
  aspect-ratio: 3 / 2;
  background: var(--color-bg-page);
  border-radius: var(--radius-24);
  overflow: hidden;
}
.ov-product-media .woocommerce-product-gallery__image > a {
  display: block;
  height: 100%;
}
.ov-product-media .woocommerce-product-gallery__wrapper .wp-post-image,
.ov-product-media .woocommerce-product-gallery__image > a > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  font-family: var(--font-ui);
}
.single-product
  div.product
  .ov-product-media
  .woocommerce-product-gallery
  .woocommerce-product-gallery__trigger {
  display: grid;
  place-items: center;
  top: auto;
  right: var(--spacing-12);
  /* Position against the main image, independently of thumbnail count. */
  bottom: auto;
  margin-top: calc(66.6667% - var(--height-56) - var(--spacing-12));
  width: var(--height-56);
  height: var(--height-56);
  border-radius: var(--radius-16);
  background: var(--color-bg-action-primary);
  color: var(--color-text-primary);
  text-indent: 0;
}
.single-product
  div.product
  .ov-product-media
  .woocommerce-product-gallery
  .woocommerce-product-gallery__trigger:has(.ov-icon)::before,
.single-product
  div.product
  .ov-product-media
  .woocommerce-product-gallery
  .woocommerce-product-gallery__trigger:has(.ov-icon)::after {
  display: none;
}
.single-product div.product .ov-product-media .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-12);
  margin-block: var(--spacing-24) 0;
}
.single-product div.product .ov-product-media .flex-control-thumbs li {
  float: none;
  width: 80px;
  margin: 0;
}
.ov-product-media .flex-control-thumbs img,
.ov-product-single-thumbnail {
  box-sizing: border-box;
  width: 80px;
  height: 72px;
  padding: var(--spacing-4);
  border: 2px solid transparent;
  border-radius: var(--radius-16);
  background: var(--color-bg-surface);
  object-fit: contain;
}
.ov-product-media .flex-control-thumbs img.flex-active,
.ov-product-single-thumbnail {
  border-color: var(--color-border-focus);
}
.ov-product-gallery-tools {
  margin-top: var(--spacing-16);
}
.ov-product-single-thumbnail {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  place-items: center;
  margin-bottom: var(--spacing-16);
}
.ov-product-single-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ov-product-overview [hidden] {
  display: none !important;
}
.ov-product-overview .ov-native-select:has(> select[hidden]),
.ov-product-overview .ov-variation-price-ready .woocommerce-variation-price,
.ov-product-overview .stock.in-stock {
  display: none;
}

/* Addify fields and WooCommerce variations retain their original form. */
.single-product div.product .ov-product-overview form.cart {
  margin: 0;
  padding-block: 0;
}
.single-product div.product .ov-product-overview table.variations {
  margin-bottom: var(--spacing-24);
}
.ov-product-overview table.variations :is(tbody, tr, th, td) {
  display: block;
  width: 100%;
  padding: 0;
  background: transparent;
}
.ov-product-overview table.variations .label {
  margin-bottom: var(--spacing-12);
}
.ov-product-overview table.variations .label label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  text-transform: uppercase;
}
.ov-product-colors .ov-selection__face {
  background: transparent;
}
.ov-product-colors .ov-selection__check {
  display: none;
}
.ov-product-overview .reset_variations {
  display: inline-block;
  margin-top: var(--spacing-8);
}
.ov-product-overview .af_addon_field_class {
  margin-bottom: var(--spacing-20);
  padding-block: var(--spacing-16);
  border-top: 1px solid var(--color-border-control);
  overflow-wrap: anywhere;
}
.ov-product-overview .af_addon_field_class > br {
  display: none;
}
.ov-product-overview
  .af_addon_field_class
  [class^="af_addon_front_field_title_div_"]:not(
    .ov-field__label,
    .ov-options__title
  ) {
  margin-bottom: var(--spacing-12);
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body-lg);
}
.ov-product-overview
  .af_addon_field_class
  :is(input[type="radio"], input[type="checkbox"]):not(.ov-choice__input) {
  width: var(--spacing-20);
  height: var(--spacing-20);
  margin-inline: 0 var(--spacing-8);
  vertical-align: middle;
  accent-color: var(--ov-pink);
}
.ov-product-overview
  .af_addon_field_class
  label:not(.ov-choice, .ov-field__label, .ov-upload) {
  /* font-size: var(--font-size-body); */
  font-weight: var(--font-weight-regular);
  line-height: 2;
  cursor: pointer;
}
.ov-product-overview
  .af_addon_field_class
  p:not(.ov-field__help, .ov-field__feedback) {
  margin-block: var(--spacing-8) 0;
  color: var(--color-text-muted);
}
.ov-product-overview
  form.cart
  :is(
    input[type="number"],
    input[type="text"],
    input[type="file"],
    select,
    textarea
  ):not(.ov-field__control, .ov-upload__input, .ov-quantity__input) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: var(--action-target-min);
  padding: var(--spacing-12);
  border: 1px solid var(--color-border-control);
  border-radius: var(--radius-16);
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  box-shadow: none;
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
}
.ov-product-overview
  .af_addon_field_class
  :is(
    input[type="number"],
    input[type="text"],
    input[type="file"],
    select,
    textarea
  ) {
  width: 100%;
}
.ov-product-overview .af_addon_total_price {
  margin-block: var(--spacing-24);
}
.ov-product-overview .af_addon_total_price :is(th, td) {
  padding: var(--spacing-12);
  background: transparent;
}
.ov-product-overview .af_addon_total_price table {
  table-layout: fixed;
  overflow-wrap: anywhere;
}
.single-product div.product .ov-product-overview form.cart .quantity {
  width: calc(var(--spacing-48) * 2 + var(--height-64) + var(--spacing-8));
  margin-right: var(--spacing-12);
}
.ov-product-overview form.cart .qty {
  width: 100%;
}
.single-product
  div.product
  .ov-product-overview
  form.cart
  .single_add_to_cart_button,
.ov-product-actions .ov-ia-try-on .ov-ia-try-on__launch {
  min-height: var(--height-56);
  padding: var(--spacing-12) var(--spacing-24);
  border: 2px solid transparent;
  border-radius: var(--radius-16);
  background: var(--color-bg-action-primary);
  color: var(--color-text-primary);
  font-family: var(--font-ui);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-body-lg);
  letter-spacing: 0;
  white-space: normal;
  transition:
    background-color var(--transition-interactive),
    color var(--transition-interactive);
}
.ov-product-actions .ov-ia-try-on .ov-ia-try-on__launch {
  width: 100%;
  margin: 0;
  gap: var(--spacing-12);
  background: transparent;
  border-color: var(--color-text-primary);
}
.single-product
  div.product
  .ov-product-overview
  form.cart
  .single_add_to_cart_button {
  max-width: calc(
    100% - var(--spacing-48) * 2 - var(--height-64) - var(--spacing-8) -
      var(--spacing-12)
  );
}
.ov-product-actions
  .ov-ia-try-on__launch.ov-button--arrow-slide
  > .ov-button__content {
  justify-content: flex-start;
  gap: 0;
}
.ov-product-overview :is(input, select, textarea, button, a):focus-visible {
  outline: var(--focus-width) solid var(--color-border-focus);
  outline-offset: var(--focus-offset);
}

.ov-product-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-20);
}
.ov-product-badges:empty {
  display: none;
}
.single-product .ov-product-badges .onsale {
  margin: 0;
}
.ov-product-badges .ov-tag {
  min-height: 0;
  padding: var(--spacing-4) var(--spacing-8);
  font-size: var(--font-size-caption);
  text-transform: uppercase;
}
.ov-product-badges .ov-tag--highlight {
  background: var(--color-bg-brand);
  color: var(--color-text-inverse);
}
.ov-product-overview .woocommerce-product-rating {
  font-family: var(--font-ui);
  font-size: var(--font-size-small);
}
.single-product .star-rating {
  color: var(--color-text-primary);
}
.ov-product-overview .summary > .price {
  font-family: var(--font-ui);
}
.ov-product-overview .summary > .price del {
  color: var(--color-text-muted);
  font-size: var(--font-size-body-lg);
}
.ov-product-overview .summary > .price ins {
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}
.ov-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-16);
  margin-block: var(--spacing-24) var(--spacing-32);
}
.ov-product-actions > * {
  flex: 1 1 210px;
  min-width: 0;
  margin: 0;
}
.ov-product-actions:empty {
  display: none;
}
.ov-product-actions .ov-button {
  font-size: var(--font-size-body-lg);
}
.ov-product-purchase-title {
  margin: 0 0 var(--spacing-24);
  font-family: var(--font-display);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-h4);
  scroll-margin-top: var(--spacing-32);
}
.ov-product-overview .af_addon_field_class,
.ov-product-overview .af_addon_total_price,
.ov-product-overview .variations,
.ov-product-overview .product_meta {
  font-family: var(--font-ui);
}

/* Full-width sections reuse the same tokens and product cards as the catalog. */
.ov-product-section {
  clear: both;
  margin-block: var(--spacing-64) calc(2 * var(--spacing-64));
}
.ov-product-section > h2 {
  margin-bottom: var(--spacing-24);
  font-weight: var(--font-weight-medium);
}
.single-product .ov-project-banner {
  margin-block: calc(2 * var(--spacing-64));
}
.ov-product-specs__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-32);
  align-items: center;
  padding: var(--spacing-32);
  background: var(--color-bg-page);
  border-radius: var(--radius-24);
}
.ov-product-specs__attributes {
  min-width: 0;
}
.ov-product-specs table.shop_attributes {
  display: block;
  margin: 0;
  border: 0;
  font-family: var(--font-ui);
}
.ov-product-specs table.shop_attributes tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-16);
}
.ov-product-specs table.shop_attributes tr {
  display: block;
  min-width: 0;
  padding: var(--spacing-12);
  border-radius: var(--radius-8);
  background: color-mix(in srgb, var(--color-bg-surface) 40%, transparent);
}
.ov-product-specs table.shop_attributes :is(th, td) {
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: start;
  overflow-wrap: anywhere;
}
.single-product
  div.product
  .ov-product-specs
  table.shop_attributes
  tbody
  tr
  :is(th, td) {
  background: transparent;
}
.ov-product-specs table.shop_attributes th {
  margin-bottom: var(--spacing-4);
  color: var(--color-text-muted);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
}
.ov-product-specs table.shop_attributes td {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  font-style: normal;
}
.ov-product-specs table.shop_attributes td p {
  margin: 0;
  padding: 0;
}
.ov-product-specs__diagram {
  margin: 0;
}
.ov-product-specs__diagram img {
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: contain;
  mix-blend-mode: darken;
}
.ov-product-guide ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-16);
  margin: 0;
  list-style: none;
}
.ov-product-guide li {
  min-width: 0;
  padding: var(--spacing-24);
  border-radius: var(--radius-8);
  background: var(--color-bg-page);
}
.ov-product-guide__number {
  display: block;
  margin-bottom: var(--spacing-24);
  font-family: var(--font-display);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-h2);
}
.ov-product-guide h3 {
  margin-bottom: var(--spacing-8);
  font-family: var(--font-ui);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-body-lg);
}
.ov-product-guide p {
  margin: 0;
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.ov-product-reviews__layout {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.5fr);
  gap: var(--spacing-32);
  align-items: start;
}
.ov-product-reviews__summary {
  padding: var(--spacing-24);
  border-radius: var(--radius-8);
  background: var(--color-bg-page);
  font-family: var(--font-ui);
}
.ov-product-reviews__summary h3 {
  margin-bottom: var(--spacing-16);
  font-size: var(--font-size-body-lg);
  font-weight: var(--font-weight-medium);
}
.ov-product-reviews__summary p {
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}
.ov-product-reviews__summary .ov-product-reviews__score {
  margin-block: 0 var(--spacing-16);
  font-family: var(--font-display);
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-medium);
}
.ov-product-reviews__summary .star-rating {
  margin-bottom: var(--spacing-8);
}
.ov-product-reviews__summary .ov-button {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.ov-product-reviews__distribution {
  display: grid;
  gap: var(--spacing-8);
  margin: var(--spacing-24) 0;
  list-style: none;
  font-size: var(--font-size-small);
}
.ov-product-reviews__distribution li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) 24px;
  gap: var(--spacing-8);
  align-items: center;
}
.ov-product-reviews__distribution meter {
  width: 100%;
  height: var(--spacing-8);
  border: 0;
  background: var(--color-bg-subtle);
  border-radius: var(--radius-full);
}
.ov-product-reviews__distribution meter::-webkit-meter-bar {
  border: 0;
  background: var(--color-bg-subtle);
}
.ov-product-reviews__distribution meter::-webkit-meter-optimum-value {
  background: var(--color-text-primary);
}
.ov-product-reviews__distribution meter::-moz-meter-bar {
  background: var(--color-text-primary);
}
.ov-product-reviews__body {
  min-width: 0;
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.single-product .ov-product-reviews #reviews #comments {
  float: none;
  width: 100%;
  margin: 0;
}
.ov-product-reviews .woocommerce-Reviews-title {
  margin: 0 0 var(--spacing-24);
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  font-weight: var(--font-weight-regular);
}
.ov-product-reviews .woocommerce-noreviews {
  margin: 0;
  padding: var(--spacing-16) 0;
  border: 0;
  background: transparent;
  color: var(--color-text-muted);
}
.ov-product-reviews .woocommerce-noreviews::before {
  display: none;
}
.single-product .ov-product-reviews #reviews .commentlist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-24);
  margin: 0;
}
.single-product .ov-product-reviews #reviews .commentlist > li {
  margin: 0;
  padding: var(--spacing-24);
  border: 0;
  border-radius: var(--radius-8);
  background: var(--color-bg-page);
}
.single-product .ov-product-reviews #reviews .commentlist .comment_container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}
.single-product .ov-product-reviews #reviews .commentlist .avatar {
  width: var(--spacing-40);
  height: var(--spacing-40);
  float: none;
  margin: 0;
}
.single-product .ov-product-reviews #reviews .commentlist .comment-text {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.single-product .ov-product-reviews #reviews .commentlist .star-rating {
  float: none;
  margin: 0 0 var(--spacing-12);
}
.ov-product-reviews #reviews .commentlist .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-16);
  font-size: var(--font-size-small);
}
.ov-product-reviews #reviews .commentlist .woocommerce-review__published-date {
  margin-inline-start: auto;
  color: var(--color-text-muted);
  font-size: var(--font-size-caption);
}
.ov-product-reviews #reviews .commentlist .description {
  overflow-wrap: anywhere;
}
.ov-product-reviews #reviews .commentlist .description p:last-child {
  margin-bottom: 0;
}
.ov-product-reviews #reviews .commentlist .description img {
  max-width: 100%;
  height: auto;
}
.single-product .ov-product-reviews #review_form_wrapper {
  float: none;
  width: 100%;
  margin: var(--spacing-32) 0 0;
  scroll-margin-top: var(--spacing-32);
}
.ov-product-reviews #respond {
  margin: 0;
  padding: var(--spacing-24) 0;
  background: transparent;
  border-top: 1px solid var(--ov-gray);
}
.ov-product-reviews #reply-title {
  display: block;
  margin-bottom: var(--spacing-24);
  font-family: var(--font-display);
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-h4);
}
.ov-product-reviews
  #commentform
  :is(input[type="text"], input[type="email"], textarea) {
  width: 100%;
  min-height: var(--height-56);
  padding: var(--spacing-12) var(--spacing-16);
  border: 2px solid var(--color-border-control);
  border-radius: var(--radius-16);
  background: var(--color-bg-surface);
  box-shadow: none;
  color: var(--color-text-primary);
  font: inherit;
}
.ov-product-reviews
  #commentform
  :is(input[type="text"], input[type="email"], textarea):focus {
  border-color: var(--color-border-focus);
  outline: none;
}
.ov-product-reviews #commentform label {
  display: block;
  margin-bottom: var(--spacing-8);
  font-weight: var(--font-weight-medium);
}
.ov-product-reviews #commentform .comment-form-cookies-consent label {
  display: inline;
}
.ov-product-reviews #commentform .submit {
  min-height: var(--height-56);
  padding: var(--spacing-12) var(--spacing-24);
  border: 2px solid transparent;
  border-radius: var(--radius-16);
  background: var(--color-bg-action-primary);
  color: var(--color-text-primary);
  font: inherit;
}
.ov-product-reviews #commentform .submit:hover {
  background: var(--color-text-primary);
  color: var(--color-text-inverse);
}
.ov-product-reviews [hidden] {
  display: none !important;
}

.ov-product-faq__layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacing-40);
  align-items: start;
}
.ov-product-faq__layout > img {
  width: 100%;
  aspect-ratio: 1.1;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-24);
}
.ov-product-faq__content {
  min-width: 0;
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.ov-product-faq details {
  margin-bottom: var(--spacing-16);
  padding-inline: var(--spacing-24);
  border-radius: var(--radius-8);
  background: var(--color-bg-page);
}
.ov-product-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-16);
  min-height: var(--height-64);
  padding-block: var(--spacing-16);
  cursor: pointer;
  list-style: none;
}
.ov-product-faq summary::-webkit-details-marker {
  display: none;
}
.ov-product-faq__toggle {
  flex: none;
}
.ov-product-faq__toggle .ov-icon--minus,
.ov-product-faq details[open] .ov-icon--plus {
  display: none;
}
.ov-product-faq details[open] .ov-icon--minus {
  display: block;
}
.ov-product-faq details p {
  margin: 0;
  padding-bottom: var(--spacing-24);
  color: var(--color-text-muted);
}
.ov-product-faq__contact {
  margin: var(--spacing-32) 0 0;
  font-size: var(--font-size-small);
  overflow-wrap: anywhere;
}
.single-product .ov-product-related__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-24);
  margin-bottom: var(--spacing-32);
}
.ov-product-related__header h2 {
  margin: 0 0 var(--spacing-8);
  font-weight: var(--font-weight-medium);
}
.ov-product-related__header p {
  margin: 0;
  font-family: var(--font-ui);
}
.ov-product-related__header .ov-link {
  font-size: var(--font-size-body);
}
.ov-product-related__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-24);
}
.ov-product-related .ov-product-card__price {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}
.ov-product-related .ov-product-card h3 {
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body-lg);
}

@media (max-width: 1023px) {
  .ov-product-guide ol,
  .ov-product-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ov-product-reviews__layout {
    grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr);
    gap: var(--spacing-24);
  }
  .single-product .ov-product-reviews #reviews .commentlist {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .ov-product-section,
  .single-product .ov-project-banner {
    margin-block: var(--spacing-64);
  }
  .ov-product-specs__body,
  .ov-product-faq__layout,
  .ov-product-reviews__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--spacing-24);
  }
  .ov-product-specs__body {
    padding: var(--spacing-16);
  }
  .ov-product-specs table.shop_attributes tbody {
    gap: var(--spacing-8);
  }
  .ov-product-guide li {
    padding: var(--spacing-16);
  }
  .ov-product-guide h3 {
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
  }
  .ov-product-guide p {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
  }
  .ov-product-related__grid {
    gap: var(--spacing-12);
  }
  .ov-product-related .ov-product-card__details {
    padding-inline: 0;
  }
  .ov-product-related .ov-product-card__price {
    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-body-lg);
  }
  .ov-product-related .ov-product-card__price .amount {
    white-space: normal;
  }
}
@media (hover: hover) {
  .single-product
    div.product
    .ov-product-overview
    form.cart
    .single_add_to_cart_button:hover:not(:disabled),
  .ov-product-actions .ov-ia-try-on .ov-ia-try-on__launch:hover:not(:disabled) {
    background: var(--color-text-primary);
    border-color: var(--color-text-primary);
    color: var(--color-text-inverse);
  }
}

@media (max-width: 1023px) {
  .single-product .ov-product-overview {
    gap: var(--spacing-24);
  }
  .single-product .ov-product-overview .product_title {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
    margin-bottom: var(--spacing-8);
  }
}
@media (max-width: 767px) {
  .single-product .ov-product-overview {
    grid-template-columns: minmax(0, 1fr);
    margin-top: var(--spacing-16);
    gap: var(--spacing-32);
  }
  .single-product div.product .ov-product-overview .summary {
    padding: 0;
    border-radius: 0;
  }
  .single-product
    div.product
    .ov-product-overview
    form.cart
    .single_add_to_cart_button {
    padding-inline: var(--spacing-16);
    font-size: var(--font-size-body);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ov-product-overview button {
    transition: none !important;
  }
}
