.municipality-field { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:4px; width:100%; min-width:0; }
.municipality-field input { flex:1 1 130px; min-width:80px; width:auto; }
.municipality-chips { display:contents; }
.municipality-field .municipality-chip { display:inline-flex; align-items:center; min-width:0; min-height:34px; max-width:100%; margin:3px; padding:5px 10px; border:1px solid #1976d2; border-radius:20px; background:#1976d2; color:white; font-family:inherit; font-size:.82rem; font-weight:600; line-height:1.3; box-shadow:none; cursor:pointer; overflow-wrap:anywhere; }
.municipality-chip:focus-visible, .municipality-options [aria-selected="true"] { outline:3px solid #0c3b70; outline-offset:2px; }
.municipality-options { position:absolute; top:100%; left:0; right:0; z-index:80; max-height:230px; overflow-y:auto; padding:5px; background:white; color:#173550; border:1px solid #cbd5e1; border-radius:12px; box-shadow:0 12px 28px #16375526; text-align:left; }
.municipality-options[hidden] { display:none; }
.municipality-options [role="option"] { display:block; padding:10px 12px; border-radius:7px; font-size:.9rem; cursor:pointer; }
.municipality-options [role="option"]:hover, .municipality-options [aria-selected="true"] { background:#e5f2ff; }
.municipality-hint { flex-basis:100%; font-size:.8rem; color:#52647a; }
.municipality-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.search-form { position:relative; }
.search-form .municipality-visitor { flex:1; width:auto; }
.search-field:has(.municipality-chip) > svg { display:none; }
.search-form .municipality-visitor input[type="search"] { flex:1 1 140px; width:0; min-width:100px; padding-left:16px; }
.search-form:has(.municipality-chip) { border-radius:26px; }
.directory-results:focus { outline:2px solid #1976d2; outline-offset:-2px; }
@media(max-width:480px) {
  .search-form .municipality-visitor input[type="search"] { flex-basis:100%; min-height:42px; font-size:16px; }
  .municipality-field .municipality-chip { font-size:.75rem; }
  .search-form button[type="submit"] { min-width:72px; padding-inline:12px; }
  .municipality-options { min-width:200px; }
}

.search-form label.skip-link { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

.search-field:not(:has(.municipality-chip)) .municipality-visitor input[type="search"] { padding-left:44px; }
