/* Fluxmart single product styles. Loaded only on product pages. */
.fm-woo-single-layout,
  .fm-product-hero__inner {
  display: grid;
  align-items: flex-start;
    gap: max(1.25rem, calc(var(--fm-woo-single-gap) * 0.88));
}
@media (min-width: 1024px) {
    .fm-woo-single-layout,
    .fm-product-hero__inner {
      grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
      align-items: start;
    }
  }
.fm-woo-media-stack,
  .fm-product-gallery {
  display: flex;
  flex-direction: column;
    gap: calc(var(--fm-form-gap) * 0.8);
}
@media (min-width: 1024px) {
    .fm-woo-media-stack,
    .fm-product-gallery {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: calc(var(--fm-form-gap) * 0.8);
    }
  }
.fm-woo-media-surface,
  .fm-gallery__main {
  position: relative;
  overflow: hidden;
  border-radius: var(--fm-radius-lg);
  background-color: var(--fm-color-surface);
    background:
      radial-gradient(circle at top, color-mix(in srgb, var(--fm-color-surface) 88%, var(--fm-color-accent) 12%), transparent 54%),
      linear-gradient(180deg, color-mix(in srgb, var(--fm-color-surface) 92%, var(--fm-color-bg) 8%), color-mix(in srgb, var(--fm-color-surface) 76%, var(--fm-color-accent-soft) 24%));
    box-shadow: 0 24px 46px -34px rgba(30, 30, 30, 0.18);
}
.fm-gallery__main-wrap {
  position: relative;
  overflow: hidden;
    min-height: min(66vw, 31rem);
    padding: calc(var(--fm-card-padding) * 1.02);
}
@media (min-width: 1024px) {
    .fm-gallery__main-wrap {
      min-height: 33.5rem;
      padding: calc(var(--fm-card-padding) * 1.18);
    }
  }
.fm-gallery__slider {
    position: relative;
    width: 100%;
    min-height: inherit;
    height: 100%;
  }
.fm-gallery__slide {
  display: flex;
  align-items: center;
  justify-content: center;
    position: absolute;
    inset: 0;
    min-height: inherit;
    height: 100%;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}
.fm-gallery__slide--secondary {
    visibility: hidden;
    pointer-events: none;
  }
.fm-gallery__main-img {
  height: auto;
  max-height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
    max-width: 88%;
    filter: drop-shadow(0 18px 34px rgba(30, 30, 30, 0.1));
    backface-visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
    .fm-gallery__slide {
      animation: none;
      transition: none;
    }
  }
.fm-gallery__badge {
  position: absolute;
  left: 1.25rem;
  top: 1.25rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding: 0.4em 0.8em;
  font-size: var(--fm-type-overline);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
    border: 1px solid color-mix(in srgb, white 72%, transparent);
    background: linear-gradient(135deg, var(--fm-color-accent), var(--fm-color-accent-strong));
    color: white;
    box-shadow: 0 10px 18px rgba(168, 137, 92, 0.2);
}
.fm-gallery__zoom-btn {
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  border-width: 1px;
  font-size: var(--fm-type-small);
  line-height: var(--fm-leading-label);
  font-weight: 600;
  transition: all 0.2s ease;
    gap: 0.5rem;
    min-height: calc(var(--fm-control-height) - 0.125rem);
    padding-inline: calc(var(--fm-button-padding-x) * 0.75);
    border-color: color-mix(in srgb, var(--fm-color-line) 72%, white 28%);
    background: rgba(255, 255, 255, 0.92);
    color: var(--fm-color-text);
    backdrop-filter: blur(8px);
}
.fm-gallery__zoom-btn:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 42%, var(--fm-color-line));
    color: var(--fm-color-accent-strong);
    transform: translateY(-1px);
  }
.fm-gallery__zoom-icon {
  height: 1rem;
  width: 1rem;
}
.fm-gallery__thumbs {
  display: grid;
    grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr));
    gap: calc(var(--fm-form-gap) * 0.65);
}
@media (min-width: 1024px) {
    .fm-gallery__thumbs {
      grid-template-columns: repeat(auto-fit, minmax(4.1rem, 4.6rem));
      gap: calc(var(--fm-form-gap) * 0.55);
      justify-content: flex-start;
      overflow-x: auto;
      overflow-y: hidden;
      padding-bottom: calc(var(--fm-woo-card-padding) * 0.1);
    }
  }
.fm-gallery__thumb {
  overflow: hidden;
  border-radius: var(--fm-radius);
  background-color: var(--fm-color-surface);
  transition: all 0.2s ease;
    aspect-ratio: 1;
    padding: 5px;
    box-shadow: 0 16px 30px -30px rgba(30, 30, 30, 0.22);
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 74%, white 26%);
}
.fm-gallery__thumb img {
  height: 100%;
  width: 100%;
  border-radius: calc(var(--fm-radius) - 2px);
  -o-object-fit: cover;
     object-fit: cover;
}
.fm-gallery__thumb:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 40%, var(--fm-color-line));
    box-shadow: 0 18px 24px -22px rgba(168, 137, 92, 0.24);
    transform: translateY(-1px);
  }
.fm-gallery__thumb--active {
    border-color: color-mix(in srgb, var(--fm-color-accent) 68%, var(--fm-color-line));
    background: color-mix(in srgb, var(--fm-color-surface) 90%, var(--fm-color-accent-soft) 10%);
    box-shadow:
      0 0 0 2px color-mix(in srgb, var(--fm-color-accent) 32%, white 68%),
      0 18px 28px -22px rgba(168, 137, 92, 0.34);
    transform: translateY(-1px);
  }
.fm-gallery__thumb--active img {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fm-color-accent) 24%, transparent);
  }
.fm-woo-summary,
  .fm-product-summary {
    padding: 0;
  }
@media (min-width: 768px) {
    .fm-woo-summary,
    .fm-product-summary {
      padding: 0;
    }
  }
@media (min-width: 1024px) {
    .fm-woo-summary,
    .fm-product-summary {
      padding: calc(var(--fm-card-padding) * 0.25) 0 0;
    }
  }
