/* v1.4.3 archive + PDP premium refinement */
.fm-product-card__inner {
  border-radius: 32px;
}

.fm-product-card__flag {
  left: auto;
  right: 1rem;
  background: rgba(255, 255, 255, 0.92);
  color: var(--fm-accent);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.fm-product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 272px;
  padding: 0.65rem 1rem 0.35rem;
  background: transparent !important;
}

.fm-product-card__image-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.fm-product-card__primary-image {
  width: 96%;
  max-width: 96%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: transparent !important;
  filter: none;
}

.fm-product-card:hover .fm-product-card__media img,
.fm-product-card:hover .fm-product-card__primary-image {
  transform: none;
}

.fm-product-card__body {
  align-items: center;
  gap: 0;
  padding-top: 0.55rem;
}

.fm-product-card__meta {
  width: 100%;
  min-height: 1.2rem;
  margin: 0 0 0.5rem;
  text-align: center;
  color: var(--fm-muted);
  font-size: 0.77rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fm-product-card__swatches-wrap {
  width: 100%;
  padding: 0 1rem;
}

.fm-archive-swatches {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin: 0.1rem 0 0;
}

.fm-archive-swatches__item {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  cursor: pointer;
  transition: transform var(--fm-transition), opacity var(--fm-transition), filter var(--fm-transition);
}

.fm-archive-swatches__item:hover,
.fm-archive-swatches__item:focus-visible,
.fm-archive-swatches__item.is-active {
  transform: translateY(-1px);
  box-shadow: none;
  filter: saturate(1.04);
}

.fm-archive-swatches__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fm-product-card__topline--center {
  gap: 0.35rem;
  margin-bottom: 0.42rem;
}

.fm-product-card__stock {
  min-height: 22px;
}

.fm-product-card__title {
  margin-bottom: 0.42rem;
  font-size: 1.02rem;
}

.fm-product-card__title a {
  display: inline-block;
}

.fm-product-card__price-wrap,
.fm-product-card__price-wrap .price,
.fm-product-card__price-wrap .woocommerce-Price-amount,
.fm-product-card__price-wrap ins,
.fm-product-card__price-wrap del,
.fm-product-card__price-wrap small,
.fm-product-card__price-wrap span,
.fm-product-card__price-wrap p {
  text-align: center;
}

.fm-product-card__price-wrap {
  width: 100%;
  gap: 0.15rem;
}

.fm-product-card__price-wrap .price {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  line-height: 1.35;
}

.fm-product-card__price-wrap .price > * {
  max-width: 100%;
}

.fm-product-card__price-wrap .price ins {
  text-decoration: none;
}

.fm-product-shell {
  grid-template-columns: minmax(260px, 0.72fr) minmax(420px, 1.15fr) minmax(240px, 0.5fr);
  grid-template-areas: 'gallery summary sidebar';
  gap: clamp(0.9rem, 1.4vw, 1.2rem);
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.fm-product-shell > .woocommerce-product-gallery {
  grid-area: gallery;
  position: sticky;
  top: calc(92px + 1rem);
  margin: 0;
}

.fm-product-shell__summary {
  grid-area: summary;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.fm-product-shell__sidebar {
  grid-area: sidebar;
  min-width: 0;
}

.fm-product-summary-card,
.fm-product-sidecard {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.single-product .product_title {
  font-size: clamp(1.95rem, 3vw, 3rem);
  margin-bottom: 0.55rem;
}

.single-product .summary .price {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  align-items: flex-start;
}

.single-product .woocommerce-product-details__short-description {
  margin-top: 1rem;
  line-height: 1.7;
}

.single-product div.product form.cart {
  gap: 0.7rem;
  margin: 1.05rem 0 0;
}

.single-product .single_add_to_cart_button,
.single-product div.product form.cart .button,
.single-product div.product form.cart button.button.alt {
  flex: 1 1 auto;
  min-width: 220px;
}

.single-product div.product form.cart .quantity input {
  width: 92px;
}

.single-product table.variations {
  margin: 1rem 0 0.7rem !important;
}

.fm-variations-shell {
  gap: 0.9rem;
  margin: 1rem 0 0.25rem;
}

.fm-variation-group {
  grid-template-columns: minmax(84px, 104px) minmax(0, 1fr);
  gap: 0.8rem;
  align-items: start;
}

.fm-variation-group__label {
  padding-top: 0.65rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fm-variation-group--image .fm-variation-group__options {
  gap: 0.55rem;
}

.fm-variation-option {
  box-shadow: none;
}

.fm-variation-option--image {
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.fm-variation-option--image:hover,
.fm-variation-option--image.is-active {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.fm-variation-option--image .fm-variation-option__media {
  display: block;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
}

.fm-variation-option--image .fm-variation-option__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform var(--fm-transition), opacity var(--fm-transition);
}

.fm-variation-option--image.is-active .fm-variation-option__media img {
  transform: translateY(-1px);
  opacity: 1;
}

.fm-variation-option--image.is-empty .fm-variation-option__media {
  background: rgba(15, 23, 42, 0.05);
}

.fm-variation-option--pill {
  min-height: 42px;
  padding: 0.55rem 0.95rem;
  border-radius: 14px;
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.94);
}

.fm-variation-option--pill .fm-variation-option__text {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--fm-text);
}

.fm-product-microcopy {
  margin: 1rem 0 0;
  gap: 0.6rem;
}

.fm-product-microcopy span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 40px;
  padding: 0.6rem 0;
  border-radius: 0;
  background: transparent;
  color: var(--fm-text);
  font-size: 0.9rem;
  font-weight: 600;
}

.fm-product-microcopy svg {
  width: 16px;
  height: 16px;
  color: var(--fm-gold);
}

.fm-product-assurances {
  display: none;
}

.fm-product-sidebar-content {
  position: sticky;
  top: calc(92px + 1rem);
}

.fm-product-sidebar-content > *:last-child {
  margin-bottom: 0;
}

.fm-product-shell__summary > *,
.single-product div.product .summary > * {
  align-self: center;
  text-align: center;
}

.single-product .summary .price,
.single-product .woocommerce-product-details__short-description,
.single-product div.product form.cart,
.single-product .variations_form,
.single-product table.variations,
.single-product .single_variation_wrap,
.single-product .woocommerce-variation-add-to-cart,
.single-product .woocommerce-variation.single_variation {
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.single-product .summary .price,
.single-product .woocommerce-variation-add-to-cart,
.single-product div.product form.cart {
  align-items: center;
  justify-content: center;
}

.fm-variation-group {
  grid-template-columns: 1fr;
  justify-items: center;
}

.fm-variation-group__options,
.single-product .variations select,
.single-product .reset_variations,
.single-product .woocommerce-variation-description,
.single-product .woocommerce-variation-price {
  text-align: center;
  justify-content: center;
}

.single-product .woocommerce-product-details__short-description p {
  text-align: center;
}

.single-product .product_meta,
.single-product .fm-product-category,
.single-product .fm-product-microcopy {
  display: none !important;
}

.fm-product-sidebar-content .button,
.fm-product-sidebar-content button,
.fm-product-sidebar-content input[type='button'],
.fm-product-sidebar-content input[type='submit'],
.fm-product-sidebar-content .wp-element-button,
.fm-product-sidebar-content a.wp-element-button,
.fm-product-sidebar-content a.button {
  background: var(--fm-text) !important;
  color: #fff !important;
  border-color: var(--fm-text) !important;
}

.fm-product-sidebar-content a {
  color: var(--fm-text);
}

.fm-product-sidebar-content .button:hover,
.fm-product-sidebar-content button:hover,
.fm-product-sidebar-content input[type='button']:hover,
.fm-product-sidebar-content input[type='submit']:hover,
.fm-product-sidebar-content .wp-element-button:hover,
.fm-product-sidebar-content a.wp-element-button:hover,
.fm-product-sidebar-content a.button:hover {
  background: var(--fm-accent) !important;
  color: #fff !important;
  border-color: var(--fm-accent) !important;
}

.fm-product-sidebar-content iframe,
.fm-product-sidebar-content video,
.fm-product-sidebar-content embed,
.fm-product-sidebar-content object {
  width: 100%;
  max-width: 100%;
  border: 0;
  border-radius: 0;
}

.fm-product-sidebar-content img {
  border-radius: 0;
}

.single-product .woocommerce-product-gallery__trigger,
.single-product .flex-control-thumbs {
  display: none !important;
}

.single-product .flex-direction-nav {
  display: block !important;
}

.single-product .flex-direction-nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--fm-text) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
  border-radius: 0 !important;
  overflow: visible;
  background: transparent !important;
  box-shadow: none;
}

.single-product .woocommerce-product-gallery__image {
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image img {
  width: 100%;
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

@media (max-width: 1220px) {
  .fm-product-shell {
    grid-template-columns: minmax(280px, 0.85fr) minmax(360px, 1.15fr);
    grid-template-areas:
      'gallery summary'
      'sidebar sidebar';
  }

  .fm-product-shell__sidebar,
  .fm-product-sidebar-content,
  .fm-product-shell > .woocommerce-product-gallery {
    position: static;
  }
}

@media (max-width: 980px) {
  .fm-product-shell {
    grid-template-columns: 1fr;
    grid-template-areas:
      'gallery'
      'summary'
      'sidebar';
  }

  .single-product .summary .price {
    align-items: center;
  }
}

@media (max-width: 767px) {
  .fm-product-card__media {
    min-height: 228px;
  }

  .fm-product-card__swatches-wrap {
    padding: 0 0.85rem;
  }

  .fm-variation-group {
    grid-template-columns: 1fr;
  }

  .fm-variation-group__label {
    padding-top: 0;
  }

  .fm-variation-option--image,
  .fm-variation-option--image .fm-variation-option__media {
    width: 52px;
    height: 52px;
  }

  .single-product .single_add_to_cart_button,
  .single-product div.product form.cart .button,
  .single-product div.product form.cart button.button.alt {
    min-width: 0;
    width: 100%;
  }
}


/* v1.4.3 plugin harmony on single product */
.single-product div.product .summary > .variations_form,
.single-product div.product .summary > form.cart,
.single-product div.product .summary > .rc-qv-side,
.single-product div.product .summary > .rc-cta-hub,
.single-product div.product .summary > .rc-qv-2col,
.single-product div.product .summary .fm-variations-shell,
.single-product div.product .summary .woocommerce-variation-add-to-cart,
.single-product div.product .summary .single_variation_wrap {
  align-self: stretch;
  text-align: left;
}

.single-product .summary .rc-preco-card {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  transform-origin: top center;
}

.single-product .summary .rc-preco-card .rc-bloco-preco {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.single-product .summary .rc-preco-card .rc-coluna {
  align-items: center;
}

.single-product .summary .rc-qv-2col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
  column-gap: 1rem;
  row-gap: 0.75rem;
  align-items: start;
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.single-product .summary .rc-qv-2col > .fm-variations-shell {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  max-width: none;
}

.single-product .summary .rc-qv-2col > .rc-qv-side {
  grid-column: 2;
  grid-row: 1;
  position: static;
  top: auto;
  min-width: 0;
  width: 100%;
  padding-top: 0.15rem;
  justify-content: flex-start;
}

.single-product .summary .rc-qv-2col > .fm-variations-native {
  display: none !important;
}

.single-product .summary .rc-qv-side .rc-qv-actions {
  width: 100%;
  align-items: stretch;
}

.single-product .summary .rc-qv-side .rc-qv-cta-wrap,
.single-product .summary .rc-qv-side .rc-qv-open {
  width: 100%;
}

.single-product .summary .rc-qv-side .rc-qv-open {
  justify-content: center;
}

.single-product .summary .fm-variations-shell {
  align-items: stretch;
}

.single-product .summary .fm-variation-group {
  grid-template-columns: minmax(88px, 110px) minmax(0, 1fr);
  justify-items: stretch;
}

.single-product .summary .fm-variation-group__label {
  padding-top: 0.45rem;
  text-align: left;
}

.single-product .summary .fm-variation-group__options,
.single-product .summary .variations select,
.single-product .summary .reset_variations,
.single-product .summary .woocommerce-variation-description,
.single-product .summary .woocommerce-variation-price {
  text-align: left;
  justify-content: flex-start;
}

.single-product .summary .woocommerce-variation-add-to-cart,
.single-product .summary div.product form.cart,
.single-product div.product .summary form.cart {
  justify-content: flex-start;
  align-items: center;
}

.single-product .summary .woocommerce-variation.single_variation,
.single-product .summary .woocommerce-variation-price,
.single-product .summary .woocommerce-variation-description {
  text-align: left;
}

@media (max-width: 980px) {
  .single-product .summary .rc-qv-2col {
    grid-template-columns: 1fr;
  }

  .single-product .summary .rc-qv-2col > .rc-qv-side {
    grid-column: 1;
    grid-row: 2;
  }
}


/* v1.4.5 action hub typography + coupon alignment */
.single-product .summary .fm-variations-shell {
  gap: 0.55rem;
}

.single-product .summary .rc-qv-2col {
  grid-template-columns: minmax(0, 1fr) max-content;
  column-gap: 0.9rem;
}

.single-product .summary .rc-qv-2col > .rc-qv-side {
  width: max-content;
  max-width: 100%;
}

.single-product .summary .fm-variation-group {
  grid-template-columns: minmax(68px, 82px) minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
}

.single-product .summary .fm-variation-group__label {
  padding-top: 0.3rem;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.single-product .summary .fm-variation-group__options {
  gap: 0.42rem;
}

.single-product .summary .fm-variation-option {
  box-shadow: none;
  background: transparent;
}

.single-product .summary .fm-variation-option:hover {
  transform: translateY(-1px);
}

.single-product .summary .fm-variation-option.is-active {
  background: transparent;
  box-shadow: 0 0 0 2px rgba(139, 111, 71, 0.1);
}

.single-product .summary .fm-variation-option--pill {
  min-height: 32px;
  padding: 0.42rem 0.78rem;
  border-width: 1px;
  border-color: rgba(15, 23, 42, 0.11);
  border-radius: 999px;
  background: transparent;
}

.single-product .summary .fm-variation-option--pill:hover {
  border-color: rgba(15, 23, 42, 0.18);
  background: transparent;
}

.single-product .summary .fm-variation-option--pill.is-active {
  border-color: rgba(139, 111, 71, 0.42);
  background: transparent;
}

.single-product .summary .fm-variation-option--pill .fm-variation-option__text {
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.single-product .summary .fm-variation-option--image,
.single-product .summary .fm-variation-option--image .fm-variation-option__media {
  width: 46px;
  height: 46px;
}

.single-product .summary .fm-variation-option--image .fm-variation-option__media img {
  filter: none;
}

.single-product .summary .rc-qv-side {
  --fm-action-unified-width: auto;
}

.single-product .summary .rc-qv-side .rc-qv-actions {
  width: max-content;
  max-width: 100%;
  align-items: stretch;
}

.single-product .summary .rc-qv-side .rc-qv-actions > *,
.single-product .summary .rc-qv-side .rc-qv-cta-wrap,
.single-product .summary .rc-qv-side > a.rc-qv-open,
.single-product .summary .rc-qv-side > button.rc-qv-open {
  width: var(--fm-action-unified-width, auto);
  max-width: 100%;
}

.single-product .summary .rc-qv-side .rc-qv-open,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  min-height: 40px;
  padding: 0.66rem 1.08rem;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.005em;
  text-align: center;
  color: var(--fm-accent-soft) !important;
  background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(244, 238, 228, 0.98)) !important;
  border: 1px solid rgba(139, 111, 71, 0.16) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

.single-product .summary .rc-qv-side .rc-qv-open:hover,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn:hover,
.single-product .summary .rc-qv-side .rc-qv-open:focus-visible,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn:focus-visible {
  color: var(--fm-accent) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 242, 233, 1)) !important;
  border-color: rgba(139, 111, 71, 0.28) !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12) !important;
}

.single-product .summary .rc-qv-side .rc-qv-cta-wrap {
  display: flex;
  justify-content: center;
}

.single-product .summary .rc-qv-side .rc-qv-open::before,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn::before {
  margin-right: 0 !important;
  flex: 0 0 auto;
}

.single-product .summary .rc-qv-side .rc-qv-open.rc-qv-coupon,
.single-product .summary .rc-qv-side [data-rc-cta="coupon"] > .rc-qv-open {
  justify-content: center !important;
  text-align: center !important;
  padding-inline: 1.08rem !important;
}

@media (max-width: 980px) {
  .single-product .summary .rc-qv-2col {
    grid-template-columns: 1fr;
  }

  .single-product .summary .rc-qv-2col > .rc-qv-side,
  .single-product .summary .rc-qv-side .rc-qv-actions,
  .single-product .summary .rc-qv-side .rc-qv-actions > *,
  .single-product .summary .rc-qv-side .rc-qv-cta-wrap,
  .single-product .summary .rc-qv-side > a.rc-qv-open,
  .single-product .summary .rc-qv-side > button.rc-qv-open {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .single-product .summary .fm-variation-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.35rem;
  }

  .single-product .summary .fm-variation-group__label {
    padding-top: 0;
    font-size: 0.68rem;
  }

  .single-product .summary .fm-variation-option--image,
  .single-product .summary .fm-variation-option--image .fm-variation-option__media {
    width: 42px;
    height: 42px;
  }
}


/* v1.4.6 slimmer action buttons + reduced youtube sidebar */
.single-product .summary .rc-qv-side .rc-qv-open,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
  gap: 0.4rem;
  min-height: 34px;
  padding: 0.48rem 0.94rem;
  font-size: 0.68rem;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: 0;
  color: #5c5246 !important;
  background: linear-gradient(180deg, rgba(247, 244, 239, 0.98), rgba(239, 233, 224, 0.98)) !important;
  border: 1px solid rgba(108, 94, 76, 0.14) !important;
  box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06) !important;
}

.single-product .summary .rc-qv-side .rc-qv-open:hover,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn:hover,
.single-product .summary .rc-qv-side .rc-qv-open:focus-visible,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn:focus-visible {
  color: #4f463c !important;
  background: linear-gradient(180deg, rgba(250, 247, 243, 1), rgba(242, 237, 229, 1)) !important;
  border-color: rgba(108, 94, 76, 0.22) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.09) !important;
}

