@charset "UTF-8";
/**
 * Canonical Engine-owned Product Card.
 *
 * This is the only file allowed to style Product Card category, media, hover,
 * Quick View/Compare overlay, title, price/rating and loop actions. Layout
 * modules may place cards in grids or rails but must not restyle these parts.
 */

.woocommerce ul.products li.product.stm-product-card,
.stm-product-card {
  --stm-product-compare-icon-size: calc(var(--stm-icon-size-md) - 8px);
  position: relative;
  z-index: 1;
  isolation: isolate;
  align-self: start;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: translateY(0);
  transition:
    transform var(--stm-product-card-hover-transition),
    z-index 0s;
}

.woocommerce ul.products li.product.stm-product-card > .stm-pl,
.stm-product-card > .stm-pl {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: auto;
  align-content: start;
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  padding:
    max(0px, calc(var(--stm-product-card-padding) - var(--stm-product-card-top-reduction)))
    var(--stm-product-card-padding)
    var(--stm-product-card-bottom-padding);
  overflow: visible;
  border: var(--stm-product-card-border);
  border-radius: var(--stm-product-card-radius);
  background: var(--stm-product-card-bg);
  box-shadow: none;
  transition:
    box-shadow var(--stm-product-card-hover-transition),
    background-color var(--stm-product-card-hover-transition);
}

/* Compact Product Card action menu trigger. Desktop keeps direct media hover. */
.stm-pl__more {
  position: absolute;
  z-index: 8;
  top: 4px;
  right: 4px;
  display: none;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
  place-items: center;
  border: var(--stm-border-width) solid var(--stm-commerce-border);
  border-radius: 50%;
  background: var(--stm-commerce-surface);
  color: var(--stm-commerce-heading);
  box-shadow: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition:
    border-color var(--stm-commerce-transition),
    background-color var(--stm-commerce-transition),
    color var(--stm-commerce-transition),
    transform var(--stm-commerce-transition);
}

.stm-pl__more:hover,
.stm-pl__more:focus-visible,
.stm-product-card.is-tools-open .stm-pl__more {
  border-color: var(--stm-commerce-primary);
  background: var(--stm-commerce-primary-soft);
  color: var(--stm-commerce-primary-deep);
}

.stm-pl__more:focus-visible {
  outline: var(--stm-product-card-focus-outline);
  outline-offset: var(--stm-product-card-focus-offset);
}

.stm-pl__more-dots {
  position: relative;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: -6px 0 0 currentColor, 6px 0 0 currentColor;
}

html[data-stm-layout="tablet"] .stm-product-card .stm-pl__more,
html[data-stm-layout="mobile"] .stm-product-card .stm-pl__more {
  display: grid;
}

html[data-stm-layout="tablet"] .stm-product-card .stm-pl__catwrap,
html[data-stm-layout="mobile"] .stm-product-card .stm-pl__catwrap {
  padding-inline-end: 30px;
}

/* Category / reusable metadata link role. */
.stm-pl__catwrap {
  min-width: 0;
  margin: 0 0 var(--stm-product-card-category-gap);
  padding: 0;
}

.stm-pl__cat {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--stm-product-category-color);
  font-size: var(--stm-product-card-category-size);
  font-weight: var(--stm-product-card-category-weight);
  line-height: var(--stm-product-category-line-height);
  letter-spacing: var(--stm-letter-wide);
  text-decoration: none;
  text-decoration-skip-ink: auto;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.stm-pl__cat:hover,
.stm-pl__cat:focus-visible {
  color: var(--stm-product-category-hover);
  text-decoration: underline;
  text-decoration-thickness: var(--stm-link-underline-thickness);
  text-underline-offset: var(--stm-product-link-underline-offset);
}

/* Media. */
.stm-pl__media-shell {
  position: relative;
  isolation: isolate;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--stm-product-media-bg);
}

.stm-pl__media-shell::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: var(--stm-product-media-hover-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--stm-product-card-hover-transition);
}

.stm-pl__media-link {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
}

.stm-pl__media {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  aspect-ratio: var(--stm-product-media-ratio);
  place-items: center;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--stm-product-media-bg);
}

.stm-pl__media img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
  filter: none;
  transform: scale(1);
  transition:
    filter var(--stm-product-card-hover-transition),
    transform var(--stm-product-card-hover-transition);
}

.stm-pl__media-actions {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--stm-product-media-action-gap);
  pointer-events: none;
  transform: translateY(var(--stm-product-media-actions-offset-y));
}

.stm-pl__media-actions button,
.stm-pl__media-actions a {
  pointer-events: auto;
}

.stm-pl__media-actions .stm-qv-btn,
.stm-pl__media-actions .stm-qv-trigger,
.stm-pl__media-actions .stm-compare-btn--overlay {
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(var(--stm-product-media-action-rest-scale));
  transition:
    opacity var(--stm-product-card-hover-transition),
    transform var(--stm-product-card-hover-transition),
    background-color var(--stm-commerce-transition),
    border-color var(--stm-commerce-transition),
    color var(--stm-commerce-transition);
}

.stm-pl__media-actions .stm-compare-btn--overlay {
  display: grid;
  width: var(--stm-product-media-action-size);
  min-width: var(--stm-product-media-action-size);
  height: var(--stm-product-media-action-size);
  min-height: var(--stm-product-media-action-size);
  place-items: center;
  padding: 0;
  border: var(--stm-border-width) solid var(--stm-commerce-primary);
  border-radius: 50%;
  background: var(--stm-commerce-primary);
  color: var(--stm-commerce-button-text);
}

.stm-pl__media-actions .stm-compare-btn--overlay:hover,
.stm-pl__media-actions .stm-compare-btn--overlay:focus-visible {
  border-color: var(--stm-commerce-primary-deep);
  background: var(--stm-commerce-primary-deep);
  color: var(--stm-commerce-button-text);
}

.stm-pl__media-actions .stm-compare-btn--overlay.is-active,
.stm-pl__media-actions .stm-compare-btn--overlay[aria-pressed="true"] {
  border-color: var(--stm-commerce-success);
  background: var(--stm-commerce-success);
  color: var(--stm-color-on-dark);
}

.stm-pl__media-actions .stm-compare-btn--overlay.is-active:hover,
.stm-pl__media-actions .stm-compare-btn--overlay.is-active:focus-visible,
.stm-pl__media-actions .stm-compare-btn--overlay[aria-pressed="true"]:hover,
.stm-pl__media-actions .stm-compare-btn--overlay[aria-pressed="true"]:focus-visible {
  border-color: var(--stm-commerce-success);
  background: var(--stm-commerce-success);
  color: var(--stm-color-on-dark);
}

