/* BB Catalogue Regulator — archive/runtime (deferred). Critical: bb-catalogue-regulator-critical.css */

/* =========================================================
   BB CATEGORY MENU – ACCORDION + ACTIVE STATE
   Desktop: custom accordion via .bb-toggle + .bb-open (root opened via JS once)
   Tablet/Mobile: SmartMenus dropdown remains functional; ONLY chevron toggles.
   Active fill: ONLY last selected item (current-menu-item or bb-last-click-link)
   ========================================================= */
.bb-cat-menu{
  --bb-active-fill: rgba(246, 213, 100, 0.80);
  --bb-active-text: #111;
  --bb-sep: rgba(0,0,0,.06);
}

/* reset */
.bb-cat-menu, .bb-cat-menu *{ box-shadow:none !important; text-decoration:none !important; }

/* lists */
.bb-cat-menu .elementor-nav-menu,
.bb-cat-menu .elementor-nav-menu ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* separators */
.bb-cat-menu .elementor-nav-menu > li{ margin:0 !important; border-top:1px solid var(--bb-sep) !important; }
.bb-cat-menu .elementor-nav-menu > li:last-child{ border-bottom:1px solid var(--bb-sep) !important; }
.bb-cat-menu .sub-menu > li{ border-top:1px solid var(--bb-sep) !important; }

/* row spacing + typography */
.bb-cat-menu .elementor-nav-menu a{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:12px 12px !important;
  min-height:46px !important;
  box-sizing:border-box !important;
  background:transparent !important;
  color:rgba(0,0,0,.82) !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  border-radius:0 !important;
  position:relative !important;
}

/* default hover (but we protect active below) */
.bb-cat-menu .elementor-nav-menu a:hover{
  background: rgba(0,0,0,.02) !important;
  color:rgba(0,0,0,1) !important;
}

/* sizes */
.bb-cat-menu .elementor-nav-menu > li > a{ font-size:17px !important; }
.bb-cat-menu .sub-menu > li > a{ font-size:16px !important; padding-left:28px !important; color:rgba(0,0,0,.78) !important; }
.bb-cat-menu .sub-menu .sub-menu > li > a{ font-size:15px !important; padding-left:44px !important; }

/* ===== ACTIVE FILL (ONLY ONE SHOULD APPLY) ===== */
.bb-cat-menu a.bb-last-click-link,
.bb-cat-menu .current-menu-item > a{
  background: var(--bb-active-fill) !important;
  color: var(--bb-active-text) !important;
  font-weight:500 !important;
}

/* keep fill on hover for active items */
.bb-cat-menu a.bb-last-click-link:hover,
.bb-cat-menu .current-menu-item > a:hover{
  background: var(--bb-active-fill) !important;
  color: var(--bb-active-text) !important;
}

/* IMPORTANT: do NOT fill ancestors on any breakpoint */
.bb-cat-menu .current-menu-ancestor > a{
  background:transparent !important;
  color:rgba(0,0,0,.82) !important;
  font-weight:400 !important;
}
.bb-cat-menu .current-menu-ancestor > a:hover{
  background: rgba(0,0,0,.02) !important;
  color:rgba(0,0,0,1) !important;
}

/* =========================================================
   DESKTOP ONLY (>=1025px): custom accordion
   ========================================================= */
@media (min-width: 1025px){

  /* inline submenus (no flyouts) */
  .bb-cat-menu .sub-menu{
    position:static !important;
    width:auto !important;
    min-width:0 !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    background:transparent !important;
  }

/* HARD RESET: prevent theme/Elementor from coloring parent/ancestor rows */
.bb-cat-menu li.current-menu-ancestor,
.bb-cat-menu li.current-menu-parent{
  background: transparent !important;
}
.bb-cat-menu li.current-menu-ancestor > a,
.bb-cat-menu li.current-menu-parent > a{
  background: transparent !important;
  color: rgba(0,0,0,.82) !important;
  font-weight: 400 !important;
}


  /* hide Elementor caret on desktop (we use our own toggle) */
  .bb-cat-menu .sub-arrow{ display:none !important; }

  /* accordion show/hide */
  .bb-cat-menu li.menu-item-has-children > .sub-menu{ display:none !important; }
  .bb-cat-menu li.bb-open.menu-item-has-children > .sub-menu{ display:block !important; }
  .bb-cat-menu li.bb-keep-open.menu-item-has-children > .sub-menu{ display:block !important; }

  /* chevron button (desktop) */
  .bb-cat-menu .bb-toggle{
    width:30px; height:30px;
    display:inline-grid; place-items:center;
    border:0; background:transparent !important;
    cursor:pointer; padding:0; margin:0;
  }
  .bb-cat-menu .bb-toggle:hover{ background:rgba(0,0,0,.03) !important; }
  .bb-cat-menu .bb-toggle::before{
    content:"";
    width:10px; height:10px;
    border-right:2px solid rgba(0,0,0,.45);
    border-bottom:2px solid rgba(0,0,0,.45);
    transform:rotate(-45deg);
    transition:transform .18s ease;
  }
  .bb-cat-menu li.bb-open > a .bb-toggle::before{ transform:rotate(45deg); }
}

/* =========================================================
   TABLET + MOBILE (<=1024px): SmartMenus stays in control.
   ONLY chevron (.sub-arrow) toggles; row click should NOT toggle.
   ========================================================= */
@media (max-width: 1024px){

  .bb-cat-menu nav.elementor-nav-menu--dropdown .sub-menu{
    position: static !important;
    background: transparent !important;
  }

  /* Avoid our desktop toggle in dropdown mode */
  .bb-cat-menu nav.elementor-nav-menu--dropdown .bb-toggle{
    display:none !important;
  }

  /* Reserve space on the right for SmartMenus toggle */
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu{
    padding-right: 52px !important;
  }

  /* SmartMenus sub-arrow as tap target */
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow{
    display:block !important;
    position:absolute !important;
    right:8px !important;
    top:50% !important;
    transform: translateY(-50%) !important;
    width:40px !important;
    height:40px !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    line-height:40px !important;
    text-align:center !important;
    cursor:pointer !important;
  }

  /* hide default icon inside sub-arrow */
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow svg,
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow i,
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow span{
    display:none !important;
  }

  /* BB chevron */
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu .sub-arrow::before{
    content:"";
    display:inline-block;
    width:11px;
    height:11px;
    border-right:2px solid rgba(0,0,0,.45);
    border-bottom:2px solid rgba(0,0,0,.45);
    transform: rotate(-45deg);
    transition: transform .18s ease;
    opacity:.9;
    vertical-align:middle;
  }

  /* rotate when expanded */
  .bb-cat-menu nav.elementor-nav-menu--dropdown a.has-submenu[aria-expanded="true"] .sub-arrow::before{
    transform: rotate(45deg);
  }
}

/* =========================================================
   WBW / WPF Filter — cohesive minimal styling + accordion UI
   - Accordion works on ALL breakpoints
   - JS controls default state:
       Desktop/Tablet: OPEN
       Mobile: CLOSED
   ========================================================= */

/* ---------- Filter styling (ALL breakpoints, except where overridden) ---------- */

