/* ══ sc-adresse.css — Adresssuche aus dem Preisrechner als gemeinsames Modul (sc-adresse.js) ══
   14.10.2026. Dunkel wie im Rechner (#addressSuggestions, rechner.css), dazu .sc-adresse--hell
   fuer helle Seiten (Verwaltung). Ladeanzeige (Kreisel, wachsender Balken, Schimmerzeilen)
   wie rechner.css .sc-suche-*, hier aber unter .sc-adresse__liste gekapselt — so stoert es
   keine Seite, die rechner.css schon laedt. Eigenstaendig: keine Tailwind-Klassen. */
.sc-adresse { position: relative; --sca-bg: #2a2a2a; --sca-rand: #3a3a3a; --sca-hover: #3a3a3a; --sca-text: #e5e7eb;
    --sca-text2: #9ca3af; --sca-akzent: #4cb3d6; --sca-schatten: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
    --sca-schimmer1: rgba(255, 255, 255, 0.05); --sca-schimmer2: rgba(255, 255, 255, 0.12); --sca-balken: rgba(255, 255, 255, 0.07); }
.sc-adresse--hell { --sca-bg: #ffffff; --sca-rand: #d9e3e7; --sca-hover: #eef6f9; --sca-text: #17262e; --sca-text2: #5d6f78;
    --sca-akzent: #1f8fb3; --sca-schatten: 0 10px 24px -6px rgba(15, 40, 50, 0.18);
    --sca-schimmer1: rgba(15, 40, 50, 0.05); --sca-schimmer2: rgba(15, 40, 50, 0.11); --sca-balken: rgba(15, 40, 50, 0.08); }
.sc-adresse__liste { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 60; max-height: 300px; overflow-y: auto;
    background: var(--sca-bg); border: 1px solid var(--sca-rand); border-radius: 0.5rem; box-shadow: var(--sca-schatten);
    color: var(--sca-text); font-size: 14px; text-align: left; }
.sc-adresse__liste[hidden] { display: none; }
.sc-adresse__gruppe { padding: 10px 16px 4px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--sca-text2); }
.sc-adresse__treffer { display: flex; align-items: flex-start; gap: 12px; padding: 11px 16px; cursor: pointer;
    border-bottom: 1px solid var(--sca-rand); transition: background-color 0.15s ease; }
.sc-adresse__treffer:hover, .sc-adresse__treffer.is-aktiv { background: var(--sca-hover); }
.sc-adresse__ico { width: 16px; height: 16px; flex: 0 0 auto; margin-top: 2px; color: var(--sca-text2); }
.sc-adresse__text { flex: 1 1 auto; min-width: 0; }
.sc-adresse__z1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-adresse__z2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; font-size: 12px; color: var(--sca-text2); }
.sc-adresse__liste.is-veraltet .sc-adresse__treffer, .sc-adresse__liste.is-veraltet .sc-adresse__gruppe { opacity: 0.45; transition: opacity 0.15s; }
.sc-adresse__frei { display: block; width: 100%; min-height: 44px; padding: 12px 16px; text-align: left; cursor: pointer; border: 0;
    border-top: 1px solid var(--sca-rand); background: transparent; color: var(--sca-text); font: inherit; }
.sc-adresse__frei:hover { background: var(--sca-hover); }
.sc-adresse__frei1 { font-size: 12px; }
.sc-adresse__frei1 span { font-weight: 600; }
.sc-adresse__frei2 { margin-top: 2px; font-size: 11px; color: var(--sca-text2); }
.sc-adresse__zustand { padding: 14px 16px; }
.sc-adresse__zt { margin: 0 0 4px; font-size: 14px; font-weight: 600; }
.sc-adresse__zb { margin: 0; font-size: 12px; color: var(--sca-text2); }
.sc-adresse__nochmal { margin-top: 10px; padding: 0; border: 0; background: none; color: var(--sca-akzent); font-size: 12px; cursor: pointer; }
.sc-adresse__nochmal:hover { text-decoration: underline; }
.sc-adresse__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Ladeanzeige wie rechner.css (13.10.2026) */
.sc-adresse__liste .sc-suche-lade { padding: 14px 16px 8px; }
.sc-adresse__liste .sc-suche-kopf { display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 500; }
.sc-adresse__liste .sc-suche-kreis { flex: 0 0 auto; width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid rgba(76, 179, 214, 0.25); border-top-color: var(--sca-akzent); animation: scAdresseDreh 0.8s linear infinite; }
@keyframes scAdresseDreh { to { transform: rotate(360deg); } }
.sc-adresse__liste .sc-suche-balken { height: 3px; margin: 10px 0; border-radius: 3px; overflow: hidden; background: var(--sca-balken); }
.sc-adresse__liste .sc-suche-balken > span { display: block; width: 6%; height: 100%; border-radius: inherit;
    background: linear-gradient(90deg, #4cb3d6, #48bf91); animation: scAdresseFuellen 7s cubic-bezier(0.12, 0.7, 0.25, 1) forwards; }
@keyframes scAdresseFuellen { from { width: 6%; } to { width: 94%; } }
.sc-adresse__liste .sc-suche-zeile { display: flex; flex-direction: column; gap: 6px; padding: 9px 0; border-top: 1px solid var(--sca-rand); }
.sc-adresse__liste .sc-suche-zeile i, .sc-adresse__liste .sc-suche-zeile b { display: block; height: 10px; border-radius: 5px;
    background: linear-gradient(90deg, var(--sca-schimmer1) 25%, var(--sca-schimmer2) 50%, var(--sca-schimmer1) 75%);
    background-size: 200% 100%; animation: scAdresseSchimmer 1.3s linear infinite; }
.sc-adresse__liste .sc-suche-zeile i { width: 62%; }
.sc-adresse__liste .sc-suche-zeile b { width: 38%; height: 8px; }
@keyframes scAdresseSchimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.sc-adresse__liste .sc-suche-weiter { display: flex; align-items: center; gap: 8px; padding: 10px 16px; font-size: 12px;
    color: var(--sca-text2); border-top: 1px solid var(--sca-rand); }
.sc-adresse__liste .sc-suche-weiter .sc-suche-kreis { width: 12px; height: 12px; }
@media (prefers-reduced-motion: reduce) {
    .sc-adresse__liste .sc-suche-kreis { animation-duration: 2.4s; }
    .sc-adresse__liste .sc-suche-zeile i, .sc-adresse__liste .sc-suche-zeile b { animation: none; }
    .sc-adresse__liste .sc-suche-balken > span { animation: none; width: 60%; }
}
/* Karte unter dem Feld (sc-karte.js) */
.sc-adresse-karte { margin-top: 10px; }
.sc-adresse-karte[hidden] { display: none; }
.sc-adresse-karte .sc-karte__flaeche { aspect-ratio: 1 / 0.62; }
