/**
 * Category / PLP / product-detail helpers — complements wolfmach-merged + wolfmach-chrome.
 */
:root {
  /* Magento catalog controls + tiles — matches wolfmach neutral borders */
  --wm-plp-rule: #e1e1e1;
  --wm-plp-tile-gap: 10px;
}
.wm-shop-dept-nav {
  margin: 0 0 1.5rem;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 0.75rem;
}
.wm-shop-dept-nav .items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-shop-dept-nav a {
  font-weight: 600;
  text-decoration: none;
  color: inherit;
}
.wm-shop-dept-nav a:hover {
  color: #ff8400;
}

.wm-category-landing .block-landing-subcategories .category a,
.wm-category-landing .block-landing-subcategories .category a:visited {
  color: #fff;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}
.wm-category-landing .block-landing-subcategories .category a:hover,
.wm-category-landing .block-landing-subcategories .category a:focus {
  color: #fff;
}
.wm-category-landing--plp .wm-landing-hero {
  display: none !important;
}

/* Department landing Page Builder banner — extracted computed styles */
.wm-category-landing .wm-landing-hero .pagebuilder-banner-wrapper {
  background-color: rgba(0, 0, 0, 0);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-sizing: border-box;
  color: rgb(38, 38, 38);
  display: block;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  height: 300px;
  line-height: 20px;
  min-height: 300px;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
  width: 100%;
}

.wm-landing-subcats {
  margin-bottom: 1.5rem;
}

/* Preserve visual gap between department hero and category cards. */
.wm-category-landing[data-landing="cooling"] .wm-landing-subcats,
.wm-category-landing[data-landing="machinery"] .wm-landing-subcats {
  margin-top: 24px;
}


.block-landing-subcategories .item.wm-subcat-current .category {
  box-shadow: inset 0 0 0 3px #ff8400;
  border-radius: 2px;
}

/* Machinery landing — crops from live-machinery-reference.png (475px tiles, ~25px gutters). */
.wm-category-landing[data-landing="machinery"] .wm-landing-hero .pagebuilder-banner-wrapper {
  height: 345px;
  min-height: 345px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #000;
}
.wm-category-landing[data-landing="machinery"] .block-landing-subcategories .items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wm-category-landing[data-landing="machinery"] .block-landing-subcategories .item {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.wm-category-landing[data-landing="machinery"] .block-landing-subcategories .category {
  width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  background-color: #000;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  aspect-ratio: 1 / 1;
  min-height: 0;
  height: auto;
}
.wm-category-landing[data-landing="machinery"] .block-landing-subcategories .category > a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* Keep readable fallback labels when background assets fail. */
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 16px;
  line-height: 22px;
  font-weight: 500;
  min-height: 0;
  height: 100%;
}

/* Machinery tile artwork already includes labels; avoid double text overlay. */
.wm-category-landing[data-landing="machinery"] .block-landing-subcategories .category > a {
  color: transparent !important;
  text-shadow: none;
}

@media only screen and (max-width: 991px) {
  .wm-category-landing[data-landing="machinery"] .block-landing-subcategories .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media only screen and (max-width: 767px) {
  .wm-category-landing[data-landing="cooling"] .wm-landing-subcats,
  .wm-category-landing[data-landing="machinery"] .wm-landing-subcats {
    margin-top: 14px;
  }
  .wm-category-landing[data-landing="machinery"] .wm-landing-hero .pagebuilder-banner-wrapper {
    height: 240px;
    min-height: 240px;
  }
  .wm-category-landing[data-landing="machinery"] .block-landing-subcategories .items {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .wm-category-landing[data-landing="machinery"] .block-landing-subcategories .category,
  .wm-category-landing[data-landing="machinery"] .block-landing-subcategories .category > a {
    aspect-ratio: 1 / 1;
    min-height: 0;
    height: auto;
  }
}

/* Cooling — live assets from wolfmach.com/media (banner + catalog/category tiles). */
.wm-category-landing[data-landing="cooling"] .wm-landing-hero .pagebuilder-banner-wrapper {
  height: 300px;
  min-height: 300px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #000;
}
.wm-category-landing[data-landing="cooling"] .block-landing-subcategories .items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wm-category-landing[data-landing="cooling"] .block-landing-subcategories .item {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
.wm-category-landing[data-landing="cooling"] .block-landing-subcategories .category {
  width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  background-color: #000;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  min-height: 260px;
  height: 260px;
}
.wm-category-landing[data-landing="cooling"] .block-landing-subcategories .category > a {
  width: 100%;
  min-height: 260px;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 17px;
  line-height: 22px;
  font-weight: 500;
}

/* Breadcrumb fallback styling (prevents vertical slash stacks). */
.wm-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.4;
}
.wm-breadcrumbs .wm-crumb,
.wm-breadcrumbs .wm-crumb-sep {
  display: inline-block;
  white-space: nowrap;
}
.wm-breadcrumbs .wm-crumb {
  color: #555;
  text-decoration: none;
}
.wm-breadcrumbs a.wm-crumb:hover {
  color: #111;
}
.wm-breadcrumbs .wm-crumb--current {
  color: #222;
  font-weight: 500;
}
.wm-breadcrumbs .wm-crumb-sep {
  color: #9c9c9c;
}
.wm-global-breadcrumb-wrap {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  padding: 14px clamp(16px, 2.8vw, 28px) 0;
  box-sizing: border-box;
}
.wm-global-breadcrumbs {
  margin-bottom: 0;
}
.wm-breadcrumbs--light .wm-crumb,
.wm-breadcrumbs--light .wm-crumb-sep,
.wm-breadcrumbs--light .wm-crumb--current {
  color: #fff;
}
.wm-breadcrumbs--light a.wm-crumb:hover {
  color: #f2e6d3;
}
.wm-hero-breadcrumbs {
  position: relative;
  z-index: 2;
  margin: 0 0 12px;
}

@media only screen and (max-width: 991px) {
  .wm-category-landing[data-landing="cooling"] .block-landing-subcategories .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media only screen and (max-width: 767px) {
  .wm-global-breadcrumb-wrap {
    padding-top: 10px;
  }
  .wm-hero-breadcrumbs {
    margin-bottom: 10px;
  }
  #shop-hub-grid .block-sublanding-subcategories .items,
  #shop-segment-hub-grid .block-sublanding-subcategories .items {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  #shop-hub-grid .block-sublanding-subcategories .category > a,
  #shop-segment-hub-grid .block-sublanding-subcategories .category > a {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
  }
  .wm-sublanding-grid .items {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .wm-sublanding-grid .category > a {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
  }
  .wm-category-landing[data-landing="cooling"] .wm-landing-hero .pagebuilder-banner-wrapper {
    height: 220px;
    min-height: 220px;
  }
  .wm-category-landing[data-landing="cooling"] .block-landing-subcategories .items {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .wm-category-landing[data-landing="cooling"] .block-landing-subcategories .category,
  .wm-category-landing[data-landing="cooling"] .block-landing-subcategories .category > a {
    min-height: 200px;
    height: auto;
  }
}


/* Black bar hubs (segment landing, subcat without banner) — title metrics match #wm-cooling-flood-plp-hero. */
.wm-category-head--segment {
  background: #000;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.wm-category-head--segment .header-image {
  display: none;
}

.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) {
  margin: 0;
}
.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) .block.subnav {
  margin: 0 0 1rem;
  border-bottom: 1px solid #e8e8e8;
  background: #fafafa;
}
.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) .block.subnav .items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0.85rem 0;
}
.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) .block.subnav a {
  text-decoration: none;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.35rem 0;
  display: inline-block;
  border-bottom: 3px solid transparent;
}
.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) .block.subnav a:hover {
  color: #111;
}
.wm-shop-leaf-subnav-host:not(.wm-catalog-leaf-tabs) .block.subnav a.current {
  border-bottom-color: #a88d6d;
  color: #111;
}