.fm-woo-purchase-form {
  margin: 0px;
}
.fm-product-summary .product_title {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.3);
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
  line-height: 1.12;
  color: var(--fm-color-text);
    font-size: clamp(1.4rem, 2.1vw, 2rem);
    letter-spacing: -0.03em;
}
.fm-product-summary .woocommerce-product-rating {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.3);
  display: flex;
  align-items: center;
  gap: 0.75rem;
    line-height: 1;
}
.fm-product-summary .star-rating {
  display: inline-block;
    font-size: var(--fm-type-body);
    line-height: 1;
    margin: 0 4px 0 0 !important;
    transform: translateY(-1px);
}
.fm-product-summary .star-rating::before {
  }
.fm-product-summary .star-rating span::before {
    color: inherit;
  }
.fm-product-summary .woocommerce-review-link {
  display: inline-flex;
  align-items: center;
  font-size: var(--fm-type-small);
  line-height: var(--fm-leading-label);
  text-decoration-line: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    color: var(--fm-color-muted);
    line-height: 1.2;
}
.fm-product-summary .woocommerce-review-link:hover {
    color: var(--fm-color-accent-strong);
  }
.fm-product-summary .price {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.4);
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.625rem;
    color: var(--fm-color-accent-strong);
}
.fm-product-summary .price > .woocommerce-Price-amount,
  .fm-product-summary .price > .amount,
  .fm-product-summary .price ins {
  font-size: var(--fm-type-h3);
  font-weight: 700;
  text-decoration-line: none;
    color: var(--fm-color-accent-strong);
}
.fm-product-summary .price del {
  font-size: var(--fm-type-body);
  line-height: 1.5rem;
  font-weight: 500;
    color: var(--fm-color-muted);
    opacity: 0.76;
}
.fm-product-summary .woocommerce-product-details__short-description {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.5);
  font-size: var(--fm-type-body-sm);
  line-height: 1.75rem;
    color: var(--fm-color-muted);
    max-width: 34rem;
}
.fm-product-summary .fm-simple-cart {
  margin: 0px;
    margin-bottom: calc(var(--fm-form-gap) * 0.85);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.fm-product-summary .fm-simple-cart .quantity {
  margin: 0px;
}
.fm-product-summary .fm-simple-actions {
  display: grid;
    gap: calc(var(--fm-form-gap) * 0.65);
}
.fm-simple-actions__purchase {
  display: grid;
  align-items: flex-end;
    gap: calc(var(--fm-form-gap) * 0.55);
}
.fm-simple-actions__purchase .fm-simple-actions__buttons.fm-woo-split-actions {max-width: 350px;}
.fm-product-summary .fm-simple-actions .fm-qty-stepper {
    max-width: 10rem;
  }
.fm-product-summary .fm-simple-actions__buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
    gap: calc(var(--fm-form-gap) * 0.45);
    margin-top: calc(var(--fm-form-gap) * 0.35);
    align-items: stretch;
}
.fm-simple-actions__buttons {
  display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--fm-form-gap) * 0.45);
    max-width: none;
}
.fm-woo-surface-card,
  .fm-product-summary .variations_form.cart {
  margin: 0px;
    padding: calc(var(--fm-card-padding) * 0.95);
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 76%, white 24%);
    border-radius: var(--fm-radius);
    background: color-mix(in srgb, var(--fm-color-surface) 97%, var(--fm-color-surface-soft) 3%);
    box-shadow: 0 16px 28px -30px rgba(30, 30, 30, 0.14);
}
.fm-woo-option-list,
  .fm-product-summary .fm-variation-fields {
  display: grid;
    gap: calc(var(--fm-form-gap) * 0.55);
    margin-bottom: calc(var(--fm-form-gap) * 0.8);
    max-width: 100%;
}
.fm-woo-option-row,
  .fm-product-summary .fm-variation-field {
  display: grid;
  align-items: center;
    gap: calc(var(--fm-form-gap) * 0.7);
}
@media (min-width: 640px) {
    .fm-woo-option-row,
    .fm-product-summary .fm-variation-field {
      grid-template-columns: minmax(4.5rem, 5.25rem) minmax(0, 1fr);
    }
  }
.fm-woo-option-label label,
  .fm-product-summary .fm-variation-field__label label {
  font-size: var(--fm-type-label);
  line-height: var(--fm-leading-label);
  font-weight: 500;
    color: var(--fm-color-text);
}
.fm-woo-option-control,
  .fm-product-summary .fm-variation-field__control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
    gap: calc(var(--fm-form-gap) * 0.5);
    min-width: 0;
}
.fm-product-summary .variations select,
  .fm-product-summary select {
    width: 100%;
    max-width: 36rem;
    min-height: var(--fm-input-height);
    padding-inline: var(--fm-input-padding-x) calc(var(--fm-input-padding-x) * 2.7);
    border-radius: var(--fm-radius);
    border-color: color-mix(in srgb, var(--fm-color-line) 62%, var(--fm-color-accent) 16%);
    background-color: var(--fm-color-surface);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.82),
      0 12px 24px -24px rgba(30, 30, 30, 0.18);
    font-size: var(--fm-type-input);
    font-weight: 500;
    letter-spacing: -0.01em;
  }
.fm-product-summary .\!variations select {
    width: 100% !important;
    max-width: 36rem !important;
    min-height: var(--fm-input-height) !important;
    padding-inline: var(--fm-input-padding-x) calc(var(--fm-input-padding-x) * 2.7) !important;
    border-radius: var(--fm-radius) !important;
    border-color: color-mix(in srgb, var(--fm-color-line) 62%, var(--fm-color-accent) 16%) !important;
    background-color: var(--fm-color-surface) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.82),
      0 12px 24px -24px rgba(30, 30, 30, 0.18) !important;
    font-size: var(--fm-type-input) !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
  }
.fm-product-summary .variations select:hover,
  .fm-product-summary select:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 38%, var(--fm-color-line));
    background-color: color-mix(in srgb, var(--fm-color-surface) 94%, var(--fm-color-surface-soft) 6%);
  }
.fm-product-summary .\!variations select:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 38%, var(--fm-color-line)) !important;
    background-color: color-mix(in srgb, var(--fm-color-surface) 94%, var(--fm-color-surface-soft) 6%) !important;
  }
.fm-product-summary .variations select:focus,
  .fm-product-summary select:focus {
    border-color: color-mix(in srgb, var(--fm-color-accent) 52%, var(--fm-color-line));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.82),
      0 0 0 3px color-mix(in srgb, var(--fm-color-accent) 12%, transparent),
      0 12px 24px -24px rgba(30, 30, 30, 0.18);
  }
