.lana-filters { margin:0 0 24px; }
.lana-filters__drawer { padding:18px; border:1px solid #d9e0e8; border-radius:12px; background:#fff; }
.lana-filters__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.lana-filters__heading h2 { margin:0; font-size:1.1rem; }
.lana-filters__group { margin:0 0 14px; padding:0; border:0; }
.lana-filters__group legend { margin-bottom:7px; font-weight:600; }
.lana-filters__options { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:7px 14px; }
.lana-filters__option { display:flex; align-items:center; gap:7px; min-width:0; cursor:pointer; }
.lana-filters__option input:focus-visible + .lana-filters__option-label, .lana-filters__option:focus-within { outline:2px solid #1d4ed8; outline-offset:2px; border-radius:5px; }
.lana-filters__option-label { display:inline-flex; align-items:center; gap:7px; overflow-wrap:anywhere; }
.lana-filters__option--buttons .lana-filters__option-label, .lana-filters__option--chips .lana-filters__option-label, .lana-filters__option--swatches .lana-filters__option-label { min-height:32px; padding:4px 9px; border:1px solid #cbd5e1; border-radius:999px; }
.lana-filters__option--buttons input:checked + .lana-filters__option-label, .lana-filters__option--chips input:checked + .lana-filters__option-label, .lana-filters__option--swatches input:checked + .lana-filters__option-label { border-color:#1d4ed8; background:#eff6ff; }
.lana-filters__option.is-disabled { opacity:.55; cursor:not-allowed; }
.lana-filters__count { color:#64748b; font-size:.85em; }
.lana-filters__swatch { width:18px; height:18px; flex:0 0 18px; border:1px solid rgba(15,23,42,.2); border-radius:50%; background-position:center; background-size:cover; }
.lana-filters__swatch--text { background:linear-gradient(135deg,#e2e8f0 50%,#fff 50%); }
.lana-filters__range { display:flex; flex-wrap:wrap; gap:8px; }
.lana-filters__range input { max-width:150px; }
.lana-filters__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.lana-filters__active { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0 0 16px; }
.lana-filters__active-item, .lana-filters__reset { display:inline-flex; align-items:center; min-height:30px; padding:3px 9px; border-radius:999px; background:#eef2ff; color:#1d4ed8; text-decoration:none; }
.lana-filters__reset { background:transparent; color:inherit; text-decoration:underline; }
.lana-filters__summary { margin:0 0 12px; }
.lana-filters__mobile-button, .lana-filters__close { display:none; }
.lana-filters__backdrop { display:none; }
.lana-filters.is-loading { opacity:.65; pointer-events:none; }
.lana-filters__diagnostic { padding:10px 12px; border-left:3px solid #b45309; background:#fffbeb; color:#78350f; }
body.lana-filters-lock { overflow:hidden; }
@media (max-width:782px) {
	.lana-filters__mobile-button { display:inline-flex; align-items:center; min-height:38px; margin:0 0 12px; }
	.lana-filters__backdrop.is-open { display:block; position:fixed; z-index:99990; inset:0; background:rgba(15,23,42,.48); }
	.lana-filters__drawer { position:fixed; z-index:99991; inset:0 auto 0 0; width:min(92vw,420px); max-height:100dvh; overflow:auto; margin:0; border:0; border-radius:0; box-shadow:8px 0 24px rgba(15,23,42,.22); transform:translateX(-105%); transition:transform .2s ease; }
	.lana-filters__drawer.is-open { transform:translateX(0); }
	.lana-filters__close { display:inline-flex; align-items:center; justify-content:center; float:right; width:36px; height:36px; margin:-6px -6px 6px 12px; border:1px solid #cbd5e1; border-radius:50%; background:#fff; font-size:24px; line-height:1; }
}
