body.bes-category-layout #main { min-width: 0; }
body.bes-category-layout #main > h1 { margin: 0 0 14px !important; font-size: clamp(25px, 2.6vw, 36px) !important; line-height: 1.3; }
body.bes-category-layout .woocommerce-products-header { width: 100% !important; max-width: none !important; margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.bes-category-description { width: 100%; margin: 0; color: #61535a; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.bes-category-description p { margin: 0 0 12px; }
.bes-category-description p:last-child { margin-bottom: 0; }
body.bes-category-layout #main .shoptimizer-sorting { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; padding: 12px 0; }
body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering { float: none !important; width: min(100%, 300px); margin: 0 !important; }
body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering select { width: 100%; max-width: 100%; font-size: 13px; }
body.bes-category-layout .shoptimizer-sorting .woocommerce-result-count { float: none !important; margin: 0 !important; font-size: 12px; }
body.bes-category-layout #main ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px 18px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.bes-category-layout #main ul.products::before, body.bes-category-layout #main ul.products::after { display: none !important; content: none !important; }
body.bes-category-layout #main ul.products li.product,
body.bes-category-layout #main ul.products li.product-category { float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; box-sizing: border-box; }
body.bes-category-layout #main ul.products .woocommerce-card__header { min-width: 0; }
body.bes-category-layout #main ul.products .woocommerce-loop-product__title { overflow-wrap: anywhere; }
body.bes-category-layout #main .woocommerce-pagination { float: none !important; display: block !important; clear: both; width: 100% !important; margin: 28px 0 0 !important; padding: 0 !important; text-align: center; }
body.bes-category-layout .woocommerce-pagination ul.page-numbers { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 0; }
body.bes-category-layout .woocommerce-pagination ul.page-numbers li { margin: 0 !important; padding: 0; border: 0; }
body.bes-category-layout .woocommerce-pagination .page-numbers li a,
body.bes-category-layout .woocommerce-pagination .page-numbers li span { min-width: 42px; min-height: 42px; border-radius: 9px; }
body.bes-category-layout .woocommerce-pagination .page-numbers .current { color: #fff !important; background: #7d2647 !important; border-color: #7d2647 !important; }
body.bes-category-layout #bes-subscriber-shipping { margin: 24px 0 0 !important; }
body.bes-category-layout .below-woocommerce-category { display: none !important; }
body.bes-category-layout .woocommerce-breadcrumb { white-space: normal !important; overflow: visible !important; line-height: 1.6; overflow-wrap: anywhere; }
@media (min-width: 993px) {
  body.bes-category-layout .shoptimizer-archive > .col-full { display: grid !important; grid-template-columns: 230px minmax(0, 1fr); gap: 32px; align-items: start; width: min(1680px, calc(100% - 48px)) !important; max-width: 1680px !important; margin: 0 auto !important; padding: 0 !important; box-sizing: border-box; }
  body.bes-category-layout .shoptimizer-archive > .col-full::before,
  body.bes-category-layout .shoptimizer-archive > .col-full::after { display: none; content: none; }
  body.bes-category-layout #primary { grid-column: 2; grid-row: 1; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
  body.bes-category-layout #secondary { grid-column: 1; grid-row: 1; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
  body.bes-category-layout .archive-header .col-full { width: min(1680px, calc(100% - 48px)); max-width: 1680px; box-sizing: border-box; padding: 0; }
}
@media (max-width: 992px) {
  body.bes-category-layout .shoptimizer-archive > .col-full { width: calc(100% - 30px) !important; max-width: none !important; margin: 0 auto !important; padding: 0 !important; box-sizing: border-box; }
  body.bes-category-layout #primary { float: none !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  body.bes-category-layout #main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 12px !important; }
}
@media (max-width: 760px) {
  body.bes-category-layout #main > h1 { font-size: 23px !important; }
  .bes-category-description { font-size: 14px; line-height: 1.7; }
  body.bes-category-layout #main .shoptimizer-sorting { margin-bottom: 18px; padding: 10px 0; gap: 9px; }
  body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering { width: 100%; }
  body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering select { min-height: 42px; }
  body.bes-category-layout #main > .mobile-filter { width: 100% !important; max-width: 100% !important; margin: 0 0 12px !important; padding: 10px 14px !important; border: 1px solid #e4d4db !important; border-radius: 10px; background: #fff; color: #613448; font-size: 14px; text-transform: none; box-sizing: border-box; }
}
@media (max-width: 345px) { body.bes-category-layout #main ul.products { grid-template-columns: 1fr !important; } }

/* Catalogue controls: soft surfaces, clear hierarchy and generous touch targets. */
body.bes-category-layout { --bes-catalog-ink: #352a30; --bes-catalog-muted: #82717a; --bes-catalog-accent: #792844; --bes-catalog-line: #eadfe3; }
body.bes-category-layout #main .shoptimizer-sorting { border: 0 !important; padding: 0 0 18px !important; gap: 10px; }
body.bes-category-layout .shoptimizer-sorting .woocommerce-result-count { color: var(--bes-catalog-muted); order: 3; }
body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering { width: 245px; }
.bes-native-ordering { display: none !important; }
.bes-filter-trigger, .bes-sort-trigger { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; border-radius: 15px !important; text-transform: none !important; transition: box-shadow .2s, background .2s, transform .2s; }
body.bes-category-layout #main .bes-filter-trigger { width: auto !important; margin: 0 !important; padding: 13px 20px !important; border: 1px solid #873650 !important; background: linear-gradient(120deg, #842e4e, #602038) !important; color: #fff !important; font-size: 14px !important; font-weight: 650; box-shadow: 0 5px 14px #7928441c, inset 0 1px 0 #ffffff24; }
.bes-filter-trigger > svg { width: 22px; height: 22px; }
.bes-filter-count { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 7px; color: #70233f; background: #fff; font-size: 11px; }
.bes-filter-count[hidden] { display: none; }
body.bes-category-layout .bes-sort-trigger { width: 100%; padding: 9px 12px !important; border: 1px solid var(--bes-catalog-line) !important; background: linear-gradient(135deg, #fff, #fcf8fa) !important; color: var(--bes-catalog-ink) !important; box-shadow: 0 3px 10px #352a3006; text-align: left; font-weight: 500; }
.bes-sort-trigger > svg:first-child { flex: 0 0 19px; width: 19px; height: 19px; color: #8e536b; }
.bes-sort-trigger > svg:last-child { flex: 0 0 18px; width: 18px; height: 18px; color: #9b8690; }
.bes-sort-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
.bes-sort-copy small { font-size: 9px; line-height: 1.2; font-weight: 600; letter-spacing: .04em; color: var(--bes-catalog-muted); }
.bes-sort-copy strong { font-size: 12px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.bes-filter-trigger:active, .bes-sort-trigger:active { transform: scale(.98); }
.bes-filter-trigger:focus-visible, .bes-sort-trigger:focus-visible, .bes-filter-sheet button:focus-visible, .bes-filter-sheet a:focus-visible, .bes-sort-dialog button:focus-visible { outline: 3px solid #bb7d97 !important; outline-offset: 3px; }
.bes-applied-filters { order: 4; display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
body.bes-category-layout .bes-applied-chip { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; padding: 7px 11px; border: 1px solid #ead7df; border-radius: 99px; background: #fbf2f6; color: #792844; font-size: 11px; line-height: 1.5; font-weight: 500; text-decoration: none; }
.bes-chip-remove { font-size: 17px; line-height: 1; opacity: .65; }
.bes-sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 22px 12px; }
.bes-sheet-heading small { display: block; margin: 0 0 5px; color: #956879; font-size: 9px; line-height: 1.3; font-weight: 700; letter-spacing: .13em; }
body.bes-category-layout .bes-sheet-heading h2 { color: #352a30; font-size: 25px; line-height: 1.2; font-weight: 650; letter-spacing: -.025em; margin: 0; }
body.bes-category-layout .bes-sheet-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; background: #f4eef1; border: 1px solid #eee4e8; border-radius: 50%; color: #614450; }
.bes-sheet-close svg { width: 20px; height: 20px; }
.bes-filter-intro { margin: 0 !important; padding: 0 22px 18px; color: #8a7780; font-size: 12px; line-height: 1.5; }
body.bes-category-layout #secondary .prdctfltr-widget { margin: 0; }
body.bes-category-layout #secondary .prdctfltr_collector { display: none !important; }
body.bes-category-layout #secondary .prdctfltr_woocommerce_ordering { top: auto !important; bottom: auto !important; left: auto !important; transform: none !important; }
body.bes-category-layout #secondary .prdctfltr_filter_wrapper, body.bes-category-layout #secondary .prdctfltr_filter_inner { margin: 0 !important; padding: 0 !important; }
body.bes-category-layout #secondary .bes-filter-group { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid #eee5e9 !important; background: transparent !important; }
body.bes-category-layout #secondary .pf-help-title { margin: 0 !important; padding: 0 !important; }
body.bes-category-layout #secondary .bes-filter-group-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px 0 !important; margin: 0 !important; text-align: left; color: #352a30; background: transparent !important; border: 0 !important; border-radius: 0; }
.bes-filter-group-toggle > span { display: grid; gap: 4px; min-width: 0; }
.bes-filter-group-toggle strong { font-size: 14px; line-height: 1.4; font-weight: 650; }
.bes-filter-group-toggle small { color: #96808b; font-size: 11px; line-height: 1.4; font-weight: 400; }
.bes-filter-group-toggle > svg { flex: 0 0 20px; width: 20px; height: 20px; color: #97697e; transition: transform .2s; }
.bes-filter-group-toggle[aria-expanded="true"] > svg { transform: rotate(180deg); }
body.bes-category-layout #secondary .prdctfltr_add_scroll { max-height: none !important; height: auto !important; overflow: visible !important; }
body.bes-category-layout #secondary .prdctfltr_add_scroll[hidden] { display: none !important; }
body.bes-category-layout #secondary .prdctfltr_checkboxes { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 0 17px !important; max-height: none !important; }
body.bes-category-layout #secondary .prdctfltr_checkboxes label { position: relative; display: flex !important; align-items: center; min-height: 45px; width: 100%; margin: 0 !important; padding: 9px 10px !important; border: 1px solid #e8dce2 !important; border-radius: 11px; background: #fff; color: #65505a; font-size: 12px; line-height: 1.45; font-weight: 450; cursor: pointer; box-sizing: border-box; transition: background .15s, border-color .15s; }
body.bes-category-layout #secondary .prdctfltr_checkboxes label > span { padding: 0 !important; font-size: inherit !important; line-height: inherit !important; }
body.bes-category-layout #secondary .prdctfltr_checkboxes label > span::before,
body.bes-category-layout #secondary .prdctfltr_checkboxes label > span::after { display: none !important; }
body.bes-category-layout #secondary label input[type="checkbox"] { position: absolute !important; display: block !important; visibility: visible !important; width: 1px !important; height: 1px !important; opacity: 0; margin: 0 !important; padding: 0 !important; }
body.bes-category-layout #secondary .prdctfltr_checkboxes label:has(input:checked) { border-color: #98526e !important; background: #f8eef3; color: #752641; box-shadow: inset 0 0 0 .5px #98526e; }
body.bes-category-layout #secondary label:has(input:focus-visible) { outline: 2px solid #bb7d97; outline-offset: 2px; }
body.bes-category-layout #secondary .bes-filter-extra-title { margin: 18px 0 12px; color: #352a30; font-size: 14px; font-weight: 650; }
body.bes-category-layout #secondary .prdctfltr_buttons { display: grid; gap: 9px; margin: 0 !important; padding: 0 0 16px !important; border: 0; }
body.bes-category-layout #secondary .prdctfltr_buttons > span { display: block; margin: 0; padding: 0; }
body.bes-category-layout #secondary .prdctfltr_buttons label { display: flex; align-items: center; min-height: 44px; padding: 9px 12px; margin: 0; border-radius: 11px; background: #f8f4f6; color: #6b535f; font-size: 12px; cursor: pointer; }
body.bes-category-layout #secondary .prdctfltr_buttons label > span { width: 100%; padding: 0; font-size: inherit; }
body.bes-category-layout #secondary .prdctfltr_buttons label > span::before { content: '' !important; float: right; width: 30px !important; height: 18px !important; margin: 0 !important; border: 0 !important; border-radius: 99px; background: #d9cdd3; transition: background .2s; }
body.bes-category-layout #secondary .prdctfltr_buttons label > span::after { content: '' !important; position: absolute; right: 25px; width: 14px; height: 14px; margin-top: 2px; border-radius: 50%; background: #fff; transition: transform .2s; }
body.bes-category-layout #secondary .prdctfltr_buttons label { position: relative; }
body.bes-category-layout #secondary .prdctfltr_buttons label:has(input:checked) > span::before { background: #792844; }
body.bes-category-layout #secondary .prdctfltr_buttons label:has(input:checked) > span::after { transform: translateX(12px); }
body.bes-category-layout #secondary .prdctfltr_reset, body.bes-category-layout #secondary .prdctfltr_buttons .prdctfltr_woocommerce_filter_submit { display: none !important; }
.bes-filter-footer { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 16px 0; background: #fff; }
body.bes-category-layout .bes-filter-clear { padding: 12px 0; color: #836773; background: transparent; border: 0; font-size: 12px; font-weight: 550; }
.bes-filter-clear:disabled { opacity: .4; cursor: default; }
body.bes-category-layout .bes-filter-apply { display: flex !important; justify-content: center; align-items: center; gap: 12px; min-height: 49px; margin: 0 !important; padding: 12px 14px !important; border-radius: 13px; background: #792844 !important; color: #fff !important; text-decoration: none; font-size: 13px; line-height: 1.4; font-weight: 600; box-sizing: border-box; box-shadow: 0 4px 12px #79284420; }
.bes-filter-apply svg { width: 20px; height: 20px; }
.bes-filter-apply[aria-busy="true"] { opacity: .65; pointer-events: none; }
.bes-filter-backdrop[hidden] { display: none !important; }
body.bes-category-layout .bes-filter-backdrop { position: fixed; inset: 0; z-index: 2147483000; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: #27141b66; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
body.bes-category-layout .bes-sort-dialog { width: min(430px, calc(100% - 32px)); max-width: none; padding: 0; border: 1px solid #ffffffb3; border-radius: 23px; background: #fff; color: #352a30; box-shadow: 0 20px 90px #27141b45; }
.bes-sort-dialog::backdrop { background: #27141b66; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.bes-sort-options { display: grid; gap: 8px; padding: 8px 20px 22px; }
body.bes-category-layout .bes-sort-option { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; border: 1px solid #eee5e9; border-radius: 13px; color: #55414b; background: #fff; text-align: left; }
.bes-sort-option > span:first-child { display: grid; gap: 4px; }
.bes-sort-option strong { font-size: 13px; line-height: 1.4; font-weight: 600; }
.bes-sort-option small { color: #95818b; font-size: 11px; line-height: 1.4; }
.bes-sort-radio { width: 19px; height: 19px; flex: 0 0 19px; border: 1px solid #dbcbd3; border-radius: 50%; box-sizing: border-box; }
body.bes-category-layout .bes-sort-option[aria-pressed="true"] { border-color: #ae768e; background: #fbf2f6; color: #792844; }
.bes-sort-option[aria-pressed="true"] .bes-sort-radio { border: 5px solid #792844; background: #fff; }
@media (min-width: 993px) {
  body.bes-category-layout #main .bes-filter-trigger { display: none !important; }
  body.bes-category-layout #secondary.bes-filter-sheet { border: 1px solid #eee5e9; border-radius: 17px; padding: 0 16px !important; background: #fff; }
  #secondary.bes-filter-sheet .bes-sheet-header { padding: 20px 0 12px; }
  #secondary.bes-filter-sheet .bes-sheet-heading h2 { font-size: 21px; }
  #secondary.bes-filter-sheet .bes-sheet-close { display: none; }
  #secondary.bes-filter-sheet .bes-filter-intro { padding: 0 0 10px; font-size: 11px; }
  body.bes-category-layout #secondary .prdctfltr_checkboxes { grid-template-columns: 1fr; }
  .bes-filter-footer { grid-template-columns: 1fr; gap: 0; }
  .bes-filter-footer .bes-filter-clear { order: 2; }
}
@media (max-width: 992px) {
  body.bes-category-layout #main .shoptimizer-sorting { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: stretch; margin: 0 0 20px; padding-bottom: 0 !important; }
  body.bes-category-layout .shoptimizer-sorting .woocommerce-ordering { width: 100%; }
  body.bes-category-layout .shoptimizer-sorting .woocommerce-result-count { grid-column: 1 / -1; padding-top: 2px; font-size: 11px; text-align: left; }
  .shoptimizer-sorting .woocommerce-notices-wrapper:empty { display: none; }
  .shoptimizer-sorting .woocommerce-notices-wrapper:not(:empty) { grid-column: 1 / -1; }
  .bes-applied-filters { grid-column: 1 / -1; }
  body.bes-category-layout #main .bes-filter-trigger { display: flex !important; width: 100% !important; min-height: 54px; padding: 12px 14px !important; font-size: 13px !important; }
  body.bes-category-layout #secondary.bes-filter-sheet { display: flex !important; flex-direction: column; position: fixed !important; top: auto !important; bottom: 0 !important; left: 50% !important; right: auto !important; z-index: 2147483001 !important; width: min(560px, 100%) !important; max-width: 100% !important; height: min(90vh, 880px) !important; height: min(90dvh, 880px) !important; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 25px 25px 0 0; background: #fff !important; box-shadow: 0 -10px 70px #29172230; visibility: hidden !important; transform: translate(-50%, 110%) !important; transition: transform .28s cubic-bezier(.22,.68,0,1), visibility .28s !important; overflow: hidden !important; }
  body.bes-category-layout.filter-open #secondary.bes-filter-sheet { visibility: visible !important; transform: translate(-50%, 0) !important; }
  body.bes-category-layout.filter-open { overflow: hidden !important; }
  body.bes-category-layout.filter-open .mobile-overlay, body.bes-category-layout .filters.close-drawer { display: none !important; }
  #secondary.bes-filter-sheet::before { content: ''; display: block; flex: 0 0 4px; width: 35px; height: 4px; margin: 9px auto 0; border-radius: 99px; background: #dbcbd2; }
  #secondary.bes-filter-sheet .bes-sheet-header { flex: 0 0 auto; padding-top: 14px; }
  #secondary.bes-filter-sheet .bes-filter-intro { flex: 0 0 auto; }
  #secondary.bes-filter-sheet .prdctfltr-widget, #secondary.bes-filter-sheet .prdctfltr_wc, #secondary.bes-filter-sheet form { display: flex !important; flex-direction: column; flex: 1 1 auto; min-height: 0; height: auto !important; width: 100%; margin: 0 !important; padding: 0 !important; overflow: hidden; }
  #secondary.bes-filter-sheet .bes-filter-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px; scrollbar-width: thin; scrollbar-color: #dbcbd2 transparent; }
  #secondary.bes-filter-sheet .bes-filter-footer { flex: 0 0 auto; margin: 0; padding: 14px 22px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid #eee5e9; box-shadow: 0 -5px 16px #352a3004; }
  body.bes-category-layout .bes-sort-dialog { position: fixed; inset: auto 0 0; width: min(560px, 100%); max-height: 90dvh; margin: 0 auto; border: 0; border-radius: 25px 25px 0 0; padding-bottom: env(safe-area-inset-bottom); }
}
@media (prefers-reduced-motion: reduce) {
  .bes-filter-trigger, .bes-sort-trigger, .bes-filter-group-toggle > svg, body.bes-category-layout #secondary.bes-filter-sheet { transition: none !important; }
}

/* Isolate counters and labels from Shoptimizer's 36px mobile-button line height. */
body.bes-category-layout #main .bes-filter-trigger { height: auto !important; line-height: 1.2 !important; }
body.bes-category-layout #main .bes-filter-trigger > svg { position: static !important; top: auto !important; left: auto !important; margin: 0 !important; transform: none !important; flex: 0 0 20px; width: 20px; height: 20px; }
body.bes-category-layout #main .bes-filter-trigger > span:not(.bes-filter-count) { flex: 0 0 auto; line-height: 1.2 !important; }
body.bes-category-layout #main .bes-filter-count { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 22px; width: 22px; min-width: 22px; height: 22px; min-height: 22px; margin: 0 !important; padding: 0 !important; font-size: 11px !important; font-weight: 700; line-height: 1 !important; align-self: center; box-sizing: border-box; }
body.bes-category-layout #main .bes-filter-count[hidden] { display: none !important; }
body.bes-category-layout #main .bes-sort-copy small { font-size: 9px !important; line-height: 1.2 !important; }
body.bes-category-layout #main .bes-sort-copy strong { font-size: 12px !important; line-height: 1.3 !important; }
body.bes-category-layout #secondary .bes-filter-footer .bes-filter-apply { margin: 0 !important; font-size: 13px !important; line-height: 1.4 !important; }
@media (max-width: 360px) {
  body.bes-category-layout #main .bes-filter-trigger { gap: 5px; padding: 10px !important; }
  body.bes-category-layout #main .bes-filter-trigger > span:not(.bes-filter-count) { font-size: 12px !important; }
  body.bes-category-layout #main .bes-filter-trigger > svg { flex-basis: 16px; width: 16px; height: 16px; }
  body.bes-category-layout #main .bes-sort-trigger { gap: 6px; padding: 9px !important; }
  body.bes-category-layout #main .bes-sort-trigger > svg:first-child { flex-basis: 16px; width: 16px; }
  body.bes-category-layout #main .bes-sort-trigger > svg:last-child { flex-basis: 14px; width: 14px; }
}
