/* Scoped to WooCommerce catalog archives. */
.sw-catalog { --sw-border:rgba(255,255,255,.16); --sw-muted:#c5cdd8; --sw-accent:#2e91ff; }
.sw-catalog #secondary .sidebar-inner-wrap { padding:0; }
.sw-filters-panel { color:#fff; border:0; background:transparent; font-family:inherit; }
.sw-filter-heading { padding:0 0 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--sw-border); }
.sw-filter-eyebrow { display:block; font-size:10px; font-weight:600; letter-spacing:.1em; color:var(--sw-muted); }
.sw-filter-heading h2 { color:#fff; font-size:25px; line-height:1.3; margin:4px 0 0; }
.sw-filter-form { margin:0; }
.sw-filter-scroll { padding:0; }
.sw-filter-section { margin:0; padding:18px 0 20px; border:0; border-bottom:1px solid var(--sw-border); min-width:0; }
.sw-filter-section legend { float:left; width:100%; padding:0; margin:0 0 12px; font-size:17px; line-height:1.4; font-weight:700; color:#fff; }
.sw-filter-section legend + * { clear:both; }
.sw-choice { display:flex; gap:10px; align-items:center; min-height:40px; font-size:15px; cursor:pointer; color:#f1f5f9; }
.sw-filters-panel input[type=radio] { appearance:auto; width:17px; height:17px; margin:0; flex:0 0 17px; accent-color:var(--sw-accent); cursor:pointer; }
.sw-stock-dot { width:7px; height:7px; border-radius:50%; background:#8895a8; margin-left:auto; }
.sw-stock-dot.instock { background:#6cdaa4; }
.sw-category-all { display:flex; align-items:center; gap:10px; min-height:42px; margin-bottom:8px; font-size:15px; cursor:pointer; }
.sw-category-options { border:0; margin:0; padding:0; min-width:0; }
.sw-category-section > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; font-size:17px; line-height:1.4; font-weight:700; color:#fff; cursor:pointer; list-style:none; }
.sw-category-section > summary::-webkit-details-marker { display:none; }
.sw-category-section[open] > summary { margin-bottom:12px; }
.sw-category-section[open] > summary svg { transform:rotate(180deg); }
.sw-category-list { display:grid; gap:4px; }
.sw-category-choice { position:relative; display:flex; align-items:center; gap:9px; min-height:54px; padding:5px 6px; border:1px solid transparent; border-radius:7px; cursor:pointer; transition:background .15s,border-color .15s; }
.sw-category-choice input[type=radio] { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.sw-category-choice:has(input:focus-visible) { outline:2px solid #91c8ff; outline-offset:2px; }
.sw-category-choice:hover { background:rgba(255,255,255,.055); }
.sw-category-choice:has(input:checked) { background:rgba(46,145,255,.13); border-color:rgba(86,167,255,.55); }
.sw-filters-panel img.sw-category-cover,.sw-cover-placeholder { width:39px; height:39px; flex:0 0 39px; object-fit:cover; border-radius:3px; background:#425066; }
.sw-cover-placeholder { display:grid; place-items:center; }
.sw-cover-placeholder svg { width:27px; height:27px; }
.sw-category-name { font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
.sw-category-count { margin-left:auto; color:var(--sw-muted); font-size:11px; padding:1px 5px; background:rgba(255,255,255,.06); border-radius:4px; }
.sw-filter-actions { display:grid; gap:8px; padding:18px 0; }
.sw-filter-actions button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:46px; padding:10px 16px; background:var(--sw-accent); color:#fff; border:0; border-radius:6px; font-weight:700; font-size:15px; cursor:pointer; }
.sw-filter-actions button:hover { background:#167be2; }
.sw-filters-ready .sw-filter-actions button[type=submit] { display:none; }
.sw-filter-actions a { justify-self:center; padding:4px; color:var(--sw-muted); font-size:13px; text-decoration:underline; }
.sw-filter-close { display:none; }
.sw-filter-toolbar { display:none; }
.sw-active-filters { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 18px; }
.sw-active-filters a { display:inline-flex; gap:12px; align-items:center; padding:6px 10px; border:1px solid var(--sw-border); border-radius:5px; font-size:13px; line-height:1.5; color:#fff; }
.sw-active-filters a:hover { border-color:#72b7ff; }
.sw-active-filters .sw-clear-all { color:var(--sw-muted); border-color:transparent; text-decoration:underline; }
.sw-filter-overlay { display:none; }
.sw-filters-panel :focus-visible,.sw-filter-open:focus-visible { outline:2px solid #91c8ff; outline-offset:3px; }
@media(min-width:1025px) {
 .sw-catalog.has-sidebar .content-container { grid-template-columns:minmax(250px,280px) minmax(0,1fr); column-gap:36px; }
 .sw-catalog .kadence-woo-offcanvas-filter-area { display:none!important; }
}
@media(max-width:1024px) {
 .sw-filter-toolbar { display:flex; align-items:center; gap:14px; margin:0 0 14px; }
 .sw-filter-open { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 16px; min-height:46px; border:1px solid rgba(255,255,255,.65); border-radius:6px; background:transparent; color:#fff; font-size:15px; font-weight:700; cursor:pointer; }
 .sw-filter-badge { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 4px; background:#2e91ff; border-radius:12px; color:#fff; font-size:11px; }
 .sw-filter-hint { color:var(--sw-muted); font-size:13px; }
 .sw-filter-close { display:grid; place-items:center; width:42px; height:42px; padding:0; background:transparent; border:1px solid var(--sw-border); border-radius:6px; color:#fff; cursor:pointer; }
 .sw-filters-ready .sw-catalog #secondary { position:fixed; z-index:100002; top:0; left:0; bottom:0; width:min(360px,90vw); max-width:none; margin:0; padding:0; background:#283242; overflow-y:auto; overscroll-behavior:contain; transform:translateX(-105%); visibility:hidden; transition:transform .25s ease,visibility .25s; }
 .sw-filters-ready .sw-catalog #secondary .sidebar-inner-wrap { min-height:100%; padding:0; }
 .sw-filters-ready .sw-filter-heading { padding:22px 20px 18px; }
 .sw-filters-ready .sw-filter-scroll { padding:0 20px; }
 .sw-filters-ready .sw-filter-actions { padding:18px 20px max(16px,env(safe-area-inset-bottom)); }
 .sw-filters-open .sw-catalog #secondary { transform:translateX(0); visibility:visible; }
 .sw-filters-open .sw-filter-overlay { display:block; position:fixed; inset:0; background:rgba(7,14,24,.65); z-index:100001; touch-action:none; }
 .sw-filters-open body { overflow:hidden; }
 .sw-catalog .woocommerce-ordering { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .sw-filters-ready .sw-catalog #secondary { transition:none; } }