body.stm-engine-storefront .stm-product-card .stm-pl__media-actions .stm-compare-btn__ico {
  display: block;
  width: var(--stm-product-compare-icon-size);
  height: var(--stm-product-compare-icon-size);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggZD0iTTQyNi41NzQsNDAzLjM4NGMtMC4wNC0wLjQ0NS0wLjExLTAuODgtMC4xNzctMS4zMTdjLTAuMDM5LTAuMjUzLTAuMDY4LTAuNTA2LTAuMTE1LTAuNzU3DQoJCQkJYy0wLjA4MS0wLjQyNS0wLjE4OC0wLjg0LTAuMjk0LTEuMjU2Yy0wLjA2Ni0wLjI2MS0wLjEyNS0wLjUyNC0wLjIwMS0wLjc4M2MtMC4xMTUtMC4zODgtMC4yNTItMC43NjYtMC4zODgtMS4xNDUNCgkJCQljLTAuMTAxLTAuMjgyLTAuMTk1LTAuNTY1LTAuMzA5LTAuODQzYy0wLjE0LTAuMzQ0LTAuMy0wLjY3Ny0wLjQ1OC0xLjAxMmMtMC4xNDEtMC4zMDEtMC4yNzctMC42MDMtMC40MzMtMC44OTkNCgkJCQljLTAuMTYxLTAuMzA1LTAuMzQxLTAuNTk4LTAuNTE3LTAuODk0Yy0wLjE4MS0wLjMwNi0wLjM1Ny0wLjYxNS0wLjU1NS0wLjkxNGMtMC4xODktMC4yODUtMC4zOTYtMC41NTQtMC41OTgtMC44MjkNCgkJCQljLTAuMjEyLTAuMjg5LTAuNDE2LTAuNTgxLTAuNjQ0LTAuODYyYy0wLjIyOS0wLjI4Mi0wLjQ3OS0wLjU0NS0wLjcyMi0wLjgxNWMtMC4yMDMtMC4yMjUtMC4zODgtMC40Ni0wLjYwMi0wLjY3OQ0KCQkJCWMtMC4wMy0wLjAzLTAuMDYzLTAuMDU1LTAuMDkyLTAuMDg1Yy0wLjIxNi0wLjIxOC0wLjQ1MS0wLjQxNS0wLjY3Ny0wLjYyM2MtNC4wODktMy43ODItOS4yOTItNS42ODYtMTQuNTEtNS42NzNoLTg1LjI3Ng0KCQkJCWMtMTEuNzgyLDAtMjEuMzMzLDkuNTUxLTIxLjMzMywyMS4zMzNjMCwxMS43ODIsOS41NTEsMjEuMzMzLDIxLjMzMywyMS4zMzNoMjAuMzkzYy0yNi4zNDMsMTMuNzc0LTU1LjEyOCwyMS4zMjMtODQuNCwyMS4zMjMNCgkJCQljLTEwNi4wNDIsMC0xOTItODUuOTU4LTE5Mi0xOTJjMC0yOS40MTQsNi42MTMtNTcuODU5LDE5LjE2OS04My43MTZjNS4xNDYtMTAuNTk5LDAuNzI3LTIzLjM2My05Ljg3Mi0yOC41MDkNCgkJCQljLTEwLjU5OS01LjE0Ni0yMy4zNjMtMC43MjctMjguNTA5LDkuODcyYy0xNS4zNjEsMzEuNjM0LTIzLjQ1NSw2Ni40NDctMjMuNDU1LDEwMi4zNTMNCgkJCQljMCwxMjkuNjA2LDEwNS4wNjEsMjM0LjY2NywyMzQuNjY3LDIzNC42NjdjNDUuNjQ0LDAsODkuODUxLTE0LjYyLDEyOC4wMDYtNDAuNDE4djQwLjQyOWMwLDExLjc4Miw5LjU1MSwyMS4zMzMsMjEuMzMzLDIxLjMzMw0KCQkJCWMxMS43ODIsMCwyMS4zMzMtOS41NTEsMjEuMzMzLTIxLjMzM3YtODUuMzMzYzAtMC40MDUtMC4wMzgtMC44LTAuMDYxLTEuMTk5QzQyNi41OTgsNDAzLjg4NCw0MjYuNTk2LDQwMy42MzQsNDI2LjU3NCw0MDMuMzg0eiINCgkJCQkvPg0KCQkJPHBhdGggZD0iTTI1Ni4wMDEsMjEuMzI1Yy00NS42MjIsMC04OS44MzMsMTQuNjI3LTEyNy45OTYsNDAuNDIyVjIxLjMzM0MxMjguMDA1LDkuNTUxLDExOC40NTQsMCwxMDYuNjcyLDANCgkJCQlDOTQuODksMCw4NS4zMzksOS41NTEsODUuMzM5LDIxLjMzM3Y4NS4wNmMtMC4wMDEsMC4wNDcsMCwwLjA5NCwwLDAuMTQxdjAuMTMyYzAsMC4xMzQsMC4wMTgsMC4yNjQsMC4wMiwwLjM5OA0KCQkJCWMwLjAxLDAuNTQ5LDAuMDMxLDEuMDk3LDAuMDgzLDEuNjQ1YzAuMDI1LDAuMjYxLDAuMDcsMC41MTUsMC4xMDQsMC43NzJjMC4wNTcsMC40MjgsMC4xMTIsMC44NTYsMC4xOTUsMS4yODENCgkJCQljMC4wNiwwLjMwOCwwLjE0LDAuNjA4LDAuMjEzLDAuOTEyYzAuMDg5LDAuMzY5LDAuMTc0LDAuNzM3LDAuMjgzLDEuMTAxYzAuMDk1LDAuMzE5LDAuMjA5LDAuNjI4LDAuMzE5LDAuOTQNCgkJCQljMC4xMiwwLjM0MiwwLjIzNiwwLjY4MywwLjM3MywxLjAyYzAuMTI4LDAuMzEzLDAuMjc0LDAuNjE2LDAuNDE3LDAuOTIxYzAuMTUsMC4zMjMsMC4yOTYsMC42NDYsMC40NjQsMC45NjINCgkJCQljMC4xNjUsMC4zMTIsMC4zNDgsMC42MTEsMC41MjgsMC45MTNjMC4xNzMsMC4yOTIsMC4zNCwwLjU4NSwwLjUyOSwwLjg3YzAuMjIxLDAuMzM0LDAuNDYxLDAuNjUxLDAuNywwLjk3Mg0KCQkJCWMwLjE3NSwwLjIzNCwwLjMzOSwwLjQ3MywwLjUyNSwwLjcwMmMwLjMxOSwwLjM5NCwwLjY2MiwwLjc2NywxLjAwNywxLjEzN2MwLjExNywwLjEyNSwwLjIxOCwwLjI1OCwwLjMzOCwwLjM4MQ0KCQkJCWMwLjAxNywwLjAxNywwLjAzNiwwLjAzMiwwLjA1MywwLjA0OWMwLjQ2MSwwLjQ2NywwLjk0NCwwLjkxLDEuNDQ2LDEuMzMzYzAuMDM5LDAuMDMzLDAuMDc2LDAuMDcyLDAuMTE1LDAuMTA1DQoJCQkJYzMuNjAyLDIuOTkyLDguMjA1LDQuODA4LDEzLjIzMiw0Ljg5OWMwLjA2NCwwLjAwMSwwLjEyNywwLjAwOSwwLjE5MSwwLjAxYzAuMDY3LDAuMDAxLDAuMTMyLDAuMDEsMC4xOTksMC4wMWg4NS4zMzMNCgkJCQljMTEuNzgyLDAsMjEuMzMzLTkuNTUxLDIxLjMzMy0yMS4zMzNjMC0xMS43ODItOS41NTEtMjEuMzMzLTIxLjMzMy0yMS4zMzNoLTIwLjQxNmMyNi4zNTUtMTMuNzg0LDU1LjE0OS0yMS4zNDIsODQuNDEyLTIxLjM0Mg0KCQkJCWMxMDYuMDM0LDAsMTkyLDg1Ljk3MiwxOTIsMTkyYzAsMjkuNDY0LTYuNjE3LDU3LjkyOS0xOS4xODgsODMuNzk1Yy01LjE1LDEwLjU5Ny0wLjczNCwyMy4zNjIsOS44NjMsMjguNTEyDQoJCQkJYzEwLjU5Nyw1LjE1LDIzLjM2MiwwLjczNCwyOC41MTItOS44NjNjMTUuMzgxLTMxLjY0OSwyMy40NzktNjYuNDg2LDIzLjQ3OS0xMDIuNDQ1QzQ5MC42NjgsMTI2LjQsMzg1LjYsMjEuMzI1LDI1Ni4wMDEsMjEuMzI1eg0KCQkJCSIvPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+") center / contain no-repeat;
  mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiANCgkgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPGc+DQoJCTxnPg0KCQkJPHBhdGggZD0iTTQyNi41NzQsNDAzLjM4NGMtMC4wNC0wLjQ0NS0wLjExLTAuODgtMC4xNzctMS4zMTdjLTAuMDM5LTAuMjUzLTAuMDY4LTAuNTA2LTAuMTE1LTAuNzU3DQoJCQkJYy0wLjA4MS0wLjQyNS0wLjE4OC0wLjg0LTAuMjk0LTEuMjU2Yy0wLjA2Ni0wLjI2MS0wLjEyNS0wLjUyNC0wLjIwMS0wLjc4M2MtMC4xMTUtMC4zODgtMC4yNTItMC43NjYtMC4zODgtMS4xNDUNCgkJCQljLTAuMTAxLTAuMjgyLTAuMTk1LTAuNTY1LTAuMzA5LTAuODQzYy0wLjE0LTAuMzQ0LTAuMy0wLjY3Ny0wLjQ1OC0xLjAxMmMtMC4xNDEtMC4zMDEtMC4yNzctMC42MDMtMC40MzMtMC44OTkNCgkJCQljLTAuMTYxLTAuMzA1LTAuMzQxLTAuNTk4LTAuNTE3LTAuODk0Yy0wLjE4MS0wLjMwNi0wLjM1Ny0wLjYxNS0wLjU1NS0wLjkxNGMtMC4xODktMC4yODUtMC4zOTYtMC41NTQtMC41OTgtMC44MjkNCgkJCQljLTAuMjEyLTAuMjg5LTAuNDE2LTAuNTgxLTAuNjQ0LTAuODYyYy0wLjIyOS0wLjI4Mi0wLjQ3OS0wLjU0NS0wLjcyMi0wLjgxNWMtMC4yMDMtMC4yMjUtMC4zODgtMC40Ni0wLjYwMi0wLjY3OQ0KCQkJCWMtMC4wMy0wLjAzLTAuMDYzLTAuMDU1LTAuMDkyLTAuMDg1Yy0wLjIxNi0wLjIxOC0wLjQ1MS0wLjQxNS0wLjY3Ny0wLjYyM2MtNC4wODktMy43ODItOS4yOTItNS42ODYtMTQuNTEtNS42NzNoLTg1LjI3Ng0KCQkJCWMtMTEuNzgyLDAtMjEuMzMzLDkuNTUxLTIxLjMzMywyMS4zMzNjMCwxMS43ODIsOS41NTEsMjEuMzMzLDIxLjMzMywyMS4zMzNoMjAuMzkzYy0yNi4zNDMsMTMuNzc0LTU1LjEyOCwyMS4zMjMtODQuNCwyMS4zMjMNCgkJCQljLTEwNi4wNDIsMC0xOTItODUuOTU4LTE5Mi0xOTJjMC0yOS40MTQsNi42MTMtNTcuODU5LDE5LjE2OS04My43MTZjNS4xNDYtMTAuNTk5LDAuNzI3LTIzLjM2My05Ljg3Mi0yOC41MDkNCgkJCQljLTEwLjU5OS01LjE0Ni0yMy4zNjMtMC43MjctMjguNTA5LDkuODcyYy0xNS4zNjEsMzEuNjM0LTIzLjQ1NSw2Ni40NDctMjMuNDU1LDEwMi4zNTMNCgkJCQljMCwxMjkuNjA2LDEwNS4wNjEsMjM0LjY2NywyMzQuNjY3LDIzNC42NjdjNDUuNjQ0LDAsODkuODUxLTE0LjYyLDEyOC4wMDYtNDAuNDE4djQwLjQyOWMwLDExLjc4Miw5LjU1MSwyMS4zMzMsMjEuMzMzLDIxLjMzMw0KCQkJCWMxMS43ODIsMCwyMS4zMzMtOS41NTEsMjEuMzMzLTIxLjMzM3YtODUuMzMzYzAtMC40MDUtMC4wMzgtMC44LTAuMDYxLTEuMTk5QzQyNi41OTgsNDAzLjg4NCw0MjYuNTk2LDQwMy42MzQsNDI2LjU3NCw0MDMuMzg0eiINCgkJCQkvPg0KCQkJPHBhdGggZD0iTTI1Ni4wMDEsMjEuMzI1Yy00NS42MjIsMC04OS44MzMsMTQuNjI3LTEyNy45OTYsNDAuNDIyVjIxLjMzM0MxMjguMDA1LDkuNTUxLDExOC40NTQsMCwxMDYuNjcyLDANCgkJCQlDOTQuODksMCw4NS4zMzksOS41NTEsODUuMzM5LDIxLjMzM3Y4NS4wNmMtMC4wMDEsMC4wNDcsMCwwLjA5NCwwLDAuMTQxdjAuMTMyYzAsMC4xMzQsMC4wMTgsMC4yNjQsMC4wMiwwLjM5OA0KCQkJCWMwLjAxLDAuNTQ5LDAuMDMxLDEuMDk3LDAuMDgzLDEuNjQ1YzAuMDI1LDAuMjYxLDAuMDcsMC41MTUsMC4xMDQsMC43NzJjMC4wNTcsMC40MjgsMC4xMTIsMC44NTYsMC4xOTUsMS4yODENCgkJCQljMC4wNiwwLjMwOCwwLjE0LDAuNjA4LDAuMjEzLDAuOTEyYzAuMDg5LDAuMzY5LDAuMTc0LDAuNzM3LDAuMjgzLDEuMTAxYzAuMDk1LDAuMzE5LDAuMjA5LDAuNjI4LDAuMzE5LDAuOTQNCgkJCQljMC4xMiwwLjM0MiwwLjIzNiwwLjY4MywwLjM3MywxLjAyYzAuMTI4LDAuMzEzLDAuMjc0LDAuNjE2LDAuNDE3LDAuOTIxYzAuMTUsMC4zMjMsMC4yOTYsMC42NDYsMC40NjQsMC45NjINCgkJCQljMC4xNjUsMC4zMTIsMC4zNDgsMC42MTEsMC41MjgsMC45MTNjMC4xNzMsMC4yOTIsMC4zNCwwLjU4NSwwLjUyOSwwLjg3YzAuMjIxLDAuMzM0LDAuNDYxLDAuNjUxLDAuNywwLjk3Mg0KCQkJCWMwLjE3NSwwLjIzNCwwLjMzOSwwLjQ3MywwLjUyNSwwLjcwMmMwLjMxOSwwLjM5NCwwLjY2MiwwLjc2NywxLjAwNywxLjEzN2MwLjExNywwLjEyNSwwLjIxOCwwLjI1OCwwLjMzOCwwLjM4MQ0KCQkJCWMwLjAxNywwLjAxNywwLjAzNiwwLjAzMiwwLjA1MywwLjA0OWMwLjQ2MSwwLjQ2NywwLjk0NCwwLjkxLDEuNDQ2LDEuMzMzYzAuMDM5LDAuMDMzLDAuMDc2LDAuMDcyLDAuMTE1LDAuMTA1DQoJCQkJYzMuNjAyLDIuOTkyLDguMjA1LDQuODA4LDEzLjIzMiw0Ljg5OWMwLjA2NCwwLjAwMSwwLjEyNywwLjAwOSwwLjE5MSwwLjAxYzAuMDY3LDAuMDAxLDAuMTMyLDAuMDEsMC4xOTksMC4wMWg4NS4zMzMNCgkJCQljMTEuNzgyLDAsMjEuMzMzLTkuNTUxLDIxLjMzMy0yMS4zMzNjMC0xMS43ODItOS41NTEtMjEuMzMzLTIxLjMzMy0yMS4zMzNoLTIwLjQxNmMyNi4zNTUtMTMuNzg0LDU1LjE0OS0yMS4zNDIsODQuNDEyLTIxLjM0Mg0KCQkJCWMxMDYuMDM0LDAsMTkyLDg1Ljk3MiwxOTIsMTkyYzAsMjkuNDY0LTYuNjE3LDU3LjkyOS0xOS4xODgsODMuNzk1Yy01LjE1LDEwLjU5Ny0wLjczNCwyMy4zNjIsOS44NjMsMjguNTEyDQoJCQkJYzEwLjU5Nyw1LjE1LDIzLjM2MiwwLjczNCwyOC41MTItOS44NjNjMTUuMzgxLTMxLjY0OSwyMy40NzktNjYuNDg2LDIzLjQ3OS0xMDIuNDQ1QzQ5MC42NjgsMTI2LjQsMzg1LjYsMjEuMzI1LDI1Ni4wMDEsMjEuMzI1eg0KCQkJCSIvPg0KCQk8L2c+DQoJPC9nPg0KPC9nPg0KPC9zdmc+") center / contain no-repeat;
}