.fm-product-summary .\!variations select:focus {
    border-color: color-mix(in srgb, var(--fm-color-accent) 52%, var(--fm-color-line)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.82),
      0 0 0 3px color-mix(in srgb, var(--fm-color-accent) 12%, transparent),
      0 12px 24px -24px rgba(30, 30, 30, 0.18) !important;
  }
.fm-product-summary .reset_variations {
  display: inline-flex;
  font-size: var(--fm-type-caption);
  font-weight: 500;
  text-decoration-line: none;
    color: var(--fm-color-muted);
    margin-left: auto;
    margin-top: calc(var(--fm-form-gap) * 0.1);
}
.fm-product-summary .reset_variations:hover {
    color: var(--fm-color-accent-strong);
  }
.fm-product-summary .single_variation_wrap {
    position: relative;
    margin-top: calc(var(--fm-form-gap) * 0.4);
    padding-top: calc(var(--fm-form-gap) * 0.6);
    border-top: 0;
  }
.fm-product-summary .single_variation_wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 18%, transparent) 10%,
      color-mix(in srgb, var(--fm-color-line) 84%, white 16%) 50%,
      color-mix(in srgb, var(--fm-color-line) 18%, transparent) 90%,
      transparent 100%
    );
  }
.fm-product-summary .woocommerce-variation-price {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.25);
}
.fm-product-summary .woocommerce-variation-price .price {
  margin: 0px;
}
.fm-product-summary .woocommerce-variation-price .price > .woocommerce-Price-amount,
  .fm-product-summary .woocommerce-variation-price .price > .amount,
  .fm-product-summary .woocommerce-variation-price .price ins {
  font-size: var(--fm-type-h2);
  font-weight: 700;
}
.fm-product-summary .woocommerce-variation-description,
  .fm-product-summary .woocommerce-variation-availability {
  font-size: var(--fm-type-body-sm);
  line-height: 1.5rem;
    color: var(--fm-color-muted);
}
.fm-woo-purchase-stack,
  .fm-variation-actions__purchase {
  display: grid;
  align-items: flex-end;
    gap: calc(var(--fm-form-gap) * 0.55);
}
@media (min-width: 768px) {
    .fm-variation-actions__purchase {
      grid-template-columns: minmax(9.375rem, 10rem) minmax(0, 1fr);
      align-items: end;
    }
  }
.fm-woo-stepper,
  .fm-product-summary .fm-qty-stepper {
  display: grid;
  align-items: center;
    grid-template-columns: 2.7rem minmax(3.9rem, 1fr) 2.7rem;
    gap: 0;
    width: 100%;
    max-width: none;
    min-height: var(--fm-input-height);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 72%, var(--fm-color-accent) 14%);
    border-radius: var(--fm-radius);
    background: var(--fm-color-surface);
    box-shadow: 0 14px 24px -22px rgba(30, 30, 30, 0.14);
}
.fm-woo-stepper__btn,
  .fm-woo-stepper__field,
  .fm-product-summary .fm-qty-stepper__btn,
  .fm-product-summary .fm-qty-stepper__field {
    min-height: var(--fm-input-height);
    margin: 0;
    border: 0;
    border-radius: 0;
  }
.fm-woo-stepper__btn,
  .fm-product-summary .fm-qty-stepper__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding: 0;
    background: transparent;
    color: var(--fm-color-text);
    box-shadow: none;
}
.fm-woo-stepper__btn:hover,
  .fm-product-summary .fm-qty-stepper__btn:hover {
    background: color-mix(in srgb, var(--fm-color-surface-soft) 72%, white 28%);
    color: var(--fm-color-accent-strong);
    transform: none;
  }
.fm-woo-stepper__icon,
  .fm-qty-stepper__icon {
  height: 1rem;
  width: 1rem;
}
.fm-woo-stepper__field,
  .fm-product-summary .fm-qty-stepper__field {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: calc(var(--fm-input-padding-x) * 0.35);
  padding-right: calc(var(--fm-input-padding-x) * 0.35);
    background: var(--fm-color-surface);
    border-left: 1px solid color-mix(in srgb, var(--fm-color-line) 76%, white 24%);
    border-right: 1px solid color-mix(in srgb, var(--fm-color-line) 76%, white 24%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.fm-product-summary .fm-qty-stepper__field .quantity {
  margin: 0px;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
    min-height: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.fm-product-summary .fm-qty-stepper__field label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.fm-product-summary .fm-qty-stepper__field .qty {
  width: 100%;
    border: 0 !important;
    border-radius: 0 !important;
    min-height: 100%;
    background: transparent;
    padding: 0;
    text-align: center;
    box-shadow: none;
    color: var(--fm-color-text);
    font-size: var(--fm-type-input);
    font-weight: 600;
    line-height: 1;
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield;
    opacity: 1;
}
.fm-product-summary .fm-qty-stepper__field .qty::-webkit-outer-spin-button,
  .fm-product-summary .fm-qty-stepper__field .qty::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
  }
.fm-product-summary .woocommerce-variation-add-to-cart,
  .fm-product-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: grid;
    gap: calc(var(--fm-form-gap) * 0.65);
}
.fm-woo-split-actions,
  .fm-variation-actions__buttons {
  display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--fm-form-gap) * 0.45);
    max-width: none;
}
.fm-product-summary .single_add_to_cart_button {
    border-color: var(--fm-color-accent);
  }

.fm-product-summary .product_meta {
  margin-top: calc(var(--fm-woo-single-gap) * 0.5);
  display: grid;
  gap: 0.5rem;
  padding-top: calc(var(--fm-woo-single-gap) * 0.1);
  font-size: var(--fm-type-small);
  line-height: var(--fm-leading-label);
    color: var(--fm-color-muted);
}
.fm-product-summary .product_meta a {
  text-decoration-line: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    color: var(--fm-color-accent-strong);
}
.fm-product-summary .product_meta a:hover {
    color: var(--fm-color-primary);
  }
.fm-product-tabs-section {
    padding-top: calc(var(--fm-section-space-mobile) * 0.38);
  }
@media (min-width: 768px) {
    .fm-product-tabs-section {
      padding-top: calc(var(--fm-section-space) * 0.8);
    }
  }