/* 1) Title row: text left, toggle icon right, aligned */
.wpfMainWrapper .wpfFilterTitle{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

/* Title text */
.wpfMainWrapper .wpfFilterTitle .wfpTitle{
  margin: 0 !important;
  font-weight: 400 !important;
}

/* +/- toggle icon inside each filter row */
.wpfMainWrapper .wpfFilterTitle i.fa.wpfTitleToggle{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 14px !important;
  opacity: .55 !important;
  flex: 0 0 auto !important;
}

/* 2) Unbold option labels/content */
.wpfMainWrapper .wpfFilterContent,
.wpfMainWrapper .wpfFilterContent *{
  font-weight: 400 !important;
}

/* 4) CLEAR / LÖSCHEN button wrapper */
.wpfMainWrapper .wpfFilterButtons{
  padding: 0 !important;
  margin-top: 10px !important;
}

/* 5) CLEAR / LÖSCHEN button: smaller box + smaller text */
.wpfMainWrapper button.wpfClearButton.wpfButton,
.wpfMainWrapper a.wpfClearButton.wpfButton{
  background-color: #1c1c1c !important;
  border-color: #1c1c1c !important;
  color: #fff !important;

  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;

  width: auto !important;
  min-width: 120px !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.1 !important;
  padding: 8px 12px !important;

  border-radius: 4px !important;

    align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  transition: transform .16s ease !important;
  transform-origin: center center !important;
}

.wpfMainWrapper button.wpfClearButton.wpfButton:hover,
.wpfMainWrapper a.wpfClearButton.wpfButton:hover{
  background-color: #1c1c1c !important;
  border-color: #1c1c1c !important;
  color: #fff !important;
  transform: scale(1.05) !important;
  filter: none !important;
}

/* =========================================================
   PRICE RANGE TYPOGRAPHY
   - Desktop + Tablet ONLY
   - Mobile stays default (except the width fix below)
   ========================================================= */
@media (min-width: 768px){
  .wpfMainWrapper .wpfPriceInputs,
  .wpfMainWrapper .wpfPriceInputs *,
  .wpfMainWrapper .wpfPriceFilterRange,
  .wpfMainWrapper .wpfFilterPriceRange{
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
  }

  .wpfMainWrapper .wpfPriceInputs{
    margin-top: 2px !important;
  }
}

/* =========================================================
   MOBILE ONLY FIX (<=767px)
   Fixes the plugin’s inline style width:10px truncating values
   WITHOUT changing the layout/styling otherwise.
   ========================================================= */
@media (max-width: 768px){
  .wpfMainWrapper .wpfPriceInputs input.wpfPriceRangeField{
    width: auto !important;      /* override inline width:10px */
    min-width: 4ch !important;   /* enough for 1994 */
    max-width: 7ch !important;   /* safe for larger values */
  }

  /* Slightly tighter card gutters on mobile to give each 2-col card more text width. */
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products{
    margin-left: -6px !important;
    margin-right: -6px !important;
  }

  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product{
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* Catalogue card price wording: keep "ab ... je Ring" neutral and compact. */
body.post-type-archive-product .woocommerce ul.products li.product .price .from,
body.tax-product_cat .woocommerce ul.products li.product .price .from,
body.tax-product_tag .woocommerce ul.products li.product .price .from{
  text-transform: none !important;
  color: #5f6368 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: inherit !important;
  letter-spacing: normal !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .price .bbcr-price-per-ring,
body.tax-product_cat .woocommerce ul.products li.product .price .bbcr-price-per-ring,
body.tax-product_tag .woocommerce ul.products li.product .price .bbcr-price-per-ring{
  color: #5f6368 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* ---------- Accordion (ALL breakpoints) ---------- */

/* When collapsed, hide the whole filter widget */
.bb-wpf-acc-wrap.bb-wpf-acc-ready:not(.bb-wpf-open) .wpfMainWrapper{
  display: none !important;
}

/* When collapsed, also hide the separator under the Filter heading (your divider widget) */
.bb-wpf-acc-wrap.bb-wpf-acc-ready:not(.bb-wpf-open) .elementor-widget-divider{
  display: none !important;
}

/* =========================================================
   FILTER HEADING TOGGLE + CHEVRON (ONE IMPLEMENTATION)
   ========================================================= */

/* Defaults (DESKTOP) — tweak via variables below */
.bb-wpf-acc-wrap{
  --bb-wpf-chevron-size: 10px;
  --bb-wpf-chevron-stroke: 2px;
  --bb-wpf-chevron-opacity: .9;

  --bb-wpf-chevron-right: 7px;      /* bigger => moves LEFT, smaller => moves RIGHT */
  --bb-wpf-chevron-reserve: 44px;   /* padding-right to avoid text overlap */

  --bb-wpf-chevron-center-nudge: -6px;
}

/* Make the Filter heading look like a toggle */
.bb-wpf-acc-wrap .bb-wpf-acc-toggle{
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  position: relative;
  padding-right: var(--bb-wpf-chevron-reserve);
}

/* Chevron (absolute) */
.bb-wpf-acc-wrap .bb-wpf-acc-toggle::after{
  content:"";
  width: var(--bb-wpf-chevron-size);
  height: var(--bb-wpf-chevron-size);
  border-right: var(--bb-wpf-chevron-stroke) solid rgba(0,0,0,.45);
  border-bottom: var(--bb-wpf-chevron-stroke) solid rgba(0,0,0,.45);
  opacity: var(--bb-wpf-chevron-opacity);

  position: absolute;
  right: var(--bb-wpf-chevron-right);
  top: 50%;
  margin-top: var(--bb-wpf-chevron-center-nudge);

  transform: rotate(-45deg);
  transition: transform .18s ease;
}

.bb-wpf-acc-wrap.bb-wpf-open .bb-wpf-acc-toggle::after{
  transform: rotate(45deg);
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px){
  .bb-wpf-acc-wrap{
    --bb-wpf-chevron-right: 7px;
    --bb-wpf-chevron-reserve: 44px;

    --bb-wpf-chevron-size: 11px;
    --bb-wpf-chevron-center-nudge: -6.5px;
  }
}

/* Mobile */
@media (max-width: 768px){
  .bb-wpf-acc-wrap{
    --bb-wpf-chevron-right: 22px;
    --bb-wpf-chevron-reserve: 44px;

    --bb-wpf-chevron-size: 11px;
    --bb-wpf-chevron-center-nudge: -6.5px;
  }
}

/* =========================================================
   Catalogue Thumbnail Frame + Hover Cleanup (archives only)
   ========================================================= */
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box{
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(0,0,0,.18);
  background: transparent;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .tm-shop-icon,
body.tax-product_cat .woocommerce ul.products li.product .tm-shop-icon{
  display: none !important;
}

body.post-type-archive-product .woocommerce ul.products li.product::before,
body.post-type-archive-product .woocommerce ul.products li.product::after,
body.tax-product_cat .woocommerce ul.products li.product::before,
body.tax-product_cat .woocommerce ul.products li.product::after,
body.post-type-archive-product .woocommerce ul.products li.product a::before,
body.post-type-archive-product .woocommerce ul.products li.product a::after,
body.tax-product_cat .woocommerce ul.products li.product a::before,
body.tax-product_cat .woocommerce ul.products li.product a::after,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box::before,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box::before,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box{
  border-color: rgba(0,0,0,.75) !important;
  box-shadow: 0 0 0 2px rgba(0,0,0,.18) !important;
  outline: none !important;
}

/* Mobile-only catalogue thumbnail tuning
   - enlarge product thumbnails slightly
   - remove hover/focus visual effect on touch/mobile
*/
@media (max-width: 768px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
    width: 110% !important;
    max-width: 110% !important;
    margin-left: -5% !important;
    height: auto !important;
  }

  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box{
    border-color: rgba(0,0,0,.18) !important;
    box-shadow: none !important;
    outline: none !important;
  }
}

/* =========================================================
   Theme title/hero cleanup on Woo archives
   ========================================================= */
body.tax-product_cat .page-title,
body.tax-product_cat .page-header,
body.tax-product_cat .entry-header,
body.tax-product_cat .page-title-area,
body.tax-product_cat .breadcrumb-area,
body.tax-product_cat .breadcrumbs,
body.tax-product_cat .crysto-page-header,
body.tax-product_cat .crysto-breadcrumb,
body.post-type-archive-product .page-title,
body.post-type-archive-product .page-header,
body.post-type-archive-product .entry-header,
body.post-type-archive-product .page-title-area,
body.post-type-archive-product .breadcrumb-area,
body.post-type-archive-product .breadcrumbs,
body.post-type-archive-product .crysto-page-header,
body.post-type-archive-product .crysto-breadcrumb{
  display:none !important;
}

/* =========================================================
   BB Search Shortcode UI (bb_wbw_search)
   ========================================================= */
.bb-wbw-search-addon{ margin: 0 0 12px 0; }
.bb-wbw-search-addon__field{ position: relative; width: 100%; }

.bb-wbw-search-addon__input{
  width: 100%;
  min-height: 34px;
  height: 34px;
  padding: 6px 40px 6px 44px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
  box-sizing: border-box;
  background: #fff;
}

/* Icon buttons - neutral (avoid theme colors) */
.bb-wbw-search-addon__iconbtn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px;
  cursor: pointer;
  color: rgba(0,0,0,.55) !important;
  display: grid;
  place-items: center;
  opacity: 1 !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
  text-decoration: none !important;
}

.bb-wbw-search-addon__iconbtn:focus,
.bb-wbw-search-addon__iconbtn:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}

.bb-wbw-search-addon__iconbtn svg{
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor !important;
}

.bb-wbw-search-addon__iconbtn:hover{
  background: rgba(0,0,0,.06) !important;
  color: rgba(0,0,0,.65) !important;
}

.bb-wbw-search-addon__iconbtn--left{ left: 8px; }
.bb-wbw-search-addon__iconbtn--right{ right: 8px; }

/* Force padding to beat theme/input resets */
.wpfMainWrapper .bb-wbw-search-addon__input,
.bb-wbw-search-addon__input{
  padding-left: 44px !important;
  padding-right: 40px !important;
  text-indent: 0 !important;
  background-clip: padding-box !important;
}

/* =========================================================
   Infinite scroll (catalogue)
   ========================================================= */
.bb-infinite-hidden-pagination{ display: none !important; }

.bb-infinite-loader{
  width: 100%;
  text-align: center;
  padding: 14px 0;
  font: inherit;
  opacity: .75;
}

.bb-infinite-sentinel{ width: 100%; height: 1px; }

/* =========================================================
   Favorites (no account)
   ========================================================= */
li.product.bb-has-fav{ position: relative; }
li.product .tm-product-box-inner{ position: relative; }
.bb-fav-host{ position: relative; display: block; }

.bb-fav-btn{
  position: absolute;
  top: 0;
  right: 0;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: rgba(255,255,255,.92) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 6;
  box-shadow: none !important;
  touch-action: pan-y pinch-zoom;
  -ms-touch-action: pan-y pinch-zoom;
}

.bb-fav-btn svg{
  width: 30px;
  height: 30px;
  display: block;
  /* Use currentColor so the heart can be colored reliably without stroke artifacts */
  fill: currentColor !important;
  stroke: none !important;
}

.bb-fav-btn{ color: rgba(0,0,0,.45) !important; }

.bb-fav-btn:hover{ background: rgba(255,255,255,1) !important; }

.bb-fav-btn.is-active{ color: #F7A13A !important; }

/* Favorites-only: no-results box */
.bb-fav-noresults{
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
}
.bb-fav-noresults__msg{
  font-weight: 600;
  margin-bottom: 8px;
}
.bb-fav-noresults__reset{
  display: inline-block;
  text-decoration: underline;
}

/* =========================================================
   Favorites filter toggle button (catalogue toolbar)
   ========================================================= */
.bb-fav-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #F7A13A !important;
  background: #F7A13A !important;
  color: #fff !important;
  font: inherit;
  cursor: pointer;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Define a single, predictable active state */
.bb-fav-toggle.is-active{
  background: #fff !important;
  color: #F7A13A !important;
  border-color: #F7A13A !important;
}

/* Hover: keep the exact same colors as non-hover, only scale slightly */
.bb-fav-toggle{
  transition: transform .14s ease;
  transform-origin: center;
}
.bb-fav-toggle:hover,
.bb-fav-toggle:focus{
  filter: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transform: scale(1.06);
}

.bb-fav-toggle .bb-fav-toggle__icon{
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor !important;
  stroke: none !important;
}


.bb-favorites{ width: 100%; }
.bb-favorites__head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bb-favorites__title{ margin: 0 0 12px 0; }
.bb-favorites__empty{ opacity: .75; padding: 10px 0; }

.bb-favorites__grid--loading{ opacity: .6; pointer-events: none; }

/* Favorites-only (client-side): hide WooCommerce result-count line entirely */
body.bb-favorites-only .woocommerce-result-count,
body.bb-favorites-only #catalogue .woocommerce-result-count,
body.bb-favorites-only .bb-archive-products .woocommerce-result-count{
  display:none !important;
}

.woocommerce-ordering .bb-fav-toggle{ margin-right: 10px; }

@media (max-width: 768px){
  /* Mobile toolbar layout: sort dropdown ALWAYS full-width on its own row.
     Favorites controls sit on the next row so they never shift the dropdown. */
  .woocommerce-ordering{
    display:flex !important;      /* inline style is "display:block" -> must override */
    flex-wrap:wrap !important;
    align-items:center;
    justify-content:center !important;
    gap:10px;
    width:100% !important;
    float:none !important;
    /* Space below the favorites row (to the chips) */
    margin:0 0 14px 0 !important;
  }

  /* Row 1: custom sort */
  .woocommerce-ordering.bb-orderby-custom{
    order:1;
    flex:0 0 auto;
    margin:0 0 6px 0 !important;
  }

  /* Row 2: favorites + clear link (never on the same row as dropdown) */
  .woocommerce-ordering .bb-fav-toggle{
    order:2;
    flex:0 0 auto;
    margin-right:0 !important;
  }
  .woocommerce-ordering .bb-fav-clearlink{
    order:3;
    flex:0 0 auto;
    margin:0 0 0 6px !important;
    padding:0 !important;
    white-space:nowrap;
  }
}


/* Clear all favorites (link-style) */
.bb-fav-clearlink{
  appearance: none;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin-right: 10px;
  color: #111 !important;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  height: auto !important;
  line-height: inherit !important;
}
/* No hover style change for the clear link */
.bb-fav-clearlink:hover,
.bb-fav-clearlink:focus{
  opacity: 1 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Reduce perceived "back and forth" flicker during filter/sort swaps */
ul.products.bb-fav-loading{ opacity: .7; transition: opacity .12s ease; }

/* Floating "Favoriten anzeigen" button next to the theme #totop button
   - Uses the SAME visual system as the normal .bb-fav-toggle button.
   - Only positioning/visibility is handled here.
*/
#bb-fav-float{
  position: fixed;
  z-index: 9999;
  display: none;
}

#bb-fav-float.bb-visible{ display: inline-flex; }

/* Hide the fixed/toolbar favorites toggle until at least one favorite exists */
body:not(.bb-has-favorites) .woocommerce-ordering .bb-fav-toggle{
  display: none !important;
}

/* =========================================================
   Catalogue toolbar tweaks
   - Shorter WooCommerce orderby (Select2)
   - Extra left padding for clear link
   - Clear link label always "Entfernen"
   ========================================================= */

/* Keep toolbar items aligned (tablet/desktop only)
   IMPORTANT: never force nowrap on mobile, otherwise Select2 + favorites collapse into one row. */
@media (min-width: 769px){
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering,
  body.tax-product_tag .woocommerce-ordering{
    display:flex !important;
    align-items:center !important;
	    /* Desktop/Tablet: restore right alignment */
	    justify-content:flex-end !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    float:none !important;
    margin:0 0 6px 0 !important; /* reduce spacing below toolbar */
  }
}

/* Toolbar row wrapper (inserted by JS) */
/* Active filters row (chips) between toolbar and result count */
body.post-type-archive-product .bb-active-filters-row,
body.tax-product_cat .bb-active-filters-row,
body.tax-product_tag .bb-active-filters-row{
  width: 100% !important;
  display: none;             /* prevent first-paint flash */
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 0 0 10px 0; /* keep spacing tight under the toolbar */
  padding: 0;
}

/* Visible state (JS toggles by adding class + inline display) */
body.post-type-archive-product .bb-active-filters-row.bb-active-filters-row--on,
body.tax-product_cat .bb-active-filters-row.bb-active-filters-row--on,
body.tax-product_tag .bb-active-filters-row.bb-active-filters-row--on{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* Plain text chips: always black, no hover styles, no caps */
.bb-filter-chip{
  appearance: none;
  border: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #000 !important;
  padding: 0;
  font: inherit;
  cursor: default;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Reset chip is clickable as a whole */
.bb-filter-chip--reset{
  cursor: pointer;
}
.bb-filter-chip *,
.bb-filter-chip *::before,
.bb-filter-chip *::after{
  background: transparent !important;
  box-shadow: none !important;
  color: #000 !important;
  text-transform: none !important;
}

.bb-filter-chip:hover,
.bb-filter-chip:active,
.bb-filter-chip:focus,
.bb-filter-chip:focus-visible{
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #000 !important;
  text-decoration: none !important;
}

.bb-filter-chip__txt{
  text-transform: none !important;
  letter-spacing: normal !important;
}

.bb-filter-chip__x{
  appearance: none;
  background: transparent !important;
  padding: 0;
  margin: 0;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000;
  border-radius: 0;          /* block X */
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
/* SR-only hook from PHP: no extra vertical gap */
body.post-type-archive-product .woocommerce-result-count.screen-reader-text,
body.tax-product_cat .woocommerce-result-count.screen-reader-text,
body.tax-product_tag .woocommerce-result-count.screen-reader-text{
  margin: 0 !important;
}

/* Top pagination replaces visible result count — match spacing above the grid */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination--top{
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

@media (max-width: 768px){
  body.post-type-archive-product .bb-active-filters-row,
  body.tax-product_cat .bb-active-filters-row,
  body.tax-product_tag .bb-active-filters-row{
    margin-bottom: 10px;
  }
}

/* Custom orderby typography: see ORDERBY CUSTOM block at end of file */

/* Clear link spacing */
.bb-fav-clearlink{
  /* Reduce the left spacing by ~50% */
  padding-left:2px !important;
  margin-left:0px !important;
    align-items:center !important;
  height:38px !important;
}

/* =========================================================
   Full-bleed sections on Woo archives
   - Apply to BOTH the gradient hero and the following white section
   - Background stretches full-width; boxed inner content stays boxed
   ========================================================= */
body.post-type-archive-product .bb-bleed-section,
body.tax-product_cat .bb-bleed-section,
body.tax-product_tag .bb-bleed-section{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Allow the bleed to escape common theme wrappers */
body.post-type-archive-product #content,
body.tax-product_cat #content,
body.tax-product_tag #content,
body.post-type-archive-product #content-inner,
body.tax-product_cat #content-inner,
body.tax-product_tag #content-inner,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.post-type-archive-product .site-content-inner,
body.tax-product_cat .site-content-inner,
body.tax-product_tag .site-content-inner{
  overflow-x: visible !important;
}

/* More spacing above pagination */
body.post-type-archive-product .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination,
body.tax-product_tag .woocommerce-pagination,
body.post-type-archive-product nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination,
body.tax-product_tag nav.woocommerce-pagination{
  margin-top: 28px !important;
}

/* Compact catalogue pagination:
   keep controls readable while preventing very wide or oversized blocks. */
body.post-type-archive-product nav.woocommerce-pagination ul,
body.tax-product_cat nav.woocommerce-pagination ul,
body.tax-product_tag nav.woocommerce-pagination ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  max-width: 560px;
  margin: 0 auto !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li,
body.tax-product_cat nav.woocommerce-pagination ul li,
body.tax-product_tag nav.woocommerce-pagination ul li{
  margin: 0 !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li .page-numbers,
body.tax-product_cat nav.woocommerce-pagination ul li .page-numbers,
body.tax-product_tag nav.woocommerce-pagination ul li .page-numbers{
  min-width: 42px;
  height: 42px;
  line-height: 42px;
  margin: 0 !important;
}

/* Screenshot-like refined pagination:
   first/prev + five numbers + next/last with yellow active state. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul{
  max-width: max-content;
  background: transparent;
  border-radius: 0;
  padding: 0;
  gap: 0;
}

body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers{
  min-width: 40px;   /* slightly narrower to keep one-line pagination on more mobile widths */
  height: 44px;      /* keep comfortable tap target */
  line-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  color: #17313d;
  font-weight: 500;
  font-size: 18px;   /* +20% typography on all devices */
}

/* Restore larger arrow symbols (pre-SVG behavior). */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.first,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.prev,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.next,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.last,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.first,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.prev,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.next,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.last,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.first,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.prev,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.next,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.last{
  font-size: 27px;
  font-weight: 600;
}

/* Use the same compact control size on desktop/tablet/mobile. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers{
  width: auto !important;
  min-width: 34px;
  height: 35px;
  line-height: 35px;
  font-size: 15.6px;
  padding: 0 9px;
}

/* Remove/minimize large theme bottom spacing for refined paginators. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined{
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

/* Hide temporary plain-WPF pagination while JS swaps it to the compact BBCR markup. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination--pending-rebuild,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination--pending-rebuild,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination--pending-rebuild{
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Extra breathing room only below the top paginator. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination--top{
  margin-bottom: 14px !important;
}

/* Desktop/tablet: keep top pagination centered while sort is right-aligned on same row. */
@media (min-width: 768px){
  body.post-type-archive-product .bb-archive-products .woocommerce,
  body.tax-product_cat .bb-archive-products .woocommerce,
  body.tax-product_tag .bb-archive-products .woocommerce{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: 12px;
    padding-top: 10px;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.post-type-archive-product #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top{
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: auto !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    align-self: center;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-ordering,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-ordering,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-ordering{
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 0 14px 0 !important;
    float: none !important;
    align-self: center;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > .bb-active-filters-row,
  body.post-type-archive-product #catalogue .woocommerce > .bb-active-filters-row,
  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-result-count,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-result-count,
  body.post-type-archive-product .bb-archive-products .woocommerce > ul.products,
  body.post-type-archive-product #catalogue .woocommerce > ul.products,
  body.post-type-archive-product .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom,
  body.post-type-archive-product #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom,
  body.tax-product_cat .bb-archive-products .woocommerce > .bb-active-filters-row,
  body.tax-product_cat #catalogue .woocommerce > .bb-active-filters-row,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-result-count,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-result-count,
  body.tax-product_cat .bb-archive-products .woocommerce > ul.products,
  body.tax-product_cat #catalogue .woocommerce > ul.products,
  body.tax-product_cat .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom,
  body.tax-product_cat #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom,
  body.tax-product_tag .bb-archive-products .woocommerce > .bb-active-filters-row,
  body.tax-product_tag #catalogue .woocommerce > .bb-active-filters-row,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-result-count,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-result-count,
  body.tax-product_tag .bb-archive-products .woocommerce > ul.products,
  body.tax-product_tag #catalogue .woocommerce > ul.products,
  body.tax-product_tag .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom,
  body.tax-product_tag #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--bottom{
    grid-column: 1 / -1;
  }
}

body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.current,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.current,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.current{
  background: #f4c430;
  color: #1e2a2f;
  font-weight: 700;
}

body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li a.page-numbers:hover,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li a.page-numbers:hover,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li a.page-numbers:hover{
  background: #eadca0;
  color: #1e2a2f;
}

body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.disabled,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.disabled,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers.disabled{
  opacity: .45;
  pointer-events: none;
}

/* Do NOT override the clear-link label here; keep whatever the markup outputs (e.g. "entfernen"). */


/* =========================================================
   WPF duplicate "active filter" UIs (we use .bb-active-filters-row chips)
   - .wpfSelectedParameters: Pro "display selected parameters" block
   - .wpfSlugWrapper / .wpfSlug: slug pills from changeSlugByUrl() (frontend.woofilters.js)
   ========================================================= */
body.post-type-archive-product .wpfSelectedParameters,
body.tax-product_cat .wpfSelectedParameters,
body.tax-product_tag .wpfSelectedParameters,
body.post-type-archive-product .wpfSlugWrapper,
body.tax-product_cat .wpfSlugWrapper,
body.tax-product_tag .wpfSlugWrapper{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
  pointer-events: none !important;
}

body.post-type-archive-product .wpfSlug,
body.tax-product_cat .wpfSlug,
body.tax-product_tag .wpfSlug{
  display: none !important;
}

/* Guided Ringe: never show WPF’s own Clear/Filter button rows — reset via guided UI only */
body.post-type-archive-product:has(.bb-guided-narrowing) .wpfMainWrapper .wpfFilterButtons,
body.tax-product_cat:has(.bb-guided-narrowing) .wpfMainWrapper .wpfFilterButtons,
body.tax-product_tag:has(.bb-guided-narrowing) .wpfMainWrapper .wpfFilterButtons{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Guided Ringe: hide archive active-filter chip row (duplicate of guided state; not shown above grid) */
body.post-type-archive-product:has(.bb-guided-narrowing) .bb-active-filters-row,
body.tax-product_cat:has(.bb-guided-narrowing) .bb-active-filters-row,
body.tax-product_tag:has(.bb-guided-narrowing) .bb-active-filters-row,
body.post-type-archive-product .bb-active-filters-row.bb-active-filters-row--guided-suppressed,
body.tax-product_cat .bb-active-filters-row.bb-active-filters-row--guided-suppressed,
body.tax-product_tag .bb-active-filters-row.bb-active-filters-row--guided-suppressed,
html.bbcr-ready body.post-type-archive-product:has(.bb-guided-narrowing) .bb-active-filters-row,
html.bbcr-ready body.tax-product_cat:has(.bb-guided-narrowing) .bb-active-filters-row,
html.bbcr-ready body.tax-product_tag:has(.bb-guided-narrowing) .bb-active-filters-row,
html.bbcr-ready body.post-type-archive-product .bb-active-filters-row.bb-active-filters-row--guided-suppressed,
html.bbcr-ready body.tax-product_cat .bb-active-filters-row.bb-active-filters-row--guided-suppressed,
html.bbcr-ready body.tax-product_tag .bb-active-filters-row.bb-active-filters-row--guided-suppressed{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* Injected WPF clone for Ringe (bb-wpf-ring-sync): must never paint or participate in layout.
   WPF can override inline sr-only styles; these rules re-assert hiding without removing nodes (JS still syncs inputs). */
body.post-type-archive-product .bb-wpf-ring-sync,
body.tax-product_cat .bb-wpf-ring-sync,
body.tax-product_tag .bb-wpf-ring-sync,
body.post-type-archive-product [data-bb-wpf-inject="1"],
body.tax-product_cat [data-bb-wpf-inject="1"],
body.tax-product_tag [data-bb-wpf-inject="1"]{
  position: fixed !important;
  left: -10000px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  contain: strict !important;
  isolation: isolate !important;
  z-index: -1 !important;
}

/* Prevent inner WPF wrappers from escaping the hidden host (e.g. position fixed / transforms). */
body.post-type-archive-product .bb-wpf-ring-sync .wpfMainWrapper,
body.tax-product_cat .bb-wpf-ring-sync .wpfMainWrapper,
body.tax-product_tag .bb-wpf-ring-sync .wpfMainWrapper,
body.post-type-archive-product [data-bb-wpf-inject="1"] .wpfMainWrapper,
body.tax-product_cat [data-bb-wpf-inject="1"] .wpfMainWrapper,
body.tax-product_tag [data-bb-wpf-inject="1"] .wpfMainWrapper{
  position: static !important;
  transform: none !important;
  width: auto !important;
  max-width: 100% !important;
}

/* =========================================================
   Active WBW filter chips separators
   ========================================================= */

body.post-type-archive-product .bb-active-filters-row,
body.tax-product_cat .bb-active-filters-row,
body.tax-product_tag .bb-active-filters-row{
  border-top: 0;
  border-bottom: 0;
  padding: 0;
}

body.post-type-archive-product .bb-active-filters-row.bb-active-filters-row--on,
body.tax-product_cat .bb-active-filters-row.bb-active-filters-row--on,
body.tax-product_tag .bb-active-filters-row.bb-active-filters-row--on{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  box-sizing: border-box !important;
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  padding: 8px 0;
}

body.post-type-archive-product .bb-active-filters-row.bb-active-filters-row--on .bb-filter-chip,
body.tax-product_cat .bb-active-filters-row.bb-active-filters-row--on .bb-filter-chip,
body.tax-product_tag .bb-active-filters-row.bb-active-filters-row--on .bb-filter-chip{
  display: inline-flex !important;
  flex: 0 1 auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Catalogue: no visible “Showing x–y of z” line — top pagination replaces it. PHP leaves an empty
   .screen-reader-text node for a11y/JS; WPF AJAX can inject a second .woocommerce-result-count — hide it. */
body.post-type-archive-product .woocommerce .woocommerce-result-count:not(.screen-reader-text),
body.tax-product_cat .woocommerce .woocommerce-result-count:not(.screen-reader-text),
body.tax-product_tag .woocommerce .woocommerce-result-count:not(.screen-reader-text){
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
  border: 0 !important;
}

/* Desktop/tablet override: keep top pagination as auto-width centered grid item (not full-width row). */
@media (min-width: 768px){
  body.post-type-archive-product .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.post-type-archive-product #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top{
    width: auto !important;
    margin-top: 0 !important;
    clear: none !important;
  }
}

/*
 * Tablet (768–1024): fixed two-row toolbar — NO JS measurement (.bbcr-toolbar-conflict).
 * Row 1: sort + favorites (full width, end-aligned; can wrap inside the row when favorites appear).
 * Row 2: top paginator (full width, centered). Avoids rapid wrap/unwrap at viewport thresholds.
 */
@media (min-width: 768px) and (max-width: 1024px){
  body.post-type-archive-product .bb-archive-products .woocommerce,
  body.post-type-archive-product #catalogue .woocommerce,
  body.tax-product_cat .bb-archive-products .woocommerce,
  body.tax-product_cat #catalogue .woocommerce,
  body.tax-product_tag .bb-archive-products .woocommerce,
  body.tax-product_tag #catalogue .woocommerce{
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: 10px !important;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-ordering,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-ordering,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-ordering,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-ordering{
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 0 0 !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    align-content: flex-end !important;
    row-gap: 8px !important;
    column-gap: 8px !important;
  }

  /* At exactly 768px both max-width:768 and this block match — undo phone-only flex `order` on children. */
  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-ordering.bb-orderby-custom,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-ordering.bb-orderby-custom{
    order: unset !important;
  }
  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-ordering .bb-fav-toggle,
  body.post-type-archive-product .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-clearlink,
  body.post-type-archive-product #catalogue .woocommerce > .woocommerce-ordering .bb-fav-clearlink,
  body.tax-product_cat .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-clearlink,
  body.tax-product_cat #catalogue .woocommerce > .woocommerce-ordering .bb-fav-clearlink,
  body.tax-product_tag .bb-archive-products .woocommerce > .woocommerce-ordering .bb-fav-clearlink,
  body.tax-product_tag #catalogue .woocommerce > .woocommerce-ordering .bb-fav-clearlink{
    order: unset !important;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.post-type-archive-product #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top{
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    clear: none !important;
  }

  body.post-type-archive-product .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
  body.post-type-archive-product #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
  body.tax-product_cat .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
  body.tax-product_cat #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
  body.tax-product_tag .bb-archive-products .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
  body.tax-product_tag #catalogue .woocommerce > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers{
    flex-wrap: nowrap !important;
    justify-content: center !important;
    width: 100%;
    max-width: 100%;
  }
}

/*
 * JS-driven (.bbcr-paginator-full-row): when the top paginator ul would overflow or wrap internally
 * (narrow main column, many page buttons, favorites visible), stack like tablet — sort row then full-width paginator.
 */
body.post-type-archive-product .bb-archive-products .woocommerce.bbcr-paginator-full-row,
body.post-type-archive-product #catalogue .woocommerce.bbcr-paginator-full-row,
body.tax-product_cat .bb-archive-products .woocommerce.bbcr-paginator-full-row,
body.tax-product_cat #catalogue .woocommerce.bbcr-paginator-full-row,
body.tax-product_tag .bb-archive-products .woocommerce.bbcr-paginator-full-row,
body.tax-product_tag #catalogue .woocommerce.bbcr-paginator-full-row{
  grid-template-columns: minmax(0, 1fr) !important;
  column-gap: 0 !important;
  row-gap: 10px !important;
}

body.post-type-archive-product .bb-archive-products .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering,
body.post-type-archive-product #catalogue .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering,
body.tax-product_cat .bb-archive-products .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering,
body.tax-product_cat #catalogue .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering,
body.tax-product_tag .bb-archive-products .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering,
body.tax-product_tag #catalogue .woocommerce.bbcr-paginator-full-row > .woocommerce-ordering{
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0 0 !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  align-content: flex-end !important;
  row-gap: 8px !important;
  column-gap: 8px !important;
}

body.post-type-archive-product .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top,
body.post-type-archive-product #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_cat .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_cat #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_tag .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top,
body.tax-product_tag #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top{
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 12px !important;
  clear: none !important;
}

body.post-type-archive-product .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
body.post-type-archive-product #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
body.tax-product_cat .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
body.tax-product_cat #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
body.tax-product_tag .bb-archive-products .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers,
body.tax-product_tag #catalogue .woocommerce.bbcr-paginator-full-row > nav.woocommerce-pagination.bbcr-pagination--top ul.page-numbers{
  flex-wrap: nowrap !important;
  justify-content: center !important;
  width: 100%;
  max-width: 100%;
}


/* Minimize only the outer spacing below the final pagination row on mobile.
   Do not alter .page-numbers itself so button styling and inter-row spacing stay native. */
@media (max-width: 767px){
  body.post-type-archive-product .woocommerce-pagination,
  body.tax-product_cat .woocommerce-pagination,
  body.tax-product_tag .woocommerce-pagination,
  body.post-type-archive-product nav.woocommerce-pagination,
  body.tax-product_cat nav.woocommerce-pagination,
  body.tax-product_tag nav.woocommerce-pagination{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.post-type-archive-product nav.woocommerce-pagination ul,
  body.tax-product_cat nav.woocommerce-pagination ul,
  body.tax-product_tag nav.woocommerce-pagination ul{
    gap: 2px;
    max-width: 100%;
  }

  body.post-type-archive-product nav.woocommerce-pagination ul li .page-numbers,
  body.tax-product_cat nav.woocommerce-pagination ul li .page-numbers,
  body.tax-product_tag nav.woocommerce-pagination ul li .page-numbers{
    min-width: 38px;
    height: 38px;
    line-height: 38px;
    font-size: 14px;
  }

  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li .page-numbers{
    width: auto !important;  /* override theme fixed width */
    min-width: 34px; /* slightly larger per request */
    height: 35px;
    line-height: 35px;
    font-size: 15.6px; /* restore previous text size */
    padding: 0 9px;
  }

  /* Mobile layout (roomy widths): keep all controls inline. */
  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul{
    justify-content: center;
  }

  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination--top,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination--top{
    margin-bottom: 12px !important; /* extra breathing room above product grid */
    padding-bottom: 4px !important;
  }

  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--number,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--number,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--number,
  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--prev,
  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--next,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--prev,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--next,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--prev,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--next,
  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--first,
  body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--last,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--first,
  body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--last,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--first,
  body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined ul li.bbcr-page-item--last{
    order: 1;
  }
}

/* Overflow fallback at any width:
   if JS detects not enough room, force << and >> to a centered second row. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last{
  order: 2 !important;
}

body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul{
  justify-content: center;
}

/* Deterministic hard wrap for edge-row2:
   insert a full-width breaker so << and >> can never remain on row 1. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul::before,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul::before,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul::before{
  content: "";
  flex: 0 0 100%;
  width: 100%;
  order: 2;
}

/* Keep row-1 controls stable: < 1 2 3 4 5 > */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--prev,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--number,
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--next,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--prev,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--number,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--next,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--prev,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--number,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--next{
  order: 1 !important;
}

/* Row-2 controls: << and >> centered below row 1. */
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--first{
  order: 3 !important;
}
body.post-type-archive-product nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last,
body.tax-product_cat nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last,
body.tax-product_tag nav.woocommerce-pagination.bbcr-pagination-refined.bbcr-pagination--edge-row2 ul li.bbcr-page-item--last{
  order: 4 !important;
}


/* Archive variation sub-thumbnails (theme loop aware) */
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:3.5% !important;
  width:100% !important;
  margin:8px 0 0 0 !important;
  padding:0 0 2px 0 !important;
  box-sizing:border-box !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:1px solid rgba(0,0,0,.05) !important;
  background:#fff !important;
  border-radius:10px !important;
  padding:0 !important;
  overflow:hidden !important;
  aspect-ratio:1 / 1 !important;
  cursor:pointer !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  display:block !important;
  transform:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}


body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb--placeholder,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb--placeholder{
  pointer-events:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs--placeholder,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs--placeholder{
  margin:8px 0 2px 0 !important;
}


/* Archive variation sub-thumbnails: URL-sequence variant build */
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs{
  margin:8px 0 0 0 !important;
  padding:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content .woocommerce-loop-product__title{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-box-inner,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-box-inner,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  overflow:visible !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position:relative !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-box-inner > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-box-inner > .bb-fav-btn,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-shop-icon .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-shop-icon .bb-fav-btn,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs > .bb-fav-btn{
  top:6px !important;
  right:6px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box img{
  transform:none !important;
  transition:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover img{
  transform:none !important;
}


body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs{
  margin-bottom:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-content,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-title-link,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-title-link,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .woocommerce-loop-product__title{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs:hover .tm-product-image-box img{
  transform:none !important;
  transition:none !important;
  animation:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover img,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:hover img{
  transform:none !important;
  box-shadow:none !important;
}


body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs{
  margin-bottom:5px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb.is-active,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb.is-active{
  border-color:rgba(233,194,78,.72) !important;
  box-shadow:0 0 0 2px rgba(233,194,78,.16) !important;
  transform:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:focus:not(.is-active),
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:focus-visible:not(.is-active),
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:focus:not(.is-active),
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb:focus-visible:not(.is-active){
  border-color:rgba(0,0,0,.15) !important;
  box-shadow:none !important;
}

body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn{
  position:absolute !important;
  top:6px !important;
  right:6px !important;
  margin:0 !important;
}




/* v1.1.35.13 restore original Crysto image frame + snug heart placement */
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box{
  border-color: rgba(0,0,0,.75) !important;
  box-shadow: 0 0 0 2px rgba(0,0,0,.18) !important;
  outline: none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn{
  position: absolute !important;
  top: -2px !important;
  right: -2px !important;
  margin: 0 !important;
  z-index: 6 !important;
}


/* v1.1.35.14 heart anchored to image holder, lighter rounded frame, desktop-only hover zoom */
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position: relative !important;
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
  overflow: visible !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  z-index: 8 !important;
  transform: none !important;
}
@media (min-width: 1025px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
    transition: transform .18s ease !important;
  }
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: scale(1.035) !important;
  }
}
@media (max-width: 1024px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: none !important;
  }
}


/* v1.1.35.15 archive image-box containment + stable fav overlap */
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-box-inner,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-box-inner{
  position:relative !important;
}
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:block !important;
}
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position:relative !important;
  overflow:hidden !important;
  border-radius:10px !important;
  -webkit-border-radius:10px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  border-radius:10px !important;
  -webkit-border-radius:10px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  margin:0 !important;
  z-index:9 !important;
  transform:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn:hover,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn:hover{
  transform:none !important;
}
@media (min-width:1025px){
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform:scale(1.035) !important;
  }
}
@media (max-width:1024px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform:none !important;
  }
}


/* v1.1.35.16 restore heart positioning against the actual image edges */
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-fav .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-fav .bb-fav-btn{
  position:absolute !important;
  margin:0 !important;
  z-index:8 !important;
  transform:none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box > .bb-fav-btn{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  margin:0 !important;
  z-index:9 !important;
  transform:none !important;
}


/* v1.1.35.19 holder radius 20px + heart overlap offset */
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  top:-20px !important;
  right:-20px !important;
}


/* v1.1.35.22: allow heart to overlap holder border visibly */
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  overflow: visible !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display:block !important;
  width:100% !important;
  height:auto !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  top:-20px !important;
  right:-20px !important;
}


/* v1.1.35.24 allow visible heart overlap and stable plugin slug packaging */
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box{
  overflow: visible !important;
  position: relative !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored{
  top: -20px !important;
  right: -20px !important;
}


/* v1.1.35.25: reset heart offset to holder corner and restore complete mobile frame */
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position: relative !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  overflow: visible !important;
  background: transparent !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box::after,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
  background: transparent !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  position: relative !important;
  z-index: 1 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  top: 0 !important;
  right: 0 !important;
}


/* v1.1.35.27: holder-anchored heart uses CSS variables; image hover stays clipped within rounded frame */
:root{
  --bb-fav-top: -2px;
  --bb-fav-right: -2px;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position: relative !important;
  overflow: visible !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  clip-path: inset(0 round 20px) !important;
  -webkit-clip-path: inset(0 round 20px) !important;
  transform-origin: center center !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  top: var(--bb-fav-top) !important;
  right: var(--bb-fav-right) !important;
}


/* v1.1.35.28: keep archive main image inside holder and clip hover within rounded frame */
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position: relative !important;
  overflow: visible !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box::after,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after{
  z-index: 3 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display: block !important;
  width: calc(100% - 2px) !important;
  max-width: calc(100% - 2px) !important;
  height: auto !important;
  margin: 1px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  -webkit-border-radius: 20px !important;
  clip-path: inset(0 round 20px) !important;
  -webkit-clip-path: inset(0 round 20px) !important;
  transform-origin: center center !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  position: relative !important;
  z-index: 1 !important;
}
@media (min-width: 1025px){
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: translateZ(0) scale(1.02) !important;
  }
}
@media (max-width: 1024px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: none !important;
  }
}


/* v1.1.35.32 desktop zoom only on actual image holder */
@media (min-width:1025px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box{
    overflow:hidden !important;
  }
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product:hover .tm-product-image-box img{
    transform:none !important;
  }
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box:hover img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box:hover img,
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box:focus-within img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box:focus-within img{
    transform:scale(1.035) !important;
  }
}


/* v1.1.35.33 final desktop zoom fix: only the actual image-holder hover should zoom */
@media (min-width:1025px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
  body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
    overflow: visible !important;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
  body.tax-product_cat .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
    transition: transform .18s ease !important;
    transform: translateZ(0) scale(1) !important;
    transform-origin: center center !important;
    clip-path: inset(0 round 20px) !important;
    -webkit-clip-path: inset(0 round 20px) !important;
  }

  /* no zoom from title/card/link hover alone */
  body.post-type-archive-product .woocommerce ul.products li.product:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: translateZ(0) scale(1) !important;
  }

  /* zoom only when the pointer is actually on the image holder itself */
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box:hover img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box:hover img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box:hover img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box:hover img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box:focus-within img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box:focus-within img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box:focus-within img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box:focus-within img{
    transform: translateZ(0) scale(1.03) !important;
  }
}




/* v1.1.35.40: AVIF-safe archive subthumbs and holder-only hover */
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box{
  position:relative !important;
  overflow:hidden !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box::after,
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .tm-product-image-box::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
  z-index:3 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img{
  display:block !important;
  width:calc(100% - 2px) !important;
  max-width:calc(100% - 2px) !important;
  height:auto !important;
  margin:1px auto !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
  clip-path:inset(0 round 20px) !important;
  -webkit-clip-path:inset(0 round 20px) !important;
  transform:translateZ(0) scale(1) !important;
  transform-origin:center center !important;
  transition:transform .18s ease !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  top:var(--bb-fav-top, -2px) !important;
  right:var(--bb-fav-right, -2px) !important;
  z-index:9 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumbs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:3.5% !important;
  width:100% !important;
  margin:8px 0 5px 0 !important;
  padding:0 !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb{
  border:1px solid rgba(0,0,0,.045) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}
body.post-type-archive-product .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb.is-active,
body.tax-product_cat .woocommerce ul.products li.product.bb-has-variation-subs .bb-variation-subthumb.is-active{
  border-color:rgba(233,194,78,.58) !important;
  box-shadow:0 0 0 2px rgba(233,194,78,.12) !important;
}
@media (min-width:1025px){
  body.post-type-archive-product .woocommerce ul.products li.product:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform:translateZ(0) scale(1) !important;
  }
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box:hover img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box:hover img,
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box:focus-within img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box:focus-within img{
    transform:translateZ(0) scale(1.03) !important;
  }
}
@media (max-width:1024px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box img,
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box:hover img,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box:hover img{
    transform:none !important;
  }
}

/* Orderby / Select2 stability */
@media (max-width: 767px){
  .woocommerce-ordering .select2-container--open,
  .select2-container--open{
    z-index: 10020 !important;
  }
  .select2-container--open .select2-dropdown,
  .select2-dropdown{
    z-index: 10021 !important;
  }
  .woocommerce-ordering .select2-selection--single{
    touch-action: manipulation;
  }
}


/* iOS tap reliability */
.wpfMainWrapper button.wpfClearButton.wpfButton,
.wpfMainWrapper a.wpfClearButton.wpfButton,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box{
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

/* Guided narrowing */
.bb-guided-narrowing{
  --bb-guided-bg:#fbf7f1;
  --bb-guided-border:rgba(103,90,72,.18);
  --bb-guided-text:#1f1b17;
  --bb-guided-selected-bg:#e8d7ab;
  --bb-guided-selected-border:#cfba82;
  --bb-guided-selected-text:#1c1711;
  --bb-guided-focus:rgba(207,186,130,.34);
  display:grid !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  gap:8px !important;
  margin:0 0 18px !important;
  padding:0 !important;
  position:relative !important;
  /* Above common Elementor column/section overlays so quick-filter chips stay clickable */
  z-index:50 !important;
  isolation:isolate !important;
}
.elementor-widget-shortcode:has(.bb-guided-narrowing),
.elementor-widget-shortcode:has(.bb-guided-narrowing) > .elementor-widget-container,
.elementor-widget-shortcode:has(.bb-guided-narrowing) .elementor-shortcode{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.bb-guided-narrowing .bb-guided-narrowing__label{
  color:var(--bb-guided-selected-text) !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  margin:0 !important;
}
.bb-guided-narrowing .bb-guided-narrowing__row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
}
.bb-guided-narrowing .bb-guided-narrowing__row--colors{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  pointer-events:auto !important;
}
.bb-guided-narrowing .bb-guided-narrowing__row--colors.is-disabled{
  opacity:.72 !important;
}
.bb-guided-narrowing button.bb-guided-chip,
.bb-guided-narrowing .bb-guided-chip{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:10px 12px !important;
  border:1px solid var(--bb-guided-border) !important;
  border-radius:16px !important;
  background:var(--bb-guided-bg) !important;
  color:var(--bb-guided-text) !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  text-decoration:none !important;
  text-align:center !important;
  white-space:normal !important;
  cursor:pointer !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease !important;
  pointer-events:auto !important;
}
.bb-guided-narrowing .select2,
.bb-guided-narrowing .select2-container{
  display:none !important;
}
.bb-guided-narrowing button.bb-guided-chip:hover,
.bb-guided-narrowing .bb-guided-chip:hover{
  background:#fffdfa !important;
  border-color:rgba(103,90,72,.3) !important;
  color:var(--bb-guided-text) !important;
}
.bb-guided-narrowing button.bb-guided-chip:active,
.bb-guided-narrowing .bb-guided-chip:active{
  background:#f3ebdb !important;
  border-color:rgba(103,90,72,.34) !important;
  color:var(--bb-guided-text) !important;
}
.bb-guided-narrowing button.bb-guided-chip:focus-visible,
.bb-guided-narrowing .bb-guided-chip:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 3px var(--bb-guided-focus) !important;
}
.bb-guided-narrowing button.bb-guided-chip.is-selected,
.bb-guided-narrowing .bb-guided-chip.is-selected{
  background:var(--bb-guided-selected-bg) !important;
  border-color:var(--bb-guided-selected-border) !important;
  color:var(--bb-guided-selected-text) !important;
}
.bb-guided-narrowing button.bb-guided-chip.is-disabled,
.bb-guided-narrowing .bb-guided-chip.is-disabled,
.bb-guided-narrowing button.bb-guided-chip[disabled],
.bb-guided-narrowing .bb-guided-chip[disabled]{
  opacity:.78 !important;
}
.bb-guided-narrowing button.bb-guided-chip.is-locked,
.bb-guided-narrowing .bb-guided-chip.is-locked{
  cursor:default !important;
}
.bb-guided-narrowing .bb-guided-narrowing__row--category{
  display:block !important;
}
.bb-guided-narrowing .bb-guided-quick--ringbreite{
  display:block !important;
}
@media (min-width: 768px){
  .bb-guided-narrowing .bb-guided-quick__title--mobile-only,
  .bb-guided-narrowing .bb-guided-narrowing__row--category.bb-guided-narrowing__row--mobile-only{
    display:none !important;
  }
}

/* Mehr Filter & Suche (details/summary accordion inside guided) */
.bb-guided-narrowing .bb-guided-more{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  display:block !important;
  width:100% !important;
  position:relative !important;
  z-index:1 !important;
}
.bb-guided-narrowing .bb-guided-more__summary{
  list-style:none !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  padding:6px 0 2px !important;
  margin:0 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  color:rgba(31,27,23,.72) !important;
  user-select:none !important;
}
.bb-guided-narrowing .bb-guided-more__summary-lead,
.bb-guided-narrowing .bb-guided-more__summary-tail{
  flex:1 1 0 !important;
  min-width:0 !important;
}
.bb-guided-narrowing .bb-guided-more__summary-tail{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
}
.bb-guided-narrowing .bb-guided-more__summary-inner{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  max-width:100% !important;
  flex:0 0 auto !important;
}
/* Match "Mehr Filter & Suche" label; override theme button caps/letter-spacing. */
.bb-guided-narrowing .bb-guided-more__summary .bb-guided-more__reset{
  margin:0 !important;
  padding:2px 0 2px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:500 !important;
  line-height:1.25 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  color:rgba(31,27,23,.72) !important;
  text-decoration:none !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  pointer-events:auto !important;
}
.bb-guided-narrowing .bb-guided-more__summary .bb-guided-more__reset:hover,
.bb-guided-narrowing .bb-guided-more__summary .bb-guided-more__reset:focus-visible{
  color:rgba(31,27,23,.9) !important;
  text-decoration:underline !important;
  text-underline-offset:0.15em !important;
}
.bb-guided-narrowing .bb-guided-more__summary .bb-guided-more__reset:focus-visible{
  outline:2px solid var(--bb-guided-focus, rgba(103,90,72,.45)) !important;
  outline-offset:2px !important;
}
.bb-guided-narrowing .bb-guided-more__summary-text{
  flex:0 1 auto !important;
}
.bb-guided-narrowing .bb-guided-more__summary-text--mobile{
  display:none !important;
}
.bb-guided-narrowing .bb-guided-more__chev{
  display:inline-block !important;
  width:8px !important;
  height:8px !important;
  border-right:2px solid rgba(31,27,23,.38) !important;
  border-bottom:2px solid rgba(31,27,23,.38) !important;
  transform:rotate(45deg) !important;
  margin-top:-2px !important;
  flex:0 0 auto !important;
  transition:transform .18s ease !important;
}
.bb-guided-narrowing .bb-guided-more__summary::-webkit-details-marker{
  display:none !important;
}
.bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary .bb-guided-more__chev{
  transform:rotate(-135deg) !important;
  margin-top:2px !important;
}
.bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary .bb-guided-more__summary-text{
  text-decoration:underline !important;
  text-underline-offset:0.15em !important;
}
.bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary .bb-guided-more__reset{
  text-decoration:underline !important;
  text-underline-offset:0.15em !important;
}
.bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary .bb-guided-more__reset:hover,
.bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary .bb-guided-more__reset:focus-visible{
  text-decoration:underline !important;
}
.bb-guided-narrowing .bb-guided-more__inner{
  position:relative !important;
  z-index:2 !important;
  padding:10px 0 4px !important;
  display:grid !important;
  gap:14px !important;
}
.bb-guided-narrowing .bb-guided-more__search{
  margin:0 !important;
}
/* Search moved below Ringbreite / Verfügbarkeiten chips */
.bb-guided-narrowing .bb-guided-more__inner > .bb-guided-more__search{
  margin-top:4px !important;
}
.bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon{
  margin:0 0 4px !important;
}
.bb-guided-narrowing .bb-wbw-search-addon__input,
.bb-guided-narrowing .bb-wbw-search-addon__input:focus,
.bb-guided-narrowing .bb-wbw-search-addon__input:focus-within{
  background:#fff !important;
  background-color:#fff !important;
  border:1px solid var(--bb-guided-border) !important;
  border-radius:16px !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.15 !important;
}
.bb-guided-narrowing .bb-wbw-search-addon__input:hover{
  border-color:rgba(103,90,72,.3) !important;
}
.bb-guided-narrowing .bb-wbw-search-addon__input:focus-visible{
  outline:none !important;
  border-color:rgba(103,90,72,.34) !important;
  box-shadow:0 0 0 3px var(--bb-guided-focus) !important;
}
.bb-guided-narrowing .bb-guided-quick__title{
  margin:0 0 6px !important;
  padding:0 !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  color:var(--bb-guided-selected-text) !important;
}
.bb-guided-narrowing .bb-guided-quick__title--availability{
  margin-top:16px !important;
  padding-top:6px !important;
}
.bb-guided-narrowing .bb-guided-quick__row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.bb-guided-narrowing .bb-guided-quick__row--ringbreite{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.bb-guided-narrowing .bb-guided-quick__row--availability{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.bb-guided-narrowing button.bb-guided-chip--quick,
.bb-guided-narrowing .bb-guided-chip--quick{
  min-height:42px !important;
  font-size:13px !important;
  padding:8px 8px !important;
}
.bb-guided-narrowing .bb-guided-chip--availability{
  line-height:1.2 !important;
  hyphens:auto !important;
  -webkit-hyphens:auto !important;
}
.bb-guided-narrowing .bb-guided-chip__br{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.1 !important;
}
@media (min-width: 768px){
  .bb-guided-narrowing .bb-guided-more__summary{
    font-size:15px !important;
    padding:9px 0 11px !important;
    margin-top:4px !important;
    justify-content:center !important;
    text-align:center !important;
    border-top:0 !important;
  }
  .bb-guided-narrowing .bb-guided-more__summary .bb-guided-more__reset{
    font-size:15px !important;
  }
  .bb-guided-narrowing .bb-guided-more__summary-inner{
    justify-content:center !important;
  }
  .bb-guided-narrowing .bb-guided-more[open] > .bb-guided-more__summary{
    padding-bottom:14px !important;
  }
}

.bb-guided-narrowing select.bb-guided-select,
.bb-guided-narrowing .bb-guided-select{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  padding:11px 42px 11px 14px !important;
  border:1px solid var(--bb-guided-selected-border) !important;
  border-radius:14px !important;
  background-color:var(--bb-guided-selected-bg) !important;
  background-image:linear-gradient(45deg, transparent 50%, #494136 50%),linear-gradient(135deg, #494136 50%, transparent 50%) !important;
  background-position:calc(100% - 19px) 19px,calc(100% - 13px) 19px !important;
  background-size:6px 6px,6px 6px !important;
  background-repeat:no-repeat !important;
  color:var(--bb-guided-selected-text) !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  text-align:left !important;
  text-align-last:left !important;
}
.bb-guided-narrowing--native-select select.bb-guided-select.select2-hidden-accessible,
.bb-guided-narrowing--native-select .bb-guided-select.select2-hidden-accessible{
  position:static !important;
  left:auto !important;
  top:auto !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
  clip:auto !important;
  clip-path:none !important;
  pointer-events:auto !important;
}
.bb-guided-narrowing--native-select .select2,
.bb-guided-narrowing--native-select .select2-container{
  display:none !important;
}
.bb-guided-narrowing select.bb-guided-select:focus-visible,
.bb-guided-narrowing .bb-guided-select:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 3px var(--bb-guided-focus) !important;
}
.bb-guided-narrowing .bb-guided-select2,
.bb-guided-narrowing .select2-container.bb-guided-select2{
  width:100% !important;
}
.bb-guided-narrowing .bb-guided-select2 .select2-selection--single,
.bb-guided-narrowing .select2-container .select2-selection--single{
  min-height:46px !important;
  height:46px !important;
  border:1px solid var(--bb-guided-selected-border) !important;
  border-radius:14px !important;
  background:var(--bb-guided-selected-bg) !important;
  box-shadow:none !important;
}
.bb-guided-narrowing .bb-guided-select2 .select2-selection__rendered,
.bb-guided-narrowing .select2-container .select2-selection__rendered{
  color:var(--bb-guided-selected-text) !important;
  line-height:44px !important;
  padding-left:14px !important;
  padding-right:38px !important;
  font-size:14px !important;
  font-weight:500 !important;
  text-align:left !important;
}
.bb-guided-narrowing .bb-guided-select2 .select2-selection__arrow,
.bb-guided-narrowing .select2-container .select2-selection__arrow{
  height:44px !important;
  right:8px !important;
}
.bb-guided-narrowing .bb-guided-select2.select2-container--open .select2-selection--single,
.bb-guided-narrowing .select2-container.select2-container--open .select2-selection--single{
  border-color:var(--bb-guided-selected-border) !important;
}
.bb-guided-narrowing .bb-guided-select2 .select2-dropdown,
.bb-guided-narrowing .select2-dropdown{
  border:1px solid var(--bb-guided-border) !important;
  border-radius:14px !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product.bb-guided-hidden{
  display:none !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .bb-variation-subthumbs{
  display:none !important;
}
body.tax-product_cat.bb-has-guided-narrowing .bb-guided-variant-data{
  display:none !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-box-inner,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-box-inner{
  display:flex !important;
  flex-direction:column !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:block !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box{
  position:relative !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  overflow:visible !important;
  min-height:0 !important;
  line-height:0 !important;
  padding:0 !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
  background:transparent !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box::after,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
  pointer-events:none !important;
  box-sizing:border-box !important;
  z-index:3 !important;
  background:transparent !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box img,
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box img,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display:block !important;
  width:calc(100% - 2px) !important;
  max-width:calc(100% - 2px) !important;
  height:calc(100% - 2px) !important;
  min-height:calc(100% - 2px) !important;
  margin:1px auto !important;
  box-sizing:border-box !important;
  position:relative !important;
  z-index:1 !important;
  border-radius:20px !important;
  -webkit-border-radius:20px !important;
  clip-path:inset(0 round 20px) !important;
  -webkit-clip-path:inset(0 round 20px) !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#f8f4ec !important;
}
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  position:absolute !important;
  top:var(--bb-fav-top, -2px) !important;
  right:var(--bb-fav-right, -2px) !important;
  margin:0 !important;
  z-index:9 !important;
}
/* v1.1.35.128: desktop archive favorite heart source of truth
   The real loop DOM often places the heart as a sibling of `.tm-product-image-box`
   inside the product link, so older direct-child image-box rules miss on desktop.
   Anchor the heart to the product-detail link wrapper on desktop only; mobile stays unchanged. */
@media (min-width:1025px){
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link{
    position:relative !important;
  }

  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-loop-product__link > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.tax-product_cat .woocommerce ul.products li.product a.woocommerce-loop-product__link > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
    top:0 !important;
    right:0 !important;
    margin:0 !important;
    z-index:9 !important;
  }
}
@media (min-width: 768px){
  .bb-guided-narrowing .bb-guided-narrowing__label{
    font-family:"Roboto Slab", serif !important;
    font-size:18px !important;
    font-weight:400 !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    margin:0 0 4px !important;
  }
  .bb-guided-narrowing .bb-guided-narrowing__row--colors{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    position:relative !important;
    z-index:2 !important;
  }
  .bb-guided-narrowing .bb-guided-narrowing__row--colors .bb-guided-chip,
  .bb-guided-narrowing .bb-guided-narrowing__row--colors button.bb-guided-chip{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:48px !important;
    padding:7px 12px !important;
    font-family:"Roboto Slab", serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
  }
  .bb-guided-narrowing > .bb-guided-narrowing__row--category{
    display:none !important;
  }
  .bb-guided-narrowing .bb-guided-more__inner .bb-guided-narrowing__row--category:not(.bb-guided-narrowing__row--mobile-only){
    display:block !important;
  }
  .bb-guided-narrowing .bb-guided-quick__title{
    font-family:"Roboto Slab", serif !important;
    font-size:18px !important;
    font-weight:400 !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    text-align:left !important;
    margin:0 0 8px !important;
  }
  .bb-guided-narrowing .bb-guided-quick__title--availability{
    margin-top:4px !important;
    padding-top:0 !important;
  }
  .bb-guided-narrowing .bb-guided-quick--ringbreite{
    margin-top:4px !important;
  }
  .bb-guided-narrowing .bb-guided-quick__row--ringbreite{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    position:relative !important;
    z-index:2 !important;
  }
  .bb-guided-narrowing .bb-guided-quick__row--ringbreite .bb-guided-chip--quick,
  .bb-guided-narrowing .bb-guided-quick__row--ringbreite button.bb-guided-chip--quick{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:48px !important;
    padding:7px 12px !important;
    font-family:"Roboto Slab", serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
  }
  /* Accordion body: tighter than 50% off base (mobile uses −50%). */
  .bb-guided-narrowing .bb-guided-more__inner{
    padding:3px 0 1px !important;
    gap:10px !important;
  }
  .bb-guided-narrowing button.bb-guided-chip--quick,
  .bb-guided-narrowing .bb-guided-chip--quick{
    min-height:48px !important;
    padding:7px 12px !important;
    font-family:"Roboto Slab", serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
  }
  .bb-guided-narrowing button.bb-guided-chip--quick.bb-guided-chip--availability,
  .bb-guided-narrowing .bb-guided-chip--quick.bb-guided-chip--availability{
    min-height:52px !important;
    padding:8px 12px !important;
  }
  /* Search: match Ringbreite / Verfügbarkeiten chip typography (16px Roboto Slab). */
  .bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon__input,
  .bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon__input:focus,
  .bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon__input:focus-visible{
    font-family:"Roboto Slab", serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.2 !important;
  }
  /* Halve space below search vs base (4px → 2px). */
  .bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon{
    margin:0 0 2px !important;
  }
  .bb-guided-narrowing .bb-guided-more[open] .bb-guided-more__inner{
    padding-top:8px !important;
  }
  .bb-guided-narrowing .bb-guided-more[open] .bb-guided-quick__title--ringbreite{
    margin-bottom:8px !important;
  }
}

@media (max-width: 767px){
  .bb-guided-narrowing{
    gap:4px !important;
    margin-bottom:14px !important;
  }
  /* Same sans stack + metrics for Goldfarben + Ringbreite + Verfügbarkeiten (theme h3 was serif) */
  .bb-guided-narrowing .bb-guided-narrowing__label,
  .bb-guided-narrowing h3.bb-guided-quick__title{
    font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-style:normal !important;
  }
  .bb-guided-narrowing .bb-guided-narrowing__label{
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    margin:0 !important;
  }
  .bb-guided-narrowing .bb-guided-quick__title{
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    width:100% !important;
    margin:0 0 8px !important;
  }
  .bb-guided-narrowing .bb-guided-quick__title--availability{
    text-align:center !important;
    margin-top:8px !important;
    padding-top:2px !important;
    margin-bottom:4px !important;
  }
  .bb-guided-narrowing .bb-guided-quick__title--ringbreite{
    margin:0 0 4px !important;
  }
  .bb-guided-narrowing .bb-guided-more__inner{
    gap:10px !important;
    padding:3px 0 2px !important;
  }
  .bb-guided-narrowing .bb-guided-more__summary-text--desktop{
    display:none !important;
  }
  .bb-guided-narrowing .bb-guided-more__summary-text--mobile{
    display:inline !important;
  }
  .bb-guided-narrowing .bb-guided-more__inner > .bb-guided-more__search{
    margin-top:0 !important;
  }
  .bb-guided-narrowing .bb-guided-more__search .bb-wbw-search-addon{
    margin:0 0 2px !important;
  }
  .bb-guided-narrowing .bb-guided-narrowing__row{
    gap:6px !important;
  }
  .bb-guided-narrowing .bb-guided-narrowing__row--colors,
  .bb-guided-narrowing .bb-guided-quick__row--ringbreite{
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .bb-guided-narrowing button.bb-guided-chip,
  .bb-guided-narrowing .bb-guided-chip{
    box-sizing:border-box !important;
    min-height:34px !important;
    padding:2px 5px !important;
    font-size:13px !important;
  }
  /* Base .bb-guided-chip--quick is more specific than the rule above — override here for mobile. */
  .bb-guided-narrowing button.bb-guided-chip--quick,
  .bb-guided-narrowing .bb-guided-chip--quick{
    min-height:34px !important;
    padding:2px 5px !important;
    font-size:13px !important;
  }
  /* Besondere Verfügbarkeiten: two-line labels — keep taller than Ringbreite / Goldfarben. */
  .bb-guided-narrowing button.bb-guided-chip--availability,
  .bb-guided-narrowing .bb-guided-chip--availability{
    min-height:38px !important;
    padding:3px 4px !important;
    font-size:13px !important;
  }
  .bb-guided-narrowing select.bb-guided-select,
  .bb-guided-narrowing .bb-guided-select{
    min-height:34px !important;
    padding:2px 38px 2px 12px !important;
    font-size:13px !important;
    text-align:left !important;
    text-align-last:left !important;
    background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50% !important;
  }
  /* Accordion search: match slightly shorter control row */
  .bb-guided-narrowing .bb-wbw-search-addon__input,
  .bb-guided-narrowing .bb-wbw-search-addon__input:focus,
  .bb-guided-narrowing .bb-wbw-search-addon__input:focus-visible{
    min-height:30px !important;
    height:30px !important;
    padding-top:2px !important;
    padding-bottom:2px !important;
  }
  .bb-guided-narrowing .bb-wbw-search-addon__iconbtn{
    width:26px !important;
    height:26px !important;
  }
  .bb-guided-narrowing .elementor-heading-title,
  .bb-guided-narrowing .elementor-widget-heading,
  body.bb-has-guided-narrowing .elementor-widget-heading .elementor-heading-title{
    text-align:center !important;
  }
}

/* v1.1.35.132: mobile archive favorite source of truth
   Holder-anchored hearts should track the image frame corner, not historical
   li-product offsets. Keep the image holder as the single mobile anchor. */
@media (max-width: 767px){
  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box,
  body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box,
  body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box{
    position:relative !important;
    overflow:hidden !important;
  }

  body.post-type-archive-product .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.tax-product_cat .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.post-type-archive-product.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored,
  body.tax-product_cat.bb-has-guided-narrowing .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn.bb-fav-btn--holder-anchored{
    top:6px !important;
    right:6px !important;
    margin:0 !important;
    z-index:9 !important;
  }
}

.bb-guided-empty-state{
  margin:0 0 18px !important;
  padding:14px 16px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:16px !important;
  background:#f8f4ec !important;
  color:#111 !important;
}

.bb-guided-empty-state__message{
  font-weight:600 !important;
  line-height:1.45 !important;
}

.bb-guided-empty-state__hint{
  margin-top:4px !important;
  font-size:14px !important;
  line-height:1.45 !important;
  color:rgba(17,17,17,.72) !important;
}


/* v1.1.35.139: archive sub-thumbnails removed */
body.post-type-archive-product .woocommerce ul.products li.product .bb-variation-subthumbs,
body.tax-product_cat .woocommerce ul.products li.product .bb-variation-subthumbs{display:none !important;}
/* =========================================================
   ORDERBY CUSTOM (replaces native <select>)
   - Trigger: flat; open panel: square border + white fill
   - Desktop: open list right-aligned to trigger; mobile: viewport-centered
   - Hidden sync <select>: WPF AJAX reads .woocommerce-ordering select for sort key
   ========================================================= */

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom select.orderby.bb-orderby__sync-select,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom select.orderby.bb-orderby__sync-select,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom select.orderby.bb-orderby__sync-select{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom{
  position: relative !important;
  display: inline-block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-family: var(--body-font-family), "DM Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(14px, calc(var(--body-font-size, 18px) * 0.89), 16px) !important;
  font-weight: 400 !important;
  color: inherit !important;
  line-height: 1.2 !important;
  max-width: 100% !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus{
  outline: none !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus-visible,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus-visible,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger:focus-visible{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__label,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__label,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__label{
  white-space: normal !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__chevron,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__chevron,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__chevron{
  flex: 0 0 auto !important;
  width: 10px !important;
  height: 10px !important;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%) !important;
  background-position: 2px 52%, 6px 52% !important;
  background-size: 4px 4px, 4px 4px !important;
  background-repeat: no-repeat !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__list{
  list-style: none !important;
  margin: 0 !important;
  /* No padding on the panel; spacing comes from each option */
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 10040 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  box-sizing: border-box !important;
  /* Paginator current: #f4c430 / #1e2a2f — reuse for selection/hover tints */
  --bb-orderby-paginator-gold: 244, 196, 48;
  --bb-orderby-paginator-text: #1e2a2f;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__list[hidden],
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__list[hidden],
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__list[hidden]{
  display: none !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom.is-open .bb-orderby__list,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom.is-open .bb-orderby__list,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom.is-open .bb-orderby__list{
  display: block !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__item,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__item,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__item{
  margin: 0 !important;
  padding: 0 !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__option,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__option,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__option{
  display: block !important;
  padding: 8px 12px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: inherit !important;
  font-family: var(--body-font-family), "DM Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(14px, calc(var(--body-font-size, 18px) * 0.89), 16px) !important;
  font-weight: 400 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: background-color 0.12s ease, color 0.12s ease !important;
}

/* Selected: same hue as paginator .page-numbers.current, more transparent */
body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"],
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"],
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"]{
  background: rgba(var(--bb-orderby-paginator-gold), 0.5) !important;
  color: var(--bb-orderby-paginator-text) !important;
  font-weight: 700 !important;
}

/* Hover: no underline; lighter fill than selection */
body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__option:hover,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__option:hover,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__option:hover{
  text-decoration: none !important;
  background: rgba(var(--bb-orderby-paginator-gold), 0.22) !important;
  color: var(--bb-orderby-paginator-text) !important;
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"]:hover,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"]:hover,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__option[aria-selected="true"]:hover{
  background: rgba(var(--bb-orderby-paginator-gold), 0.55) !important;
  color: var(--bb-orderby-paginator-text) !important;
  text-decoration: none !important;
}

/* Desktop/tablet: open list anchored to trigger right */
@media (min-width: 769px){
  body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
  body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
  body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__list{
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    min-width: 100% !important;
    width: max-content !important;
    max-width: min(100vw - 32px, 520px) !important;
    transform: none !important;
  }
}

/* Mobile: closed trigger text centered + breathing room */
@media (max-width: 768px){
  body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_cat .woocommerce-ordering.bb-orderby-custom,
  body.tax-product_tag .woocommerce-ordering.bb-orderby-custom{
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    box-sizing: border-box !important;
  }

  body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger,
  body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger,
  body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__trigger{
    justify-content: center !important;
    text-align: center !important;
  }

  body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__label,
  body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__label,
  body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__label{
    text-align: center !important;
  }

  body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
  body.tax-product_cat .woocommerce-ordering.bb-orderby-custom .bb-orderby__list,
  body.tax-product_tag .woocommerce-ordering.bb-orderby-custom .bb-orderby__list{
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(100vw - 24px, 520px) !important;
    max-width: min(100vw - 24px, 520px) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
}

body.post-type-archive-product .woocommerce-ordering.bb-orderby-custom,
body.tax-product_cat .woocommerce-ordering.bb-orderby-custom,
body.tax-product_tag .woocommerce-ordering.bb-orderby-custom{
  margin-bottom: 0 !important;
}

/* Reduce title/content top spacing for product cards (desktop + mobile) */
body.post-type-archive-product .woocommerce ul.products li.product .tm-product-content,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-content,
body.tax-product_tag .woocommerce ul.products li.product .tm-product-content{
  padding-top: 8px !important;
}

body.post-type-archive-product .woocommerce ul.products li.product .tm-product-content .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .tm-product-content .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .tm-product-content .woocommerce-loop-product__title{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Global nav loading (sort-by + theme navigation); mirrors Extra info spinner snippet */
#bb-global-nav-spinner{
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 99999;
}

html.bb-nav-loading #bb-global-nav-spinner{
  opacity: 1;
}

#bb-global-nav-spinner::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.18);
}

.bb-nav-spinner-dot{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  margin-left: -17px;
  margin-top: -17px;
  border: 3px solid rgba(0,0,0,0.14);
  border-top-color: rgba(0,0,0,0.65);
  border-radius: 50%;
  animation: bb-nav-spin 0.8s linear infinite;
  background: transparent;
}

@keyframes bb-nav-spin{
  to{ transform: rotate(360deg); }
}