body.stm-engine-storefront .stm-product-card .stm-pl__media-actions .stm-qv-btn::before,
body.stm-engine-storefront .stm-product-card .stm-pl__media-actions .stm-qv-trigger::before {
  display: block;
  flex: 0 0 var(--stm-product-quickview-icon-size);
  width: var(--stm-product-quickview-icon-size);
  height: var(--stm-product-quickview-icon-size);
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik0yLjcgMTJzMy40LTYgOS4zLTYgOS4zIDYgOS4zIDYtMy40IDYtOS4zIDYtOS4zLTYtOS4zLTZaIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMi44Ii8+Cjwvc3ZnPgo=") center / contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik0yLjcgMTJzMy40LTYgOS4zLTYgOS4zIDYgOS4zIDYtMy40IDYtOS4zIDYtOS4zLTYtOS4zLTZaIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMi44Ii8+Cjwvc3ZnPgo=") center / contain no-repeat;
}

/* Semantic rows. */
.stm-pl__row {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--stm-product-inline-gap);
  margin: 0;
  padding: 0;
  background: transparent;
}

.stm-pl__row--title {
  align-items: flex-start;
  margin: var(--stm-product-title-gap-top) 0 0;
}

.stm-pl__heading {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.stm-pl__title {
  display: -webkit-box;
  width: 100%;
  min-width: 0;
  max-height: calc((var(--stm-product-title-line-height) * 2em) + 2px);
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--stm-product-title-color);
  font-family: var(--stm-commerce-font);
  font-size: var(--stm-product-title-size);
  font-weight: var(--stm-product-title-weight);
  line-height: var(--stm-product-title-line-height);
  letter-spacing: var(--stm-letter-tight);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-decoration: none;
  text-decoration-skip-ink: auto;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--stm-product-title-lines);
  transition:
    color var(--stm-commerce-transition),
    text-decoration-color var(--stm-commerce-transition);
}