/* Subcategory hub — department tabs (e.g. Sawing / Holemaking) wrap instead of scrolling horizontally. */
#shop-hub-top .block.subnav,
#shop-segment-hub-top .block.subnav {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 0;
  border: 0;
  background: #fff;
  color: rgb(38, 38, 38);
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
}
#shop-hub-top .block.subnav > .content,
#shop-segment-hub-top .block.subnav > .content {
  box-sizing: border-box;
  display: block;
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgb(230, 230, 230);
}
#shop-hub-top .block.subnav ol.items,
#shop-segment-hub-top .block.subnav ol.items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0 6px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: hidden;
  gap: 0 0.45rem;
}
#shop-hub-top .block.subnav .item,
#shop-segment-hub-top .block.subnav .item {
  list-style: none;
  list-style-type: none;
  flex: 0 1 auto;
}
#shop-hub-top .block.subnav .item > a,
#shop-segment-hub-top .block.subnav .item > a {
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  text-decoration: none !important;
  color: #262626;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 20px;
  white-space: nowrap;
  padding: 2.1em 0;
  margin: 0 0 -2px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: #fff;
  vertical-align: bottom;
  box-shadow: none;
}
#shop-hub-top .block.subnav .item > a:hover,
#shop-segment-hub-top .block.subnav .item > a:hover {
  color: #9b8763;
}
#shop-hub-top .block.subnav .items a.current:hover,
#shop-segment-hub-top .block.subnav .items a.current:hover {
  color: #262626;
}
#shop-hub-top .block.subnav .items a.current,
#shop-segment-hub-top .block.subnav .items a.current {
  color: #262626;
  border-bottom: 2px solid #9b8763;
}
/* Match tab strip width (1200px + 10px inset) so sublanding grid aligns left/right with tabs. */
#shop-hub-grid,
#shop-segment-hub-grid {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}
#shop-hub-grid .block-sublanding-subcategories,
#shop-segment-hub-grid .block-sublanding-subcategories {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
#shop-hub-grid .block-sublanding-subcategories .items,
#shop-segment-hub-grid .block-sublanding-subcategories .items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px) clamp(28px, 4.5vw, 56px);
  list-style: none;
  margin: 0;
  padding: 0;
}
#shop-hub-grid .block-sublanding-subcategories .item,
#shop-segment-hub-grid .block-sublanding-subcategories .item {
  width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
#shop-hub-grid .block-sublanding-subcategories .category,
#shop-segment-hub-grid .block-sublanding-subcategories .category {
  width: 100%;
}
#shop-hub-grid .block-sublanding-subcategories .category > a,
#shop-segment-hub-grid .block-sublanding-subcategories .category > a {
  display: grid;
  grid-template-columns: clamp(72px, 9vw, 108px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 2.4vw, 28px);
  width: 100%;
  min-width: 0;
  text-decoration: none !important;
  color: #262626 !important;
  padding: 4px 0;
  box-sizing: border-box;
}
#shop-hub-grid .block-sublanding-subcategories .category > a::before,
#shop-hub-grid .block-sublanding-subcategories .category > a::after,
#shop-segment-hub-grid .block-sublanding-subcategories .category > a::before,
#shop-segment-hub-grid .block-sublanding-subcategories .category > a::after {
  content: none !important;
  display: none !important;
}
#shop-hub-grid .block-sublanding-subcategories .category-img,
#shop-segment-hub-grid .block-sublanding-subcategories .category-img {
  display: block;
  width: clamp(72px, 9vw, 108px);
  aspect-ratio: 1 / 1;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