.fm-product-tabs-section .woocommerce-tabs {
  border-width: 0px;
  background-color: transparent;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    padding: 0;
}
.fm-product-tabs-section .upsells {
  border-radius: var(--fm-radius-lg);
  border-width: 1px;
  background-color: var(--fm-color-surface);
  box-shadow: var(--fm-shadow-md);
    border-color: color-mix(in srgb, var(--fm-color-line) 82%, white 18%);
    padding: calc(var(--fm-card-padding) + 0.125rem);
}
.fm-product-tabs-section .woocommerce-tabs + .related,
  .fm-product-tabs-section .related + .upsells {
    margin-top: var(--fm-section-space-mobile);
  }
.fm-product-tabs-section .wc-tabs {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  border-width: 0px;
  padding: 0px;
    z-index: 2;
    margin-bottom: -1px;
}
.fm-product-tabs-section .wc-tabs::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 50%, white 50%) 10%,
      color-mix(in srgb, var(--fm-color-line) 86%, white 14%) 50%,
      color-mix(in srgb, var(--fm-color-line) 50%, white 50%) 90%,
      transparent 100%
    );
    z-index: 1;
  }
.fm-product-tabs-section .wc-tabs li {
  position: relative;
  margin: 0px;
  list-style-type: none;
    z-index: 2;
}
.fm-product-tabs-section .wc-tabs li a {
  display: inline-flex;
  align-items: center;
  border-width: 1px;
  padding-left: var(--fm-nav-pad-x);
  padding-right: var(--fm-nav-pad-x);
  padding-top: var(--fm-nav-pad-y);
  padding-bottom: var(--fm-nav-pad-y);
  font-size: var(--fm-type-nav);
  line-height: var(--fm-leading-label);
  font-weight: 500;
  text-decoration-line: none;
  transition: all 0.2s ease;
    border-radius: var(--fm-radius) var(--fm-radius) 0 0;
    border-color: color-mix(in srgb, var(--fm-color-line) 82%, white 18%);
    border-bottom-color: transparent;
    background: color-mix(in srgb, var(--fm-color-surface) 94%, var(--fm-color-surface-soft) 6%);
    color: color-mix(in srgb, var(--fm-color-text) 86%, var(--fm-color-muted) 14%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.fm-product-tabs-section .wc-tabs li a:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 38%, var(--fm-color-line));
    border-bottom-color: transparent;
    background: color-mix(in srgb, var(--fm-color-accent) 10%, white 90%);
    color: var(--fm-color-accent-strong);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.84),
      0 10px 18px -24px rgba(168, 137, 92, 0.3);
  }
.fm-product-tabs-section .wc-tabs li.active {
    z-index: 3;
  }
.fm-product-tabs-section .wc-tabs li.active a {
    border-color: color-mix(in srgb, var(--fm-color-accent) 34%, var(--fm-color-line));
    border-bottom-color: transparent;
    background: color-mix(in srgb, var(--fm-color-accent) 16%, white 84%);
    color: var(--fm-color-accent-strong);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.88),
      0 12px 22px -28px rgba(30, 30, 30, 0.14);
    transform: translateY(1px);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel {
  margin: 0px;
  border-width: 0px;
  background-color: transparent;
    display: none;
    box-shadow: none;
    margin-top: calc(var(--fm-woo-tabs-space) * 0.2);
    padding: calc(var(--fm-woo-tabs-space) * 0.4) 0 0;
    position: relative;
}
.fm-product-tabs-section .woocommerce-Tabs-panel[aria-hidden='false'] {
    display: block;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel > :first-child {
    margin-top: 0;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel > :last-child {
    margin-bottom: 0;
  }
.fm-product-tabs-section #tab-description > h2:first-child {
    display: none;
  }
.fm-product-tabs-section #tab-additional_information > h2:first-child {
    display: none;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel h2,
  .fm-product-tabs-section .woocommerce-Tabs-panel h3,
  .fm-product-tabs-section .woocommerce-Tabs-panel h4 {
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
    color: var(--fm-color-text);
    letter-spacing: -0.02em;
    margin-top: 0;
    margin-bottom: calc(var(--fm-form-gap) * 0.55);
}
.fm-product-tabs-section .woocommerce-Tabs-panel h2 {
    font-size: clamp(1.42rem, 1.6vw, 1.82rem);
    line-height: 1.18;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel h3 {
    font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel p + h2,
  .fm-product-tabs-section .woocommerce-Tabs-panel ul + h2,
  .fm-product-tabs-section .woocommerce-Tabs-panel ol + h2,
  .fm-product-tabs-section .woocommerce-Tabs-panel table + h2 {
    margin-top: var(--fm-woo-tabs-space);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel p,
  .fm-product-tabs-section .woocommerce-Tabs-panel li,
  .fm-product-tabs-section .woocommerce-Tabs-panel td,
  .fm-product-tabs-section .woocommerce-Tabs-panel th,
  .fm-product-tabs-section .woocommerce-Tabs-panel .comment-text {
    font-size: var(--fm-type-body);
    line-height: 1.82;
    color: color-mix(in srgb, var(--fm-color-text) 88%, var(--fm-color-muted) 12%);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel p {
    margin-bottom: var(--fm-form-gap);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel ul,
  .fm-product-tabs-section .woocommerce-Tabs-panel ol {
    margin: 0 0 1.15rem 0;
    padding: 0;
    list-style: none;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel ul li,
  .fm-product-tabs-section .woocommerce-Tabs-panel ol li {
    position: relative;
    padding-left: calc(var(--fm-form-gap) * 0.7);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel ul li::before,
  .fm-product-tabs-section .woocommerce-Tabs-panel ol li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.78em;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--fm-color-accent) 82%, white 18%);
    box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--fm-color-accent) 12%, transparent 88%);
    transform: translateY(-50%);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel li + li {
    margin-top: calc(var(--fm-form-gap) * 0.35);
  }
.fm-product-tabs-section .woocommerce-Tabs-panel strong,
  .fm-product-tabs-section .woocommerce-Tabs-panel b {
    color: var(--fm-color-text);
    font-weight: 600;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-top: 0;
    margin-top: calc(var(--fm-form-gap) * 0.3);
    background: transparent;
  }
.fm-product-tabs-section .woocommerce-product-attributes tbody tr {
    background: transparent !important;
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: center bottom;
    background-image: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 10%,
      color-mix(in srgb, var(--fm-color-line) 88%, white 12%) 50%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 90%,
      transparent 100%
    );
  }
.fm-product-tabs-section .woocommerce-product-attributes tbody tr:first-child {
    background-image:
      linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 10%,
        color-mix(in srgb, var(--fm-color-line) 88%, white 12%) 50%,
        color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 90%,
        transparent 100%
      ),
      linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 10%,
        color-mix(in srgb, var(--fm-color-line) 88%, white 12%) 50%,
        color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 90%,
        transparent 100%
      );
    background-size: 100% 1px, 100% 1px;
    background-position: center top, center bottom;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel table th,
  .fm-product-tabs-section .woocommerce-Tabs-panel table td {
    padding: var(--fm-woo-card-padding);
    border: 0;
    background: transparent;
    vertical-align: middle;
  }
.fm-product-tabs-section .woocommerce-Tabs-panel table th {
    width: 26%;
    font-size: var(--fm-type-caption);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fm-color-accent-strong);
    white-space: nowrap;
  }
.fm-product-tabs-section .woocommerce-product-attributes td {
    color: color-mix(in srgb, var(--fm-color-text) 90%, var(--fm-color-muted) 10%);
    font-style: normal;
    line-height: 1.45;
  }
.fm-product-tabs-section .woocommerce-product-attributes td p {
    margin: 0;
    font-style: normal;
  }
.fm-product-tabs-section .woocommerce-product-attributes td p + p {
    margin-top: calc(var(--fm-form-gap) * 0.3);
  }
.fm-product-tabs-section #tab-reviews .woocommerce-Reviews-title {
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
    color: var(--fm-color-text);
    font-size: clamp(1.4rem, 1.7vw, 1.95rem);
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem;
}
.fm-product-tabs-section #tab-reviews .woocommerce-Reviews-title span {
    color: color-mix(in srgb, var(--fm-color-text) 86%, var(--fm-color-muted) 14%);
  }