.single-product .summary .rc-qv-side .rc-qv-open::before,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn::before {
  transform: scale(0.92);
}

.single-product .summary .rc-qv-side .rc-qv-open.rc-qv-coupon,
.single-product .summary .rc-qv-side [data-rc-cta="coupon"] > .rc-qv-open {
  justify-content: center !important;
  align-items: center !important;
}

.fm-product-sidebar-content {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.92rem;
}

.fm-product-sidebar-content > * {
  max-width: 100%;
}

@media (max-width: 1220px) {
  .fm-product-sidebar-content {
    width: 88%;
  }
}

@media (max-width: 767px) {
  .single-product .summary .rc-qv-side .rc-qv-open,
  .single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
    min-height: 32px;
    padding: 0.46rem 0.86rem;
    font-size: 0.66rem;
  }

  .fm-product-sidebar-content {
    width: 100%;
    font-size: 0.9rem;
  }
}


/* v1.4.7 ultra slim product actions + gallery arrows */
.single-product .summary .rc-qv-side .rc-qv-actions {
  gap: 0.28rem;
}

.single-product .summary .rc-qv-side .rc-qv-open,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
  gap: 0.34rem;
  min-height: 28px;
  padding: 0.32rem 0.82rem;
  font-size: 0.62rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.005em;
  border-radius: 999px !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.05) !important;
}

