.event-search-panel { scroll-margin-top: 24px; }
.event-search-form { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0; }
.event-search-form label { display:flex;flex-direction:column;gap:6px;font-weight:600;min-width:0; }
.event-search-form .event-search-wide { grid-column:1/-1; }
.event-search-form :is(input,select) { box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #bccbdf;border-radius:10px;padding:10px;background:#fff;color:#172b46;font:inherit;font-weight:400; }
.event-search-buttons { display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px; }
.event-search-form .event-search-buttons { grid-column:1/-1; }
.event-search-buttons button { cursor:pointer;font:inherit;background:#edf3fa;border:1px solid #c6d4e7;border-radius:10px;padding:11px 16px;color:#153b67;font-weight:600; }
.event-search-results { display:grid;gap:14px; }
.event-search-result { border:1px solid #dce4ef;border-radius:14px;padding:18px;overflow-wrap:anywhere; }
.event-search-result h3 { margin:10px 0; }
.event-search-result time { font-weight:600;color:#254f78; }
.event-category-badge { display:inline-block;border-radius:14px;background:#edf3fa;padding:3px 10px;margin:4px 8px;font-size:.85rem; }
.event-search-result summary { cursor:pointer;padding:8px 0;text-decoration:underline; }
.event-search-panel :is(input,select,button,a,summary):focus-visible { outline:3px solid #2973b6;outline-offset:3px; }
@media(max-width:650px) { .event-search-form { grid-template-columns:1fr; }.event-search-result { padding:14px; } }

/* Kalender + Veranstaltungssuche: Desktop nebeneinander, mobil untereinander. */
.events-calendar-search-layout {
    display:grid;
    grid-template-columns:minmax(0,2.35fr) minmax(300px,.85fr);
    gap:24px;
    align-items:start;
}
.events-calendar-search-layout > * { min-width:0; }
.events-calendar-search-layout .single-panel { max-width:none; }
.events-search-side .event-search-panel { margin:0; }
.events-search-side .event-search-form { grid-template-columns:1fr; }
.events-search-side .event-search-form .event-search-wide,
.events-search-side .event-search-form .event-search-buttons { grid-column:auto; }
.events-search-side .event-search-buttons { align-items:stretch; }
.events-search-side .event-search-buttons .btn-link,
.events-search-side .event-search-buttons button { width:100%; box-sizing:border-box; text-align:center; justify-content:center; }

@media(max-width:1100px) {
    .events-calendar-search-layout { grid-template-columns:1fr; }
    .events-search-side { order:2; }
}