.stm-pl__title:hover,
.stm-pl__title:focus-visible {
  color: var(--stm-product-title-hover);
  text-decoration: underline;
  text-decoration-thickness: var(--stm-link-underline-thickness);
  text-underline-offset: var(--stm-product-link-underline-offset);
}

.stm-pl__row--meta {
  align-items: flex-end;
  margin-top: var(--stm-product-meta-gap-top);
}

.stm-pl__row--actions {
  align-items: center;
  justify-content: space-between;
  margin-top: var(--stm-product-actions-gap-top);
  margin-bottom: 0;
  padding: 0;
}

/* Price. */
.stm-pl__price,
.stm-price-stack {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.stm-price-stack__old,
.stm-price-stack__range-min {
  position: absolute;
  left: 0;
  bottom: calc(100% + var(--stm-product-price-old-offset));
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.stm-price-stack__old,
.stm-price-stack__old .amount {
  color: var(--stm-commerce-danger);
  font-size: var(--stm-product-price-small-size);
  font-weight: var(--stm-weight-semibold);
  line-height: 1.1;
  text-decoration: line-through;
}

.stm-price-stack__range-min,
.stm-price-stack__range-min .amount {
  color: var(--stm-commerce-muted);
  font-size: var(--stm-product-price-small-size);
  font-weight: var(--stm-weight-semibold);
  line-height: 1.1;
}

.stm-price-stack__current {
  display: block;
  margin: 0;
  padding: 0;
}

.stm-price-stack__current,
.stm-price-stack__current .amount {
  color: var(--stm-commerce-heading);
  font-size: var(--stm-product-price-size);
  font-weight: var(--stm-product-price-weight);
  line-height: 1.15;
}

/* Canonical Engine-owned WooCommerce rating visualization.
 * WooCommerce keeps semantics/ARIA for reviewed products; the Engine renders
 * first-party SVG-mask stars, including outlined gold stars for unrated items.
 * This stays self-contained when WooCommerce legacy presentation CSS is pruned. */
.stm-pl__rating {
  flex: 0 0 auto;
  align-self: flex-end;
  margin: 0 0 1px auto;
  padding: 0;
  line-height: 1;
}

.woocommerce ul.products li.product.stm-product-card .stm-pl__rating .star-rating,
.woocommerce .stm-product-card .stm-pl__rating .star-rating,
.stm-product-card .stm-pl__rating .star-rating {
  position: relative;
  display: inline-block;
  float: none;
  width: 5em;
  height: 1em;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--stm-product-rating-color);
  font-size: var(--stm-product-rating-size);
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.woocommerce .stm-product-card .stm-pl__rating .star-rating::before,
.stm-product-card .stm-pl__rating .star-rating::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 5em;
  height: 1em;
  background: var(--stm-product-rating-empty);
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIuNGwyLjg2IDUuNzkgNi4zOS45My00LjYyIDQuNSAxLjA5IDYuMzZMMTIgMTYuOTdsLTUuNzIgMy4wMSAxLjA5LTYuMzYtNC42Mi00LjUgNi4zOS0uOTNMMTIgMi40em0wIDQuMTMtMS40OSAzLjAyLTMuMzQuNDkgMi40MiAyLjM1LS41NyAzLjMzTDEyIDE0LjE1bDIuOTggMS41Ny0uNTctMy4zMyAyLjQyLTIuMzUtMy4zNC0uNDlMMTIgNi41M3oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPgo=") left center / 1em 1em repeat-x;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIuNGwyLjg2IDUuNzkgNi4zOS45My00LjYyIDQuNSAxLjA5IDYuMzZMMTIgMTYuOTdsLTUuNzIgMy4wMSAxLjA5LTYuMzYtNC42Mi00LjUgNi4zOS0uOTNMMTIgMi40em0wIDQuMTMtMS40OSAzLjAyLTMuMzQuNDkgMi40MiAyLjM1LS41NyAzLjMzTDEyIDE0LjE1bDIuOTggMS41Ny0uNTctMy4zMyAyLjQyLTIuMzUtMy4zNC0uNDlMMTIgNi41M3oiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPgo=") left center / 1em 1em repeat-x;
}

.woocommerce .stm-product-card .stm-pl__rating .star-rating > span,
.stm-product-card .stm-pl__rating .star-rating > span {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  height: 1em;
  overflow: hidden;
  font-size: 0;
  line-height: 1;
  white-space: nowrap;
}