.single-product .summary .rc-qv-side .rc-qv-open::before,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn::before {
  transform: scale(0.84);
}

.single-product .summary .rc-qv-side .rc-qv-open.rc-qv-coupon,
.single-product .summary .rc-qv-side [data-rc-cta="coupon"] > .rc-qv-open {
  padding-inline: 0.82rem !important;
}

.single-product .woocommerce-product-gallery {
  position: relative;
}

.single-product .flex-direction-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-product .flex-direction-nav .flex-nav-prev,
.single-product .flex-direction-nav .flex-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
}

.single-product .flex-direction-nav .flex-nav-prev {
  left: 0.75rem;
}

.single-product .flex-direction-nav .flex-nav-next {
  right: 0.75rem;
}

.single-product .flex-direction-nav a {
  position: relative;
  overflow: hidden;
  font-size: 0;
  text-indent: -9999px;
}

.single-product .flex-direction-nav .flex-prev::before,
.single-product .flex-direction-nav .flex-next::before,
.single-product .fm-gallery-nav__button::before {
  display: block;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  text-indent: 0;
}

.single-product .flex-direction-nav .flex-prev::before,
.single-product .fm-gallery-nav__button--prev::before {
  content: '‹';
}

.single-product .flex-direction-nav .flex-next::before,
.single-product .fm-gallery-nav__button--next::before {
  content: '›';
}

.single-product .flex-direction-nav .flex-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.single-product .fm-gallery-nav {
  pointer-events: none;
}

.single-product .fm-gallery-nav__button {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(108, 94, 76, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10);
}

.single-product .fm-gallery-nav__button--prev {
  left: 0.75rem;
}

.single-product .fm-gallery-nav__button--next {
  right: 0.75rem;
}

@media (max-width: 767px) {
  .single-product .summary .rc-qv-side .rc-qv-actions {
    gap: 0.24rem;
  }

  .single-product .summary .rc-qv-side .rc-qv-open,
  .single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
    min-height: 27px;
    padding: 0.3rem 0.72rem;
    font-size: 0.6rem;
  }

  .single-product .flex-direction-nav .flex-nav-prev,
  .single-product .fm-gallery-nav__button--prev {
    left: 0.5rem;
  }

  .single-product .flex-direction-nav .flex-nav-next,
  .single-product .fm-gallery-nav__button--next {
    right: 0.5rem;
  }

  .single-product .flex-direction-nav a,
  .single-product .fm-gallery-nav__button {
    width: 36px;
    height: 36px;
  }
}


/* v1.4.8 smaller gallery arrows + compact variation typography */
.single-product .summary .fm-variation-group {
  grid-template-columns: minmax(60px, 74px) minmax(0, 1fr);
  gap: 0.42rem;
}

.single-product .summary .fm-variation-group__label {
  padding-top: 0.18rem;
  font-size: 0.64rem;
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: 0.08em;
}

.single-product .summary .fm-variation-group__options {
  gap: 0.34rem;
}

.single-product .summary .fm-variation-option--pill {
  min-height: 24px;
  padding: 0.22rem 0.62rem;
  border-width: 1px;
  border-color: rgba(15, 23, 42, 0.12);
  border-radius: 999px;
}

.single-product .summary .fm-variation-option--pill .fm-variation-option__text {
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
}

.single-product .summary .fm-variation-option--pill:hover {
  border-color: rgba(15, 23, 42, 0.18);
}

.single-product .summary .fm-variation-option--pill.is-active {
  border-color: rgba(139, 111, 71, 0.34);
}

.single-product .woocommerce-product-gallery {
  overflow: visible;
}

.single-product .flex-direction-nav .flex-nav-prev,
.single-product .fm-gallery-nav__button--prev {
  left: -16px;
}

.single-product .flex-direction-nav .flex-nav-next,
.single-product .fm-gallery-nav__button--next {
  right: -16px;
}

.single-product .flex-direction-nav a,
.single-product .fm-gallery-nav__button {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(92, 82, 70, 0.84);
  opacity: 0.9;
}

.single-product .flex-direction-nav .flex-prev::before,
.single-product .flex-direction-nav .flex-next::before,
.single-product .fm-gallery-nav__button::before {
  font-size: 18px;
  font-weight: 400;
}

.single-product .flex-direction-nav a:hover,
.single-product .fm-gallery-nav__button:hover,
.single-product .flex-direction-nav a:focus-visible,
.single-product .fm-gallery-nav__button:focus-visible {
  background: transparent;
  box-shadow: none;
  color: rgba(92, 82, 70, 1);
  opacity: 1;
}

@media (max-width: 767px) {
  .single-product .summary .fm-variation-group {
    gap: 0.32rem;
  }

  .single-product .summary .fm-variation-group__label {
    font-size: 0.6rem;
    letter-spacing: 0.07em;
  }

  .single-product .summary .fm-variation-group__options {
    gap: 0.28rem;
  }

  .single-product .summary .fm-variation-option--pill {
    min-height: 23px;
    padding: 0.2rem 0.56rem;
  }

  .single-product .summary .fm-variation-option--pill .fm-variation-option__text {
    font-size: 0.68rem;
  }

  .single-product .flex-direction-nav .flex-nav-prev,
  .single-product .fm-gallery-nav__button--prev {
    left: -10px;
  }

  .single-product .flex-direction-nav .flex-nav-next,
  .single-product .fm-gallery-nav__button--next {
    right: -10px;
  }

  .single-product .flex-direction-nav a,
  .single-product .fm-gallery-nav__button {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
  }

  .single-product .flex-direction-nav .flex-prev::before,
  .single-product .flex-direction-nav .flex-next::before,
  .single-product .fm-gallery-nav__button::before {
    font-size: 16px;
  }
}