#shop-hub-grid .block-sublanding-subcategories .category-name,
#shop-segment-hub-grid .block-sublanding-subcategories .category-name {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: #262626;
  font-size: clamp(13px, 1.1vw, 18px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
#shop-hub-grid .block-sublanding-subcategories .category > a:hover .category-name,
#shop-segment-hub-grid .block-sublanding-subcategories .category > a:hover .category-name,
#shop-hub-grid .block-sublanding-subcategories .category > a:focus .category-name,
#shop-segment-hub-grid .block-sublanding-subcategories .category > a:focus .category-name {
  color: #9b8763;
}
.wm-sublanding-grid {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 10px 10px;
  box-sizing: border-box;
}
.wm-sublanding-grid .items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px) clamp(28px, 4.5vw, 56px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-sublanding-grid .item {
  width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.wm-sublanding-grid .category > a {
  display: grid;
  grid-template-columns: clamp(72px, 9vw, 108px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 2.4vw, 28px);
  width: 100%;
  min-width: 0;
  text-decoration: none !important;
  color: #262626 !important;
  padding: 4px 0;
  box-sizing: border-box;
}
.wm-sublanding-grid .category > a::before,
.wm-sublanding-grid .category > a::after {
  content: none !important;
  display: none !important;
}
.wm-sublanding-grid .category-img {
  display: block;
  width: clamp(72px, 9vw, 108px);
  aspect-ratio: 1 / 1;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.wm-sublanding-grid .category-copy {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  width: 100%;
}
.wm-sublanding-grid .category-name {
  display: block;
  min-width: 0;
  max-width: 100%;
  color: #262626;
  font-size: clamp(13px, 1.1vw, 18px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.wm-sublanding-grid .category-arrow {
  flex: 0 0 auto;
  color: #9b8763;
  font-size: 20px;
  line-height: 1;
}
.wm-sublanding-grid .category > a:hover .category-name,
.wm-sublanding-grid .category > a:focus .category-name {
  color: #9b8763;
}


/* Toolbar: Magento-like row + loading indicator */
#shop-plp .toolbar.toolbar-products {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px 24px;
  width: 100%;
  margin-bottom: 1rem;
}
#shop-plp .toolbar.toolbar-products .toolbar-amount {
  margin: 0;
  flex: 1 1 auto;
  min-width: 8rem;
  font-size: 14px;
  line-height: 1.25;
  color: #333;
}
#shop-plp .toolbar.toolbar-products .toolbar-number {
  font-weight: 600;
}
#shop-plp .toolbar.toolbar-products .field.limiter {
  margin: 0;
}
#shop-plp .toolbar.toolbar-products .field.limiter .label {
  margin: 0 8px 0 0;
  font-size: 12px;
  font-weight: 400;
  color: #333;
}
#shop-plp .toolbar.toolbar-products select.limiter-options {
  min-width: 52px;
  padding: 6px 28px 6px 10px;
  font-size: 14px;
  line-height: 1.25;
  color: #333;
  background-color: #fff;
  border: 1px solid var(--wm-plp-rule);
  border-radius: 0;
  cursor: pointer;
}
#shop-plp .toolbar.toolbar-products .toolbar-sorter.sorter {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  margin-left: auto;
  flex-wrap: nowrap;
}
/* Custom sort control — dual box [ trigger ▼ ] [ ↓ ] */
#shop-plp .toolbar.toolbar-products .wm-toolbar-sort-custom {
  margin: 0;
}
#shop-plp .toolbar.toolbar-products .wm-sort-split {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 2px;
}
#shop-plp .toolbar.toolbar-products .wm-sort-dropdown-wrap {
  position: relative;
  min-width: 120px;
  flex: 1 1 auto;
}
#shop-plp .toolbar.toolbar-products .wm-sort-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 6px 12px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #fff;
  border: 1px solid var(--wm-plp-rule);
  border-radius: 0;
  cursor: pointer;
}
#shop-plp .toolbar.toolbar-products .wm-sort-trigger-label--long {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
}
#shop-plp .toolbar.toolbar-products .wm-sort-chevron {
  flex-shrink: 0;
  color: #333;
  opacity: 0.85;
}
#shop-plp .toolbar.toolbar-products .wm-sort-trigger:hover {
  border-color: #b8b8b8;
}
#shop-plp .toolbar.toolbar-products .wm-sort-trigger:focus {
  outline: 0;
  border-color: #006bb4;
  box-shadow: 0 0 0 1px #006bb4;
}
#shop-plp .toolbar.toolbar-products .wm-sort-listbox {
  position: absolute;
  z-index: 120;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--wm-plp-rule);
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
#shop-plp .toolbar.toolbar-products .wm-sort-option {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 400;
  color: #333;
  cursor: pointer;
}
#shop-plp .toolbar.toolbar-products .wm-sort-option:hover,
#shop-plp .toolbar.toolbar-products .wm-sort-option:focus {
  background: #f5f5f5;
  outline: 0;
}
#shop-plp .toolbar.toolbar-products .wm-sort-dir-btn {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--wm-plp-rule);
  border-radius: 0;
  cursor: pointer;
  color: #7d6748;
}
#shop-plp .toolbar.toolbar-products .wm-sort-dir-btn.wm-sort-dir-btn--muted {
  cursor: default;
  color: #b8a994;
  opacity: 0.55;
}
#shop-plp
  .toolbar.toolbar-products
  .wm-sort-dir-btn:not(.wm-sort-dir-btn--muted):hover {
  border-color: #b8b8b8;
}
#shop-plp
  .toolbar.toolbar-products
  .wm-sort-dir-btn:focus-visible {
  outline: 0;
  border-color: #006bb4;
  box-shadow: 0 0 0 1px #006bb4;
}
#shop-plp .toolbar.toolbar-products .wm-sort-dir-btn.sort-desc .wm-sort-dir-svg {
  transform: rotate(180deg);
}
#shop-plp .toolbar.toolbar-products .wm-sort-dir-svg {
  display: block;
  transition: transform 0.15s ease;
}
.wm-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#shop-plp .toolbar.toolbar-products .toolbar-sorter-action {
  flex-shrink: 0;
}
.wm-shop-toolbar-loading {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #666;
  width: 100%;
  flex-basis: 100%;
}
.wm-shop-toolbar-loading[hidden] {
  display: none !important;
}
.wm-shop-spinner {
  width: 22px;
  height: 22px;
  border: 2px solid #e0e0e0;
  border-top-color: #ff8400;
  border-radius: 50%;
  animation: wm-shop-spin 0.7s linear infinite;
}
@keyframes wm-shop-spin {
  to {
    transform: rotate(360deg);
  }
}
.product-items.is-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

/* Layered filters — Active filters + Filter results (leaf PLP) */
.wm-leaf-filter-stack {
  margin-bottom: 0.25rem;
}
.wm-filter-section-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #000;
  padding: 0.85rem 0 0.5rem;
  border-bottom: 1px solid #eeeeee;
  margin: 0;
}
.wm-filter-results-title {
  padding-top: 0.35rem;
}
.wm-active-filters-wrap {
  margin-bottom: 0.15rem;
}
.wm-active-filter-list {
  list-style: none;
  margin: 0.5rem 0 0.65rem;
  padding: 0;
}
.wm-active-filter-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0f0f0;
  padding: 8px 10px;
  margin-bottom: 8px;
  font-size: 14px;
  color: #757575;
}
.wm-active-filter-remove {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: #757575;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.wm-chip-label {
  flex: 1;
  min-width: 0;
}
.wm-remove-all-filters {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  padding: 0 0 1rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
  cursor: pointer;
  font-family: inherit;
}
.wm-remove-all-filters:hover {
  color: #555;
}

