@charset "UTF-8";
/**
 * Engine-owned presentation for native WooCommerce Shop Sidebar widgets.
 * No replacement widgets are created; WooCommerce remains the data/behavior owner.
 */

body.stm-engine-storefront .stm-sidebar--shop {
  display: grid;
  align-content: start;
  gap: var(--stm-shop-widget-gap);
  min-width: 0;
  min-height: 100%;
  height: 100%;
  overflow: visible;
  box-sizing: border-box;
}

body.stm-engine-storefront .stm-sidebar--shop .widget {
  min-width: 0;
  margin: 0;
  box-shadow: none;
}


body.stm-engine-storefront .stm-sidebar--shop > .stm-widget > .stm-widget__title {
  margin: 0 0 8px;
  padding: var(--stm-raised-heading-padding-y,10px) var(--stm-raised-heading-padding-x,14px);
  border: 1px solid var(--stm-commerce-raised-edge-line);
  border-top-color: var(--stm-commerce-raised-edge-highlight);
  border-radius: var(--stm-commerce-raised-radius);
  background: var(--stm-commerce-raised-heading-bg);
  color: var(--stm-commerce-raised-heading-text);
  box-shadow:none;
  font-size: var(--stm-shop-widget-title-size);
  font-weight: var(--stm-shop-widget-title-weight);
  line-height: var(--stm-shop-widget-title-line-height);
}