/* v1.4.12 finer variation typography */
.single-product .summary .fm-variation-group {
  grid-template-columns: minmax(54px, 68px) minmax(0, 1fr);
  gap: 0.3rem;
}

.single-product .summary .fm-variation-group__label {
  padding-top: 0.08rem;
  font-size: 0.57rem;
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: 0.07em;
}

.single-product .summary .fm-variation-group__options {
  gap: 0.26rem;
}

.single-product .summary .fm-variation-option--pill {
  min-height: 20px;
  padding: 0.12rem 0.54rem;
  border-width: 1px;
  border-radius: 999px;
}

.single-product .summary .fm-variation-option--pill .fm-variation-option__text {
  font-size: 0.66rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
}

@media (max-width: 767px) {
  .single-product .summary .fm-variation-group {
    grid-template-columns: minmax(50px, 62px) minmax(0, 1fr);
  }

  .single-product .summary .fm-variation-group__label {
    font-size: 0.55rem;
  }

  .single-product .summary .fm-variation-option--pill {
    min-height: 19px;
    padding: 0.11rem 0.48rem;
  }

  .single-product .summary .fm-variation-option--pill .fm-variation-option__text {
    font-size: 0.62rem;
  }
}

/* v1.4.13 related products + description cleanup */
.single-product section.related.products,
.single-product .up-sells.upsells.products,
.single-product .cross-sells{
  width:100%;
  clear:both;
}

.single-product section.related.products ul.products,
.single-product .up-sells.upsells.products ul.products,
.single-product .cross-sells ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(0.95rem,1.8vw,1.25rem);
  margin:1rem 0 0 !important;
  padding:0 !important;
  align-items:stretch;
}

.single-product section.related.products ul.products li.product,
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .cross-sells ul.products li.product{
  float:none !important;
  width:auto !important;
  clear:none !important;
  margin:0 !important;
}