.fm-product-tabs-section #tab-reviews .fm-review-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: calc(var(--fm-form-gap) * 0.35);
  }
.fm-product-tabs-section #tab-reviews .fm-review-header .woocommerce-Reviews-title {
    margin: 0;
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin: 0 0 0.8rem;
    padding: calc(var(--fm-woo-card-padding) * 0.15) 0 calc(var(--fm-woo-card-padding) * 0.55);
    border: 0;
    border-radius: 0;
    background: transparent;
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 10%,
      color-mix(in srgb, var(--fm-color-line) 88%, white 12%) 50%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 90%,
      transparent 100%
    );
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary__stars .star-rating {
    margin: 0 !important;
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary__stars .star-rating::before {
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.7rem;
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary__average {
    color: var(--fm-color-text);
    font-size: var(--fm-type-body);
    font-weight: 700;
    line-height: 1;
  }
.fm-product-tabs-section #tab-reviews .fm-reviews-summary__count {
    color: var(--fm-color-muted);
    font-size: var(--fm-type-body-sm);
    line-height: 1.4;
  }
.fm-product-tabs-section #tab-reviews .fm-review-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: auto;
    margin-left: auto;
    margin-right: 75px;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: var(--fm-color-accent-strong);
    font-size: var(--fm-type-small);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: none;
  }
.fm-product-tabs-section #tab-reviews .fm-review-trigger:hover {
    color: var(--fm-color-text);
    transform: translateY(-1px);
  }
.fm-product-tabs-section #tab-reviews .commentlist {
    margin: 0;
    padding: 0;
    list-style: none;
  }
.fm-product-tabs-section #tab-reviews .commentlist li {
    margin: 0;
    padding: 0;
  }
.fm-product-tabs-section #tab-reviews .commentlist li + li {
    margin-top: calc(var(--fm-form-gap) * 0.55);
  }
.fm-product-tabs-section #tab-reviews .comment_container {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0;
  }
.fm-product-tabs-section #tab-reviews .fm-review-card__separator {
    margin: calc(var(--fm-form-gap) * 0.55) 0 0 3.125rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 30%, white 70%) 0.75rem,
      color-mix(in srgb, var(--fm-color-line) 58%, white 42%) 38%,
      color-mix(in srgb, var(--fm-color-line) 30%, white 70%) 88%,
      transparent 100%
    );
  }
.fm-product-tabs-section #tab-reviews .commentlist li:last-child .fm-review-card__separator {
    display: none;
  }
.fm-product-tabs-section #tab-reviews .avatar {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 9999px;
    border: 0;
    background: color-mix(in srgb, var(--fm-color-surface) 89%, var(--fm-color-surface-soft) 11%);
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 0.48;
    filter: grayscale(1);
  }
.fm-product-tabs-section #tab-reviews .comment-text {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
.fm-product-tabs-section #tab-reviews #reviews #comments ol.commentlist li .comment-text {
    margin: 0 0 0 50px;
    padding: 0;
    border: 0;
    border-radius: 0;
  }
.fm-product-tabs-section #tab-reviews .fm-review-card__author {
    color: var(--fm-color-text);
    font-size: var(--fm-type-body);
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.35rem;
  }
.fm-product-tabs-section #tab-reviews .fm-review-card__rating-row {
    margin: 0 0 0.2rem;
  }
.fm-product-tabs-section #tab-reviews .comment-text .star-rating {
    float: none;
    margin: 0 !important;
  }
.fm-product-tabs-section #tab-reviews .comment-text .star-rating::before {
  }
.fm-product-tabs-section #tab-reviews .fm-review-card__meta {
    margin: 0;
    font-size: var(--fm-type-body-sm);
    line-height: 1.35;
    color: var(--fm-color-muted);
  }
.fm-product-tabs-section #tab-reviews #reviews #comments ol.commentlist li .comment-text p {
    margin: 0;
  }
.fm-product-tabs-section #tab-reviews .fm-review-card__verified {
    margin: 0 0 0.75rem;
    color: var(--fm-color-accent-strong);
    font-size: var(--fm-type-body-sm);
    font-weight: 700;
    line-height: 1.35;
  }
.fm-product-tabs-section #tab-reviews .description p:last-child {
    margin-bottom: 0;
  }
