.kde-filters{--kde-filter-accent:#242a35;--kde-filter-bg:#fff;font-family:inherit;color:#1e2430}.kde-filters *{box-sizing:border-box}.kde-filters-form{background:var(--kde-filter-bg);padding:18px;border:1px solid #ddd;border-radius:10px}.kde-filters-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.kde-filters-header h3{margin:0 0 14px;font-size:19px}.kde-filter-group{border-top:1px solid #ddd;padding:12px 0}.kde-filter-group summary{font-weight:650;cursor:pointer;list-style-position:inside}.kde-filter-options{display:grid;gap:8px;max-height:230px;overflow:auto;padding:12px 2px 2px}.kde-filter-options label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.kde-filter-options input,.kde-filter-stock input{accent-color:var(--kde-filter-accent);width:17px;height:17px;flex-shrink:0}.kde-filter-options small{margin-left:auto;color:#777}.kde-filter-prices{display:flex;gap:12px;padding:12px 0}.kde-filter-prices label{flex:1;min-width:0;font-size:13px}.kde-filter-prices input{display:block;width:100%;min-width:0;min-height:40px;padding:7px;border:1px solid #bbb;border-radius:5px;font-size:16px}.kde-filter-stock{display:flex;gap:10px;align-items:center;margin:14px 0;cursor:pointer}.kde-filter-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.kde-filter-actions button{border:0;border-radius:6px;background:var(--kde-filter-accent);color:white;padding:12px 18px;min-height:44px;cursor:pointer}.kde-filter-actions a{font-size:14px;text-decoration:underline}.kde-filters-toggle,.kde-filters-close{display:none}@media(max-width:767px){.kde-filters-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 16px;border:1px solid #ccc;border-radius:7px;background:#fff;color:#222}.kde-filters-form{display:none;margin-top:10px}.kde-filters[data-open="true"] .kde-filters-form{display:block}.kde-filters-close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;font-size:28px;min-width:44px;min-height:44px}}
/* v0.4.3: Elementor-controlled orientation and viewport-safe sticky panel. */
.kde-filters{--kde-sticky-top:0px;--kde-filter-accent:var(--e-global-color-primary,var(--wp--preset--color--contrast,#242a35));--kde-filter-bg:var(--e-global-color-secondary,var(--wp--preset--color--base,#fff));font-family:var(--e-global-typography-text-font-family,inherit);min-width:0}
.kde-filters[data-sticky="true"]{position:sticky;top:var(--kde-sticky-top);z-index:20;max-height:calc(100dvh - var(--kde-sticky-top) - 8px);display:flex;flex-direction:column}
.kde-filters[data-sticky="true"] .kde-filters-form{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.kde-filters[data-orientation="horizontal"] .kde-filters-form{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.kde-filters[data-orientation="horizontal"] .kde-filters-header{width:100%;flex:0 0 100%}
.kde-filters[data-orientation="horizontal"] .kde-filter-group{flex:1 1 150px;min-width:140px;max-width:280px;border-top:0;border-right:1px solid #ddd;padding:8px}
.kde-filters[data-orientation="horizontal"] .kde-filter-stock{align-self:center;white-space:nowrap}
.kde-filters[data-orientation="horizontal"] .kde-filter-actions{align-self:center;margin:0}
.kde-filter-actions .kde-filter-clear{background:transparent;color:var(--kde-filter-accent);text-decoration:underline;border:0;padding:10px 6px;cursor:pointer}
@media(max-width:767px){.kde-filters[data-orientation="horizontal"] .kde-filters-form{display:none}.kde-filters[data-orientation="horizontal"][data-open="true"] .kde-filters-form{display:block}.kde-filters[data-sticky="true"] .kde-filters-form{max-height:calc(100dvh - var(--kde-sticky-top) - 65px)}.kde-filters[data-orientation="horizontal"] .kde-filter-group{max-width:none;border-right:0;border-top:1px solid #ddd}}

/* Header-docked controls: only applied when the Elementor widget explicitly opts in. */
.kde-filters[data-preset="dark"]{--kde-filter-bg:#252b31;--kde-filter-accent:#c7a56a;color:#fff}
.kde-filters[data-preset="light"]{--kde-filter-bg:#f6f2e9;--kde-filter-accent:#775b30;color:#272b2e}
.kde-filters[data-preset="dark"] .kde-filters-form{color:#fff;border-color:#444e58}
.kde-filters[data-preset="light"] .kde-filters-form{color:#272b2e;border-color:#ded7c8}
.kde-filters[data-preset="dark"] .kde-filter-options small{color:#d5d5d5}
.kde-filters[data-preset="dark"] .kde-filter-group{border-color:#505963}
.kde-filters[data-preset="dark"] .kde-filter-actions button{background:#e8dfce;color:#1e2730}
.kde-filters[data-preset="light"] .kde-filter-actions button{background:#252b31;color:#fff}
.kde-filters[data-position="sticky"]{position:sticky;top:var(--kde-sticky-top,0px);z-index:30}
.kde-filters.kde-is-docked{position:fixed!important;left:var(--kde-dock-left)!important;top:var(--kde-dock-top)!important;width:var(--kde-dock-width)!important;z-index:999;max-height:calc(100dvh - var(--kde-dock-top) - 8px);display:flex;flex-direction:column}
.kde-filters.kde-is-docked .kde-filters-form{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - var(--kde-dock-top) - 8px)}
.kde-filters[data-orientation="horizontal"] .kde-filters-header h3{margin:0;font-size:16px}
.kde-filters[data-orientation="horizontal"] .kde-filters-form{padding:10px 14px;gap:8px}
.kde-filters[data-orientation="horizontal"] .kde-filter-group{padding:4px 8px}
.kde-filters[data-orientation="horizontal"] .kde-filter-actions button{min-height:38px;padding:7px 12px}
.kde-filters .kde-filter-clear{background:transparent!important;color:inherit!important;border:1px solid currentColor!important}
@media(min-width:768px){.kde-filters-close{display:none!important}}
@media(max-width:767px){.kde-filters.kde-is-docked{position:static!important}}

/* 0.4.3-dev.2: explicit preset scope, including theme-level descendant rules. */
.kde-filters[data-preset="dark"]{--kde-filter-bg:#252b31;--kde-filter-accent:#c7a56a;color:#fff!important}
.kde-filters[data-preset="dark"] .kde-filters-form{background-color:#252b31!important;color:#fff!important;border-color:#505963!important}
.kde-filters[data-preset="dark"] .kde-filters-header h3,
.kde-filters[data-preset="dark"] .kde-filter-group summary,
.kde-filters[data-preset="dark"] .kde-filter-stock,
.kde-filters[data-preset="dark"] .kde-filter-options label,
.kde-filters[data-preset="dark"] .kde-filter-prices label{color:#fff!important}
.kde-filters[data-preset="dark"] .kde-filter-options small{color:#d5d5d5!important}
.kde-filters[data-preset="light"]{--kde-filter-bg:#f6f2e9;--kde-filter-accent:#775b30;color:#272b2e!important}
.kde-filters[data-preset="light"] .kde-filters-form{background-color:#f6f2e9!important;color:#272b2e!important}
.kde-filters[data-preset="light"] .kde-filters-header h3,
.kde-filters[data-preset="light"] .kde-filter-group summary,
.kde-filters[data-preset="light"] .kde-filter-stock,
.kde-filters[data-preset="light"] .kde-filter-options label,
.kde-filters[data-preset="light"] .kde-filter-prices label{color:#272b2e!important}
/* Desktop never presents the mobile drawer dismiss control. */
@media(min-width:768px){.kde-filters .kde-filters-close{display:none!important;visibility:hidden!important}}
/* Compact horizontal toolbar: dropdown choices stay closed until requested. */
@media(min-width:768px){
.kde-filters[data-orientation="horizontal"] .kde-filters-form{align-items:center;flex-wrap:nowrap;overflow:visible;gap:8px}
.kde-filters[data-orientation="horizontal"] .kde-filters-header{width:auto;flex:0 0 auto;padding-right:10px}
.kde-filters[data-orientation="horizontal"] .kde-filter-group{position:relative;flex:0 1 auto;min-width:90px;max-width:170px;border:1px solid currentColor;border-radius:5px;padding:7px 10px}
.kde-filters[data-orientation="horizontal"] .kde-filter-group summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kde-filters[data-orientation="horizontal"] .kde-filter-group[open] .kde-filter-options,
.kde-filters[data-orientation="horizontal"] .kde-filter-group[open] .kde-filter-prices{position:absolute;left:0;top:calc(100% + 5px);width:min(310px,85vw);max-height:min(360px,60dvh);overflow:auto;z-index:1005;background:var(--kde-filter-bg);border:1px solid #777;border-radius:8px;padding:12px;box-shadow:0 10px 30px #0005}
.kde-filters[data-orientation="horizontal"] .kde-filter-group:not([open]) .kde-filter-options,
.kde-filters[data-orientation="horizontal"] .kde-filter-group:not([open]) .kde-filter-prices{display:none}
.kde-filters[data-orientation="horizontal"] .kde-filter-actions{flex-wrap:nowrap;gap:5px}
.kde-filters[data-orientation="horizontal"] .kde-filter-stock{margin:0}
.kde-filters[data-orientation="horizontal"].kde-is-docked .kde-filters-form{overflow:visible;max-height:none}
.kde-filters[data-orientation="horizontal"].kde-is-docked{max-height:none}
}

/* dev.3: body-level docking portal avoids Elementor ancestor overflow/transforms. */
.kde-dock-portal{position:fixed!important;z-index:7000!important;box-sizing:border-box;pointer-events:none;overflow:visible}
.kde-dock-portal>.kde-filters{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;max-height:inherit!important;pointer-events:auto;display:block!important}
.kde-dock-portal>.kde-filters .kde-filters-form{max-height:inherit;overflow:visible}
.kde-dock-marker{box-sizing:border-box;pointer-events:none}
@media(max-width:767px){.kde-dock-portal{display:none!important}}

/* dev.4: the portaled toolbar owns its full visual surface. No Elementor container configuration needed. */
@media(min-width:768px){
 .kde-dock-portal{isolation:isolate;background:#fff;opacity:1!important;background-image:none!important;overflow:visible!important;border-radius:8px;box-shadow:0 7px 20px rgba(0,0,0,.2);}
 .kde-dock-portal>.kde-filters{background:var(--kde-filter-bg,#fff)!important;border-radius:inherit;isolation:isolate;}
 .kde-dock-portal>.kde-filters>.kde-filters-form{background:var(--kde-filter-bg,#fff)!important;margin:0!important;opacity:1!important;}
 .kde-dock-portal>.kde-filters[data-preset="dark"],
 .kde-dock-portal>.kde-filters[data-preset="dark"]>.kde-filters-form{background:#252b31!important;}
 .kde-dock-portal>.kde-filters[data-preset="light"],
 .kde-dock-portal>.kde-filters[data-preset="light"]>.kde-filters-form{background:#f6f2e9!important;}
}

/* dev.5: the portal is the complete docked visual surface, above page content but below admin overlays. */
.kde-dock-portal{position:fixed!important;z-index:7000!important;background-clip:padding-box!important;transform:none!important;}
.kde-dock-portal>.kde-filters{margin:0!important;}
.kde-dock-portal>.kde-filters .kde-filters-form{box-sizing:border-box;width:100%;}

/* dev.7: viewport-wide docking surface with independently sized toolbar.
   Never depend on an Elementor container's flex-basis, width or background. */
@media(min-width:768px){
 .kde-dock-portal{display:block!important;left:0!important;right:0!important;box-sizing:border-box!important;max-width:none!important;min-width:0!important;border-radius:0!important;overflow:visible!important;padding:0!important;}
 .kde-dock-portal>.kde-filters{display:block!important;position:relative!important;width:100%!important;max-width:1280px!important;min-width:0!important;margin:0 auto!important;padding:0 16px!important;box-sizing:border-box!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;}
 .kde-dock-portal>.kde-filters>.kde-filters-form{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important;border-radius:0!important;overflow:visible!important;}
 .kde-dock-portal>.kde-filters[data-orientation="horizontal"]>.kde-filters-form{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;}
 .kde-dock-portal>.kde-filters[data-orientation="horizontal"] .kde-filters-header{flex:0 0 auto!important;width:auto!important;min-width:0!important;}
 .kde-dock-portal>.kde-filters[data-orientation="horizontal"] .kde-filter-group{flex:0 1 145px!important;min-width:100px!important;max-width:170px!important;}
 .kde-dock-portal>.kde-filters[data-orientation="horizontal"] .kde-filter-actions{flex:0 0 auto!important;min-width:0!important;}
 .kde-dock-portal>.kde-filters[data-orientation="horizontal"] .kde-filter-stock{flex:0 0 auto!important;}
 .kde-dock-portal>.kde-filters[data-preset="dark"]{--kde-filter-bg:#252b31;}
 .kde-dock-portal>.kde-filters[data-preset="light"]{--kde-filter-bg:#f6f2e9;}
}

/* dev.9: Separate natural widget layout from docked compact presentation.
   Do not require any special Elementor parent/container configuration. */
@media (min-width:768px) {
  /* In-flow widget owns the full available width. No compact dev.8 constraints. */
  .kde-filters[data-position="docked"]:not(.kde-is-docked) {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .kde-filters[data-position="docked"]:not(.kde-is-docked) > .kde-filters-form {
    width:100%!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
  }
  .kde-filters[data-position="docked"]:not(.kde-is-docked) .kde-filter-group {
    flex:1 1 150px!important;
    min-width:140px!important;
    max-width:280px!important;
  }
  /* Dropdowns near right edge open inward. */
  .kde-filters[data-orientation="horizontal"] .kde-filter-group:nth-last-of-type(-n+2)[open] .kde-filter-options,
  .kde-filters[data-orientation="horizontal"] .kde-filter-group:nth-last-of-type(-n+2)[open] .kde-filter-prices {left:auto;right:0;}
  .kde-dock-portal {z-index:7000!important;}
}
@media (min-width:1100px) {
  /* Only the body-level docking portal gets the compact one-row treatment. */
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] > .kde-filters-form {
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    gap:clamp(6px,.6vw,10px)!important;
    padding:10px 14px!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filters-header {
    flex:0 0 auto!important;width:auto!important;padding:0 6px 0 0!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filters-header h3 {
    font-size:13px!important;white-space:nowrap!important;line-height:1.3!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-group {
    flex:1 1 0!important;min-width:0!important;max-width:none!important;
    padding:8px 9px!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-group summary {
    display:block;min-width:0;font-size:13px!important;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-stock {
    flex:0 0 auto!important;gap:6px!important;font-size:13px!important;white-space:nowrap!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-actions {
    flex:0 0 auto!important;display:flex!important;flex-flow:row nowrap!important;
    gap:5px!important;margin:0!important;white-space:nowrap!important;
  }
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-actions button {
    min-height:38px!important;padding:7px 9px!important;font-size:12px!important;line-height:1.2!important;
  }
}
@media (min-width:768px) and (max-width:1099px) {
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] > .kde-filters-form {flex-wrap:wrap!important;}
  .kde-dock-portal > .kde-filters[data-orientation="horizontal"] .kde-filter-group {
    flex:1 1 130px!important;min-width:110px!important;max-width:180px!important;
  }
}

/* dev.10: width and docking are independent. The portal geometry is JS-owned. */
@media(min-width:768px){
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked)>.kde-filters-form{
  display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:clamp(4px,.5vw,8px)!important;
  overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin;
 }
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked) .kde-filters-header{flex:0 0 auto!important;width:auto!important;padding-right:4px!important}
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked) .kde-filter-group{
  flex:1 1 auto!important;min-width:max-content!important;max-width:none!important;padding:7px 8px!important;
 }
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked) .kde-filter-group summary{white-space:nowrap!important;font-size:clamp(12px,.9vw,14px)!important}
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked) .kde-filter-stock,
 .kde-filters[data-orientation="horizontal"]:not(.kde-is-docked) .kde-filter-actions{flex:0 0 auto!important;white-space:nowrap!important}
 .kde-filters[data-toolbar-width="full"]:not(.kde-is-docked){width:100vw!important;max-width:none!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important}
 .kde-filters[data-toolbar-width="custom"]:not(.kde-is-docked){max-width:min(100%,var(--kde-custom-max-width))!important;margin-inline:auto!important}
 .kde-dock-portal{right:auto!important;max-width:none!important}
 .kde-dock-portal>.kde-filters{max-width:var(--kde-portal-content-max,1280px)!important}
 .kde-dock-portal[data-kde-dock-behavior="preserve"]>.kde-filters{padding:0!important}
 .kde-dock-portal[data-kde-dock-behavior="preserve"]>.kde-filters>.kde-filters-form{flex-flow:row nowrap!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:thin}
 .kde-dock-portal[data-kde-dock-behavior="preserve"] .kde-filter-group{flex:1 1 auto!important;min-width:max-content!important;max-width:none!important}
 .kde-dock-portal[data-kde-dock-behavior="preserve"] .kde-filter-actions,
 .kde-dock-portal[data-kde-dock-behavior="preserve"] .kde-filter-stock{flex:0 0 auto!important}
 .kde-dock-portal[data-kde-dock-behavior="compact"] .kde-filters-header h3{font-size:12px!important}
 .kde-dock-portal[data-kde-dock-behavior="compact"]>.kde-filters>.kde-filters-form{flex-flow:row nowrap!important;overflow-x:auto!important;gap:4px!important}
 .kde-dock-portal[data-kde-dock-behavior="compact"] .kde-filter-group{min-width:max-content!important;flex:0 0 auto!important;padding:6px!important}
}

/* dev.11: filter popovers live at body level, outside all scrolling/clipping containers. */
.kde-floating-menu{position:fixed!important;z-index:2147483000!important;display:grid!important;gap:8px!important;overflow:auto!important;box-sizing:border-box!important;background:var(--kde-floating-bg,#fff)!important;color:var(--kde-floating-fg,#222)!important;border:1px solid #777!important;border-radius:8px!important;padding:12px!important;box-shadow:0 12px 35px rgba(0,0,0,.3)!important;}
.kde-floating-menu.kde-filter-prices{display:flex!important;}
.kde-floating-menu label{display:flex;align-items:center;gap:10px;min-height:28px;font-size:14px;cursor:pointer;}
.kde-floating-menu small{margin-left:auto;}
.kde-floating-menu input[type=checkbox]{accent-color:#c7a56a;}
.kde-filters[data-dock-trigger="always"] + .kde-dock-marker{height:0!important;}

/* v0.4.3-dev.13: searchable filter lists, keyboard focus and selected-state preservation */
.kde-filter-options .kde-option-search-wrap{position:sticky;top:-12px;z-index:2;background:var(--kde-floating-bg,var(--kde-filter-bg,#fff));padding:4px 0 9px;margin-bottom:3px;}
.kde-filter-options .kde-option-search{display:block;width:100%;min-width:0;min-height:40px;padding:8px 11px;border:1px solid #999;border-radius:6px;font:inherit;font-size:16px;color:var(--kde-floating-fg,inherit);background:var(--kde-floating-bg,var(--kde-filter-bg,#fff));}
.kde-filter-options .kde-option-status{font-size:11px;opacity:.75;margin:4px 2px 0;}
.kde-filter-options label[hidden]{display:none!important;}
.kde-filter-options label.kde-option-highlight{outline:2px solid #c7a56a;outline-offset:1px;border-radius:3px;}
.kde-filter-options input:focus-visible,.kde-option-search:focus-visible{outline:2px solid #c7a56a;outline-offset:2px;}

/* dev.14: optional Search popout, independent of Elementor clipping/docking */
.kde-filter-search-action{display:flex;align-items:center;flex:0 0 auto;min-width:0}
.kde-filter-search-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 12px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.kde-filter-search-trigger:focus-visible{outline:2px solid #c7a56a;outline-offset:2px}
.kde-filter-search-overlay[hidden]{display:none!important}
.kde-filter-search-overlay{position:fixed!important;inset:0!important;z-index:2147483200!important;display:flex!important;align-items:flex-start;justify-content:center;overflow:auto;background:rgba(0,0,0,.66)!important;padding:clamp(16px,8vh,80px) 16px 30px;box-sizing:border-box}
.kde-filter-search-dialog{box-sizing:border-box;width:min(620px,100%);max-height:calc(100vh - 60px);overflow:auto;background:#fff!important;color:#20242b!important;border-radius:12px;padding:20px;box-shadow:0 18px 60px #0008;font:inherit}
.kde-filter-search-head,.kde-filter-search-row{display:flex;align-items:center;gap:10px}
.kde-filter-search-head{justify-content:space-between;margin-bottom:14px;font-size:20px}
.kde-filter-search-close{background:transparent!important;border:0!important;color:#222!important;font-size:28px;cursor:pointer;min-width:40px;min-height:40px}
.kde-filter-search-label{display:block;font-size:13px;margin-bottom:7px}
.kde-filter-search-row input{min-width:0;flex:1;min-height:44px;padding:9px 12px;border:1px solid #888;border-radius:6px;background:#fff;color:#222;font-size:16px}
.kde-filter-search-row button{min-height:44px;padding:9px 15px;background:#252525!important;color:#fff!important;border:0;border-radius:6px;cursor:pointer}
.kde-filter-search-status{min-height:18px;font-size:12px;color:#555;margin:10px 0}
.kde-filter-search-results{display:grid;gap:4px}
.kde-filter-search-result,.kde-filter-search-all{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 9px;text-decoration:none!important;color:#222!important;border-bottom:1px solid #eee}
.kde-filter-search-result:hover,.kde-filter-search-result:focus-visible,.kde-filter-search-all:hover{background:#f3f0e9}
.kde-filter-search-result small{color:#666}
@media(max-width:767px){.kde-filter-search-dialog{padding:14px}.kde-filter-search-row{flex-wrap:wrap}.kde-filter-search-row button{flex:0 0 auto}}

/* dev.15: compact icon-only search trigger; theme/button overrides scoped to KDE. */
.kde-filters .kde-filter-search-action{flex:0 0 44px!important;width:44px!important;max-width:44px!important;min-width:44px!important;align-self:center!important;margin:0!important;padding:0!important;}
.kde-filters .kde-filter-search-action .kde-filter-search-trigger,
.kde-dock-portal .kde-filter-search-action .kde-filter-search-trigger{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;
 flex:0 0 44px!important;box-sizing:border-box!important;
 margin:0!important;padding:0!important;gap:0!important;
 background:transparent!important;background-image:none!important;
 border:1px solid transparent!important;border-radius:7px!important;
 box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;
 color:inherit!important;line-height:1!important;cursor:pointer!important;
}
.kde-filters .kde-filter-search-trigger .kde-search-trigger-label{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;}
.kde-filters .kde-filter-search-trigger .kde-search-trigger-icon{display:block!important;flex:none!important;width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important;}
.kde-filters .kde-filter-search-trigger:hover{background:rgba(127,127,127,.12)!important;border-color:rgba(127,127,127,.3)!important;}
.kde-filters .kde-filter-search-trigger:focus-visible{outline:2px solid #c7a56a!important;outline-offset:2px!important;}

/* dev.16: match the native KDE header search dialog, independently of theme styling. */
.kde-filter-search-overlay:not([hidden]){align-items:center!important;justify-content:center!important;padding:20px 16px!important;background:rgba(0,0,0,.75)!important;}
.kde-filter-search-overlay .kde-filter-search-dialog{position:relative!important;box-sizing:border-box!important;width:min(760px,100%)!important;max-height:calc(100dvh - 40px)!important;overflow-y:auto!important;background:#171a21!important;color:#fff!important;border:0!important;border-radius:14px!important;padding:clamp(24px,5vw,44px)!important;box-shadow:0 25px 70px #0008!important;font-family:inherit!important;}
.kde-filter-search-overlay .kde-filter-search-close{position:absolute!important;top:10px!important;right:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:32px!important;font-weight:400!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important;}
.kde-filter-search-overlay .kde-filter-search-form{margin:0!important;padding:0!important;}
.kde-filter-search-overlay .kde-filter-search-label{display:block!important;color:#fff!important;font-size:16px!important;font-weight:600!important;line-height:1.5!important;margin:0 48px 12px 0!important;}
.kde-filter-search-overlay .kde-filter-search-row{position:relative!important;display:block!important;width:100%!important;margin:0!important;}
.kde-filter-search-overlay .kde-filter-search-input{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:54px!important;margin:0!important;padding:13px 54px 13px 16px!important;border:1px solid #69717d!important;border-radius:8px!important;background:#101217!important;color:#fff!important;box-shadow:none!important;font-family:inherit!important;font-size:16px!important;line-height:1.5!important;}
.kde-filter-search-overlay .kde-filter-search-input::placeholder{color:#b8bec7!important;opacity:1!important;}
.kde-filter-search-overlay .kde-filter-search-submit{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:10px!important;background:transparent!important;color:#ddd!important;border:0!important;border-radius:6px!important;box-shadow:none!important;cursor:pointer!important;}
.kde-filter-search-overlay .kde-filter-search-submit svg{width:22px!important;height:22px!important;display:block!important;}
.kde-filter-search-overlay .kde-filter-search-submit:hover{color:#fff!important;background:rgba(255,255,255,.08)!important;}
.kde-filter-search-overlay .kde-filter-search-status{min-height:0!important;margin:0!important;padding:0!important;color:#b8bec7!important;font-size:12px!important;}
.kde-filter-search-overlay .kde-filter-search-status:not(:empty){margin-top:12px!important;}
.kde-filter-search-overlay .kde-filter-search-results:not(:empty){margin-top:12px!important;max-height:min(45vh,400px);overflow:auto;background:#fff;color:#171a21;border-radius:8px;}
.kde-filter-search-overlay .kde-filter-search-result,.kde-filter-search-overlay .kde-filter-search-all{color:#171a21!important;}
.kde-filter-search-overlay .kde-filter-search-close:focus-visible,.kde-filter-search-overlay .kde-filter-search-input:focus-visible,.kde-filter-search-overlay .kde-filter-search-submit:focus-visible{outline:2px solid #c7a56a!important;outline-offset:2px!important;}
@media(max-width:600px){.kde-filter-search-overlay .kde-filter-search-dialog{padding:28px 20px!important;}.kde-filter-search-overlay .kde-filter-search-label{margin-right:45px!important;}}

/* dev.17: neutral focus treatment ONLY inside the filter toolbar search dialog.
   Override theme/Elementor accent rings without removing keyboard focus visibility. */
.kde-filter-search-overlay .kde-filter-search-input:focus,
.kde-filter-search-overlay .kde-filter-search-input:focus-visible {
  border-color:#89919d!important;
  outline:2px solid #89919d!important;
  outline-offset:2px!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
  --e-global-color-accent:#89919d;
}
.kde-filter-search-overlay .kde-filter-search-close:focus-visible,
.kde-filter-search-overlay .kde-filter-search-submit:focus-visible {
  outline:2px solid #89919d!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
.kde-filter-search-overlay .kde-filter-search-row:focus-within {
  outline:none!important;
  box-shadow:none!important;
  border-color:transparent!important;
}

/* dev.20: Hide the native toolbar scrollbars that resemble a permanently open menu.
   Keep horizontal scrolling available when controls exceed viewport width. */
@media (min-width:768px) {
 .kde-filters[data-orientation="horizontal"] > .kde-filters-form,
 .kde-dock-portal > .kde-filters[data-orientation="horizontal"] > .kde-filters-form {
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
 }
 .kde-filters[data-orientation="horizontal"] > .kde-filters-form::-webkit-scrollbar,
 .kde-dock-portal > .kde-filters[data-orientation="horizontal"] > .kde-filters-form::-webkit-scrollbar {
  display:none!important;width:0!important;height:0!important;
 }
}

/* dev.22: subtle native dropdown indicators; visual-only, no layout/JS changes. */
.kde-filters .kde-filter-group > summary{position:relative;list-style:none!important;padding-right:22px!important;}
.kde-filters .kde-filter-group > summary::-webkit-details-marker{display:none!important;}
.kde-filters .kde-filter-group > summary::marker{content:"";}
.kde-filters .kde-filter-group > summary::after{content:"";position:absolute;right:7px;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-65%) rotate(45deg);transform-origin:center;pointer-events:none;opacity:.78;transition:transform .15s ease;}
.kde-filters .kde-filter-group[open] > summary::after{transform:translateY(-25%) rotate(225deg);}
@media(prefers-reduced-motion:reduce){.kde-filters .kde-filter-group > summary::after{transition:none;}}

/* dev.30: Archive docking retains the same visual surface as in-page.
   These rules override legacy portal resets only for archive integration. */
@media (min-width:768px) {
 .kde-dock-portal:has(> .kde-filters.kde-is-docked) {
   border-radius:var(--kde-archive-dock-radius,8px)!important;
   overflow:visible!important;
 }
 .kde-dock-portal > .kde-filters.kde-is-docked {
   background:var(--kde-filter-bg,transparent)!important;
   border-radius:inherit!important;
   padding:0!important;
 }
 .kde-dock-portal > .kde-filters.kde-is-docked > .kde-filters-form {
   border-radius:inherit!important;
 }
}

/* dev.32: permanent archive docking retains an in-flow footprint. */
.kde-archive-toolbar .kde-dock-marker{min-height:0;}

/* dev.34: Keep the body-level archive dock below theme navigation (Gunslinger header z-index 8000),
   but above ordinary scrolling archive content. Header dropdowns must win the stack. */
@media (min-width:768px) {
 body.kde-archive-active > .kde-dock-portal { z-index:7000!important; }
}

/* dev.35: Expose actual WooCommerce count/sort when Gunslinger hides its
   native list header. This row is in normal flow below KDE's dock marker. */
body.kde-archive-active .kde-archive-native-controls{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;clear:both;width:100%;margin:0 0 18px;min-height:38px;position:relative;z-index:1}
body.kde-archive-active .kde-archive-native-controls .woocommerce-result-count,
body.kde-archive-active .kde-archive-native-controls .woocommerce-ordering{display:block!important;float:none!important;position:static!important;visibility:visible!important;margin:0!important;opacity:1!important}
body.kde-archive-active .kde-archive-native-controls .woocommerce-ordering select{max-width:100%}

/* dev.37: Fixed archive toolbar at the initial expanded header edge.
   The toolbar remains in flow as a measured spacer; no docking portal is used.
   Theme header (z-index 8000) and its menus remain above KDE (7000). */
@media (min-width:768px) {
 body.kde-archive-active .kde-archive-toolbar.kde-archive-fixed {
   min-height:var(--kde-fixed-height,66px)!important;
   height:var(--kde-fixed-height,66px)!important;
 }
 body.kde-archive-active .kde-archive-toolbar.kde-archive-fixed > .kde-filters {
   position:fixed!important;
   top:var(--kde-fixed-top,224px)!important;
   left:var(--kde-fixed-left,0px)!important;
   width:var(--kde-fixed-width,100%)!important;
   max-width:var(--kde-fixed-width,100%)!important;
   right:auto!important;
   transform:none!important;
   z-index:7000!important;
 }
}
@media (max-width:767px) {
 body.kde-archive-active .kde-archive-toolbar > .kde-filters {
   position:static!important;top:auto!important;left:auto!important;
   width:100%!important;max-width:100%!important;transform:none!important;
 }
}

/* dev.39: Unified archive assembly. One fixed parent; count/sort cannot drift
   underneath the filter panel. Normal-flow bar reserves the full assembly. */
@media (min-width:768px) {
 body.kde-archive-active .kde-archive-toolbar.kde-archive-unified-fixed {
   height:var(--kde-unified-height,120px)!important;
   min-height:var(--kde-unified-height,120px)!important;
 }
 body.kde-archive-active .kde-archive-toolbar.kde-archive-unified-fixed > .kde-archive-unified-inner {
   position:fixed!important;
   top:var(--kde-unified-top,224px)!important;
   left:var(--kde-unified-left,0px)!important;
   width:var(--kde-unified-width,100%)!important;
   z-index:7000!important;
 }
 body.kde-archive-active .kde-archive-toolbar.kde-archive-unified-fixed .kde-filters {
   position:static!important;top:auto!important;left:auto!important;
   width:100%!important;max-width:100%!important;transform:none!important;
 }
}
body.kde-archive-active .kde-archive-toolbar .kde-archive-native-controls {
 display:flex!important;align-items:center;justify-content:space-between;
 gap:12px;flex-wrap:wrap;padding:12px 0 0;min-height:46px;
 background:var(--kde-native-row-bg,#fff);position:relative;z-index:1;
}
body.kde-archive-active .kde-archive-toolbar .kde-archive-native-controls .woocommerce-result-count,
body.kde-archive-active .kde-archive-toolbar .kde-archive-native-controls .woocommerce-ordering {
 display:block!important;visibility:visible!important;opacity:1!important;
 float:none!important;position:static!important;margin:0!important;
}
@media(max-width:767px){
 body.kde-archive-active .kde-archive-toolbar .kde-archive-unified-inner{position:static!important;width:100%!important;}
}

/* Archive/filters popup: animation selection is scoped to its own search dialog. */
.kde-filter-search-loader{height:4px;margin:5px 0;background:#303030;overflow:hidden;border-radius:4px}
.kde-filter-search-loader span{display:block;width:18%;height:100%;background:var(--kde-color,#ef3434);animation:kde-scan 1.25s ease-in-out infinite alternate}
.kde-filter-search-overlay[data-animation="bullet"] .kde-filter-search-loader span{width:12%;clip-path:polygon(0 0,75% 0,100% 50%,75% 100%,0 100%);animation-duration:.65s}
.kde-filter-search-overlay[data-animation="pulse"] .kde-filter-search-loader span{width:100%;animation:kde-pulse .8s ease-in-out infinite alternate}
.kde-filter-search-overlay[data-animation="none"] .kde-filter-search-loader{display:none!important}
@media(prefers-reduced-motion:reduce){.kde-filter-search-loader span{animation:none!important;width:100%;opacity:.6}}
