/* WerkzeugePros catalog: compact, progressively enhanced product filters. */
.wkp-catalog-v2 { --filter-ink:#20291d; --filter-muted:#5c6853; --filter-line:#d9dfd1; --filter-accent:#bef02e; }
.wkp-catalog-v2 [hidden] { display:none!important; }
.wkp-catalog-v2 .catalog-layout { display:grid; grid-template-columns:264px minmax(0,1fr); align-items:start; gap:28px; margin-top:24px; }
.wkp-catalog-v2 .catalog-sidebar { min-width:0; align-self:start; padding:20px; background:#f0f3e9; border:1px solid var(--filter-line); border-radius:14px; }
.wkp-catalog-v2 .filter-top { margin:0 0 12px; gap:12px; }
.wkp-catalog-v2 .filter-top h2 { font-size:19px; letter-spacing:-.35px; margin:0; }
.wkp-catalog-v2 .filter-top a { font-size:12px; color:var(--filter-muted); text-underline-offset:3px; padding:8px 0; }
.wkp-catalog-v2 .wp-catalog-filters { display:block; }
.wkp-catalog-v2 .wkp-filter-block { border-top:1px solid var(--filter-line); margin:0; padding:0; }
.wkp-catalog-v2 .wkp-filter-block > summary { display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer; padding:18px 0; font-size:14px; font-weight:800; color:var(--filter-ink); }
.wkp-catalog-v2 summary::-webkit-details-marker { display:none; }
.wkp-catalog-v2 .wkp-filter-block > summary::after { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-left:auto; margin-right:3px; transition:transform .15s ease; }
.wkp-catalog-v2 .wkp-filter-block[open] > summary::after { transform:rotate(225deg); }
.wkp-catalog-v2 .wkp-selection-count { display:inline-flex; align-items:center; justify-content:center; min-width:21px; height:21px; padding:0 5px; border-radius:20px; background:#dfecc8; color:#3c531d; font-size:11px; }
.wkp-catalog-v2 .catalog-sidebar fieldset { border:0; margin:0; padding:0 0 18px; min-width:0; max-height:none!important; overflow:visible!important; }
.wkp-catalog-v2 .catalog-sidebar legend { font-size:14px; }
.wkp-catalog-v2 .wkp-filter-block-body { padding-bottom:16px; }
.wkp-catalog-v2 .wkp-category-options,.wkp-catalog-v2 .wkp-brand-options,.wkp-catalog-v2 .wkp-filter-options { overflow:visible; max-height:none; padding:0; }
.wkp-catalog-v2 .filter-option { display:flex; align-items:center; gap:10px; padding:7px 8px; margin:2px -8px; min-height:40px; font-size:13px; line-height:1.5; border-radius:7px; color:var(--filter-ink); transition:background .12s ease; }
.wkp-catalog-v2 .filter-option:hover { background:#e4eadb; }
.wkp-catalog-v2 .filter-option:has(input:checked) { background:#e0ecc9; font-weight:600; }
.wkp-catalog-v2 .filter-option input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#466023; cursor:pointer; }
.wkp-catalog-v2 .filter-option span { min-width:0; overflow-wrap:anywhere; }
.wkp-catalog-v2 .filter-option small { display:none; }
.wkp-catalog-v2 .wkp-cat-group > summary { display:flex; align-items:center; gap:8px; list-style:none; font-size:13px; font-weight:600; line-height:1.5; border:0; padding:10px 0; color:var(--filter-ink); }
.wkp-catalog-v2 .wkp-cat-group > summary::before { content:''; width:6px; height:6px; flex:0 0 6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); margin:0 4px 0 2px; }
.wkp-catalog-v2 .wkp-cat-group[open] > summary::before { transform:rotate(45deg); }
.wkp-catalog-v2 .wkp-cat-group.has-selection > summary { color:#3e591f; font-weight:800; }
.wkp-catalog-v2 .wkp-cat-children { border-left:1px solid #cbd6bb; padding:0 0 0 12px; margin:0 0 8px 5px; }
.wkp-catalog-v2 .wkp-cat-children .filter-option,.wkp-catalog-v2 .wkp-cat-children .wkp-cat-group > summary { font-size:12px; }
.wkp-catalog-v2 .wkp-brand-search,.wkp-catalog-v2 .wkp-category-search { display:block; font-size:12px; color:var(--filter-muted); margin:0 0 12px; }
.wkp-catalog-v2 input[type=search] { display:block; width:100%; min-width:0; min-height:42px; padding:10px 12px; margin:6px 0 0; border:1px solid #bdc8b1; border-radius:8px; background:#fbfcf8; color:var(--filter-ink); font:400 13px/1.4 Manrope,Arial,sans-serif; }
.wkp-catalog-v2 input[type=search]::placeholder { color:#74816b; opacity:1; }
.wkp-catalog-v2 .price-inputs { gap:8px; }
.wkp-catalog-v2 .wkp-price-error { margin:10px 0 0; font-size:12px; line-height:1.5; color:#8a2525; }
.wkp-catalog-v2 .wkp-price-error[hidden] { display:none!important; }
.wkp-catalog-v2 .price-inputs input[aria-invalid=true] { border-color:#a63939; background:#fff8f6; }
.wkp-catalog-v2 .price-inputs label { font-size:12px; color:var(--filter-muted); min-width:0; }
.wkp-catalog-v2 .price-inputs input { min-height:44px; padding:10px; border:1px solid #bdc8b1; border-radius:8px; background:#fbfcf8; color:var(--filter-ink); font-size:14px; }
.wkp-catalog-v2 .filter-caption { font-size:11px; line-height:1.5; color:var(--filter-muted); margin:10px 0 0; }
.wkp-catalog-v2 .wkp-more-options { display:block; width:100%; border:0; background:transparent; color:#466023; font:600 12px/1.5 Manrope,Arial,sans-serif; text-align:left; padding:10px 0; min-height:40px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.wkp-catalog-v2 .wkp-search-empty { font-size:12px; color:var(--filter-muted); padding:8px 0; }
.wkp-catalog-v2 .wkp-filter-help { background:transparent; border:0; border-top:1px solid var(--filter-line); border-radius:0; padding:18px 0 0; margin:8px 0 0; font-size:12px; }
.wkp-catalog-v2 .wkp-filter-help > svg:first-child { width:22px; height:22px; margin-bottom:8px; }
.wkp-catalog-v2 .wkp-filter-help > span { font-size:11px; }
.wkp-catalog-v2 .wkp-filter-help > svg:last-child { bottom:3px; right:0; }
.wkp-catalog-v2.wkp-filters-enhanced .filter-apply { display:none!important; }
.wkp-catalog-v2 [data-wkp-show-results] { display:none; }
.wkp-catalog-v2 .catalog-results { min-width:0; position:relative; scroll-margin-top:130px; outline:none; }
.wkp-catalog-v2 .catalog-results-top { min-height:42px; margin-bottom:12px; align-items:center; }
.wkp-catalog-v2 .catalog-results-top h2 { margin:0; font-size:24px; line-height:1.3; letter-spacing:-.7px; }
.wkp-catalog-v2 .catalog-results-top p { font-size:13px; color:var(--filter-muted); }
.wkp-catalog-v2 .wkp-active-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 14px; }
.wkp-catalog-v2 .wkp-active-filters:empty { display:none; }
.wkp-catalog-v2 .wkp-active-filters [data-wkp-filter-link] { display:inline-flex; gap:10px; align-items:center; min-height:36px; padding:7px 12px; font-size:12px; line-height:1.5; color:#344821; border:1px solid #cbd9b6; background:#eaf1de; border-radius:30px; text-decoration:none; }
.wkp-catalog-v2 .wkp-active-filters [data-wkp-filter-link]:hover { background:#dfecc8; border-color:#9eb77a; }
.wkp-catalog-v2 .wkp-active-filters [data-wkp-filter-link] span:last-child { font-size:18px; line-height:1; }
.wkp-catalog-v2 .wkp-active-filters [data-wkp-reset] { padding:8px 2px; font-size:12px; color:var(--filter-muted); text-decoration:underline; text-underline-offset:3px; }
.wkp-catalog-v2 .wkp-filter-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; margin:0; }
.wkp-catalog-v2 .wkp-filter-status:has(button) { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; font-size:13px; line-height:1.6; color:var(--filter-muted); margin:10px 0 0; padding:12px 16px; border:1px solid var(--filter-line); border-radius:8px; }
.wkp-catalog-v2 .wkp-filter-status:empty { margin:0; }
.wkp-catalog-v2 .wkp-filter-status button,.wkp-catalog-v2 .wkp-filter-status a { font:600 13px/1.6 Manrope,Arial,sans-serif; color:#466023; background:none; border:0; text-decoration:underline; padding:6px; cursor:pointer; }
.wkp-catalog-v2 .catalog-results .woocommerce-result-count { font-size:13px; color:var(--filter-muted); margin:12px 0 18px; float:left; }
.wkp-catalog-v2 .catalog-results .woocommerce-ordering { margin:0 0 18px; }
.wkp-catalog-v2 .catalog-results .woocommerce-ordering select { max-width:100%; font-size:13px; color:var(--filter-ink); padding:11px 30px 11px 12px; border:1px solid var(--filter-line); border-radius:8px; min-height:42px; }
.wkp-catalog-v2 .catalog-product-grid { clear:both; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:18px; margin:0; transition:opacity .15s ease; }
.wkp-catalog-v2.is-filter-loading .catalog-product-grid { opacity:.5; pointer-events:none; }
.wkp-catalog-v2.is-filter-loading .catalog-results::before { content:''; display:block; height:3px; position:absolute; top:-8px; left:0; right:0; border-radius:3px; background:linear-gradient(90deg,#dce5d0 15%,#71923c 50%,#dce5d0 85%); background-size:200% 100%; animation:wkp-catalog-progress 1.2s linear infinite; }
.wkp-catalog-v2 .wkp-empty-results { padding:28px; background:#eef2e7; border:1px solid var(--filter-line); border-radius:12px; max-width:100%; }
.wkp-catalog-v2 .wkp-empty-results > svg { display:block; width:28px; height:28px; color:#6a873b; margin-bottom:16px; }
.wkp-catalog-v2 .wkp-empty-results .woocommerce-info { padding:0; margin:0 0 12px; background:none; border:0; color:var(--filter-muted); font-size:14px; line-height:1.6; }
.wkp-catalog-v2 .wkp-empty-results .woocommerce-info::before { display:none; }
.wkp-catalog-v2 .wkp-empty-results h3 { font-size:21px; line-height:1.4; margin:0 0 10px; }
.wkp-catalog-v2 .wkp-empty-results p { max-width:500px; font-size:14px; color:var(--filter-muted); line-height:1.65; margin:0 0 18px; }
.wkp-catalog-v2 .wkp-empty-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.wkp-catalog-v2 .wkp-empty-results .button { min-height:44px; padding:11px 18px; font-size:13px; border-radius:8px; }
.wkp-catalog-v2 [data-wkp-undo] { color:#3e571f; border:1px solid #bdcbae; background:transparent; border-radius:8px; min-height:44px; padding:10px 16px; font:600 13px/1.5 Manrope,Arial,sans-serif; cursor:pointer; }
.wkp-catalog-v2 .woocommerce-pagination { clear:both; }
.wkp-catalog-v2 .woocommerce-pagination ul.page-numbers { display:flex; flex-wrap:wrap; justify-content:center; border:0; gap:6px; }
.wkp-catalog-v2 .woocommerce-pagination ul.page-numbers li { border:0; }
.wkp-catalog-v2 .woocommerce-pagination ul.page-numbers a,.wkp-catalog-v2 .woocommerce-pagination ul.page-numbers span { min-width:40px; min-height:40px; display:flex; align-items:center; justify-content:center; padding:8px; font-size:13px; }
.wkp-catalog-v2 :is(a,button,input,summary,select):focus-visible { outline:3px solid #6a873b; outline-offset:3px; }
.wkp-catalog-v2 .wkp-filter-backdrop { display:none; }
@keyframes wkp-catalog-progress { to { background-position:-200% 0; } }
@media(min-width:901px) and (max-width:1200px) {
  .wkp-catalog-v2 .catalog-layout { grid-template-columns:244px minmax(0,1fr); gap:22px; }
  .wkp-catalog-v2 .catalog-sidebar { padding:18px; }
  .wkp-catalog-v2 .catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .wkp-catalog-v2 .catalog-layout { grid-template-columns:minmax(0,1fr); gap:16px; }
  .wkp-catalog-v2.wkp-filters-enhanced .catalog-sidebar { display:none; }
  .wkp-catalog-v2.wkp-filters-enhanced .catalog-sidebar.is-open { display:block; position:fixed; inset:0 0 0 auto; z-index:100001; width:min(420px,92vw); height:100dvh; max-height:100dvh; border:0; border-radius:16px 0 0 16px; padding:0 22px 18px; margin:0; overflow-y:auto; overscroll-behavior:contain; background:#f5f7f0; box-shadow:-12px 0 48px #17200d22; }
  .wkp-catalog-v2.wkp-filters-enhanced .wkp-filter-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:100000; background:#18200d66; }
  html.wkp-filter-drawer-open,body.wkp-filter-drawer-open { overflow:hidden!important; }
  .wkp-catalog-v2 .catalog-sidebar .filter-top { position:sticky; top:0; z-index:2; background:#f5f7f0; padding:18px 0 14px; margin:0; }
  .wkp-catalog-v2 .wkp-filter-close { display:flex; align-items:center; justify-content:center; width:40px; height:40px; flex:0 0 40px; order:3; border:1px solid var(--filter-line); border-radius:50%; background:transparent; font-size:27px; line-height:1; color:var(--filter-ink); text-decoration:none; }
  .wkp-catalog-v2 .filter-mobile-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; min-height:44px; background:var(--filter-accent); border:1px solid #aad326; border-radius:8px; color:var(--filter-ink); font-size:14px; font-weight:800; }
  .wkp-catalog-v2 .filter-mobile-toggle svg { width:18px; height:18px; }
  .wkp-catalog-v2 [data-wkp-filter-count] { display:inline-flex; min-width:20px; height:20px; align-items:center; justify-content:center; padding:0 4px; background:#20291d; color:#fff; border-radius:20px; font-size:11px; }
  .wkp-catalog-v2.wkp-filters-enhanced [data-wkp-show-results] { position:sticky; bottom:0; display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:12px 16px; margin:8px 0 0; border:1px solid #aad326; border-radius:9px; background:var(--filter-accent); color:var(--filter-ink); font:800 14px/1.5 Manrope,Arial,sans-serif; box-shadow:0 -10px 20px 6px #f5f7f0; z-index:3; cursor:pointer; }
  .wkp-catalog-v2 .filter-option { min-height:44px; font-size:14px; }
  .wkp-catalog-v2 .price-inputs input,.wkp-catalog-v2 input[type=search] { font-size:16px; }
  .wkp-catalog-v2 .catalog-results-top { align-items:center; }
  .wkp-catalog-v2 .catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .wkp-catalog-v2:not(.wkp-filters-enhanced) .catalog-sidebar { display:block; }
  .wkp-catalog-v2:not(.wkp-filters-enhanced) .filter-mobile-toggle,.wkp-catalog-v2:not(.wkp-filters-enhanced) .wkp-filter-close { display:none; }
}
@media(max-width:600px) {
  .wkp-catalog-v2 .catalog-layout { margin-top:18px; }
  .wkp-catalog-v2 .catalog-results-top h2 { font-size:22px; }
  .wkp-catalog-v2 .catalog-results .woocommerce-result-count { float:none; margin:8px 0 10px; font-size:12px; }
  .wkp-catalog-v2 .catalog-results .woocommerce-ordering { float:none; margin:0 0 16px; width:100%; }
  .wkp-catalog-v2 .catalog-results .woocommerce-ordering select { width:100%; font-size:14px; }
  .wkp-catalog-v2 .catalog-product-grid { gap:12px; }
  .wkp-catalog-v2 .wkp-active-filters { gap:6px; }
  .wkp-catalog-v2 .wkp-active-filters [data-wkp-filter-link] { font-size:11px; padding:7px 10px; }
  .wkp-catalog-v2 .wkp-empty-results { padding:24px 18px; }
  .wkp-catalog-v2 .catalog-sidebar.is-open { width:min(420px,94vw); padding-left:18px; padding-right:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .wkp-catalog-v2 * { scroll-behavior:auto!important; transition:none!important; }
  .wkp-catalog-v2.is-filter-loading .catalog-results::before { animation:none; background:#71923c; }
}

.wkp-catalog-v2 .wkp-mobile-filter-footer { display:none; }
@media(max-width:900px){.wkp-catalog-v2.wkp-filters-enhanced .wkp-mobile-filter-footer{display:block;position:sticky;bottom:0;padding:12px 0 4px;background:#f5f7f0;z-index:3;box-shadow:0 -10px 20px 6px #f5f7f0}.wkp-catalog-v2.wkp-filters-enhanced [data-wkp-show-results]{position:static;margin:0;box-shadow:none}}