.fm-product-tabs-section #tab-reviews .description p {
    font-size: var(--fm-type-body);
    line-height: 1.65;
    color: color-mix(in srgb, var(--fm-color-text) 92%, var(--fm-color-muted) 8%);
  }
.fm-product-tabs-section #tab-reviews #review_form_wrapper {
    margin-top: var(--fm-woo-tabs-space);
    padding-top: calc(var(--fm-woo-tabs-space) * 0.85);
    position: relative;
  }
.fm-product-tabs-section #tab-reviews #review_form_wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 10%,
      color-mix(in srgb, var(--fm-color-line) 88%, white 12%) 50%,
      color-mix(in srgb, var(--fm-color-line) 52%, white 48%) 90%,
      transparent 100%
    );
  }
.fm-product-tabs-section #tab-reviews #reply-title {
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
    display: block;
    color: var(--fm-color-text);
    font-size: clamp(1.25rem, 1.45vw, 1.55rem);
    margin: 0 0 1rem;
}
.fm-product-tabs-section #tab-reviews .comment-notes,
  .fm-product-tabs-section #tab-reviews .comment-form-rating label,
  .fm-product-tabs-section #tab-reviews .comment-form-comment label,
  .fm-product-tabs-section #tab-reviews .comment-form-author label,
  .fm-product-tabs-section #tab-reviews .comment-form-email label {
    display: block;
    margin-bottom: calc(var(--fm-form-gap) * 0.28);
    font-size: var(--fm-type-label);
    font-weight: 500;
    color: var(--fm-color-text);
  }
.fm-product-tabs-section #tab-reviews .comment-form-rating,
  .fm-product-tabs-section #tab-reviews .comment-form-comment,
  .fm-product-tabs-section #tab-reviews .comment-form-author,
  .fm-product-tabs-section #tab-reviews .comment-form-email {
    margin-bottom: var(--fm-form-gap);
  }
.fm-product-tabs-section #tab-reviews .comment-form-rating__label,
  .fm-review-modal .comment-form-rating__label {
    display: block;
    margin-bottom: calc(var(--fm-form-gap) * 0.28);
    font-size: var(--fm-type-label);
    font-weight: 500;
    color: var(--fm-color-text);
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars,
  .fm-review-modal .fm-review-rating-stars {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 0.85rem 1rem;
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 0.35rem;
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 82%, white 18%);
    border-radius: 999px;
    background: color-mix(in srgb, var(--fm-color-surface) 94%, var(--fm-color-surface-soft) 6%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars:focus,
  .fm-review-modal .fm-review-rating-stars:focus {
    outline: 2px solid color-mix(in srgb, var(--fm-color-accent) 58%, white 42%);
    outline-offset: 4px;
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars input,
  .fm-review-modal .fm-review-rating-stars input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
.fm-product-tabs-section #tab-reviews .comment-form-rating .fm-review-rating-stars label,
  .fm-review-modal .comment-form-rating .fm-review-rating-stars label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: color-mix(in srgb, var(--fm-color-line) 80%, var(--fm-color-muted) 20%);
    cursor: pointer;
    line-height: 1;
    transition: color 0.18s ease, transform 0.18s ease;
  }
.fm-product-tabs-section #tab-reviews .comment-form-rating .fm-review-rating-stars label::before,
  .fm-review-modal .comment-form-rating .fm-review-rating-stars label::before {
    content: '★';
    font-size: clamp(1.55rem, 1.8vw, 1.78rem);
    line-height: 1;
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars label:hover,
  .fm-product-tabs-section #tab-reviews .fm-review-rating-stars label:hover ~ label,
  .fm-product-tabs-section #tab-reviews .fm-review-rating-stars input:checked ~ label,
  .fm-review-modal .fm-review-rating-stars label:hover,
  .fm-review-modal .fm-review-rating-stars label:hover ~ label,
  .fm-review-modal .fm-review-rating-stars input:checked ~ label {
    color: var(--fm-color-accent-strong);
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars label:hover,
  .fm-review-modal .fm-review-rating-stars label:hover {
    transform: translateY(-1px) scale(1.03);
  }
.fm-product-tabs-section #tab-reviews .fm-review-rating-stars input:focus-visible + label,
  .fm-review-modal .fm-review-rating-stars input:focus-visible + label {
    outline: 2px solid color-mix(in srgb, var(--fm-color-accent) 70%, white 30%);
    outline-offset: 3px;
    border-radius: 0.35rem;
  }
.fm-product-tabs-section #tab-reviews .comment-form-author,
  .fm-product-tabs-section #tab-reviews .comment-form-email {
    max-width: 28rem;
  }
.fm-product-tabs-section #tab-reviews .form-submit {
    margin: 0;
  }
.fm-product-tabs-section #tab-reviews .form-submit .submit {
    min-height: var(--fm-control-height);
    padding-left: var(--fm-button-padding-x);
    padding-right: var(--fm-button-padding-x);
    border-radius: var(--fm-radius);
    border: 1px solid var(--fm-color-accent);
    background: linear-gradient(
      135deg,
      var(--fm-color-accent),
      color-mix(in srgb, var(--fm-color-accent) 72%, var(--fm-color-accent-strong) 28%)
    );
    color: white;
    font-size: var(--fm-type-button);
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 14px 24px -18px rgba(168, 137, 92, 0.4);
  }
.fm-product-tabs-section #tab-reviews .form-submit .submit:hover {
    border-color: var(--fm-color-accent-strong);
    background: linear-gradient(
      135deg,
      color-mix(in srgb, var(--fm-color-accent) 84%, var(--fm-color-accent-strong) 16%),
      var(--fm-color-accent-strong)
    );
    transform: translateY(-1px);
  }
.fm-review-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    padding: 1rem;
    display: grid;
    place-items: center;
  }
.fm-review-modal[hidden] {
    display: none !important;
  }
.fm-review-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.56);
    backdrop-filter: blur(10px);
  }
.fm-review-modal__dialog {
    position: relative;
    width: min(100%, 37rem);
    max-height: min(86vh, 41rem);
    margin: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 84%, white 16%);
    border-radius: clamp(1.25rem, 4vw, 1.75rem);
    background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--fm-color-surface) 92%, white 8%) 0%,
      color-mix(in srgb, var(--fm-color-surface) 98%, var(--fm-color-surface-soft) 2%) 100%
    );
    box-shadow: 0 36px 80px -40px rgba(15, 23, 42, 0.46);
  }
