.filter-label{display:block;margin-bottom:.35rem;font-size:var(--font-size-sm);font-weight:700}
.location-search-module,.location-trigger{min-width:0;max-width:100%}
.location-search-inline{position:relative}.location-search-inline>.location-search-wrap{position:relative;margin:.35rem 0 0}.location-search-inline .location-suggestions{left:0;width:100%}.location-inline-error{min-height:1.2em;margin:.3rem 0 0;color:var(--color-danger);font-size:var(--font-size-xs)}
.location-trigger{width:100%;padding:.8rem .9rem;border:1px solid var(--color-border);border-radius:var(--input-radius);background:var(--color-surface);color:var(--color-text);text-align:left}
.location-trigger>span{display:flex;align-items:center;gap:.55rem;min-width:0}.location-trigger i{color:var(--brand-primary)}.location-trigger strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.location-trigger small{display:block;margin:.25rem 0 0 1.45rem;color:var(--color-muted)}
dialog.location-dialog{display:none;grid-template-rows:auto minmax(0,1fr) auto;width:min(38rem,calc(100% - 2rem));height:min(44rem,calc(100dvh - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 70px rgb(10 25 34 / 28%)}
dialog.location-dialog[open]{display:grid}.location-dialog::backdrop{background:rgb(10 25 34 / 68%);backdrop-filter:blur(3px)}
.location-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .85rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.location-dialog-header h2{margin:0}
.location-dialog-body{display:grid;grid-template-rows:auto auto minmax(8rem,1fr) auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.9rem 1.25rem .6rem;scrollbar-gutter:stable}
.location-search-wrap,.radius-control{margin:0 0 .8rem}.location-search-input{position:relative}.location-search-input i{position:absolute;z-index:1;left:.9rem;top:1.35rem;color:var(--color-muted)}.location-search-input input{padding-left:2.5rem}
.header-search .location-dialog .location-search-input input{display:block;width:100%;margin-top:.35rem;padding:.8rem .9rem .8rem 2.5rem;border:1px solid var(--color-border);border-radius:var(--input-radius);background:#fff;color:var(--color-text);outline:0}.header-search .location-dialog .location-search-input input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgb(8 104 154 / 12%)}
.location-suggestions{position:absolute;z-index:900;width:min(35rem,calc(100% - 3rem));max-height:13rem;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.location-suggestions button,.location-suggestions p{display:block;width:100%;margin:0;padding:.75rem .9rem;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);text-align:left}.location-suggestions button:hover{background:var(--brand-primary-soft)}
.location-status{margin:.45rem 0 0;color:var(--color-muted);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-status strong{color:var(--color-text)}
.location-current{display:inline-flex;align-items:center;justify-content:flex-start;gap:.45rem;width:auto;min-width:0;height:auto;margin:.55rem 0 0;padding:.35rem 0;border:0;border-radius:0;background:transparent;color:var(--brand-primary);font-weight:750;white-space:normal}.location-current i{display:inline-block;flex:0 0 1rem;width:1rem;height:auto;margin:0;text-align:center}.location-geolocation-status{min-height:1.2em;margin:.2rem 0 0;color:var(--color-muted);font-size:var(--font-size-xs)}
.radius-control>div{display:flex;justify-content:space-between;gap:1rem}.radius-control output{color:var(--brand-primary);font-weight:800}.radius-control input[type=range]{margin-top:.2rem;padding:.2rem 0;border:0;box-shadow:none;accent-color:var(--brand-primary)}.radius-scale{color:var(--color-muted);font-size:var(--font-size-xs)}
.location-map-wrap{position:relative;min-height:0;height:100%;margin:0}.location-map{width:100%;height:100%;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#dfe9ed}.location-map-status{position:absolute;z-index:700;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:.55rem .8rem;border-radius:var(--radius-pill);background:rgb(255 255 255 / 92%);color:var(--color-muted);font-size:var(--font-size-sm);pointer-events:none}.location-map-status[hidden]{display:none}.location-map-help{margin:.45rem 0 0;color:var(--color-muted);font-size:var(--font-size-sm)}
.location-dialog-actions{z-index:800;padding:.8rem 1.25rem max(.8rem,env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -8px 24px rgb(18 53 68 / 7%)}.location-dialog-actions .button{display:inline-flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:2.85rem;margin:0;padding:.65rem 1.15rem;border:1px solid transparent;border-radius:var(--input-radius);background:var(--brand-primary);color:#fff;font-weight:750}
@media(max-height:44rem){.location-dialog-body{grid-template-rows:auto auto minmax(7rem,1fr) auto;padding-block:.65rem}.location-search-wrap,.radius-control{margin-bottom:.6rem}}
@media(max-width:48rem){dialog.location-dialog{height:min(42rem,calc(100dvh - 1rem));max-height:calc(100dvh - 1rem)}.location-dialog-body{grid-template-rows:auto auto minmax(7.5rem,1fr) auto}}
@media(max-width:34rem){dialog.location-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.location-dialog-header{padding:.8rem 1rem}.location-dialog-body{grid-template-rows:auto auto minmax(7rem,1fr) auto;padding:.7rem 1rem .5rem;scrollbar-gutter:auto}.location-suggestions{width:calc(100% - 2rem)}.location-dialog-actions{padding:.7rem 1rem max(.7rem,env(safe-area-inset-bottom))}}