.single-product .woocommerce-tabs{
  margin-top:1.35rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.single-product .woocommerce-tabs ul.tabs{
  display:none !important;
}

.single-product .woocommerce-Tabs-panel{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

.single-product .woocommerce-Tabs-panel > h2:first-child{
  display:none;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .single-product section.related.products ul.products,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products{
    grid-template-columns:1fr;
  }
}


/* v1.4.14 related products + description shell restoration */
.single-product section.related.products ul.products li.product,
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .cross-sells ul.products li.product{
  display:block !important;
  min-width:0;
}

.single-product section.related.products .fm-product-card__inner,
.single-product .up-sells.upsells.products .fm-product-card__inner,
.single-product .cross-sells .fm-product-card__inner{
  width:100%;
  min-width:0;
  border-radius:28px;
}

.single-product section.related.products .fm-product-card__media,
.single-product .up-sells.upsells.products .fm-product-card__media,
.single-product .cross-sells .fm-product-card__media{
  min-height:220px;
  padding:0.8rem 0.95rem 0.2rem;
}

.single-product section.related.products .fm-product-card__primary-image,
.single-product .up-sells.upsells.products .fm-product-card__primary-image,
.single-product .cross-sells .fm-product-card__primary-image{
  width:84%;
  max-width:84%;
}

.single-product section.related.products .fm-product-card__swatches-wrap,
.single-product .up-sells.upsells.products .fm-product-card__swatches-wrap,
.single-product .cross-sells .fm-product-card__swatches-wrap{
  display:block;
  width:100%;
  padding:0 0.9rem;
}

.single-product section.related.products .fm-product-card__body,
.single-product .up-sells.upsells.products .fm-product-card__body,
.single-product .cross-sells .fm-product-card__body{
  gap:0.3rem;
  padding-top:0.85rem;
}

.single-product .woocommerce-tabs{
  margin-top:1.35rem;
  padding:clamp(1.15rem,1.8vw,1.6rem);
  border:1px solid rgba(233, 226, 214, 0.92);
  border-radius:28px;
  background:rgba(255,255,255,0.88);
  box-shadow:var(--fm-shadow-soft);
}

.single-product .woocommerce-Tabs-panel{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}

.single-product .woocommerce-Tabs-panel--description,
.single-product #tab-description{
  line-height:1.75;
}


/* v1.4.15 related products hardening */
.single-product article.fm-single-product > section.related.products,
.single-product article.fm-single-product > .up-sells.upsells.products,
.single-product article.fm-single-product > .cross-sells,
.single-product .fm-single-product > section.related.products,
.single-product .fm-single-product > .up-sells.upsells.products,
.single-product .fm-single-product > .cross-sells{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
  align-self:stretch !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.single-product section.related.products ul.products,
.single-product .up-sells.upsells.products ul.products,
.single-product .cross-sells ul.products{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:stretch !important;
  gap:clamp(0.95rem,1.8vw,1.25rem) !important;
  margin:1rem 0 0 !important;
  padding:0 !important;
}

.single-product section.related.products ul.products > li.product,
.single-product .up-sells.upsells.products ul.products > li.product,
.single-product .cross-sells ul.products > li.product{
  flex:0 0 calc((100% - (3 * clamp(0.95rem, 1.8vw, 1.25rem))) / 4) !important;
  max-width:calc((100% - (3 * clamp(0.95rem, 1.8vw, 1.25rem))) / 4) !important;
  width:calc((100% - (3 * clamp(0.95rem, 1.8vw, 1.25rem))) / 4) !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
}

.single-product section.related.products .fm-product-card,
.single-product .up-sells.upsells.products .fm-product-card,
.single-product .cross-sells .fm-product-card{
  width:100% !important;
  max-width:none !important;
}

.single-product section.related.products .fm-product-card__inner,
.single-product .up-sells.upsells.products .fm-product-card__inner,
.single-product .cross-sells .fm-product-card__inner{
  height:100%;
  min-height:100%;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products > li.product,
  .single-product .up-sells.upsells.products ul.products > li.product,
  .single-product .cross-sells ul.products > li.product{
    flex-basis:calc((100% - clamp(0.95rem, 1.8vw, 1.25rem)) / 2) !important;
    max-width:calc((100% - clamp(0.95rem, 1.8vw, 1.25rem)) / 2) !important;
    width:calc((100% - clamp(0.95rem, 1.8vw, 1.25rem)) / 2) !important;
  }
}

@media (max-width: 640px){
  .single-product section.related.products ul.products > li.product,
  .single-product .up-sells.upsells.products ul.products > li.product,
  .single-product .cross-sells ul.products > li.product{
    flex-basis:100% !important;
    max-width:100% !important;
    width:100% !important;
  }
}


/* v1.4.23 related products grid + loop price parity */
.single-product section.related.products ul.products,
.single-product .up-sells.upsells.products ul.products,
.single-product .cross-sells ul.products,
.single-product .woocommerce section.related.products ul.products,
.single-product .woocommerce .up-sells.upsells.products ul.products,
.single-product .woocommerce .cross-sells ul.products{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(0.95rem,1.8vw,1.25rem) !important;
  width:100% !important;
  max-width:100% !important;
  margin:1rem 0 0 !important;
  padding:0 !important;
  align-items:stretch !important;
}

.single-product section.related.products ul.products > li.product,
.single-product .up-sells.upsells.products ul.products > li.product,
.single-product .cross-sells ul.products > li.product,
.single-product .woocommerce section.related.products ul.products > li.product,
.single-product .woocommerce .up-sells.upsells.products ul.products > li.product,
.single-product .woocommerce .cross-sells ul.products > li.product{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  flex:none !important;
}

.single-product section.related.products .fm-product-card__price-wrap,
.single-product .up-sells.upsells.products .fm-product-card__price-wrap,
.single-product .cross-sells .fm-product-card__price-wrap{
  justify-content:center;
}

.single-product section.related.products .rc-preco-mini,
.single-product .up-sells.upsells.products .rc-preco-mini,
.single-product .cross-sells .rc-preco-mini{
  width:100%;
  margin-top:0 !important;
}

.single-product section.related.products .rc-mini-pix,
.single-product .up-sells.upsells.products .rc-mini-pix,
.single-product .cross-sells .rc-mini-pix{
  font-size:1rem;
}

.single-product section.related.products .rc-mini-parcela,
.single-product .up-sells.upsells.products .rc-mini-parcela,
.single-product .cross-sells .rc-mini-parcela{
  font-size:0.82rem;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products,
  .single-product .woocommerce section.related.products ul.products,
  .single-product .woocommerce .up-sells.upsells.products ul.products,
  .single-product .woocommerce .cross-sells ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .single-product section.related.products ul.products,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products,
  .single-product .woocommerce section.related.products ul.products,
  .single-product .woocommerce .up-sells.upsells.products ul.products,
  .single-product .woocommerce .cross-sells ul.products{
    grid-template-columns:1fr !important;
  }
}


/* v1.4.24 related products desktop lock + swatch visibility */
.single-product section.related.products ul.products.columns-4,
.single-product .woocommerce section.related.products ul.products.columns-4,
.single-product .up-sells.upsells.products ul.products,
.single-product .cross-sells ul.products{
  display:grid !important;
  grid-auto-flow:row !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  gap:clamp(0.8rem, 1.5vw, 1rem) !important;
}

.single-product section.related.products ul.products.columns-4::before,
.single-product section.related.products ul.products.columns-4::after,
.single-product .woocommerce section.related.products ul.products.columns-4::before,
.single-product .woocommerce section.related.products ul.products.columns-4::after,
.single-product .up-sells.upsells.products ul.products::before,
.single-product .up-sells.upsells.products ul.products::after,
.single-product .cross-sells ul.products::before,
.single-product .cross-sells ul.products::after{
  display:none !important;
  content:none !important;
}

.single-product section.related.products ul.products.columns-4 > li.product,
.single-product .woocommerce section.related.products ul.products.columns-4 > li.product,
.single-product .up-sells.upsells.products ul.products > li.product,
.single-product .cross-sells ul.products > li.product{
  grid-column:auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  justify-self:stretch !important;
}

.single-product section.related.products ul.products.columns-4 > li.product.first,
.single-product section.related.products ul.products.columns-4 > li.product.last,
.single-product .woocommerce section.related.products ul.products.columns-4 > li.product.first,
.single-product .woocommerce section.related.products ul.products.columns-4 > li.product.last,
.single-product .up-sells.upsells.products ul.products > li.product.first,
.single-product .up-sells.upsells.products ul.products > li.product.last,
.single-product .cross-sells ul.products > li.product.first,
.single-product .cross-sells ul.products > li.product.last{
  clear:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.single-product section.related.products .fm-product-card__inner,
.single-product .woocommerce section.related.products .fm-product-card__inner,
.single-product .up-sells.upsells.products .fm-product-card__inner,
.single-product .cross-sells .fm-product-card__inner{
  height:100%;
  min-height:100%;
}

.single-product section.related.products .fm-product-card__media,
.single-product .woocommerce section.related.products .fm-product-card__media,
.single-product .up-sells.upsells.products .fm-product-card__media,
.single-product .cross-sells .fm-product-card__media{
  min-height:205px;
  padding:0.7rem 0.8rem 0.1rem;
}

.single-product section.related.products .fm-product-card__primary-image,
.single-product .woocommerce section.related.products .fm-product-card__primary-image,
.single-product .up-sells.upsells.products .fm-product-card__primary-image,
.single-product .cross-sells .fm-product-card__primary-image{
  width:80%;
  max-width:80%;
}

.single-product section.related.products .fm-product-card__swatches-wrap,
.single-product .woocommerce section.related.products .fm-product-card__swatches-wrap,
.single-product .up-sells.upsells.products .fm-product-card__swatches-wrap,
.single-product .cross-sells .fm-product-card__swatches-wrap{
  display:block !important;
  margin-top:-0.1rem;
}

.single-product section.related.products .fm-archive-swatches,
.single-product .woocommerce section.related.products .fm-archive-swatches,
.single-product .up-sells.upsells.products .fm-archive-swatches,
.single-product .cross-sells .fm-archive-swatches{
  gap:0.34rem;
}

.single-product section.related.products .fm-archive-swatches__item,
.single-product .woocommerce section.related.products .fm-archive-swatches__item,
.single-product .up-sells.upsells.products .fm-archive-swatches__item,
.single-product .cross-sells .fm-archive-swatches__item{
  width:24px;
  height:24px;
}

.single-product section.related.products .fm-product-card__body,
.single-product .woocommerce section.related.products .fm-product-card__body,
.single-product .up-sells.upsells.products .fm-product-card__body,
.single-product .cross-sells .fm-product-card__body{
  gap:0.18rem;
  padding-top:0.55rem;
}

.single-product section.related.products .fm-product-card__title,
.single-product .woocommerce section.related.products .fm-product-card__title,
.single-product .up-sells.upsells.products .fm-product-card__title,
.single-product .cross-sells .fm-product-card__title{
  font-size:0.98rem;
}

@media (max-width: 980px){
  .single-product section.related.products ul.products.columns-4,
  .single-product .woocommerce section.related.products ul.products.columns-4,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .single-product section.related.products ul.products.columns-4,
  .single-product .woocommerce section.related.products ul.products.columns-4,
  .single-product .up-sells.upsells.products ul.products,
  .single-product .cross-sells ul.products{
    grid-template-columns:1fr !important;
  }
}


/* v1.4.26 single-product action hub split-column alignment */
@media (min-width: 981px) {
  .single-product .summary .rc-qv-2col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(1rem, 2.4vw, 2.25rem);
    row-gap: 0.75rem;
    align-items: start;
    max-width: 820px;
    width: 100%;
  }

  .single-product .summary .rc-qv-2col > .rc-qv-side {
    grid-column: 1;
    grid-row: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    margin: 0;
  }

  .single-product .summary .rc-qv-side .rc-qv-actions,
  .single-product .summary .rc-qv-side .rc-qv-cta-wrap {
    width: 100%;
    justify-content: flex-start;
    align-items: stretch;
  }

  .single-product .summary .rc-qv-side .rc-qv-actions {
    margin-right: auto;
  }

  .single-product .summary .rc-qv-2col > .fm-variations-shell {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    align-items: flex-end;
  }

  .single-product .summary .fm-variations-shell {
    gap: 0.45rem;
  }

  .single-product .summary .fm-variation-group {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    grid-template-columns: auto auto;
    justify-content: end;
    justify-items: end;
    gap: 0.42rem 0.55rem;
  }

  .single-product .summary .fm-variation-group__label {
    text-align: right;
    padding-top: 0.08rem;
  }

  .single-product .summary .fm-variation-group__options,
  .single-product .summary .variations select,
  .single-product .summary .reset_variations,
  .single-product .summary .woocommerce-variation-description,
  .single-product .summary .woocommerce-variation-price,
  .single-product .summary .woocommerce-variation.single_variation {
    justify-content: flex-end;
    text-align: right;
  }
}


/* v1.4.27 single-product action hub two-column edge alignment */
@media (min-width: 981px) {
  .single-product .summary .rc-qv-2col {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(1rem, 2.2vw, 2rem);
    row-gap: 0.75rem;
    align-items: start;
    max-width: 820px;
    width: 100%;
  }

  .single-product .summary .rc-qv-2col > .fm-variations-shell {
    grid-column: 1;
    grid-row: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    align-items: flex-end;
  }

  .single-product .summary .fm-variations-shell {
    gap: 0.45rem;
  }

  .single-product .summary .fm-variation-group {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    grid-template-columns: auto auto;
    justify-content: end;
    justify-items: end;
    gap: 0.42rem 0.55rem;
  }

  .single-product .summary .fm-variation-group__label {
    text-align: right;
    padding-top: 0.08rem;
  }

  .single-product .summary .fm-variation-group__options,
  .single-product .summary .variations select,
  .single-product .summary .reset_variations,
  .single-product .summary .woocommerce-variation-description,
  .single-product .summary .woocommerce-variation-price,
  .single-product .summary .woocommerce-variation.single_variation {
    justify-content: flex-end;
    text-align: right;
  }

  .single-product .summary .rc-qv-2col > .rc-qv-side {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    margin: 0;
  }

  .single-product .summary .rc-qv-side .rc-qv-actions {
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: 0;
    align-items: stretch;
  }

  .single-product .summary .rc-qv-side .rc-qv-actions,
  .single-product .summary .rc-qv-side .rc-qv-cta-wrap {
    justify-content: flex-start;
  }

  .single-product .summary .rc-qv-side .rc-qv-cta-wrap,
  .single-product .summary .rc-qv-side .rc-qv-actions > *,
  .single-product .summary .rc-qv-side > a.rc-qv-open,
  .single-product .summary .rc-qv-side > button.rc-qv-open {
    width: var(--fm-action-unified-width, auto);
    max-width: 100%;
  }
}


/* v1.4.28 action text centering + compact buy button */
@media (min-width: 981px) {
  .single-product .summary .rc-qv-2col > .rc-qv-side {
    display: flex;
    justify-content: flex-start;
  }

  .single-product .summary .rc-qv-side .rc-qv-actions {
    align-items: flex-start;
    margin-left: 0;
    margin-right: auto;
  }

  .single-product .summary .rc-qv-side .rc-qv-cta-wrap {
    justify-content: flex-start;
  }
}

.single-product .summary .rc-qv-side .rc-qv-open,
.single-product .summary .rc-qv-side .rc-qv-affiliatebtn {
  justify-content: center !important;
  text-align: center !important;
}

.single-product .summary .single_variation_wrap {
  margin-top: clamp(0.95rem, 1.8vw, 1.35rem);
}

.single-product .summary .woocommerce-variation-add-to-cart {
  display: flex;
  flex-direction: column;
  align-items: center !important;
  justify-content: flex-start;
  gap: 0.78rem;
}

.single-product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product .summary .single_add_to_cart_button,
.single-product div.product form.cart button.single_add_to_cart_button.button.alt {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0 !important;
  height: 38px;
  min-height: 38px;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
  border: 1px solid #111827 !important;
  background: #111827 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.single-product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover,
.single-product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button:focus-visible,
.single-product .summary .single_add_to_cart_button:hover,
.single-product .summary .single_add_to_cart_button:focus-visible {
  border-color: #0f172a !important;
  background: #0f172a !important;
  color: #ffffff !important;
}


/* v1.4.29 hide duplicate variation price above buy button */
.single-product .summary .woocommerce-variation-price,
.single-product .summary .woocommerce-variation.single_variation .woocommerce-variation-price,
.single-product .summary .woocommerce-variation.single_variation .price,
.single-product .summary .woocommerce-variation.single_variation p.price,
.single-product .summary .woocommerce-variation.single_variation span.price {
  display: none !important;
}

.single-product .summary .woocommerce-variation.single_variation {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}


/* v1.4.31 rebalance summary column so enlarged gallery image stays fully visible */
.single-product .fm-product-shell {
  grid-template-columns: minmax(340px, 0.86fr) minmax(300px, 0.9fr) minmax(210px, 0.44fr);
  gap: clamp(1rem, 1.7vw, 1.4rem);
}

.single-product .fm-product-shell__summary {
  width: 100%;
  max-width: 510px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1220px) {
  .single-product .fm-product-shell {
    grid-template-columns: minmax(320px, 0.94fr) minmax(300px, 0.96fr);
    gap: clamp(1rem, 2vw, 1.5rem);
  }

  .single-product .fm-product-shell__summary {
    max-width: 520px;
  }
}


/* v1.4.32 restore pre-enlargement single-product gallery balance */
.single-product .woocommerce-product-gallery__image img {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 980px) {
  .single-product .woocommerce-product-gallery__image img {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .single-product .woocommerce-product-gallery__image img {
    width: 100%;
    max-width: 100%;
  }
}

.single-product .fm-product-shell {
  grid-template-columns: minmax(260px, 0.72fr) minmax(420px, 1.15fr) minmax(240px, 0.5fr);
  gap: clamp(0.9rem, 1.4vw, 1.2rem);
}

.single-product .fm-product-shell__summary {
  width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 1220px) {
  .single-product .fm-product-shell {
    grid-template-columns: minmax(280px, 0.85fr) minmax(360px, 1.15fr);
    gap: clamp(0.9rem, 1.4vw, 1.2rem);
  }

  .single-product .fm-product-shell__summary {
    max-width: none;
  }
}

/* v1.4.32 lock archive/shop/related product-card content positions */
.fm-product-card__inner {
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.fm-product-card__swatches-wrap {
  min-height: 38px;
}

.fm-product-card__body {
  display: grid;
  grid-template-rows: minmax(2.8rem, auto) minmax(2.7em, auto) minmax(3rem, auto);
  align-content: start;
  align-items: start;
}

.fm-product-card__topline--center {
  min-height: 2.8rem;
  align-content: start;
}

.fm-product-card__title {
  width: 100%;
  min-height: 2.7em;
  margin-bottom: 0;
}

.fm-product-card__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.fm-product-card__price-wrap,
.fm-product-card__price-wrap--center {
  min-height: 3rem;
  align-content: start;
  margin-top: 0;
}

.fm-product-card__price-wrap .rc-preco-mini {
  width: 100%;
}


/* v1.4.33 PDP gallery balance + card position locking */
.fm-product-card__body {
  display: grid !important;
  grid-template-rows: 3.35rem minmax(2.7em, auto) 1fr !important;
  align-content: start;
}

.fm-product-card__topline,
.fm-product-card__topline--center {
  min-height: 3.35rem !important;
  margin-bottom: 0 !important;
  align-content: start;
}

.fm-product-card__title {
  min-height: 2.7em !important;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0.2rem 0 0 !important;
}

.fm-product-card__title a {
  width: 100%;
}

.fm-product-card__price-wrap,
.fm-product-card__price-wrap--center {
  align-self: end;
}

.single-product .fm-product-shell > .woocommerce-product-gallery {
  position: static !important;
  top: auto !important;
}


.fm-product-promo-banner {
  margin: 0 0 1rem;
}

.fm-product-promo-banner .rc-mp-hero {
  margin: 0 !important;
}

.fm-product-promo-banner .rc-mp-hero__wrap {
  grid-template-columns: minmax(0, 1.68fr) minmax(236px, 0.84fr) !important;
  gap: 8px !important;
  padding: 14px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 244, 238, 0.98) 100%) !important;
  border: 1px solid var(--fm-line) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06) !important;
}

.fm-product-promo-banner .rc-mp-hero__topline {
  height: 3px !important;
  background: rgba(18, 24, 38, 0.06) !important;
}

.fm-product-promo-banner .rc-mp-hero__toplineFill {
  background: linear-gradient(90deg, var(--fm-gold) 0%, #c9a96b 100%) !important;
}

.fm-product-promo-banner .rc-mp-chips {
  gap: 5px !important;
}

.fm-product-promo-banner .rc-mp-chip,
.fm-product-promo-banner .rc-mp-vchip {
  min-height: 24px !important;
  padding: 3px 8px !important;
  border-color: rgba(18, 24, 38, 0.08) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  color: var(--fm-text) !important;
  font-size: 8px !important;
  letter-spacing: 0.06em !important;
}

.fm-product-promo-banner .rc-mp-chip--hot,
.fm-product-promo-banner .rc-mp-vchip--hot {
  background: rgba(139, 111, 71, 0.12) !important;
  border-color: rgba(139, 111, 71, 0.18) !important;
  color: var(--fm-text) !important;
}

.fm-product-promo-banner .rc-mp-hero__row {
  gap: 8px !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, 0.84fr) !important;
}

.fm-product-promo-banner .rc-mp-hero__pricebox,
.fm-product-promo-banner .rc-mp-hero__trust,
.fm-product-promo-banner .rc-mp-hero__right {
  padding: 11px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(18, 24, 38, 0.08) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: none !important;
}

.fm-product-promo-banner .rc-mp-producttitle {
  margin: 0 0 5px !important;
  font-size: clamp(13px, 1.3vw, 17px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  color: var(--fm-text) !important;
}

.fm-product-promo-banner .rc-mp-variant {
  max-width: 420px !important;
  gap: 10px !important;
  padding: 9px 11px !important;
  border-radius: 18px !important;
  background: rgba(247, 244, 238, 0.72) !important;
  border: 1px solid var(--fm-line) !important;
}

.fm-product-promo-banner .rc-mp-variant__thumb {
  border-radius: 14px !important;
}

.fm-product-promo-banner .rc-mp-variant__sub {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--fm-muted) !important;
}

.fm-product-promo-banner .rc-mp-pixprice {
  font-size: clamp(19px, 1.95vw, 24px) !important;
  line-height: 1 !important;
  color: var(--fm-text) !important;
}

.fm-product-promo-banner .rc-mp-pixbadge,
.fm-product-promo-banner .rc-mp-vbadge {
  min-height: 18px !important;
  padding: 2px 7px !important;
  border-color: rgba(139, 111, 71, 0.18) !important;
  background: rgba(139, 111, 71, 0.1) !important;
  color: var(--fm-text) !important;
  font-size: 8px !important;
}

.fm-product-promo-banner .rc-mp-hero__headline--compact {
  margin-top: 3px !important;
  min-height: 18px !important;
  font-size: clamp(10px, 0.98vw, 13px) !important;
  line-height: 1.18 !important;
  color: var(--fm-muted) !important;
}

.fm-product-promo-banner .rc-mp-hero__trust {
  gap: 7px !important;
}

.fm-product-promo-banner .rc-mp-hero__trusttitle,
.fm-product-promo-banner .rc-mp-hero__timerlabel {
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--fm-gold) !important;
}

.fm-product-promo-banner .rc-mp-hero__trustlist {
  gap: 5px !important;
}

.fm-product-promo-banner .rc-mp-hero__trustlist li,
.fm-product-promo-banner .rc-mp-hero__urgText,
.fm-product-promo-banner .rc-mp-hero__timerhint {
  font-size: 11px !important;
  line-height: 1.3 !important;
  color: var(--fm-muted) !important;
}

.fm-product-promo-banner .rc-mp-hero__urg {
  gap: 2px !important;
  padding: 8px 10px !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.84) !important;
  border: 1px solid rgba(139, 111, 71, 0.16) !important;
  box-shadow: none !important;
}

