/* Der alte GeoDirectory-Textarea-Wert bleibt das maßgebliche Speicherfeld. */
textarea.hbplz-original { display: none !important; }
.hbplz-select { box-sizing:border-box; max-width:740px; margin:6px 0 22px; color:inherit; font-family:inherit; }
.hbplz-select * { box-sizing:border-box; }
.hbplz-help { color:#526172; margin:0 0 12px; line-height:1.45; font-size:14px; }
.hbplz-label { display:block; font-weight:650; margin-bottom:7px; font-size:14px; }
.hbplz-entry { display:flex; gap:8px; align-items:stretch; }
.hbplz-input { flex:1; min-width:0; border:1px solid #c5cdd5; border-radius:7px; background:#fff; padding:10px 12px; height:44px; font:inherit; }
.hbplz-input[aria-invalid="true"] { border-color:#a52323; }
button.hbplz-add { border:0; border-radius:7px; background:#173e5b; color:white; font:inherit; font-weight:600; padding:10px 15px; cursor:pointer; }
button.hbplz-add:hover,button.hbplz-add:focus-visible { background:#0f3047; color:white; }
.hbplz-tip { font-size:12px; color:#617083; margin:7px 0 12px; }
.hbplz-selected-label { font-size:14px; font-weight:650; margin-bottom:8px; }
.hbplz-chips { display:flex; flex-wrap:wrap; gap:8px; max-height:250px; overflow:auto; }
.hbplz-chip { display:inline-flex; align-items:center; gap:7px; background:#eff4f7; border:1px solid #c8d8e2; color:#1b364a; padding:5px 7px 5px 11px; border-radius:18px; font-size:14px; font-variant-numeric:tabular-nums; }
button.hbplz-remove { border:0; padding:0; margin:0; width:21px; height:21px; min-height:21px; line-height:21px; border-radius:50%; background:#dce6ec; color:#243d4d; cursor:pointer; font-size:19px; font-weight:normal; }
button.hbplz-remove:hover { background:#c9d5dd; }
.hbplz-error { margin:9px 0 0; color:#9a2323; font-size:13px; }
.hbplz-error[hidden], .hbplz-clear[hidden] { display:none!important; }
button.hbplz-clear { background:none; color:#405c70; border:0; font-size:13px; padding:9px 0 0; text-decoration:underline; cursor:pointer; }
@media(max-width:480px) { .hbplz-entry{flex-direction:column} button.hbplz-add{min-height:44px} }

/* PLZ-Suche nach Stadt und Ort für angemeldete Anbieter. */
.hbplz-lookup { margin:18px 0 20px; padding:14px; background:#f5f8fa; border:1px solid #d7e1e8; border-radius:9px; }
.hbplz-lookup .hbplz-tip { margin:0 0 9px; }
button.hbplz-lookup-btn { border:0; border-radius:7px; background:#173e5b; color:white; font:inherit; font-weight:600; padding:10px 15px; cursor:pointer; }
button.hbplz-lookup-btn:disabled { opacity:.6; cursor:wait; }
.hbplz-status { min-height:14px; padding-top:8px; }
.hbplz-results { list-style:none; margin:8px 0; padding:0; max-height:280px; overflow:auto; background:#fff; border:1px solid #dae2e8; border-radius:7px; }
.hbplz-results:empty { display:none; }
.hbplz-result { margin:0; padding:0; border-bottom:1px solid #eef0f4; }
.hbplz-result:last-child { border-bottom:0; }
button.hbplz-result-btn { display:block; width:100%; padding:9px 11px; border:0; border-radius:0; background:white; text-align:left; font:inherit; font-size:13px; color:#183e55; cursor:pointer; }
button.hbplz-result-btn:hover, button.hbplz-result-btn:focus-visible { background:#edf4f9; }
button.hbplz-result-btn:disabled { color:#71808c; cursor:default; }
.hbplz-lookup-actions { display:flex; gap:10px; flex-wrap:wrap; }
.hbplz-lookup-actions button { background:transparent; border:1px solid #b8cbd7; color:#23465d; font:inherit; font-size:12px; border-radius:6px; padding:7px 9px; cursor:pointer; }
.hbplz-lookup-actions button[hidden] { display:none!important; }
.hbplz-attribution { font-size:11px; color:#576a7b; line-height:1.45; margin:10px 0 0; }
.hbplz-attribution a { color:inherit; text-decoration:underline; }

/* Version 0.4: Stadtteilnamen in ausgewählten Chips */
.hbplz-chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