.woocommerce .stm-product-card .stm-pl__rating .star-rating > span::before,
.stm-product-card .stm-pl__rating .star-rating > span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: 5em;
  height: 1em;
  background: var(--stm-product-rating-color);
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIuNGwyLjg2IDUuNzkgNi4zOS45My00LjYyIDQuNSAxLjA5IDYuMzZMMTIgMTYuOTdsLTUuNzIgMy4wMSAxLjA5LTYuMzYtNC42Mi00LjUgNi4zOS0uOTNMMTIgMi40eiIvPjwvc3ZnPgo=") left center / 1em 1em repeat-x;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIuNGwyLjg2IDUuNzkgNi4zOS45My00LjYyIDQuNSAxLjA5IDYuMzZMMTIgMTYuOTdsLTUuNzIgMy4wMSAxLjA5LTYuMzYtNC42Mi00LjUgNi4zOS0uOTNMMTIgMi40eiIvPjwvc3ZnPgo=") left center / 1em 1em repeat-x;
}

/* Wishlist. */
.stm-product-card .stm-pl__wish,
.stm-product-card .stm-pl-action--wishlist {
  display: grid;
  width: var(--stm-product-wishlist-button-size);
  min-width: var(--stm-product-wishlist-button-size);
  height: var(--stm-product-wishlist-button-size);
  min-height: var(--stm-product-wishlist-button-size);
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--stm-commerce-heading);
  line-height: 0;
  cursor: pointer;
}

.stm-product-card .stm-pl__wish:hover,
.stm-product-card .stm-pl__wish:focus-visible,
.stm-product-card .stm-pl-action--wishlist:hover,
.stm-product-card .stm-pl-action--wishlist:focus-visible {
  border-color: transparent;
  background: transparent;
  color: var(--stm-commerce-primary-deep);
}

.stm-product-card .stm-pl__icon--wish,
.stm-product-card .stm-pl-action--wishlist::before {
  content: "";
  display: block;
  width: var(--stm-product-wishlist-icon-size);
  height: var(--stm-product-wishlist-icon-size);
  margin: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48dGl0bGU+ZWMtZmF2b3JpdGVzPC90aXRsZT48cGF0aCBkPSJNMTUuODU3IDUuNTY4YzEuNDMtMS42NDQgMy41MDMtMy40MzIgNi4yMjEtMy44NjEgNC45MzMtMC43MTUgOC40MzcgMi40MzEgOS41MDkgNi4wNzcgMC41NzIgMi4wMDIgMC41NzIgNC43MTktMC4xNDMgNi43OTMtMi4wNzMgNS40MzQtNy4xNSA4LjU4LTExLjIyNSAxMi4yMjYtMC41IDAuNTcyLTEuMjE1IDEuMjg3LTIuMDAyIDEuODU5LTAuNSAwLjUtMS4yODcgMS43ODgtMi4xNDUgMS43ODgtMC43ODcgMC0xLjI4Ny0wLjcxNS0xLjg1OS0xLjQzLTMuNjQ2LTQuMDA0LTguNzk0LTYuNzkzLTExLjg2OS0xMS4zNjgtMS42NDUtMi4zNi0zLjE0Ni02LjU3OC0xLjg1OS0xMC40MzkgMS4wNzMtMy4wNzUgMy42NDYtNS41MDUgNy42NTEtNS42NDkgMy44NjEtMC4yMTQgNS44NjMgMi4wMDIgNy43MjIgNC4wMDR6TTI1LjcyNCAxNy44NjZjMS41MDItMS41MDIgMy4xNDYtMy41MDMgMy41MDMtNi4wNzggMC4zNTgtMy4wNzUtMC45My01LjUwNS0yLjkzMS02LjU3OC0wLjcxNS0wLjM1Ny0yLjAwMi0wLjcxNS0zLjI4OS0wLjcxNS0xLjY0NSAwLjE0My0zLjE0NiAxLjI4Ny00LjAwNCAyLjAwMi0wLjQyOSAwLjM1Ny0wLjkzIDAuOTI5LTEuNTAyIDEuNDMtMC41NzIgMC41NzItMC43MTUgMS4yODctMS42NDUgMS4yODctMC43MTUgMC0xLjI4Ny0wLjcxNS0xLjY0NS0xLjI4Ny0wLjU3Mi0wLjUtMS4wNzItMS4wNzItMS41MDItMS40My0xLjA3Mi0wLjkyOS0yLjM2LTIuMDAyLTQuMTQ3LTIuMDAyLTMuNTAzIDAuMTQzLTUuNzIgMi41NzQtNS44NjMgNS44NjMtMC4yMTUgMi4zNiAwLjcxNSA0LjIxOCAxLjc4OCA1LjY0OCAyLjkzMSA0LjIxOCA4LjIyMyA3LjE1IDExLjM2OCAxMS4wMTEgMi45MzItMy4yODkgNi41NzgtNS44NjMgOS44NjctOS4xNTJ6Ij48L3BhdGg+PC9zdmc+") center / contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48dGl0bGU+ZWMtZmF2b3JpdGVzPC90aXRsZT48cGF0aCBkPSJNMTUuODU3IDUuNTY4YzEuNDMtMS42NDQgMy41MDMtMy40MzIgNi4yMjEtMy44NjEgNC45MzMtMC43MTUgOC40MzcgMi40MzEgOS41MDkgNi4wNzcgMC41NzIgMi4wMDIgMC41NzIgNC43MTktMC4xNDMgNi43OTMtMi4wNzMgNS40MzQtNy4xNSA4LjU4LTExLjIyNSAxMi4yMjYtMC41IDAuNTcyLTEuMjE1IDEuMjg3LTIuMDAyIDEuODU5LTAuNSAwLjUtMS4yODcgMS43ODgtMi4xNDUgMS43ODgtMC43ODcgMC0xLjI4Ny0wLjcxNS0xLjg1OS0xLjQzLTMuNjQ2LTQuMDA0LTguNzk0LTYuNzkzLTExLjg2OS0xMS4zNjgtMS42NDUtMi4zNi0zLjE0Ni02LjU3OC0xLjg1OS0xMC40MzkgMS4wNzMtMy4wNzUgMy42NDYtNS41MDUgNy42NTEtNS42NDkgMy44NjEtMC4yMTQgNS44NjMgMi4wMDIgNy43MjIgNC4wMDR6TTI1LjcyNCAxNy44NjZjMS41MDItMS41MDIgMy4xNDYtMy41MDMgMy41MDMtNi4wNzggMC4zNTgtMy4wNzUtMC45My01LjUwNS0yLjkzMS02LjU3OC0wLjcxNS0wLjM1Ny0yLjAwMi0wLjcxNS0zLjI4OS0wLjcxNS0xLjY0NSAwLjE0My0zLjE0NiAxLjI4Ny00LjAwNCAyLjAwMi0wLjQyOSAwLjM1Ny0wLjkzIDAuOTI5LTEuNTAyIDEuNDMtMC41NzIgMC41NzItMC43MTUgMS4yODctMS42NDUgMS4yODctMC43MTUgMC0xLjI4Ny0wLjcxNS0xLjY0NS0xLjI4Ny0wLjU3Mi0wLjUtMS4wNzItMS4wNzItMS41MDItMS40My0xLjA3Mi0wLjkyOS0yLjM2LTIuMDAyLTQuMTQ3LTIuMDAyLTMuNTAzIDAuMTQzLTUuNzIgMi41NzQtNS44NjMgNS44NjMtMC4yMTUgMi4zNiAwLjcxNSA0LjIxOCAxLjc4OCA1LjY0OCAyLjkzMSA0LjIxOCA4LjIyMyA3LjE1IDExLjM2OCAxMS4wMTEgMi45MzItMy4yODkgNi41NzgtNS44NjMgOS44NjctOS4xNTJ6Ij48L3BhdGg+PC9zdmc+") center / contain no-repeat;
}