.fm-review-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 1.2rem 1.2rem 0.95rem;
    border-bottom: 1px solid color-mix(in srgb, var(--fm-color-line) 68%, white 32%);
    background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--fm-color-surface-soft) 72%, white 28%) 0%,
      color-mix(in srgb, var(--fm-color-surface) 94%, white 6%) 100%
    );
  }
.fm-review-modal__title-block {
    min-width: 0;
  }
.fm-review-modal__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.62rem;
    border: 1px solid color-mix(in srgb, var(--fm-color-accent) 22%, var(--fm-color-line) 78%);
    border-radius: 999px;
    background: color-mix(in srgb, var(--fm-color-accent) 9%, white 91%);
    color: var(--fm-color-accent-strong);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
.fm-review-modal #reply-title {
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
    display: block;
    margin: 0.68rem 0 0;
    color: var(--fm-color-text);
    font-size: clamp(1.28rem, 2.5vw, 1.56rem);
    line-height: 1.05;
}
.fm-review-modal .comment-notes,
  .fm-review-modal__notes {
    margin: 0.4rem 0 0;
    color: var(--fm-color-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    max-width: 30rem;
  }
.fm-review-modal__close {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    height: 2.45rem;
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 84%, white 16%);
    border-radius: 9999px;
    background: color-mix(in srgb, var(--fm-color-surface) 88%, white 12%);
    color: var(--fm-color-text);
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
    cursor: pointer;
  }
.fm-review-modal__close:hover {
    border-color: var(--fm-color-accent);
    color: var(--fm-color-accent-strong);
    transform: translateY(-1px);
  }
.fm-review-modal .fm-review-modal__form-shell {
    padding: 1.05rem 1.2rem 1.2rem;
    overflow: auto;
    overscroll-behavior: contain;
  }
.fm-review-modal .fm-review-modal__form-shell #review_form_wrapper {
    margin: 0;
    padding: 0;
  }
.fm-review-modal .fm-review-modal__form-shell #review_form_wrapper::before {
    display: none;
  }
.fm-review-modal .comment-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem 0.9rem;
  }
.fm-review-modal .comment-form > * {
    margin: 0;
  }
.fm-review-modal .comment-form-rating,
  .fm-review-modal .comment-form-comment,
  .fm-review-modal .logged-in-as,
  .fm-review-modal .must-log-in,
  .fm-review-modal .comment-form-cookies-consent,
  .fm-review-modal .woocommerce-privacy-policy-text,
  .fm-review-modal .form-submit {
    grid-column: 1 / -1;
  }
.fm-review-modal .comment-form-rating label,
  .fm-review-modal .comment-form-comment label,
  .fm-review-modal .comment-form-author label,
  .fm-review-modal .comment-form-email label {
    display: block;
    margin-bottom: 0.38rem;
    font-size: 0.96rem;
    font-weight: 600;
    color: var(--fm-color-text);
  }
.fm-review-modal .comment-form-author,
  .fm-review-modal .comment-form-email {
    max-width: none;
  }
.fm-review-modal .fm-review-rating-stars {
    padding: 0.72rem 0.9rem;
    gap: 0.25rem;
  }
.fm-review-modal input:not([type='checkbox']):not([type='radio']):not([type='submit']):not([type='button']):not([type='reset']),
  .fm-review-modal select,
  .fm-review-modal textarea {
    min-height: 2.75rem;
    padding-left: 0.9rem;
    padding-right: 0.9rem;
    border-radius: 0.95rem;
    border-color: color-mix(in srgb, var(--fm-color-line) 90%, white 10%);
    background: color-mix(in srgb, var(--fm-color-surface) 86%, white 14%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
  }
.fm-review-modal textarea {
    min-height: 8.4rem;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
.fm-review-modal input:not([type='checkbox']):not([type='radio']):not([type='submit']):not([type='button']):not([type='reset']):focus,
  .fm-review-modal select:focus,
  .fm-review-modal textarea:focus {
    border-color: var(--fm-color-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--fm-color-accent) 14%, transparent);
  }
.fm-review-modal .form-submit {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.05rem;
  }
.fm-review-modal .form-submit .submit {
    min-width: 8.75rem;
    min-height: 2.9rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    border-radius: 999px;
    border: 1px solid var(--fm-color-accent);
    background: linear-gradient(
      135deg,
      var(--fm-color-accent),
      color-mix(in srgb, var(--fm-color-accent) 72%, var(--fm-color-accent-strong) 28%)
    );
    color: white;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 14px 24px -18px rgba(168, 137, 92, 0.4);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
  }
.fm-review-modal .form-submit .submit:hover {
    border-color: var(--fm-color-accent-strong);
    background: linear-gradient(
      135deg,
      color-mix(in srgb, var(--fm-color-accent) 84%, var(--fm-color-accent-strong) 16%),
      var(--fm-color-accent-strong)
    );
    transform: translateY(-1px);
  }
@media (max-width: 640px) {
  .fm-review-modal {
    padding: 0.75rem;
  }
  .fm-review-modal__dialog {
    width: 100%;
    max-height: calc(100vh - 1.5rem);
  }
  .fm-review-modal__header {
    padding: 1rem 1rem 0.85rem;
  }
  .fm-review-modal .fm-review-modal__form-shell {
    padding: 0.9rem 1rem 1rem;
  }
  .fm-review-modal .comment-form {
    grid-template-columns: 1fr;
  }
  .fm-product-tabs-section #tab-reviews .fm-review-rating-stars,
  .fm-review-modal .fm-review-rating-stars {
    padding: 0.68rem 0.78rem;
    gap: 0.18rem;
  }
  .fm-review-modal .form-submit .submit {
    width: 100%;
    min-width: 0;
  }
}
.fm-product-tabs-section .related > h2,
  .fm-product-tabs-section .upsells > h2 {
  margin-bottom: calc(var(--fm-woo-single-gap) * 0.5);
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-size: var(--fm-type-h2);
  line-height: 2.25rem;
  font-weight: 600;
  color: var(--fm-color-text);
}
.fm-product-tabs-section .fm-related-carousel {
    --fm-related-visible-count: 1;
    --fm-related-card-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
.fm-product-tabs-section .fm-related-carousel__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
    gap: 0.875rem;
    margin-bottom: calc(var(--fm-form-gap) * 0.9);
}
.fm-product-tabs-section .fm-related-carousel__header > h2 {
  margin: 0px;
  font-family: var(--fm-font-heading), ui-serif, Georgia, serif;
  font-weight: 600;
    font-size: clamp(1.9rem, 2.3vw, 2.35rem);
    color: var(--fm-color-text);
}
.fm-related-carousel__nav {
  display: inline-flex;
  align-items: center;
    gap: 0.625rem;
}
.fm-related-carousel__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
    width: 2.625rem;
    height: 2.625rem;
    border: 1px solid color-mix(in srgb, var(--fm-color-line) 78%, white 22%);
    border-radius: 999px;
    background: color-mix(in srgb, var(--fm-color-surface) 88%, var(--fm-color-surface-soft) 12%);
    color: var(--fm-color-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.fm-related-carousel__nav-btn:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--fm-color-accent) 34%, var(--fm-color-line));
    color: var(--fm-color-accent-strong);
    transform: translateY(-1px);
  }