.fm-product-promo-banner .rc-mp-hero__urgTitle,
.fm-product-promo-banner .rc-mp-tlab {
  color: var(--fm-gold) !important;
}

.fm-product-promo-banner .rc-mp-timer {
  gap: 4px !important;
}

.fm-product-promo-banner .rc-mp-tbox {
  min-width: 52px !important;
  padding: 6px !important;
  border-radius: 13px !important;
  background: rgba(247, 244, 238, 0.82) !important;
  border: 1px solid var(--fm-line) !important;
  box-shadow: none !important;
}

.fm-product-promo-banner .rc-mp-tbox--days {
  min-width: 62px !important;
}

.fm-product-promo-banner .rc-mp-tnum {
  font-size: clamp(15px, 1.5vw, 20px) !important;
  color: var(--fm-text) !important;
}

.fm-product-promo-banner .rc-mp-tcolon {
  color: rgba(18, 24, 38, 0.22) !important;
}

.fm-product-promo-banner .rc-mp-btn {
  min-height: 38px !important;
  border-radius: 14px !important;
  background: var(--fm-text) !important;
  border-color: var(--fm-text) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
}

.fm-product-promo-banner .rc-mp-btn:hover {
  background: var(--fm-accent-soft) !important;
  border-color: var(--fm-accent-soft) !important;
  box-shadow: none !important;
}