.wm-filter-layered-attrs {
  margin-bottom: 0.75rem;
  padding-bottom: 0.25rem;
}
.wm-lnav-section {
  border-bottom: 1px solid #e8e8e8;
}
.wm-lnav-section:last-child {
  border-bottom: none;
}
.wm-lnav-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #000;
}
.wm-lnav-head--price {
  padding-top: 0.5rem;
}
.wm-lnav-head--leaf-price {
  padding-top: 0.5rem;
}
.wm-lnav-icon {
  font-weight: 400;
  color: #666;
  width: 1.25rem;
  text-align: center;
}
.wm-lnav-panel {
  padding: 0 0 0.85rem;
}
.wm-lnav-opts--bare {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-lnav-opts--bare li {
  margin: 0.15rem 0;
}
.wm-filter-link {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  padding: 0.32rem 0;
  font-size: 14px;
  font-weight: 400;
  color: #757575;
  cursor: pointer;
  font-family: inherit;
}
.wm-filter-link:hover,
.wm-filter-link:focus {
  color: #333;
}
.wm-filter-link.is-active {
  color: #000;
  font-weight: 600;
}

/* Leaf sidebar — price facet (text links, reference spacing) */
.wm-leaf-price-filter .wm-price-filter-panel {
  padding-top: 14px;
  padding-bottom: 12px;
}
.wm-price-filter-opts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-price-filter-opts li {
  margin: 0 0 8px;
}
.wm-price-filter-opts li:last-child {
  margin-bottom: 0;
}
a.wm-price-filter-link {
  display: block;
  width: 100%;
  padding: 2px 0;
  font-size: 14px;
  font-weight: 400;
  color: #666;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  border: 0;
  background: transparent;
}
a.wm-price-filter-link:hover,
a.wm-price-filter-link:focus {
  color: #333;
  outline: 0;
}
a.wm-price-filter-link:focus-visible {
  outline: thin dotted #333;
  outline-offset: 2px;
}
a.wm-price-filter-link.is-active {
  color: #000;
  font-weight: 600;
}
.wm-leaf-price-filter .wm-price-filter-head .wm-lnav-label {
  font-weight: 700;
}
.wm-leaf-price-filter .wm-price-filter-caret {
  font-weight: 400;
  color: #666;
}

body.wm-shop-leaf-plp .wm-lnav-head--leaf-price {
  display: flex !important;
}
body.wm-shop-leaf-plp .wm-filter-price-section .wm-lnav-panel--price[hidden] {
  display: none !important;
}
body:not(.wm-shop-leaf-plp) .wm-lnav-head--price {
  display: none !important;
}
body:not(.wm-shop-leaf-plp) .wm-filter-price-section .wm-lnav-panel--price {
  border: 0;
  padding: 0;
}
body:not(.wm-shop-leaf-plp) .wm-filter-price-section {
  border-bottom: none;
}

/* PLP tiles — match live category grid */
body.page-products.catalog-category-view .products-grid ol.products.list.product-items {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 calc(-1 * var(--wm-plp-tile-gap));
  padding: 0;
  width: calc(100% + 2 * var(--wm-plp-tile-gap));
  max-width: none;
  box-sizing: border-box;
}

/* Keep catalog/footer flow sane when legacy float styles are present. */
body.page-products.catalog-category-view #maincontent .columns::after {
  content: "";
  display: block;
  clear: both;
}
body.page-products.catalog-category-view #shop-plp {
  position: relative;
  z-index: 1;
}
body.page-products.catalog-category-view .products-grid .product-item {
  box-sizing: border-box;
  padding: 0 var(--wm-plp-tile-gap) 2rem;
  margin: 0;
  width: 100%;
}
@media (min-width: 640px) {
  body.page-products.catalog-category-view .products-grid .product-item {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  body.page-products.catalog-category-view .products-grid .product-item {
    width: 33.333%;
  }
}
@media (min-width: 1200px) {
  body.page-products.catalog-category-view .products-grid .product-item {
    width: 25%;
  }
}

body.page-products.catalog-category-view .product-image-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  display: block;
  min-height: 180px;
}
body.page-products .product-image-wrapper {
  display: block !important;
  height: 0 !important;
  padding-bottom: 100% !important;
  position: relative;
  overflow: hidden;
  background: #fafafa;
}
body.page-products .product-image-photo {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center;
  display: block;
}
.wm-product-brand-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #181818;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.wm-product-brand-badge img {
  position: relative;
  z-index: 1;
  width: 22px;
  height: 22px;
  display: block;
  filter: brightness(0) invert(1);
}

/* One line: amount · Ex GST · unit — no block tax note (avoids stacked/jagged layout) */
.price-box.price-final_price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.35rem;
  max-width: 100%;
}
.price-box.price-final_price .wm-price-tax-note,
.price-box.price-final_price .wm-price-suffix {
  display: inline;
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  color: #666;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.price-box.price-final_price .wm-price-suffix {
  white-space: nowrap;
}

/* Live category list often omits per-card stock ribbon */
body.page-products.catalog-category-view .products-grid .product-stock-label {
  display: none !important;
}

/* Stock wolf icons — always on the upper-left of the product image */
.product-image-container,
.product-image-wrapper,
.wm-pdp-gallery,
.wm-pdp-related-card__img-link {
  position: relative;
}

img.wm-stock-wolf-icon,
.wm-stock-wolf-icon,
.product-list-stock-label-icon,
.product-details-stock-label-icon {
  position: absolute !important;
  top: 6px !important;
  left: 6px !important;
  width: 37px !important;
  height: 37px !important;
  z-index: 6 !important;
  pointer-events: none !important;
  display: block !important;
  object-fit: contain !important;
  background-image: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* —— PLP card: legacy decorative wolf badge (replaced by stock wolves above) —— */
/* Wolf img must not inherit products-grid .product-item-photo img { width:100%; padding:1em; … } */
body.page-products.catalog-category-view .products-grid .product-image-container {
  position: relative !important;
}
body.page-products.catalog-category-view .wm-plp-wolf-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 6 !important;
  width: 37px !important;
  height: 37px !important;
  min-width: 37px !important;
  min-height: 37px !important;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
  display: block !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  overflow: visible;
  line-height: 0 !important;
  flex-shrink: 0 !important;
}

body.page-products.catalog-category-view .products-grid .product-item-photo img.wm-plp-wolf-icon,
body.page-products.catalog-category-view .wm-plp-wolf-badge img.wm-plp-wolf-icon {
  display: block !important;
  width: 37px !important;
  height: 37px !important;
  min-width: 37px !important;
  min-height: 37px !important;
  max-width: 37px !important;
  max-height: 37px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  pointer-events: none;
  object-fit: contain !important;
  object-position: center;
  border-radius: 0;
  background: transparent !important;
  vertical-align: top;
  filter: none !important;
  image-rendering: auto;
  flex: 0 0 37px !important;
}

body.page-products.catalog-category-view .wm-plp-my-store-row {
  width: 100%;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
  box-sizing: border-box;
}

body.page-products.catalog-category-view .wm-plp-my-store-cta {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  box-sizing: border-box !important;
  background: #9b8763 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  line-height: 1.2 !important;
  text-align: center !important;
}

body.page-products.catalog-category-view .wm-plp-my-store-cta.is-in-store {
  background: #85735a !important;
}

body.page-products.catalog-category-view .wm-plp-my-store-cta span {
  pointer-events: none;
}

body.page-products.catalog-category-view .products-grid .wm-plp-card-desc {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #262626 !important;
  line-height: 1.35 !important;
  margin: 0.35rem 0 0.5rem !important;
}

/*
 * Magento wolfmach-merged grid: .actions-secondary is a fixed 50×50 icon rail — breaks text links/buttons.
 * Reset to a normal stacked action block (always visible).
 */