.stm-product-card .stm-pl__wish.is-active .stm-pl__icon--wish,
.stm-product-card .stm-pl-action--wishlist.is-added::before {
  background: var(--stm-commerce-success);
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nIzExMScgZD0nTTEyIDIxcy02LjctNC42LTkuNC03LjNBNiA2IDAgMCAxIDEyIDVhNiA2IDAgMCAxIDkuNCA4LjdDMTguNyAxNi40IDEyIDIxIDEyIDIxeicvPjwvc3ZnPg==");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbD0nIzExMScgZD0nTTEyIDIxcy02LjctNC42LTkuNC03LjNBNiA2IDAgMCAxIDEyIDVhNiA2IDAgMCAxIDkuNCA4LjdDMTguNyAxNi40IDEyIDIxIDEyIDIxeicvPjwvc3ZnPg==");
}

/* Add to cart. */
.stm-product-card .stm-pl__atc {
  box-sizing: border-box;
  display: grid;
  flex: 0 0 var(--stm-product-atc-button-size);
  width: var(--stm-product-atc-button-size);
  min-width: var(--stm-product-atc-button-size);
  height: var(--stm-product-atc-button-size);
  min-height: var(--stm-product-atc-button-size);
  place-items: center;
  margin: 0 0 0 auto;
  padding: 0;
  overflow: hidden;
  border: var(--stm-border-width) solid var(--stm-commerce-primary);
  border-radius: 50%;
  background: var(--stm-commerce-primary);
  color: var(--stm-commerce-button-text);
  font-size: 0;
  line-height: 0;
  text-align: center;
  text-decoration: none;
  appearance: none;
  -webkit-appearance: none;
  vertical-align: middle;
  transition:
    background-color var(--stm-commerce-transition),
    border-color var(--stm-commerce-transition),
    color var(--stm-commerce-transition),
    transform var(--stm-commerce-transition);
}

.stm-product-card .stm-pl__atc:hover,
.stm-product-card .stm-pl__atc:focus-visible {
  border-color: var(--stm-commerce-primary-deep);
  background: var(--stm-commerce-primary-deep);
  color: var(--stm-commerce-button-text);
}

.stm-product-card .stm-pl__atc.is-added,
.stm-product-card .stm-pl__atc.is-added:hover,
.stm-product-card .stm-pl__atc.is-added:focus-visible {
  border-color: var(--stm-product-atc-added-bg);
  background: var(--stm-product-atc-added-hover);
  color: var(--stm-product-atc-added-text);
}

.stm-product-card .stm-pl__atc:not(.stm-sold-btn)::before,
.stm-product-card .stm-pl__atc:not(.stm-sold-btn)::after {
  display: none;
  content: none;
}

.stm-product-card .stm-pl__atc.stm-sold-btn {
  display: inline-flex;
  width: auto;
  min-width: var(--stm-product-atc-button-size);
  padding-inline: var(--stm-space-2);
  border-color: var(--stm-product-sold-bg);
  border-radius: var(--stm-radius-pill);
  background: var(--stm-product-sold-bg);
  color: var(--stm-product-sold-text);
  cursor: not-allowed;
  font-size: var(--stm-product-sold-font-size);
  line-height: 1;
  opacity: 1;
}

.stm-product-card .stm-pl__atc.stm-sold-btn::after {
  content: attr(data-sold-label);
  display: inline-block;
  color: var(--stm-product-sold-text);
  font-size: var(--stm-product-sold-font-size);
  font-weight: var(--stm-button-font-weight);
  line-height: 1;
  letter-spacing: var(--stm-letter-wide);
  text-transform: uppercase;
}

.stm-pl__icon {
  display: block;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.stm-pl__icon--atc {
  display: block;
  align-self: center;
  justify-self: center;
  width: var(--stm-product-atc-icon-size);
  height: var(--stm-product-atc-icon-size);
  margin: 0;
  background: currentColor;
  transform: translate(
    var(--stm-product-atc-icon-offset-x),
    var(--stm-product-atc-icon-offset-y)
  );
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxOCIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE4Ij48c3R5bGU+LmF7ZmlsbDojMDUwNzExfTwvc3R5bGU+PHBhdGggY2xhc3M9ImEiIGQ9Im0wLjYgMS45cTAtMC41IDAtMWMwLjMtMC43IDEuOC0wLjUgMi41LTAuMyAwLjUgMC4yIDEgMC40IDEuMyAwLjcgMSAxIDEuMSAyLjggMS41IDQuNSAwLjEgMC44IDAuMyAxLjYgMC41IDIuNCAwLjIgMS4xIDAuMiAyLjUgMS4xIDIuOSAwLjcgMC4zIDEuOSAwLjIgMyAwLjIgMC41IDAgMSAwIDEuNiAwIDAuNSAwIDEuMiAwLjEgMS42IDAgMC4zLTAuMSAwLjgtMSAxLTEuMyAwLjYtMSAxLTEuOSAxLjYtMyAwLjItMC41IDAuNC0xLjIgMS0xLjMgMC44LTAuMSAxLjQgMC41IDEuMiAxLjMgMCAwLjMtMC4yIDAuNi0wLjQgMC45LTAuNiAxLjQtMS40IDIuOC0yLjMgNC4xLTAuMyAwLjUtMC45IDEuMi0xLjMgMS4zLTAuNSAwLjEtMS4yIDAtMS42IDAtMS41IDAtMy4yIDAuMS00LjcgMC0xLjIgMC0yLjEtMC42LTIuNi0xLjItMC42LTAuNi0wLjktMS42LTEuMS0yLjYtMC4zLTEuNS0wLjYtMy4yLTAuOS00LjctMC4yLTAuOS0wLjItMS44LTAuOS0yLjItMC43LTAuMy0xLjcgMC4xLTIuMS0wLjd6bTExLjUtMC40cTAuMSAxLjQgMC4yIDNjMC42IDAuMSAxLjgtMC4zIDEuOSAwLjMgMCAwLjMtMC41IDAuOS0wLjcgMS4xLTAuNiAwLjgtMS4zIDEuNS0yLjEgMi4zLTAuMSAwLjEtMC4zIDAuMy0wLjUgMC4zLTAuMyAwLjEtMC43LTAuNS0wLjktMC44LTAuNi0wLjYtMS4yLTEuMi0xLjctMS44LTAuMi0wLjMtMC43LTAuNy0wLjYtMS4xIDAuMS0wLjYgMS4yLTAuMiAxLjktMC4zIDAtMSAwLjEtMi4xIDAuMi0zIDAuNC0wLjUgMS44LTAuNSAyLjMgMHptLTQuNiAxMi42YzEuMS0wLjIgMS45IDAuNiAyIDEuMyAwLjMgMi4xLTIuMyAyLjYtMy4yIDEuMi0wLjctMS4yIDAuMi0yLjQgMS4yLTIuNXptNi4yIDBjMS4xLTAuMiAyIDAuNSAyLjEgMS42IDAgMS0wLjkgMS43LTEuNyAxLjctMSAwLjEtMS44LTAuNy0xLjgtMS43IDAtMC45IDAuNi0xLjUgMS40LTEuNnoiPjwvcGF0aD48L3N2Zz4=") center / contain no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxOCIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE4Ij48c3R5bGU+LmF7ZmlsbDojMDUwNzExfTwvc3R5bGU+PHBhdGggY2xhc3M9ImEiIGQ9Im0wLjYgMS45cTAtMC41IDAtMWMwLjMtMC43IDEuOC0wLjUgMi41LTAuMyAwLjUgMC4yIDEgMC40IDEuMyAwLjcgMSAxIDEuMSAyLjggMS41IDQuNSAwLjEgMC44IDAuMyAxLjYgMC41IDIuNCAwLjIgMS4xIDAuMiAyLjUgMS4xIDIuOSAwLjcgMC4zIDEuOSAwLjIgMyAwLjIgMC41IDAgMSAwIDEuNiAwIDAuNSAwIDEuMiAwLjEgMS42IDAgMC4zLTAuMSAwLjgtMSAxLTEuMyAwLjYtMSAxLTEuOSAxLjYtMyAwLjItMC41IDAuNC0xLjIgMS0xLjMgMC44LTAuMSAxLjQgMC41IDEuMiAxLjMgMCAwLjMtMC4yIDAuNi0wLjQgMC45LTAuNiAxLjQtMS40IDIuOC0yLjMgNC4xLTAuMyAwLjUtMC45IDEuMi0xLjMgMS4zLTAuNSAwLjEtMS4yIDAtMS42IDAtMS41IDAtMy4yIDAuMS00LjcgMC0xLjIgMC0yLjEtMC42LTIuNi0xLjItMC42LTAuNi0wLjktMS42LTEuMS0yLjYtMC4zLTEuNS0wLjYtMy4yLTAuOS00LjctMC4yLTAuOS0wLjItMS44LTAuOS0yLjItMC43LTAuMy0xLjcgMC4xLTIuMS0wLjd6bTExLjUtMC40cTAuMSAxLjQgMC4yIDNjMC42IDAuMSAxLjgtMC4zIDEuOSAwLjMgMCAwLjMtMC41IDAuOS0wLjcgMS4xLTAuNiAwLjgtMS4zIDEuNS0yLjEgMi4zLTAuMSAwLjEtMC4zIDAuMy0wLjUgMC4zLTAuMyAwLjEtMC43LTAuNS0wLjktMC44LTAuNi0wLjYtMS4yLTEuMi0xLjctMS44LTAuMi0wLjMtMC43LTAuNy0wLjYtMS4xIDAuMS0wLjYgMS4yLTAuMiAxLjktMC4zIDAtMSAwLjEtMi4xIDAuMi0zIDAuNC0wLjUgMS44LTAuNSAyLjMgMHptLTQuNiAxMi42YzEuMS0wLjIgMS45IDAuNiAyIDEuMyAwLjMgMi4xLTIuMyAyLjYtMy4yIDEuMi0wLjctMS4yIDAuMi0yLjQgMS4yLTIuNXptNi4yIDBjMS4xLTAuMiAyIDAuNSAyLjEgMS42IDAgMS0wLjkgMS43LTEuNyAxLjctMSAwLjEtMS44LTAuNy0xLjgtMS43IDAtMC45IDAuNi0xLjUgMS40LTEuNnoiPjwvcGF0aD48L3N2Zz4=") center / contain no-repeat;
}