.fm-related-carousel__nav-btn:disabled {
    opacity: 0.4;
    cursor: default;
  }
.fm-related-carousel__nav-icon {
    width: 1rem;
    height: 1rem;
  }
.fm-related-carousel__viewport {
    overflow-x: hidden;
    overflow-y: visible;
    padding-bottom: 0.375rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
.fm-related-carousel__viewport::-webkit-scrollbar {
    display: none;
  }
.fm-related-carousel__track {
  margin: 0px;
  list-style-type: none;
    display: grid;
    grid-template-columns: none !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--fm-related-card-width);
    gap: var(--fm-woo-grid-gap);
    padding: 0;
    align-items: stretch;
    width: -moz-max-content;
    width: max-content;
}
.fm-related-carousel .fm-product-card {
    scroll-snap-align: start;
    background: color-mix(in srgb, var(--fm-color-surface) 76%, var(--fm-color-surface-soft) 24%);
    border-color: color-mix(in srgb, var(--fm-color-line) 66%, white 34%);
    box-shadow: none;
  }
.fm-related-carousel .fm-product-card:hover {
    border-color: color-mix(in srgb, var(--fm-color-accent) 30%, var(--fm-color-line));
    box-shadow: 0 16px 30px -30px rgba(30, 30, 30, 0.18);
  }
.fm-related-carousel .fm-product-card__media {
    aspect-ratio: 10 / 4.8;
    background:
      radial-gradient(circle at top, color-mix(in srgb, var(--fm-color-surface) 90%, var(--fm-color-accent) 10%), transparent 56%),
      linear-gradient(180deg, color-mix(in srgb, var(--fm-color-surface) 84%, var(--fm-color-bg) 16%), color-mix(in srgb, var(--fm-color-surface) 68%, var(--fm-color-accent-soft) 32%));
  }
.fm-related-carousel .fm-product-card__body {
    padding: 1rem 1.125rem 1.05rem;
    border-top-color: color-mix(in srgb, var(--fm-color-line) 58%, white 42%);
  }
.fm-related-carousel .fm-product-card__eyebrow {
    margin-bottom: 0.45rem;
    padding: 0.2em 0.55em;
    font-size: var(--fm-type-overline);
    letter-spacing: 0.17em;
  }
.fm-related-carousel .fm-product-card__title {
    font-size: var(--fm-type-body);
    line-height: var(--fm-leading-h5);
  }
.fm-related-carousel .fm-product-card__price,
  .fm-related-carousel .fm-product-card__price .price {
    margin-top: 0.7rem;
  }
.fm-related-carousel .fm-product-card__actions {
    padding-top: 0.65rem;
    gap: 0.5rem;
  }
.fm-related-carousel .fm-product-card__actions .button,
  .fm-related-carousel .fm-product-card__actions .added_to_cart {
    min-height: calc(var(--fm-control-height) * 0.9);
    padding-inline: calc(var(--fm-button-padding-x) * 0.75);
    font-size: var(--fm-type-button-sm);
  }
.fm-related-carousel .fm-product-card__actions--split {
    gap: 0.5rem;
  }
.fm-related-carousel__nav-btn {
    width: 2.45rem;
    height: 2.45rem;
  }
@media (min-width: 640px) {
    .fm-product-tabs-section .fm-related-carousel {
      --fm-related-visible-count: 2;
    }
  }
@media (min-width: 1024px) {
    .fm-product-tabs-section .fm-related-carousel {
      --fm-related-visible-count: 3;
    }
  }
.fm-img-modal {
  position: fixed;
  inset: 0px;
  z-index: 100;
}
.fm-img-modal__backdrop {
  position: absolute;
  inset: 0px;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(8px);
}
.fm-img-modal__content {
  position: absolute;
  inset: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--fm-container-gutter-mobile);
}
@media (min-width: 768px) {

  .fm-img-modal__content {
    padding: var(--fm-container-gutter);
  }
}
.fm-img-modal__img {
  position: relative;
  z-index: 1;
  height: auto;
  max-height: 88vh;
  width: auto;
  max-width: 88vw;
  border-radius: var(--fm-radius-lg);
  background-color: var(--fm-color-surface);
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: var(--fm-shadow-md);
    padding: calc(var(--fm-woo-card-padding) * 0.3);
}
.fm-img-modal__close,
  .fm-img-modal__nav {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  transition: all 0.2s ease;
    width: calc(var(--fm-control-height) + 0.125rem);
    height: calc(var(--fm-control-height) + 0.125rem);
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.12);
    color: white;
    backdrop-filter: blur(10px);
}
.fm-img-modal__close:hover,
  .fm-img-modal__nav:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px);
  }
.fm-img-modal__close {
    right: 1.25rem;
    top: 1.25rem;
  }
.fm-img-modal__nav--prev {
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
  }
.fm-img-modal__nav--next {
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
  }
.fm-img-modal__nav:hover.fm-img-modal__nav--prev,
  .fm-img-modal__nav:hover.fm-img-modal__nav--next {
    transform: translateY(calc(-50% - 1px));
  }
.fm-img-modal__close-icon,
  .fm-img-modal__nav-icon {
    width: 1.125rem;
    height: 1.125rem;
  }