body.page-products.catalog-category-view .products-grid .product-item .product-item-info {
  height: 100%;
  display: flex;
  flex-direction: column;
}
body.page-products.catalog-category-view .products-grid .product-item .product-item-details {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  padding: 0.75rem 0.75rem 0.35rem !important;
  box-sizing: border-box;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item
  .product-item-actions:not(.wm-plp-card-actions-hover) {
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 0.75rem 0.85rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  border: 0 !important;
  background: transparent !important;
}
/* PLP actions: keep space in layout always; hide visually until hover/focus (no card height jump). */
body.page-products.catalog-category-view
  .products-grid
  .wm-plp-product-card
  .product-item-actions.wm-plp-card-actions-hover {
  display: flex !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 0.75rem 0.85rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  position: static !important;
  border: 0 !important;
  background: transparent !important;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}
body.page-products.catalog-category-view
  .products-grid
  .wm-plp-product-card:not(:hover):not(:focus-within)
  .product-item-actions.wm-plp-card-actions-hover {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.page-products.catalog-category-view
  .products-grid
  .wm-plp-product-card:hover
  .product-item-actions.wm-plp-card-actions-hover,
body.page-products.catalog-category-view
  .products-grid
  .wm-plp-product-card:focus-within
  .product-item-actions.wm-plp-card-actions-hover {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media screen and (min-width: 800px) {
  body.page-products.catalog-category-view
    .products-grid
    .product-item
    .product-item-actions:not(.wm-plp-card-actions-hover) {
    display: flex !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
  }
}

body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-primary {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-primary
  form {
  margin: 0 !important;
}
/* Configure / Add to cart + favourites heart on one row */
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .wm-plp-card-cta-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .wm-plp-card-cta-row
  form {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 280px !important;
  display: block !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-primary
  .action.tocart,
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-primary
  button.action,
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .wm-plp-add-cart-cta {
  width: 100% !important;
  max-width: 280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  height: auto !important;
  min-height: 44px !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  background: #9b8763 !important;
  border: 1px solid #9b8763 !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .wm-plp-card-cta-row
  .wm-plp-add-cart-cta {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart {
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #c4b8a4 !important;
  background: #fff !important;
  color: #9b8763 !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  min-height: 44px !important;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart .fa {
  font-size: 18px !important;
  line-height: 1 !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart:hover,
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart:focus-visible {
  border-color: #9b8763 !important;
  color: #7a6a4f !important;
  outline: none !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart.is-in-wishlist {
  background: #faf8f5 !important;
  border-color: #9b8763 !important;
  color: #9b8763 !important;
}
body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  button.wm-plp-fav-heart[aria-busy="true"] {
  opacity: 0.65 !important;
  pointer-events: none !important;
}

body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-secondary {
  margin-top: 0.15rem !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  line-height: normal !important;
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
}

body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-secondary
  > .action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 2px !important;
  box-sizing: border-box !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  position: static !important;
  float: none !important;
  text-decoration: underline;
  color: #555 !important;
}

body.page-products.catalog-category-view
  .products-grid
  .product-item-actions
  .actions-secondary
  .tocompare {
  display: none !important;
}

/* Sidebar controls stay aligned/usable on leaf/category pages. */
body.page-products.catalog-category-view #shop-filter-root .block.filter {
  box-sizing: border-box;
  padding: 1rem 1rem 1.25rem;
  margin-bottom: 0.5rem;
  background: #fafafa;
  border: 1px solid #e8e8e8;
  border-radius: 2px;
}
body.page-products.catalog-category-view #shop-filter-root .field {
  margin: 0 0 1rem;
  padding: 0;
}
body.page-products.catalog-category-view #shop-filter-root .field .label {
  display: block;
  margin: 0 0 0.35rem;
  padding: 0;
  font-weight: 600;
  font-size: 13px;
  color: #333;
  float: none !important;
  width: auto !important;
  text-align: left !important;
}
body.page-products.catalog-category-view #shop-filter-root .field .control {
  display: block;
  width: 100%;
  margin: 0;
  float: none !important;
}
body.page-products.catalog-category-view #shop-filter-root .select-container {
  display: block;
  width: 100%;
}
body.page-products.catalog-category-view #shop-filter-root input.input-text,
body.page-products.catalog-category-view #shop-filter-root select {
  width: 100%;
  max-width: 100%;
}
body.page-products.catalog-category-view #shop-filter-root .filter-actions {
  margin-top: 0.5rem;
}
body.page-products.catalog-category-view #shop-filter-root .filter-actions .action {
  width: 100%;
  max-width: 100%;
  min-height: 38px;
  box-sizing: border-box;
}

/* Size/color facets are tooling-oriented — hide on cooling & machinery PLPs. */
body.page-products.catalog-category-view[data-shop-dept="cooling"]
  #shop-filter-root
  .field.wm-filter-hide-on-leaf:has(#filter-size),
body.page-products.catalog-category-view[data-shop-dept="cooling"]
  #shop-filter-root
  .field.wm-filter-hide-on-leaf:has(#filter-color),
body.page-products.catalog-category-view[data-shop-dept="machinery"]
  #shop-filter-root
  .field.wm-filter-hide-on-leaf:has(#filter-size),
body.page-products.catalog-category-view[data-shop-dept="machinery"]
  #shop-filter-root
  .field.wm-filter-hide-on-leaf:has(#filter-color) {
  display: none !important;
}

.breadcrumbs.wm-breadcrumbs {
  margin: 0.75rem 0 1rem;
  padding: 0 0.25rem;
  width: 100%;
  box-sizing: border-box;
}

/* Product detail — layout inside .column.main (Howller + 1200px rhythm, live PDP). */
body.catalog-product-view .wm-inner-page-shell .page-main > .columns {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 4vw, 24px);
  padding-right: clamp(1rem, 4vw, 24px);
  box-sizing: border-box;
  width: 100%;
}
#shop-product-detail.wm-pdp-root {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2.5rem;
  align-items: flex-start;
  justify-content: space-between;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #262626;
  width: 100%;
  box-sizing: border-box;
}
#shop-product-detail.wm-pdp-root .product.media {
  flex: 1 1 360px;
  max-width: min(100%, 520px);
  width: 100%;
}
#shop-product-detail.wm-pdp-root .product-info-main {
  flex: 1 1 300px;
  min-width: min(100%, 280px);
  max-width: 520px;
}

#shop-product-detail.wm-pdp-root .wm-pdp-gallery {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  overflow: visible;
}

/* Gallery: horizontal slide track (live wolfmach-style). */
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__main {
  width: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: min(520px, 90vw);
  /* background: #fafafa;
  border: 1px solid #e8e8e8; */
  overflow: hidden;
  box-sizing: border-box;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100%;
  width: calc(100% * var(--wm-pdp-n, 1));
  transform: translateX(
    calc(-100% * var(--wm-pdp-index, 0) / var(--wm-pdp-n, 1))
  );
  transition: transform 0.45s cubic-bezier(0.25, 0.85, 0.35, 1);
  will-change: transform;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__slide {
  flex: 0 0 calc(100% / var(--wm-pdp-n, 1));
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 16px;
  height: 100%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__slide-img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* PDP primary image — border on main stage only */
#shop-product-detail.wm-pdp-root .gallery-placeholder {
  border: 0;
  background: transparent;
  box-sizing: border-box;
  max-width: 100%;
  overflow: visible;
}
/* PDP thumbnail gallery (below main image, Magento-style) */
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  flex-shrink: 0;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid #e8e8e8;
  list-style: none;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumb {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 2px solid #e6e6e6;
  background: #fff;
  cursor: pointer;
  line-height: 0;
  border-radius: 0;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumb:hover,
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumb:focus-visible {
  border-color: #f0a080;
  outline: none;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumb.is-active {
  border-color: #e85c2a;
}
#shop-product-detail.wm-pdp-root .wm-pdp-gallery__thumb-img {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: contain;
  object-position: center;
  background: #fafafa;
  vertical-align: top;
}
#shop-product-detail.wm-pdp-root .page-title-wrapper {
  margin: 0 0 0.75rem;
}
#shop-product-detail.wm-pdp-root .page-title {
  margin: 0;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: #181818;
}
#shop-product-detail.wm-pdp-root .wm-pdp-overview,
#shop-product-detail.wm-pdp-root .product.attribute.overview,
#shop-product-detail.wm-pdp-root .wm-pdp-description,
#shop-product-detail.wm-pdp-root .wm-pdp-description * {
  text-transform: none !important;
}
#shop-product-detail.wm-pdp-root .wm-pdp-overview {
  margin: 0 0 1.35rem;
  max-width: 496px;
  box-sizing: border-box;
}
#shop-product-detail.wm-pdp-root .wm-pdp-description {
  box-sizing: border-box;
  display: block;
  color: rgb(38, 38, 38);
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 28px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
  letter-spacing: 0.02em;
  margin: 0;
  width: 100%;
}
#shop-product-detail.wm-pdp-root .product-info-price {
  margin: 0.5rem 0 1rem;
}
/* Live PDP price: Howller 28px / rgb(243,84,54) / weight 400 */
#shop-product-detail.wm-pdp-root .price-box .price {
  box-sizing: border-box;
  display: inline;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  color: rgb(243, 84, 54);
  line-height: 1.1;
  padding-right: 0;
  text-size-adjust: 100%;
}
#shop-product-detail.wm-pdp-root .price-box.wm-pdp-price-display {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 1.25rem;
  max-width: 100%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-price-group {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}