@media (max-width: 980px) {
  .fm-product-promo-banner .rc-mp-hero__wrap {
    padding: 13px !important;
  }

  .fm-product-promo-banner .rc-mp-hero__left > .rc-mp-chips {
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  .fm-product-promo-banner .rc-mp-hero__wrap {
    padding: 12px !important;
    gap: 8px !important;
    border-radius: 22px !important;
  }

  .fm-product-promo-banner .rc-mp-hero__pricebox,
  .fm-product-promo-banner .rc-mp-hero__trust,
  .fm-product-promo-banner .rc-mp-hero__right {
    padding: 10px !important;
    border-radius: 18px !important;
  }
}


/* v1.5.02 product summary first-paint stabilization */
html.fm-js .single-product .summary .variations_form:not(.fm-variations-ready) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  min-height: clamp(280px, 34vw, 420px);
}

html.fm-js .single-product .summary .variations_form.fm-variations-ready {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.18s ease;
}

html.fm-js .single-product .woocommerce-product-details__short-description:not(.fm-shortdesc-ready) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  min-height: 108px;
}

html.fm-js .single-product .woocommerce-product-details__short-description.fm-shortdesc-ready {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.18s ease;
}

@media (max-width: 980px) {
  html.fm-js .single-product .summary .variations_form:not(.fm-variations-ready) {
    min-height: clamp(260px, 54vw, 380px);
  }

  html.fm-js .single-product .woocommerce-product-details__short-description:not(.fm-shortdesc-ready) {
    min-height: 92px;
  }
}


/* v1.5.03 product top section full-width balance on mobile */
.single-product .fm-container--product-hero {
  width: min(1440px, calc(100% - 24px));
  max-width: none;
}

