﻿.filter-search{box-sizing:border-box;display:block;margin-bottom:.5rem;padding:.5rem;width:100%}.checkbox-row{align-items:center;display:flex;gap:10px;padding:5px 0}.checkbox-row [hidden]{display:none}.checkbox-row input[type=checkbox]{appearance:none;background:var(--swas-surface-card);border:1px solid var(--swas-border-strong);border-radius:6px;cursor:pointer;flex:0 0 auto;height:18px;margin:0;width:18px}.checkbox-row input[type=checkbox]:checked{background:var(--swas-primary);border-color:var(--swas-primary);box-shadow:inset 0 0 0 3px var(--swas-surface-card)}.checkbox-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--swas-primary) 35%,transparent);outline:none}.checkbox-row label{color:var(--swas-text-body);cursor:pointer;font-size:14px}.range-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.range-row output{color:var(--swas-text-muted);flex:0 0 auto;font-size:.875rem;white-space:nowrap}.range-slider{flex:1 1 auto;height:1.5rem;min-width:6rem;position:relative;--min-pct:0%;--max-pct:100%}.range-slider:after,.range-slider:before{content:"";height:2px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.range-slider:before{background:#ccc;left:0;right:0}.range-slider:after{background:currentColor;left:var(--min-pct);right:calc(100% - var(--max-pct))}.range-slider input[type=range]{-webkit-appearance:none;appearance:none;background:none;inset:0;margin:0;pointer-events:none;position:absolute;width:100%}.range-slider input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;background:transparent}.range-slider input[type=range]::-moz-range-track{background:transparent}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:currentColor;border-radius:50%;cursor:pointer;height:1rem;pointer-events:auto;width:1rem}.range-slider input[type=range]::-moz-range-thumb{background:currentColor;border:none;border-radius:50%;cursor:pointer;height:1rem;pointer-events:auto;width:1rem}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.active-filters[hidden],.filter-sheet-header,.filter-toggle{display:none}.filter-group{border:none;margin:0 0 1rem;padding:0}.filter-group>summary{cursor:pointer;padding:.25rem 0}@media(min-width:768px){dialog.animal-filter-sheet{background:none;border:none;color:inherit;display:block;margin:0;max-height:none;max-width:none;padding:0;position:static}}@media(max-width:767px){.filter-toggle{display:inline-block}dialog.animal-filter-sheet{border:none;border-radius:1rem 1rem 0 0;inset-inline:0;bottom:0;box-sizing:border-box;margin:0;max-height:80vh;max-width:none;overflow-y:auto;padding:1rem;position:fixed;top:auto;width:100%}dialog.animal-filter-sheet::backdrop{background:rgba(0,0,0,.5)}.filter-sheet-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.filter-close{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1}}.filter-group{border-top:1px solid var(--swas-border-subtle);margin:0;padding:14px 0 12px}.filter-group:first-of-type{border-top:none}.filter-group>summary{align-items:center;color:var(--swas-text-heading);display:flex;font-family:var(--swas-font-display);font-size:15px;font-weight:600;justify-content:space-between;list-style:none}.filter-group>summary::-webkit-details-marker,.filter-group>summary::marker{display:none}.filter-group>summary:after{color:var(--swas-primary);content:"+";font-size:18px;font-weight:600}.filter-group[open]>summary:after{content:"–"}.filter-search{background:var(--swas-surface-card);border:1px solid var(--swas-border-subtle);border-radius:var(--swas-radius-md);font:inherit;font-size:14px;margin:6px 0 8px;padding:8px 12px}.filter-search:focus{border-color:var(--swas-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--swas-primary) 20%,transparent);outline:none}.range-slider{color:var(--swas-primary)}.range-slider input[type=range]::-webkit-slider-thumb{border:2px solid var(--swas-on-primary);box-shadow:0 1px 3px rgba(27,23,20,.25)}.range-slider input[type=range]::-moz-range-thumb{border:2px solid var(--swas-on-primary);box-shadow:0 1px 3px rgba(27,23,20,.25)}.reset-btn{background:transparent;border:1px solid var(--swas-border-strong);border-radius:var(--swas-radius-pill);color:var(--swas-text-body);cursor:pointer;font:inherit;font-size:14px;margin-bottom:8px;padding:10px 16px;width:100%}.reset-btn:hover{background:var(--swas-surface-sand)}.filter-chip{align-items:center;background:var(--swas-surface-card);border:1px solid var(--swas-border-subtle);border-radius:var(--swas-radius-pill);box-shadow:var(--swas-shadow-sm);color:var(--swas-text-body);cursor:pointer;display:inline-flex;font-size:.875rem;padding:.25rem .5rem}.filter-chip:hover{background:var(--swas-danger-bg);border-color:var(--swas-danger)}.filter-chip:after{content:" ×";margin-left:4px}@media(min-width:768px){dialog.animal-filter-sheet{background:var(--swas-on-primary);border:1px solid var(--swas-border-subtle);border-radius:var(--swas-radius-xl);box-shadow:0 2px 10px rgba(27,23,20,.06);box-sizing:border-box;color:var(--swas-text-body);max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:20px 22px;position:sticky;scrollbar-width:thin;top:24px;width:100%}}@media(max-width:767px){dialog.animal-filter-sheet{animation:sheet-up .26s ease-out;background:var(--swas-on-primary);border-radius:var(--swas-radius-2xl) var(--swas-radius-2xl) 0 0;color:var(--swas-text-body);padding:20px 20px 28px}.filter-sheet-header{color:var(--swas-text-heading);font-family:var(--swas-font-display);font-size:20px;font-weight:700}.filter-close{color:var(--swas-text-muted)}.filter-toggle{align-items:center;background:var(--swas-primary);border:none;border-radius:var(--swas-radius-pill);bottom:14px;box-shadow:0 10px 26px rgba(27,23,20,.22);color:var(--swas-on-primary);cursor:pointer;display:flex;font-family:var(--swas-font-display);font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-top:20px;padding:16px 24px;position:sticky;width:100%;z-index:5}}@keyframes swas-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}