#shop-product-detail.wm-pdp-root .wm-pdp-price-group--line {
  gap: 0.35rem;
  margin-left: 0.15rem;
}
#shop-product-detail.wm-pdp-root .price-box .price,
#shop-product-detail.wm-pdp-root .price-box .wm-pdp-line-price,
#shop-product-detail.wm-pdp-root .price-box .wm-pdp-price-sep {
  box-sizing: border-box;
  display: inline;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  color: rgb(243, 84, 54);
  line-height: 1.1;
  padding-right: 0;
  text-size-adjust: 100%;
}
#shop-product-detail.wm-pdp-root .price-box .wm-pdp-price-unit,
#shop-product-detail.wm-pdp-root .price-box .wm-pdp-line-unit {
  box-sizing: border-box;
  display: inline;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  color: rgb(243, 84, 54);
  line-height: 1.1;
  text-size-adjust: 100%;
}
#shop-product-detail.wm-pdp-root .price-box .wm-pdp-price-sep {
  margin: 0 0.35rem;
}
#shop-product-detail.wm-pdp-root .price-box.price-final_price {
  gap: 0 1.25rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-sku {
  margin: 0.35rem 0 0.75rem;
  font-size: 14px;
  line-height: 1.4;
}
#shop-product-detail.wm-pdp-root .wm-pdp-sku .type {
  font-weight: 600;
  margin-right: 0.35rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-stock {
  margin: 0 0 1rem;
  font-size: 14px;
}
#shop-product-detail.wm-pdp-root .wm-pdp-stock .stock.available {
  color: #2a7;
  font-weight: 600;
}
#shop-product-detail.wm-pdp-root .wm-pdp-stock-low {
  font-weight: 400;
  color: #333;
}
#shop-product-detail.wm-pdp-root .wm-pdp-stock-only {
  font-weight: 400;
  color: rgb(38, 38, 38);
  font-size: 14px;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 0.5rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-bar__line {
  flex: 1 1 auto;
  height: 1px;
  background: #dcdcdc;
  min-width: 1rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9b8763;
  cursor: pointer;
  white-space: nowrap;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-toggle:hover,
#shop-product-detail.wm-pdp-root .wm-pdp-specs-toggle:focus-visible {
  color: #7a6849;
  outline: none;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-toggle__icon {
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1;
  transition: transform 0.25s ease;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-toggle.is-open .wm-pdp-specs-toggle__icon {
  transform: rotate(45deg);
  display: inline-block;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-panel {
  overflow: hidden;
  margin: 0 0 1.25rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-panel[hidden] {
  display: none !important;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-table {
  width: 100%;
  max-width: 420px;
  border-collapse: collapse;
  font-size: 14px;
  margin: 0 0 1.25rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-table th {
  text-align: left;
  font-weight: 600;
  padding: 6px 12px 6px 0;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: top;
  width: 38%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-specs-table td {
  padding: 6px 0;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: top;
}
/* Options: live-style labels + thin bordered inputs */
#shop-product-detail.wm-pdp-root .wm-pdp-field {
  margin: 0 0 1.1rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-field .label {
  display: block;
  margin: 0 0 0.45rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-field-label,
#shop-product-detail.wm-pdp-root .wm-pdp-field .label span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #444;
}
#shop-product-detail.wm-pdp-root .wm-pdp-field .control {
  width: 100%;
  max-width: 100%;
}
/* Live PDP inputs: 52px tall, Howller 14px / 300, #666, hairline #ececec — full width of control */
#shop-product-detail.wm-pdp-root select.wm-pdp-input,
#shop-product-detail.wm-pdp-root input.wm-pdp-input {
  width: 100%;
  max-width: 316px;
  box-sizing: border-box;
  margin: 0;
  height: 52px;
  padding: 0 9px 0 20px;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 52px;
  color: rgb(102, 102, 102);
  background-color: rgb(255, 255, 255);
  background-image: linear-gradient(
    rgba(255, 255, 255, 0) 95%,
    rgb(226, 226, 226) 0
  );
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border: 1px solid rgb(236, 236, 236);
  border-radius: 1px;
  appearance: auto;
  transition: border-color 0.2s linear, background 0.2s ease-in;
}
#shop-product-detail.wm-pdp-root select.wm-pdp-input:focus,
#shop-product-detail.wm-pdp-root input.wm-pdp-input:focus {
  outline: none;
  border-color: rgb(200, 200, 200);
  box-shadow: none;
}
/* Tooth Pitch — label matches LENGTH / QUANTITY (uppercase, 12px) */
#shop-product-detail.wm-pdp-root .wm-pdp-tooth-pitch-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #444;
  margin: 0 0 0.5rem;
}
#shop-product-detail.wm-pdp-root .wm-pdp-tooth-pitch-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
#shop-product-detail.wm-pdp-root .wm-pdp-tooth-pitch-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  margin: 0;
  box-sizing: border-box;
  border: 1px solid #d4d4d4;
  background: #f2f2f2;
  color: #444;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  border-radius: 0;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
#shop-product-detail.wm-pdp-root .wm-pdp-tooth-pitch-btn:hover {
  border-color: #bbb;
  background: #eaeaea;
}
#shop-product-detail.wm-pdp-root .wm-pdp-tooth-pitch-btn.is-selected {
  background: #e8e8e8;
  border-color: #a8a8a8;
  color: #222;
  font-weight: 600;
}
#shop-product-detail.wm-pdp-root select.wm-pdp-select {
  min-height: 38px;
  width: 100%;
  max-width: 280px;
  border: 1px solid #cfcfcf;
  background-color: #fff;
}
/* LENGTH + QUANTITY: fixed label + fixed input width (fieldset/theme-safe; !important beats merged CSS) */
#shop-product-detail.wm-pdp-root .product-add-form .box-tocart fieldset.fieldset {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 16px !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid > .label {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 11.5rem !important;
  width: 11.5rem !important;
  max-width: 11.5rem !important;
  margin: 0 !important;
  box-sizing: border-box;
}
body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid > .control {
  flex: 0 0 316px !important;
  width: 316px !important;
  min-width: 316px !important;
  max-width: 316px !important;
  box-sizing: border-box !important;
}
body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--qty-inline > .control {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
}
body.catalog-product-view
  #shop-product-detail.wm-pdp-root
  .wm-pdp-field--inline-grid
  > .control
  input.wm-pdp-input,
