/* Oeffentliche Veranstaltungsseite - ich-liebe-erfurt.de
   Mobile-first, keine externen Ressourcen. */
:root{--text:#1b1f24;--leise:#5b636d;--flaeche:#fff;--hg:#f4f6f8;--rahmen:#dde2e8;
--akzent:#b3261e;--akzent-dunkel:#8c1b15;--radius:12px;
--schrift:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--schrift);font-size:16px;line-height:1.55;color:var(--text);
background:var(--hg);overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:var(--akzent-dunkel)}
.huelle{width:100%;max-width:1140px;margin:0 auto;padding:0 16px}
/* Allgemeiner Seitenkopf - leichter Nachbau des Website-Headers */
.hauptkopf{background:var(--flaeche);border-bottom:1px solid var(--rahmen)}
.kopfzeile{display:flex;align-items:center;justify-content:space-between;gap:16px;
min-height:66px;position:relative}
.logo{display:flex;align-items:center}
.logo img{width:auto;height:43px}
.menue-knopf{display:none;font:inherit;font-weight:700;min-height:44px;padding:8px 16px;
background:#fff;border:2px solid var(--rahmen);border-radius:8px;cursor:pointer}
.hauptmenue-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
gap:2px 18px;align-items:center}
.hauptmenue-liste a{display:block;padding:10px 0;color:var(--text);text-decoration:none;
font-weight:600;font-size:15px}
.hauptmenue-liste a:hover{color:var(--akzent-dunkel)}
.hat-kinder{position:relative}
.hat-kinder>a::after{content:" \25BE";font-size:11px;color:var(--leise)}
.untermenue{list-style:none;margin:0;padding:6px 0;display:none;position:absolute;
top:100%;left:-14px;min-width:230px;background:var(--flaeche);
border:1px solid var(--rahmen);border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.12);
z-index:20}
.untermenue a{padding:8px 16px;font-weight:500}
.hat-kinder:hover .untermenue,.hat-kinder:focus-within .untermenue{display:block}
@media(max-width:859px){
.menue-knopf{display:block}
#hauptmenue{display:none;position:absolute;top:100%;left:0;right:0;
background:var(--flaeche);border-bottom:1px solid var(--rahmen);
box-shadow:0 10px 24px rgba(0,0,0,.12);z-index:30}
#hauptmenue.offen{display:block}
.hauptmenue-liste{display:block;padding:6px 16px 12px}
.hauptmenue-liste a{padding:10px 0;border-bottom:1px solid var(--hg)}
.untermenue{display:block;position:static;min-width:0;border:0;box-shadow:none;
padding:0 0 0 14px}
.hat-kinder:hover .untermenue{display:block}
}
/* Eingebetteter Divi-Header: Divi positioniert ihn sonst per JavaScript.
   Hier gilt: statisch im Fluss, Suchsymbol aus (braucht Divi-JS). */