.stm-pl__atc.is-added .stm-pl__icon--atc {
  -webkit-mask-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik00Ljg5MTYzIDEzLjI2ODdMOS4xNjU4MiAxNy41NDI3TDE4LjcwODUgOCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+DQo8L3N2Zz4=");
  mask-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik00Ljg5MTYzIDEzLjI2ODdMOS4xNjU4MiAxNy41NDI3TDE4LjcwODUgOCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+DQo8L3N2Zz4=");
}

.stm-pl-action--wishlist.is-loading,
.stm-pl__atc.is-loading {
  pointer-events: none;
  opacity: var(--stm-loading-opacity);
}

/* Sale badge. */
.woocommerce ul.products li.product .stm-pl__media span.onsale.stm-sale-badge {
  position: absolute;
  z-index: 4;
  top: var(--stm-product-sale-badge-top);
  right: var(--stm-product-sale-badge-right);
  left: auto;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding:
    var(--stm-product-sale-badge-padding-y)
    var(--stm-product-sale-badge-padding-x);
  border: 0;
  border-radius: var(--stm-product-sale-badge-radius);
  background: var(--stm-product-sale-badge-bg);
  box-shadow: var(--stm-product-sale-badge-shadow);
  color: var(--stm-product-sale-badge-text);
  font-size: var(--stm-product-sale-badge-font-size);
  font-weight: var(--stm-weight-bold);
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Global hover and keyboard focus. */
@media (hover: hover) and (pointer: fine) {
  .woocommerce ul.products li.product.stm-product-card:hover,
  .stm-product-card:hover {
    z-index: var(--stm-product-card-hover-z);
    transform: translateY(var(--stm-product-card-hover-lift));
  }

  .woocommerce ul.products li.product.stm-product-card:hover > .stm-pl,
  .stm-product-card:hover > .stm-pl {
    box-shadow: var(--stm-product-card-hover-shadow);
  }

  html[data-stm-layout="desktop"] .stm-pl__media-shell:hover::after {
    opacity: 1;
  }

  html[data-stm-layout="desktop"] .stm-pl__media-shell:hover .stm-pl__media img {
    filter: var(--stm-product-card-hover-media-filter);
    transform: scale(var(--stm-product-media-image-hover-scale));
  }

  html[data-stm-layout="desktop"] .stm-pl__media-shell:hover .stm-pl__media-actions .stm-compare-btn--overlay,
  html[data-stm-layout="desktop"] .stm-pl__media-shell:hover .stm-pl__media-actions .stm-qv-btn,
  html[data-stm-layout="desktop"] .stm-pl__media-shell:hover .stm-pl__media-actions .stm-qv-trigger {
    opacity: 1;
    pointer-events: auto;
    transform: scale(var(--stm-product-media-action-hover-scale));
  }
}

.stm-product-card:focus-within {
  z-index: var(--stm-product-card-hover-z);
  transform: translateY(var(--stm-product-card-hover-lift));
}

.stm-product-card:focus-within > .stm-pl {
  box-shadow: var(--stm-product-card-hover-shadow);
}

html[data-stm-layout="desktop"] .stm-pl__media-shell:focus-within::after {
  opacity: 1;
}

html[data-stm-layout="desktop"] .stm-pl__media-shell:focus-within .stm-pl__media-actions .stm-compare-btn--overlay,
html[data-stm-layout="desktop"] .stm-pl__media-shell:focus-within .stm-pl__media-actions .stm-qv-btn,
html[data-stm-layout="desktop"] .stm-pl__media-shell:focus-within .stm-pl__media-actions .stm-qv-trigger {
  opacity: 1;
  pointer-events: auto;
  transform: scale(var(--stm-product-media-action-hover-scale));
}

/* Tablet/mobile tools are explicit and transient, controlled by the 3-dot menu. */
html[data-stm-layout="tablet"] .stm-product-card.is-tools-open,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open {
  z-index: var(--stm-product-card-hover-z);
  transform: translateY(var(--stm-product-card-hover-lift));
}

html[data-stm-layout="tablet"] .stm-product-card.is-tools-open > .stm-pl,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open > .stm-pl {
  box-shadow: var(--stm-product-card-hover-shadow);
}

html[data-stm-layout="tablet"] .stm-product-card.is-tools-open .stm-pl__media-shell::after,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open .stm-pl__media-shell::after {
  opacity: 1;
}

html[data-stm-layout="tablet"] .stm-product-card.is-tools-open .stm-pl__media img,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open .stm-pl__media img {
  filter: var(--stm-product-card-hover-media-filter);
  transform: scale(var(--stm-product-media-image-hover-scale));
}

html[data-stm-layout="tablet"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-compare-btn--overlay,
html[data-stm-layout="tablet"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-qv-btn,
html[data-stm-layout="tablet"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-qv-trigger,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-compare-btn--overlay,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-qv-btn,
html[data-stm-layout="mobile"] .stm-product-card.is-tools-open .stm-pl__media-actions .stm-qv-trigger {
  opacity: 1;
  pointer-events: auto;
  transform: scale(var(--stm-product-media-action-hover-scale));
}


/* --------------------------------------------------------------------------
 * Archive List View state.
 *
 * The archive controller only switches the list-state class. Every internal
 * visual rule below remains owned by the single global Product Card. Grid View
 * keeps the canonical base rules above without List View presentation bleed.
 * -------------------------------------------------------------------------- */
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card{
  --stm-product-atc-button-size:var(--stm-product-list-action-size,32px);
  --stm-product-wishlist-button-size:var(--stm-product-list-action-size,32px);
  --stm-product-wishlist-icon-size:16px;
  --stm-product-atc-icon-size:14px;
  --stm-product-media-action-size:28px;
  --stm-product-quickview-height:28px;
  --stm-product-quickview-icon-size:13px;
  --stm-product-quickview-font-size:10px;
  --stm-product-quickview-padding-x:var(--stm-product-list-quickview-padding-x,15.5px);
  --stm-product-media-action-gap:var(--stm-product-list-tools-gap,5px);
  --stm-product-media-actions-offset-y:0px;
  --stm-product-sale-badge-padding-y:3px;
  --stm-product-sale-badge-padding-x:6px;
  --stm-product-sale-badge-font-size:8px;
  --stm-product-sale-badge-top:5px;
  --stm-product-sale-badge-right:5px;
  transform:none;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card > .stm-pl,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card > .stm-pl{
  display:grid;
  grid-template-columns:var(--stm-product-list-media-size,98px) max-content var(--stm-product-list-price-action-gap,90px) max-content minmax(0,1fr) var(--stm-product-list-action-track,127px);
  grid-template-rows:auto minmax(30px,1fr) var(--stm-product-list-commerce-height,34px);
  align-items:center;
  min-height:0;
  padding:var(--stm-product-list-padding-y,7px) var(--stm-product-list-padding-x,9px);
  column-gap:0;
  row-gap:var(--stm-product-list-row-gap,4px);
  overflow:visible;
  border:0;
  border-radius:0;
  background:var(--stm-commerce-surface);
  box-shadow:none;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-shell,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-shell{
  grid-column:1;
  grid-row:1 / 4;
  align-self:center;
  position:static;
  width:var(--stm-product-list-media-size,98px);
  height:var(--stm-product-list-media-size,98px);
  overflow:visible;
  border:var(--stm-border-width) solid var(--stm-commerce-border);
  border-radius:0;
  background:var(--stm-product-media-bg);
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-shell::after,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-shell::after{
  display:none;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:1 / 1;
  padding:5px;
  overflow:hidden;
  border-radius:0;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media img,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media img{
  object-fit:contain;
  object-position:center;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__catwrap,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__catwrap{
  grid-column:2 / 6;
  grid-row:1;
  align-self:end;
  min-width:0;
  margin:0 0 0 var(--stm-product-list-content-inset,14px);
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__cat,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__cat{
  font-size:var(--stm-product-list-category-size,9px);
  line-height:1.15;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--title,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--title{
  grid-column:2 / 6;
  grid-row:2;
  align-self:center;
  min-width:0;
  margin:0 0 0 var(--stm-product-list-content-inset,14px);
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__title,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__title{
  min-height:0;
  max-height:calc(1.25em * var(--stm-product-list-title-lines,2));
  font-size:var(--stm-product-list-title-size,13px);
  line-height:1.25;
  -webkit-line-clamp:var(--stm-product-list-title-lines,2);
}

/* Flatten only the List View semantic rows so the same card children can be
 * placed into the compact commerce/right-action tracks without duplicate markup. */
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--meta,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--meta,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions{
  display:contents;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__price,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__price{
  grid-column:2;
  grid-row:3;
  align-self:center;
  justify-self:start;
  min-width:0;
  margin-left:var(--stm-product-list-content-inset,14px);
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 7px;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__old,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__range-min,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__old,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__range-min{
  position:static;
  inset:auto;
  order:2;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current{
  order:1;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current .amount,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-price-stack__current .amount{
  font-size:var(--stm-product-list-price-size,13px);
}

/* List View commerce geometry is deterministic: the price owns its natural
 * width, an explicit 90px spacer follows, then Add to Cart. This enforces the
 * requested separation regardless of the archive row width. */
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__atc,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__atc{
  grid-column:4;
  grid-row:3;
  align-self:center;
  justify-self:start;
  flex:0 0 var(--stm-product-list-action-size,32px);
  width:var(--stm-product-list-action-size,32px);
  min-width:var(--stm-product-list-action-size,32px);
  height:var(--stm-product-list-action-size,32px);
  min-height:var(--stm-product-list-action-size,32px);
  margin:0;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__atc.stm-sold-btn,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__atc.stm-sold-btn{
  width:auto;
  min-width:60px;
  max-width:88px;
  padding-inline:8px;
  font-size:8px;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__rating,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__rating{
  grid-column:6;
  grid-row:1;
  align-self:center;
  justify-self:end;
  margin:0 calc(var(--stm-product-list-action-size,32px) + 15px) 0 0;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__rating .star-rating,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__rating .star-rating{
  font-size:var(--stm-product-list-rating-size,7px);
}

/* Wishlist owns the upper right control. Quick View + Compare reuse the media
 * action markup but are relocated beneath it as a permanent one-row toolbar. */
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__wish,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl-action--wishlist,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl__wish,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__row--actions .stm-pl-action--wishlist{
  grid-column:6;
  grid-row:1;
  align-self:center;
  justify-self:end;
  flex:0 0 var(--stm-product-list-action-size,32px);
  width:var(--stm-product-list-action-size,32px);
  min-width:var(--stm-product-list-action-size,32px);
  height:var(--stm-product-list-action-size,32px);
  min-height:var(--stm-product-list-action-size,32px);
  margin:0;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions{
  position:absolute;
  z-index:4;
  inset:auto var(--stm-product-list-padding-x,9px) var(--stm-product-list-padding-y,7px) auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  width:var(--stm-product-list-action-track,127px);
  gap:var(--stm-product-list-tools-gap,5px);
  pointer-events:auto;
  transform:none;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-qv-btn,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-qv-trigger,
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-compare-btn--overlay,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-qv-btn,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-qv-trigger,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-compare-btn--overlay{
  opacity:1;
  pointer-events:auto;
  transform:none;
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-compare-btn--overlay,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list .stm-pl__media-actions .stm-compare-btn--overlay{
  width:var(--stm-product-media-action-size,28px);
  min-width:var(--stm-product-media-action-size,28px);
  height:var(--stm-product-media-action-size,28px);
  min-height:var(--stm-product-media-action-size,28px);
}

/* List View stays square-cornered and reuses the exact global Product Card
 * hover depth/lift contract. No list-only shadow role is allowed here. */
html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:focus-within,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:focus-within{
  transform:translateY(var(--stm-product-card-hover-lift));
}

html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:focus-within > .stm-pl,
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:focus-within > .stm-pl{
  border-radius:0;
  box-shadow:var(--stm-product-card-hover-shadow);
}

@media (hover:hover) and (pointer:fine){
  html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:hover,
  html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:hover{
    z-index:var(--stm-product-card-hover-z);
    transform:translateY(var(--stm-product-card-hover-lift));
  }

  html[data-stm-layout="desktop"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:hover > .stm-pl,
  html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-products-view-list > li.product.stm-product-card:hover > .stm-pl{
    border-radius:0;
    box-shadow:var(--stm-product-card-hover-shadow);
  }
}


  html[data-stm-layout="mobile"] .stm-product-card > .stm-pl{
    padding:
      max(0px, calc(var(--stm-product-card-padding-mobile) - var(--stm-product-card-top-reduction)))
      var(--stm-product-card-padding-mobile)
      var(--stm-product-card-bottom-padding);
  }

  html[data-stm-layout="mobile"] .stm-product-card .stm-pl__atc{
    flex-basis: var(--stm-product-atc-button-size-mobile);
    width: var(--stm-product-atc-button-size-mobile);
    min-width: var(--stm-product-atc-button-size-mobile);
    height: var(--stm-product-atc-button-size-mobile);
    min-height: var(--stm-product-atc-button-size-mobile);
  }