body.catalog-product-view
  #shop-product-detail.wm-pdp-root
  .wm-pdp-field--inline-grid
  > .control
  select.wm-pdp-input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 480px) {
  body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid > .label {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.catalog-product-view #shop-product-detail.wm-pdp-root .wm-pdp-field--inline-grid > .control {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0.35rem;
  width: 100%;
  max-width: 100%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions__row--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions__row--full {
  width: 100%;
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions .wm-pdp-btn-brand {
  width: 100%;
  min-height: 46px;
  padding: 0.65rem 1rem;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  box-sizing: border-box;
  background-color: #9b8763;
  border: 1px solid #9b8763;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions .wm-pdp-btn-brand:hover,
#shop-product-detail.wm-pdp-root .wm-pdp-actions .wm-pdp-btn-brand:focus-visible {
  background-color: #857352;
  border-color: #857352;
  color: #fff;
  outline: none;
}
#shop-product-detail.wm-pdp-root .wm-pdp-actions .action.primary.tocart.wm-pdp-btn-brand {
  background-color: #9b8763;
  border-color: #9b8763;
  color: #fff;
}

.wm-plp-api-error {
  margin-bottom: 12px;
}

.wm-pdp-status {
  margin: 0 0 12px;
  min-height: 1.25em;
  font-size: 14px;
  color: #555;
}
.wm-pdp-status--loading::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border: 2px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  vertical-align: -2px;
  animation: wm-spin 0.7s linear infinite;
}
.wm-pdp-status--error {
  color: #b30000;
  font-weight: 600;
}
.wm-pdp-qty-error {
  display: block;
  margin-top: 0.35rem;
  color: #b30000;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
}
.wm-pdp-qty-error[hidden] {
  display: none;
}
@keyframes wm-spin {
  to {
    transform: rotate(360deg);
  }
}

.wm-pdp-section {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e8e8e8;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  clear: both;
}
body.catalog-product-view .wm-pdp-section {
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  color: #262626;
}
.wm-pdp-section__title {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0 12px;
  color: #181818;
}
.wm-pdp-section__status {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
  min-height: 1.2em;
}
.wm-pdp-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 900px) {
  .wm-pdp-related-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}
.wm-pdp-related-item {
  max-width: none;
  border: 1px solid #ececec;
  padding: 10px 12px;
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
/* Related / cross-sell — grid tiles: image on top, details below */
body.catalog-product-view .wm-pdp-related-grid .wm-pdp-related-item .product-item-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}
body.catalog-product-view .wm-pdp-related-grid .product-item-photo {
  display: block !important;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  align-self: center;
}
body.catalog-product-view .wm-pdp-related-grid .product-image-container {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0 !important;
}
body.catalog-product-view .wm-pdp-related-grid .product-image-wrapper {
  display: block !important;
  width: 100%;
  padding: 0 !important;
  line-height: 0;
}
body.catalog-product-view .wm-pdp-related-grid .product-image-photo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 180px;
  object-fit: contain;
  padding: 0 !important;
  margin: 0 auto !important;
}
body.catalog-product-view .wm-pdp-related-grid .product-item-details {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
body.catalog-product-view .wm-pdp-section--cross .wm-pdp-related-num {
  display: none;
}
.wm-pdp-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wm-pdp-post-row {
  margin: 0 0 12px;
}
.wm-pdp-post-link {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  padding: 10px 12px;
  border: 1px solid #eee;
  background: #fafafa;
  box-sizing: border-box;
}
.wm-pdp-post-link:hover {
  border-color: #ccc;
}
.wm-pdp-post-thumb {
  flex: 0 0 100px;
  width: 100px;
  min-height: 72px;
  max-height: 100px;
  background: #fff;
  border: 1px solid #e8e8e8;
  overflow: hidden;
  align-self: flex-start;
}
.wm-pdp-post-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 72px;
  object-fit: cover;
}
.wm-pdp-post-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wm-pdp-post-date {
  display: block;
  font-size: 12px;
  color: #777;
}
.wm-pdp-post-title {
  display: block;
  font-weight: 600;
  margin-bottom: 0;
}
.wm-pdp-post-excerpt {
  display: block;
  font-size: 13px;
  color: #555;
}

.wm-api-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.wm-api-btn--loading {
  opacity: 0.65;
  pointer-events: none;
}

/* Subcategory PLP (leaf): catalog area uses Bootstrap container-fluid + wm-subcat-catalog-container */
body.wm-shop-leaf-plp main.page-main > .container-fluid.wm-subcat-catalog-container {
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  color: rgb(38, 38, 38);
  margin-top: 56px;
  padding-bottom: 84px;
  box-sizing: border-box;
  border-top: 1px solid #e8e8e8;
}
/* Flood-coolant segment PLP: subnav .content draws the rule under tabs; leaf PLP catalog border-top + margin-top stacked an extra line and a large gap. */
body[data-wm-cooling-flood-segment-plp].wm-shop-leaf-plp main.page-main > .container-fluid.wm-subcat-catalog-container {
  border-top: 0;
  margin-top: 0;
}

/* Sidebar — price facet */
body.wm-shop-leaf-plp .wm-leaf-price-filter .wm-price-filter-head {
  margin-bottom: 12px;
}
body.wm-shop-leaf-plp .wm-leaf-price-filter .wm-price-filter-head .wm-lnav-label {
  font-size: 13px;
  font-weight: 600;
}
body.wm-shop-leaf-plp .wm-leaf-price-filter .wm-price-filter-panel {
  padding-top: 0;
  padding-bottom: 0;
}
body.wm-shop-leaf-plp .wm-price-filter-opts li {
  margin: 0 0 8px;
}
body.wm-shop-leaf-plp .wm-price-filter-opts li:last-child {
  margin-bottom: 0;
}
body.wm-shop-leaf-plp a.wm-price-filter-link {
  font-size: 14px;
  font-weight: 300;
  color: rgb(38, 38, 38);
  padding: 0;
  cursor: pointer;
}
body.wm-shop-leaf-plp a.wm-price-filter-link .price {
  color: inherit;
}
body.wm-shop-leaf-plp a.wm-price-filter-link:hover,
body.wm-shop-leaf-plp a.wm-price-filter-link:focus {
  color: #000000;
  outline: 0;
}

