/* Umkreissuche (EXPERIMENT, jederzeit ausbaubar — siehe RadiusSearch.php, Stichwort RADIUS) */

/* Mit Umkreis-Feld: 5 gleich breite Spalten in beiden Filterzeilen
   (Zeile 1: Titel, Stadt, Umkreis, Zeitraum + Knöpfe; Zeile 2: Kategorie, Stadtevent, V-Ort, Familie, Festival).
   Nur ab Tablet-Breite — darunter bleibt die einspaltige Darstellung aus site.css. */
@media (min-width: 769px) {
    .ek-list-filter-bar--radius .ek-list-filter-row,
    .ek-list-filter-bar--radius .ek-list-filter-row--secondary {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    /* Die Knopfzelle ist in 5 Spalten schmaler → weniger Innenabstand */
    .ek-list-filter-bar--radius .ek-list-filter-actions { gap: .5rem; }
    .ek-list-filter-bar--radius .ek-list-filter-toggle,
    .ek-list-filter-bar--radius .ek-list-filter-reset { padding: 0 .5rem; }
}

/* Karte: Mittelpunkt des Umkreises (Stadt bzw. Standort) — auffälliger Zielpunkt mit Puls + Label */
.ek-radius-center { background: none; border: 0; }
.ek-radius-center-dot,
.ek-radius-center-pulse {
    position: absolute;
    left: 50%; top: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.ek-radius-center-dot {
    width: 14px; height: 14px;
    background: #14b8a6;
    border: 3px solid #ffffff;
    box-shadow: 0 0 0 2px #0f766e, 0 3px 10px rgba(0, 0, 0, .55);
}
.ek-radius-center-dot { animation: ek-radius-blink 1.2s ease-in-out infinite; }
.ek-radius-center-pulse {
    width: 14px; height: 14px;
    background: rgba(20, 184, 166, .55);
    animation: ek-radius-pulse 1.2s ease-out infinite;
}
/* Punkt blinkt (an/aus), Ring läuft im gleichen Takt nach außen */
@keyframes ek-radius-blink {
    0%, 100% { opacity: 1; }
    50%      { opacity: .2; }
}
@keyframes ek-radius-pulse {
    0%   { transform: translate(-50%, -50%) scale(1);   opacity: .9; }
    100% { transform: translate(-50%, -50%) scale(3.2); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .ek-radius-center-dot { animation: none; }
    .ek-radius-center-pulse { animation: none; opacity: .35; transform: translate(-50%, -50%) scale(2); }
}

/* Hinweis unter dem Umkreis-Feld (Standort wird ermittelt / nicht verfügbar) */
.ek-radius-field { position: relative; }
.ek-radius-msg {
    position: absolute;
    top: calc(100% + .35rem);
    left: 0;
    right: 0;
    z-index: 5;
    padding: .45rem .7rem;
    border-radius: 8px;
    background: rgba(15, 25, 35, .96);
    border: 1px solid var(--ek-accent, #14b8a6);
    color: #fff;
    font-size: .85rem;
    line-height: 1.3;
}