body.stm-shop-widget-titles-hidden .stm-sidebar--shop > .stm-widget > .stm-widget__title {
  display: none;
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter,
body.stm-engine-storefront .stm-sidebar--shop .widget_product_categories {
  overflow: hidden;
  padding: 0;
  border: var(--stm-shop-widget-border);
  border-radius: var(--stm-shop-widget-radius);
  background: var(--stm-shop-widget-bg);
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .stm-widget__title,
body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .widget-title,
body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .widgettitle,
body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .wp-block-heading,
body.stm-engine-storefront .stm-sidebar--shop .widget_product_categories .stm-widget__title,
body.stm-engine-storefront .stm-sidebar--shop .widget_product_categories .widget-title,
body.stm-engine-storefront .stm-sidebar--shop .widget_product_categories .widgettitle,
body.stm-engine-storefront .stm-sidebar--shop .widget_product_categories .wp-block-heading {
  margin: 0;
  padding: 10px var(--stm-shop-widget-padding) 8px;
  border: 0;
  border-bottom: 1px solid var(--stm-commerce-raised-edge-line);
  background: var(--stm-commerce-raised-heading-bg);
  color: var(--stm-commerce-raised-heading-text);
  box-shadow:none;
  font-size: var(--stm-shop-widget-title-size);
  font-weight: var(--stm-shop-widget-title-weight);
  line-height: var(--stm-shop-widget-title-line-height);
}

body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_price_filter .stm-widget__title,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_price_filter .widget-title,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_price_filter .widgettitle,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_price_filter .wp-block-heading,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_product_categories .stm-widget__title,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_product_categories .widget-title,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_product_categories .widgettitle,
body.stm-shop-widget-titles-hidden .stm-sidebar--shop .widget_product_categories .wp-block-heading {
  display: none;
}

/* Native WooCommerce Price Filter. */
body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .price_slider_wrapper {
  padding: var(--stm-shop-widget-padding);
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .ui-slider {
  position: relative;
  height: var(--stm-shop-price-track-height);
  margin:
    2px
    var(--stm-shop-price-track-margin-x)
    var(--stm-shop-price-track-margin-bottom);
  border: 0;
  border-radius: var(--stm-radius-pill);
  background: var(--stm-shop-price-track-bg);
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .ui-slider-range {
  position: absolute;
  z-index: 1;
  height: 100%;
  border-radius: inherit;
  background: var(--stm-shop-price-track-bg);
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .ui-slider-handle {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: var(--stm-shop-price-handle-size);
  height: var(--stm-shop-price-handle-size);
  margin-top: calc(var(--stm-shop-price-handle-size) / -2);
  margin-left: calc(var(--stm-shop-price-handle-size) / -2);
  border: 2px solid var(--stm-shop-price-track-bg);
  border-radius: 50%;
  background: var(--stm-shop-widget-bg);
  box-shadow: none;
  cursor: ew-resize;
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: var(--stm-shop-price-button-height);
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .button {
  order: 1;
  flex: 0 0 auto;
  min-height: var(--stm-shop-price-button-height);
  margin: 0;
  padding: 0 17px;
  border: 0;
  border-radius: var(--stm-shop-price-button-radius);
  background: var(--stm-commerce-raised-accent-bg);
  color: var(--stm-commerce-button-text);
  font-size: 12px;
  font-weight: var(--stm-weight-bold);
  line-height: 1;
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .button:hover,
body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .button:focus-visible {
  background: var(--stm-commerce-raised-accent-hover-bg);
  color: var(--stm-commerce-button-text);
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .price_label {
  order: 2;
  min-width: 0;
  margin: 0;
  color: var(--stm-commerce-heading);
  font-size: var(--stm-shop-price-label-size);
  font-weight: var(--stm-weight-medium);
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

body.stm-engine-storefront .stm-sidebar--shop .widget_price_filter .clear {
  display: none;
}

/* Native WooCommerce Product Categories accordion. */
body.stm-engine-storefront .stm-sidebar--shop .product-categories,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li {
  position: relative;
  margin: 0;
  padding: 0;
  border-bottom: var(--stm-divider-default);
  list-style: none;
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories > li:last-child,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list > li:last-child {
  border-bottom: 0;
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li > a,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li > a {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--stm-shop-widget-row-height);
  margin: 0;
  padding:
    0
    var(--stm-shop-widget-row-padding-x);
  background: transparent;
  color: var(--stm-commerce-heading);
  font-size: var(--stm-shop-widget-row-font-size);
  font-weight: var(--stm-shop-widget-row-weight);
  line-height: 1;
  text-decoration: none;
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li.cat-parent > a,
body.stm-engine-storefront .stm-sidebar--shop .product-categories li.stm-has-children > a,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li.stm-has-children > a {
  padding-right: calc(
    var(--stm-shop-widget-row-padding-x) +
    var(--stm-shop-widget-arrow-size)
  );
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li.cat-parent > a::after,
body.stm-engine-storefront .stm-sidebar--shop .product-categories li.stm-has-children > a::after,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li.stm-has-children > a::after {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transition: transform var(--stm-commerce-transition);
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li.is-open > a::after,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li.is-open > a::after {
  transform: rotate(45deg);
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li > a:hover,
body.stm-engine-storefront .stm-sidebar--shop .product-categories li > a:focus-visible,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li > a:hover,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li > a:focus-visible {
  background: var(--stm-commerce-raised-hover-bg);
  color: var(--stm-commerce-primary-deep);
}

/* Hidden before JavaScript runs, preventing expanded-menu flash on reload. */
body.stm-engine-storefront .stm-sidebar--shop .product-categories ul.children,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list ul {
  display: none;
  margin: 0;
  padding: 0;
  background: var(--stm-shop-widget-soft-bg);
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories li.is-open > ul.children,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list li.is-open > ul {
  display: block;
}

body.stm-engine-storefront .stm-sidebar--shop .product-categories ul.children li > a,
body.stm-engine-storefront .stm-sidebar--shop .wc-block-product-categories-list ul li > a {
  min-height: 38px;
  padding-left: calc(
    var(--stm-shop-widget-row-padding-x) +
    var(--stm-shop-widget-submenu-indent)
  );
  font-size: 13px;
  font-weight: var(--stm-weight-regular);
}

html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-sidebar--shop,
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-sidebar--shop {
  gap:12px;
}