@media (max-width: 980px) {
  .single-product .fm-container--product-hero {
    width: calc(100% - 20px);
  }

  .single-product .fm-single-product,
  .single-product .fm-product-shell,
  .single-product .fm-product-shell > .woocommerce-product-gallery,
  .single-product .fm-product-shell__summary,
  .single-product .fm-product-shell__sidebar,
  .single-product .summary .price,
  .single-product .woocommerce-product-details__short-description,
  .single-product div.product form.cart,
  .single-product .variations_form,
  .single-product table.variations,
  .single-product .single_variation_wrap,
  .single-product .woocommerce-variation-add-to-cart,
  .single-product .woocommerce-variation.single_variation,
  .single-product .summary .rc-qv-2col {
    width: 100%;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-product .fm-product-shell__summary > *,
  .single-product div.product .summary > * {
    align-self: stretch;
    text-align: left;
  }

  .single-product .summary .price,
  .single-product .woocommerce-variation-add-to-cart,
  .single-product div.product form.cart {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .flex-viewport,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image a {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .single-product .fm-container--product-hero {
    width: calc(100% - 16px);
  }
}


/* v1.5.06 mobile product shell full-width until sidebar/youtube */
@media (max-width: 980px) {
  .single-product .site-main--product {
    overflow-x: hidden;
  }

  .single-product .fm-container--product-hero {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .single-product .fm-single-product,
  .single-product .fm-product-shell,
  .single-product .fm-product-shell > .woocommerce-product-gallery,
  .single-product .fm-product-shell__summary,
  .single-product .fm-product-shell__sidebar,
  .single-product .fm-product-sidebar-content,
  .single-product .fm-product-sidebar-content > * {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-product .fm-product-shell {
    gap: 14px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .single-product .fm-product-shell__sidebar,
  .single-product .fm-product-sidebar-content {
    position: static;
    top: auto;
  }

  .single-product .fm-product-sidebar-content iframe,
  .single-product .fm-product-sidebar-content video,
  .single-product .fm-product-sidebar-content embed,
  .single-product .fm-product-sidebar-content object,
  .single-product .fm-product-sidebar-content img,
  .single-product .fm-product-sidebar-content .rc-yt-clean,
  .single-product .fm-product-sidebar-content .rc-yt-clean__list,
  .single-product .fm-product-sidebar-content .rc-yt-clean__item,
  .single-product .fm-product-sidebar-content .rc-yt-clean__more {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .single-product .fm-container--product-hero {
    width: 100%;
  }
}


/* v1.5.07 mobile fallback: keep variations + short description visible */
@media (max-width: 980px) {
  html.fm-js .single-product .summary .variations_form,
  html.fm-js .single-product .summary .variations_form:not(.fm-variations-ready),
  html.fm-js .single-product .summary .variations_form.fm-variations-ready,
  html.fm-js .single-product .woocommerce-product-details__short-description,
  html.fm-js .single-product .woocommerce-product-details__short-description:not(.fm-shortdesc-ready),
  html.fm-js .single-product .woocommerce-product-details__short-description.fm-shortdesc-ready,
  html.fm-js .single-product .woocommerce-product-details__short-description.rc-sd-ready,
  html.fm-js .single-product .woocommerce-product-details__short-description[data-rc-sd-init="1"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    min-height: 0 !important;
  }
}


/* v1.5.08 mobile PDP: enforce single-column shell at high specificity */
@media (max-width: 980px) {
  .single-product .fm-product-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      'gallery'
      'summary'
      'sidebar' !important;
    gap: 14px !important;
  }

  .single-product .fm-product-shell > .woocommerce-product-gallery,
  .single-product .fm-product-shell__summary,
  .single-product .fm-product-shell__sidebar,
  .single-product .fm-product-sidebar-content {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .single-product .fm-product-shell > .woocommerce-product-gallery {
    grid-area: gallery !important;
  }

  .single-product .fm-product-shell__summary {
    grid-area: summary !important;
    align-self: stretch !important;
  }

  .single-product .fm-product-shell__sidebar,
  .single-product .fm-product-sidebar-content {
    grid-area: sidebar !important;
    position: static !important;
    top: auto !important;
  }

  .single-product .fm-product-shell__summary > *,
  .single-product div.product .summary > * {
    width: 100% !important;
    max-width: none !important;
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  .single-product .summary .product_title,
  .single-product .summary .rc-preco-card,
  .single-product .summary .rc-qv-2col,
  .single-product .summary .woocommerce-product-details__short-description,
  .single-product .summary .variations_form,
  .single-product .summary .single_variation_wrap,
  .single-product .summary .woocommerce-variation-add-to-cart,
  .single-product .summary .woocommerce-variation.single_variation,
  .single-product .summary form.cart {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* v1.5.10 mobile PDP: center title + variation groups only */
@media (max-width: 980px) {
  .single-product .summary.entry-summary.fm-product-shell__summary > .product_title,
  .single-product .fm-product-shell__summary > .product_title,
  .single-product div.product .summary h1.product_title,
  .single-product .summary h1.product_title.entry-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .single-product .summary .fm-variations-shell,
  .single-product .summary .fm-variation-group {
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }

  .single-product .summary .fm-variation-group__label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .single-product .summary .fm-variation-group__options,
  .single-product .summary .fm-variation-group--pill .fm-variation-group__options,
  .single-product .summary .fm-variation-group--image .fm-variation-group__options {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.5.11 mobile PDP: center variation labels together with options */
@media (max-width: 980px) {
  .single-product .summary .fm-variation-group,
  .single-product .summary.entry-summary.fm-product-shell__summary .fm-variation-group,
  .single-product .fm-product-shell__summary .fm-variation-group {
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 0.38rem !important;
  }

  .single-product .summary .fm-variation-group__label,
  .single-product .summary.entry-summary.fm-product-shell__summary .fm-variation-group__label,
  .single-product .fm-product-shell__summary .fm-variation-group__label {
    width: 100% !important;
    text-align: center !important;
    justify-self: center !important;
    align-self: center !important;
    padding-top: 0 !important;
    margin: 0 auto !important;
  }

  .single-product .summary .fm-variation-group__options,
  .single-product .summary.entry-summary.fm-product-shell__summary .fm-variation-group__options,
  .single-product .fm-product-shell__summary .fm-variation-group__options {
    width: 100% !important;
    justify-content: center !important;
    justify-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
}

/* v1.5.27 PDP gallery real fix: restore thumbnails, normalize hero image, and add safe JS fallback styling */
.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: auto !important;
  object-fit: contain;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
  overflow: hidden !important;
}

.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
  gap: 10px;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none;
}

.single-product .flex-control-thumbs li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.single-product .flex-control-thumbs img,
.single-product .fm-gallery-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 16px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .flex-control-thumbs img,
.single-product .fm-gallery-thumb img {
  opacity: 0.9;
}

.single-product .flex-control-thumbs .flex-active,
.single-product .fm-gallery-thumb.is-active img {
  opacity: 1;
  border: 0 !important;
  box-shadow: none !important;
}

.single-product .fm-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.single-product .fm-gallery-thumb {
  padding: 0;
  border: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.single-product .flex-direction-nav .flex-nav-prev,
.single-product .fm-gallery-nav__button--prev {
  left: 12px !important;
}

.single-product .flex-direction-nav .flex-nav-next,
.single-product .fm-gallery-nav__button--next {
  right: 12px !important;
}

.single-product .flex-direction-nav a,
.single-product .fm-gallery-nav__button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(108, 94, 76, 0.12) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10) !important;
  color: rgba(92, 82, 70, 0.92) !important;
  opacity: 1 !important;
}

.single-product .flex-direction-nav .flex-prev::before,
.single-product .flex-direction-nav .flex-next::before,
.single-product .fm-gallery-nav__button::before {
  font-size: 20px !important;
}

@media (max-width: 767px) {
  .single-product .flex-control-thumbs,
  .single-product .fm-gallery-thumbs {
    grid-auto-flow: column;
    grid-auto-columns: 72px;
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch;
  }

  .single-product .flex-direction-nav .flex-nav-prev,
  .single-product .fm-gallery-nav__button--prev {
    left: 10px !important;
  }

  .single-product .flex-direction-nav .flex-nav-next,
  .single-product .fm-gallery-nav__button--next {
    right: 10px !important;
  }
}


/* v1.5.28 PDP gallery polish: keep variation hero swap stable and remove framing from thumbnails */
.single-product .flex-control-thumbs li,
.single-product .fm-gallery-thumbs .fm-gallery-thumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* v1.5.31 performance pass 1: cache-friendly PDP, lower CLS, lighter first paint */
/* v1.5.32 performance pass 2: stricter hero-image priority, deferred below-fold work */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
  aspect-ratio: 1 / 1;
}

.single-product .woocommerce-product-gallery__image > a,
.single-product .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
}

.single-product .woocommerce-product-gallery__image img {
  height: auto;
  object-fit: contain;
}

.single-product .fm-product-shell__sidebar iframe,
.single-product .fm-product-sidebar-content iframe {
  width: 100%;
  min-height: 240px;
  aspect-ratio: 16 / 9;
}

.single-product .fm-product-shell__sidebar img,
.single-product .fm-product-sidebar-content img {
  max-width: 100%;
  height: auto;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper {
  min-height: clamp(320px, 42vw, 560px);
}

.single-product .woocommerce-product-gallery__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(320px, 42vw, 560px);
}

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .up-sells,
.single-product .fm-product-shell__sidebar,
.single-product .fm-product-promo-banner,
.single-product .fm-product-sidebar-content,
.single-product .fm-socialproof,
.single-product .woocommerce-Reviews,
.site-footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}

.single-product .fm-product-shell__sidebar iframe,
.single-product .fm-product-sidebar-content iframe,
.single-product .fm-product-shell__sidebar video,
.single-product .fm-product-sidebar-content video {
  content-visibility: auto;
}

@media (max-width: 980px) {
  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__main,
  body.single-product:not(.menu-open) .site-header .site-header__main {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas:
      "brand actions"
      "search search" !important;
    align-items: center;
    column-gap: 0.7rem;
    row-gap: 0.62rem;
    min-height: 68px;
    padding: 0.55rem 0 0.75rem !important;
  }

  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__brand-area,
  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__actions-wrap,
  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__search-area {
    display: flex !important;
  }

  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__actions {
    display: flex !important;
  }

  body.single-product:not(.menu-open) .site-header.is-scrolled .site-header__toggle {
    display: inline-flex !important;
  }
}


/* v1.5.33 hotfix: keep PDP thumbnails in normal flow below the hero without invading the summary/title column */
.single-product .woocommerce-product-gallery {
  aspect-ratio: auto !important;
  height: auto;
  min-width: 0;
}

.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image {
  aspect-ratio: 1 / 1;
}

.single-product .flex-control-thumbs,
.single-product .fm-gallery-thumbs {
  position: static;
  width: 100%;
  clear: both;
}


/* v1.5.36 PDP CLS stabilization */
html.fm-js .single-product .summary .variations_form,
html.fm-js .single-product .summary .variations_form:not(.fm-variations-ready),
html.fm-js .single-product .summary .variations_form.fm-variations-ready,
html.fm-js .single-product .woocommerce-product-details__short-description,
html.fm-js .single-product .woocommerce-product-details__short-description:not(.fm-shortdesc-ready),
html.fm-js .single-product .woocommerce-product-details__short-description.fm-shortdesc-ready,
html.fm-js .single-product .woocommerce-product-details__short-description.rc-sd-ready,
html.fm-js .single-product .woocommerce-product-details__short-description[data-rc-sd-init="1"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  min-height: 0 !important;
}

.single-product .site-main--product {
  overflow-x: clip;
}

.single-product .fm-product-shell {
  align-items: start;
}

.single-product .fm-product-shell > .woocommerce-product-gallery,
.single-product .fm-product-shell__summary,
.single-product .fm-product-shell__sidebar {
  align-self: start;
  min-width: 0;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
  min-height: clamp(380px, 92vw, 520px);
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a {
  min-height: inherit;
}

@media (min-width: 981px) {
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .flex-viewport {
    min-height: clamp(460px, 42vw, 720px);
  }
}


/* v1.5.37 PDP hero image size rollback */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image--placeholder img,
.single-product .fm-product-gallery-image--hero {
  width: 100% !important;
  max-width: 100% !important;
}


/* v1.5.39 PDP gallery recovery: keep native/fallback navigation intact while containing the desktop hero safely */
.single-product .fm-product-shell > .woocommerce-product-gallery {
  min-width: 0;
}

.single-product .woocommerce-product-gallery__image > a {
  display: block;
  width: 100%;
}

@media (min-width: 981px) {
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image a {
    min-height: clamp(360px, 34vw, 520px) !important;
  }

  .single-product .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery__image--placeholder img,
  .single-product .fm-product-gallery-image--hero {
    display: block;
    width: 100% !important;
    max-width: min(100%, 620px) !important;
    height: auto !important;
    max-height: clamp(360px, 34vw, 520px) !important;
    margin-inline: auto;
    object-fit: contain;
  }
}
