/* Søgning — Aurora: filterbjælke med hurtig-chips + filterskuffe (alle breakpoints); resultater i fuld bredde */
.search-layout { display: grid; grid-template-columns: minmax(0, 1fr); }
.search-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.search-title { margin: 0; font-size: var(--fs-5); display: flex; align-items: baseline; gap: var(--sp-2); flex-wrap: wrap; }
.search-title .result-count { font-family: var(--f-body); font-weight: 600; letter-spacing: 0; font-variant-numeric: tabular-nums; font-size: var(--fs-1); }
.search-tools { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; }
.search-tools label.small { display: inline-flex; align-items: center; gap: 6px; color: var(--c-text-2); }
.view-switch { display: inline-flex; gap: 2px; background: var(--c-surface-2); border-radius: var(--radius-pill); padding: 3px; }
.view-switch .btn { min-height: 34px; padding: 0 .7rem; border: 0; background: transparent; box-shadow: none; color: var(--c-text-2); }
.view-switch .btn:hover { background: var(--c-surface); color: var(--c-text); }
.view-switch .btn.is-active { background: var(--g-signature); color: #fff; }
/* Filterbjælke */
.filter-bar { margin-bottom: var(--sp-5); }
.filter-chips { padding: 4px 2px 8px; }
.filter-chips .chip { min-height: 40px; padding: 8px 16px; font-size: var(--fs-1); font-weight: 600; }
.chip-filters { background: var(--c-text); color: var(--c-bg); border-color: var(--c-text); font: inherit; font-weight: 700; }
.chip-filters:hover { background: var(--c-primary-2); border-color: var(--c-primary-2); color: #fff; }
.chip-filters .icon { color: inherit; }
.chip-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--radius-pill); background: var(--g-signature); color: #fff; font-size: 11px; font-weight: 800; }
.chip-reset { color: var(--c-text-2); border-style: dashed; }
.chip .live-dot { margin-right: 2px; }
/* Filterskuffe */
.filter-backdrop { position: fixed; inset: 0; z-index: 890; background: var(--c-overlay); opacity: 0; pointer-events: none; transition: opacity .2s var(--ease); }
body.filters-open .filter-backdrop { opacity: 1; pointer-events: auto; }
.filter-backdrop[hidden] { display: block; }
.filter-drawer { position: fixed; inset: 0 0 0 auto; width: min(94vw, 440px); z-index: 900; background: var(--c-bg); transform: translateX(104%); transition: transform .24s var(--ease); display: flex; flex-direction: column; border-left: 1px solid var(--c-border); box-shadow: none; overscroll-behavior: contain; }
.filter-drawer.is-open { transform: none; box-shadow: var(--shadow-lift); }
body.filters-open { overflow: hidden; }
.filter-form { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.filter-head { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--c-border); }
.filter-head strong { font-size: var(--fs-3); font-weight: 800; letter-spacing: -.01em; display: inline-flex; align-items: center; gap: var(--sp-2); }
.filter-body { flex: 1; overflow-y: auto; padding: var(--sp-4) var(--sp-5); overscroll-behavior: contain; }
.filter-foot { display: flex; gap: var(--sp-2); justify-content: flex-end; padding: var(--sp-3) var(--sp-5) calc(var(--sp-3) + env(safe-area-inset-bottom)); border-top: 1px solid var(--c-border); background: var(--c-surface); }
.filter-foot .btn-primary { flex: 1; }
.filter-group { border: 0; padding: 0; margin: 0 0 var(--sp-5); min-width: 0; }
.filter-group legend { font-weight: 800; font-size: var(--fs-1); padding: 0; margin-bottom: var(--sp-2); display: flex; align-items: baseline; gap: var(--sp-2); width: 100%; }
.filter-group .checkbox { display: inline-flex; align-items: center; gap: 6px; margin: 0 6px 6px 0; padding: 7px 14px; border-radius: var(--radius-pill); border: 1px solid var(--c-border); background: var(--c-surface); font-size: var(--fs-0); font-weight: 600; position: relative; cursor: pointer; min-height: 38px; transition: background var(--dur) var(--ease); }
.filter-group .checkbox:hover { background: var(--c-surface-2); }
.filter-group .checkbox input { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
.filter-group .checkbox:has(input:checked) { background: linear-gradient(var(--c-surface), var(--c-surface)) padding-box, var(--g-signature) border-box; border: 1.5px solid transparent; color: var(--c-text); }
.filter-group .checkbox:has(input:checked)::before { content: "✓"; color: var(--c-primary); font-weight: 800; }
.filter-group .checkbox:has(input:focus-visible) { box-shadow: var(--focus); }
.filter-group select, .filter-group .input { min-height: 44px; }
.filter-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.filter-range { display: block; margin-top: var(--sp-2); }
.filter-group input[type="range"] { width: 100%; accent-color: var(--c-primary); margin-top: 4px; }
.filter-reset { font-weight: 600; color: var(--c-primary-2); margin-left: auto; }
.filter-more { border-top: 1px solid var(--c-border); padding-top: var(--sp-3); }
.filter-more summary { list-style: none; cursor: pointer; font-weight: 800; display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-4); }
.filter-more summary::-webkit-details-marker { display: none; }
.filter-more summary .icon { color: var(--c-primary); transition: transform var(--dur) var(--ease); }
.filter-more[open] summary .icon { transform: rotate(45deg); }
.filter-drawer .form-field .input[type="search"] { border-radius: var(--radius-pill); }
html:not(.js) .filter-drawer { position: static; transform: none; width: auto; border: 1px solid var(--c-border); border-radius: var(--radius-lg); margin-bottom: var(--sp-5); }
html:not(.js) .filter-close, html:not(.js) .filter-backdrop { display: none; }
.empty-state { text-align: center; padding: var(--sp-7) var(--sp-4); }
.breadcrumb { margin-bottom: var(--sp-3); }
/* Landingssider */
.landing-intro { margin-bottom: var(--sp-4); font-size: var(--fs-2); color: var(--c-text-2); max-width: 70ch; }
.landing-intro p { margin: 0; }
.landing-districts { margin-bottom: var(--sp-4); }
.landing-districts .badge { background: var(--c-surface); border: 1px solid var(--c-border); color: var(--c-text); font-weight: 600; padding: 5px 12px; }
.landing-districts .badge:hover { background: var(--c-surface-2); }
.landing-body, .landing-faq { margin-top: var(--sp-7); }
.landing-body.card { background: var(--c-surface-2); border: 0; border-radius: var(--radius-xl); }
.landing-body .card-body, .landing-faq .card-body { padding: var(--sp-6); }
@media (max-width: 640px) { .landing-body .card-body, .landing-faq .card-body { padding: var(--sp-4); } }
.landing-body .prose, .landing-body.prose { max-width: 72ch; }
.landing-body h2:first-child { margin-top: 0; }
.landing-cities { margin-top: var(--sp-7); }
.landing-cities .badge { background: var(--c-surface); border: 1px solid var(--c-border); color: var(--c-text-2); }
.agent-modal { position: relative; } .agent-modal summary { list-style: none; } .agent-modal summary::-webkit-details-marker { display: none; }
.agent-modal-body { position: absolute; right: 0; top: 44px; width: min(92vw, 340px); z-index: 70; box-shadow: var(--shadow-lift); border-radius: var(--radius-xl); }

/* Nul træffere: hvad spærrer? Forslagene står som chips man kan klikke sig videre på. */
.rescue { margin: var(--sp-4) auto 0; max-width: 640px; }
.rescue-head { margin: 0 0 var(--sp-2); font-size: var(--fs-0); text-transform: uppercase; letter-spacing: .08em; color: var(--c-text-3); }
.rescue-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; }
.rescue-list .chip { display: inline-flex; align-items: center; gap: 6px; }
.rescue-count { color: var(--c-text-3); font-weight: 400; }
.empty-state .btn { margin-top: var(--sp-5); }