/* Toolbar — sort: dropdown + direction (extracted) */
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-split {
  align-items: center;
  gap: 8px;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-dropdown-wrap {
  min-width: 0;
  flex: 1 1 auto;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-trigger {
  height: 38px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #dcdcdc;
  justify-content: space-between;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  color: rgb(38, 38, 38);
  text-transform: none;
  letter-spacing: 0;
  background: #fff;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-trigger-label--long {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
  text-transform: none;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-chevron {
  width: 14px;
  height: 8px;
  flex-shrink: 0;
  opacity: 1;
  color: rgb(38, 38, 38);
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-listbox {
  border: 1px solid #dcdcdc;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-dir-btn {
  flex: 0 0 38px;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  border: 1px solid #dcdcdc;
  background: #fff;
  color: rgb(38, 38, 38);
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-dir-svg {
  width: 13px;
  height: 13px;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .wm-sort-dir-btn.wm-sort-dir-btn--muted {
  color: rgb(38, 38, 38);
  opacity: 0.4;
}

/* Flood-coolant segment PLP subnav — live wolfmach.com flood-coolant/mineral-oils (block.subnav + .content 1200px). */
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav.wm-segment-plp-nav {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: block;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav.wm-segment-plp-tabs {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 0;
  border: 0;
  background: #fff;
  color: rgb(38, 38, 38);
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  font-style: normal;
  line-height: 20px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}
/* Full-width rule on .content; tab links use margin-bottom overlap so active gold sits on the same line (live wolfmach, no double stack). */
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav > .content {
  box-sizing: border-box;
  display: block;
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgb(230, 230, 230);
  color: rgb(38, 38, 38);
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav ol.items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0 10px;
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
  float: none;
  color: rgb(38, 38, 38);
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav .item {
  list-style: none;
  list-style-type: none;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav .item > a {
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  text-decoration: none;
  color: #262626;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 20px;
  padding: 2.1em 0;
  margin: 0 1.5em -2px 0;
  border-bottom: 2px solid transparent;
  background: #fff;
  vertical-align: bottom;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav .item a:hover {
  color: #9b8763;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav .item a.is-active {
  color: #262626;
  border-bottom-color: #9b8763;
}
body[data-wm-cooling-flood-segment-plp] #shop-segment-plp-nav .block.subnav .item a.is-active:hover {
  color: #262626;
}

/* PLP favourites: icon button inline with CTA — see .wm-plp-fav-heart above */

/* Catalog PLP strip hero — matches live wolfmach.com category head (e.g. carbon-flex): inner 1200px, 70px vertical padding, 48px title. */
body[data-wm-plp-strip-hero] #wm-cooling-flood-plp-hero.wm-cooling-flood-plp-hero--text {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-bottom: 0;
  padding: 0;
  box-sizing: border-box;
  background: #000;
  border: 0;
}
.wm-cooling-flood-plp-hero--text {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: #000;
}
#wm-cooling-flood-plp-hero .wm-plp-strip-hero__inner,
#wm-cooling-flood-plp-hero .category-head-inner,
#shop-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner,
#shop-segment-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 70px 0;
  padding-left: 0;
  padding-right: 0;
  color: #fff;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}
#wm-cooling-flood-plp-hero .category-head-title,
#wm-cooling-flood-plp-hero .wm-cooling-flood-plp-hero__title,
#shop-hub-top .category-head.wm-category-head--segment .category-head-title,
#shop-segment-hub-top .category-head.wm-category-head--segment .category-head-title {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-family: Howller, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 48px;
  font-weight: 700;
  font-style: normal;
  line-height: 57.6px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  text-align: left;
  color: #fff;
  text-shadow: rgba(0, 0, 0, 0.8) 0 0 30px;
  text-size-adjust: 100%;
  unicode-bidi: isolate;
}
@media only screen and (max-width: 1239px) {
  #wm-cooling-flood-plp-hero .wm-plp-strip-hero__inner,
  #wm-cooling-flood-plp-hero .category-head-inner,
  #shop-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner,
  #shop-segment-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner {
    padding-left: clamp(1rem, 4vw, 24px);
    padding-right: clamp(1rem, 4vw, 24px);
  }
}
@media only screen and (max-width: 767px) {
  #wm-cooling-flood-plp-hero .wm-plp-strip-hero__inner,
  #wm-cooling-flood-plp-hero .category-head-inner,
  #shop-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner,
  #shop-segment-hub-top .category-head.wm-category-head--segment .wm-plp-strip-hero__inner {
    padding-top: clamp(2rem, 12vw, 70px);
    padding-bottom: clamp(2rem, 12vw, 70px);
  }
  #wm-cooling-flood-plp-hero .category-head-title,
  #wm-cooling-flood-plp-hero .wm-cooling-flood-plp-hero__title,
  #shop-hub-top .category-head.wm-category-head--segment .category-head-title,
  #shop-segment-hub-top .category-head.wm-category-head--segment .category-head-title {
    font-size: clamp(1.75rem, 8vw, 48px);
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
}
/* Leaf PLP tabs — active state: single gold bar via ::after (avoids border + theme underline stack). */
.wm-catalog-leaf-tabs {
  margin: 0;
  background: #fff;
  border-bottom: 0;
}
.wm-catalog-leaf-tabs .block.subnav {
  margin: 0;
  border: 0;
  background: #fff;
}
.wm-catalog-leaf-tabs .block.subnav .content {
  max-width: min(1320px, 100%);
  margin: 0 auto;
  padding: 0 clamp(0.75rem, 3vw, 1.25rem);
  box-sizing: border-box;
}
.wm-catalog-leaf-tabs .block.subnav .items {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0.65rem 0 0.5rem;
  border-bottom: 0;
}
.wm-catalog-leaf-tabs .block.subnav a {
  position: relative;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  color: #181818;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.4rem 0 0.55rem;
  display: inline-block;
  border: 0;
  box-shadow: none;
  margin: 0;
}
.wm-catalog-leaf-tabs .block.subnav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  background: transparent;
  pointer-events: none;
}
.wm-catalog-leaf-tabs .block.subnav a:hover {
  color: #9b8763;
}
.wm-catalog-leaf-tabs .block.subnav .items a.current {
  color: #181818;
}
.wm-catalog-leaf-tabs .block.subnav .items a.current::after {
  height: 2px;
  background-color: #9b8763;
}

/* Leaf PLP — sidebar left, product grid right (matches live 2-column catalog). */
body.wm-shop-leaf-plp .wm-subcat-catalog-container > .columns {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0 2.25rem;
  width: 100%;
  margin: 0;
}
body.wm-shop-leaf-plp .wm-subcat-catalog-container .sidebar.sidebar-main {
  order: 1 !important;
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: min(260px, 100%) !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.wm-shop-leaf-plp .wm-subcat-catalog-container .column.main {
  order: 2 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.wm-shop-leaf-plp #shop-plp .toolbar.toolbar-products .field.limiter {
  display: none !important;
}
@media only screen and (max-width: 991px) {
  body.wm-shop-leaf-plp .wm-subcat-catalog-container > .columns {
    flex-wrap: wrap;
  }
  body.wm-shop-leaf-plp .wm-subcat-catalog-container .sidebar.sidebar-main {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 1rem !important;
  }
  body.wm-shop-leaf-plp .wm-subcat-catalog-container .column.main {
    flex: 1 1 100% !important;
  }
}

/* Active promotional pricing tag (PLP / PDP) */
.wm-on-promo-tag {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.1rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #7a3d00;
  background: #ffe6bf;
  border: 1px solid #f0c57a;
  border-radius: 2px;
  vertical-align: middle;
  white-space: nowrap;
}
.wm-pdp-price-display .wm-on-promo-tag {
  margin-left: 0.55rem;
  align-self: center;
}
.price-box .wm-on-promo-tag {
  margin-top: 0.2rem;
}
