form.filters.compact-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; gap:12px; align-items:start; }
.compact-filters > :is(.field,button) { grid-column:auto; width:100%; min-width:0; height:48px; min-height:48px; padding-block:0; }
.compact-filters .find-button { font-size:15px; }
.filter-shell { grid-column:1/-1; min-width:0; }
.filter-options { min-width:0; }
.filter-options > summary { display:flex; align-items:center; gap:12px; width:fit-content; max-width:100%; min-height:44px; cursor:pointer; list-style:none; padding:8px 14px; border:2px solid #f1ece4; border-radius:9px; background:transparent; font-size:14px; font-weight:600; }
.filter-options > summary::-webkit-details-marker { display:none; }
.filter-options > summary::after { content:""; flex:none; width:8px; height:8px; border-right:2px solid var(--ink); border-bottom:2px solid var(--ink); transform:rotate(45deg); margin:0 2px 4px 2px; }
.filter-options[open] > summary::after { transform:rotate(225deg); margin-top:5px; margin-bottom:0; }
.filter-options > summary:hover { border-color:#d8c9b9; }
.filter-options > summary:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.filter-label { white-space:nowrap; }
.filter-summary { color:var(--muted); font-weight:400; overflow-wrap:anywhere; }
@media(min-width:701px) {
 .filter-options > summary { width:100%; min-height:48px; }
 .filter-options > summary::after { margin-left:auto; }
}
.filter-shell:has(.filter-options[open]) { padding:0 14px 12px; border:2px solid #f1ece4; border-radius:9px; }
.filter-shell:has(.filter-options[open]) .filter-options > summary { width:calc(100% + 28px); max-width:none; margin-inline:-14px; border-color:transparent; background:transparent; }
.filter-shell:has(.filter-options[open]) .filter-options > summary:hover { border-color:transparent; }
.filter-options-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding-top:12px; }
.compact-filters #custom-dates { grid-column:1/-1; grid-row:2; flex-wrap:wrap; }
.radius-help { margin:8px 0 0; font-size:13px; color:var(--muted); line-height:1.4; }
.radius-help a { text-decoration:underline; }
.radius-status,.place-choices { grid-column:1/-1; font-size:13px; }
.place-choices { margin:0; padding:12px; border:1px solid var(--line); border-radius:10px; min-width:0; }
.place-choices legend { font-weight:600; }
.place-choice { display:block; text-align:left; width:100%; background:var(--paper); color:var(--ink); padding:12px; border-radius:6px; font-size:14px; overflow-wrap:anywhere; }
.place-choice:hover { background:var(--peach); }
.radius-status { overflow-wrap:anywhere; color:var(--muted); }
@media(max-width:700px) {
 form.filters.compact-filters { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
 .compact-filters > .text-search-field { grid-column:1/-1; }
 .compact-filters .find-button { padding-inline:14px; }
 .compact-filters .find-button .icon { display:none; }
 .filter-options-grid { grid-template-columns:minmax(0,1fr); }
 .compact-filters #custom-dates { grid-row:auto; }
 .filter-options > summary { width:100%; gap:8px; }
 .filter-summary { font-size:12px; }
 .map-page .map-filter-section { max-height:55dvh; overflow:auto; }
}

.filter-options-grid .field { padding-inline:12px; gap:8px; }
.filter-options-grid .field select { font-size:14px; min-width:0; }
.radius-icon svg { display:block; width:100%; height:100%; }

.use-location { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; padding:0; color:var(--ink); background:var(--peach); cursor:pointer; }
.use-location[hidden],.device-location-status[hidden] { display:none; }
.use-location:disabled { opacity:.55; cursor:wait; }
.compact-filters .location-field input { min-width:0; }
.device-location-status { grid-column:1/-1; margin:0; font-size:13px; color:var(--muted); }