.ile-divi-kopf{background:#fff}
.ile-divi-kopf #top-header,.ile-divi-kopf #main-header{position:static!important;
top:auto!important}
.ile-divi-kopf .et_search_icon,.ile-divi-kopf #et_top_search{display:none!important}
.ile-divi-kopf .et_mobile_menu{position:static!important;visibility:visible!important;
opacity:1!important}
.titelzeile{background:var(--flaeche);border-bottom:3px solid var(--akzent);padding:12px 0}
.titelzeile h1{margin:0;font-size:26px;line-height:1.15}
.titelzeile h1 a{color:var(--text);text-decoration:none}
.einleitung{font-size:17px;color:var(--leise);margin:20px 0 8px}
.brotkrume{font-size:14px;color:var(--leise);margin:16px 0 4px}
.filter{margin:12px 0 4px;padding:12px;background:var(--flaeche);border:1px solid var(--rahmen);
border-radius:var(--radius)}
.chipreihe{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 15px;
font:inherit;font-size:15px;font-weight:600;background:#fff;border:2px solid var(--rahmen);
border-radius:999px;cursor:pointer;color:var(--text)}
.chip[aria-pressed=true]{background:var(--akzent);border-color:var(--akzent);color:#fff}
.chip-zahl{font-size:12px;font-weight:700;opacity:.75}
.treffer{margin:6px 0 0;font-weight:700}
/* Masonry ueber CSS-Spalten: Karten unterschiedlicher Hoehe schliessen dicht
   aneinander an, kein reservierter Bildplatz, keine Leerraeume in den Zeilen.
   Lesereihenfolge laeuft dadurch spaltenweise von oben nach unten. */
.kartenraster{list-style:none;margin:16px 0 28px;padding:0;columns:1;column-gap:14px}
@media(min-width:640px){.kartenraster{columns:2}}
@media(min-width:1000px){.kartenraster{columns:3}}
.karte{background:var(--flaeche);border:1px solid var(--rahmen);border-radius:var(--radius);
overflow:hidden;break-inside:avoid;margin:0 0 14px}
.karte-link{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.karte-bild{aspect-ratio:16/10;background:var(--hg);overflow:hidden}
.karte-bild img{width:100%;height:100%;object-fit:cover}
.karte-text{padding:12px 14px 16px}
.badge{display:inline-block;margin:0 0 6px;padding:2px 10px;font-size:12px;font-weight:700;
letter-spacing:.03em;color:#fff;background:var(--akzent);border-radius:999px}
.zeit{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--akzent-dunkel)}
.titel{margin:0 0 6px;font-size:18px;line-height:1.25}
.teaser{margin:0 0 6px;font-size:15px;color:var(--leise)}
.ort,.weitere{margin:0;font-size:14px;color:var(--leise)}
.mehr{text-align:center;margin:0 0 28px}
.knopf{display:inline-block;min-height:44px;padding:12px 22px;font:inherit;font-weight:700;
color:#fff;background:var(--akzent);border:0;border-radius:999px;cursor:pointer;
text-decoration:none}
.knopf:hover{background:var(--akzent-dunkel)}
.monatsnav{margin:0 0 32px;padding:16px;background:var(--flaeche);border:1px solid var(--rahmen);
border-radius:var(--radius)}
.monatsnav h3{margin:0 0 8px;font-size:16px}
.monatsnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.monatsnav a{display:inline-block;padding:8px 14px;background:var(--hg);border-radius:999px;
text-decoration:none;font-weight:600;font-size:15px}
.detail{background:var(--flaeche);border:1px solid var(--rahmen);border-radius:var(--radius);
padding:18px;margin:8px 0 24px}
.detail-titel{margin:0 0 8px;font-size:24px;line-height:1.2}
.detail-zeit{margin:0 0 14px;font-weight:700;color:var(--akzent-dunkel)}
.detail-bild{margin:0 0 16px}
.detail-bild img{width:100%;max-height:420px;object-fit:cover;border-radius:8px}
.detail-bild figcaption{font-size:13px;color:var(--leise);margin-top:4px}
.detail-text p{margin:0 0 10px}
.block{margin-top:18px;padding-top:14px;border-top:1px solid var(--rahmen)}
.block h3{margin:0 0 8px;font-size:17px}
.termine{margin:0;padding-left:18px}
.fakten{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0}
.fakten dt{font-weight:700;color:var(--leise)}
.fakten dd{margin:0}
.hinweis{font-size:14px;color:var(--leise)}
.tickets{margin:16px 0 0}
.weiter{margin:0 0 28px}
.anzahl{margin:0 0 4px;color:var(--leise);font-weight:700}
.fuss{background:var(--flaeche);border-top:1px solid var(--rahmen);padding:20px 0 28px;
margin-top:20px}
.lizenz,.stand,.zurueck{margin:0 0 6px;font-size:14px;color:var(--leise)}
