.site-header{background:var(--farbe-nav);color:var(--farbe-nav-text);box-shadow:0 2px 8px rgba(0,0,0,.25);position:sticky;top:0;z-index:50}
.topbar{display:flex;gap:1rem;align-items:center;max-width:var(--breite);margin:auto;padding:.7rem 1rem}
.brand{color:var(--farbe-nav-text);text-decoration:none;font-weight:bold;font-size:1.28rem;white-space:nowrap}
.menu-button{background:transparent;border:2px solid var(--farbe-nav-text);color:var(--farbe-nav-text)}
.top-search{display:flex;gap:.35rem;margin-left:auto}.top-search input{min-width:240px}
.chat-link{color:var(--farbe-nav-text);font-weight:bold}
.main-menu{background:#eef1f3;color:#111;border-bottom:1px solid #cfcfcf}.main-menu ul{list-style:none;margin:0 auto;padding:0;max-width:var(--breite);display:flex;flex-wrap:wrap}.main-menu li{position:relative}.main-menu a{display:block;padding:.8rem 1rem;text-decoration:none;color:#1d5c80;font-weight:700}.main-menu a:hover,.main-menu a:focus{background:#dfeaf1}.main-menu li ul{display:none;position:absolute;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.3);min-width:240px;z-index:60}.main-menu li:hover>ul,.main-menu li:focus-within>ul{display:block}.main-menu li ul li{width:100%}
.content-wrap{max-width:var(--breite);margin:auto;padding:2.2rem 1rem}
.site-footer{background:#3d4146;color:#fff;margin-top:3rem;padding:2.5rem 1rem 1.2rem}.footer-grid{max-width:var(--breite);margin:auto;display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:2rem;align-items:start}.footer-col h3{color:#fff;margin-bottom:.6rem}.footer-col p,.footer-col a,.footer-links a{color:#fff}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.35rem 0}.footer-logo{display:flex;justify-content:center;align-items:flex-start}.footer-wordmark{font-size:3rem;line-height:.95;font-weight:300;letter-spacing:.04em;text-align:left}.footer-note{max-width:var(--breite);margin:1.2rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.25)}
.site-footer .footer-links .footer-link{display:inline!important;width:auto!important;min-width:0!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font:inherit!important;font-weight:400!important;line-height:inherit!important;text-decoration:none;cursor:pointer}
.site-footer .footer-links .footer-link:hover,.site-footer .footer-links .footer-link:focus,.site-footer .footer-links .footer-link:focus-visible{background:transparent!important;border:0!important;box-shadow:none!important;text-decoration:underline!important;outline:0!important}
.sprachstart{max-width:var(--breite);margin:1rem auto 0;padding:1rem;background:var(--farbe-hell);border-left:7px solid var(--farbe-blau);border-radius:var(--radius)}.sprachstart p{margin-bottom:.6rem}.accessibility-row,.voice-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.45rem 0}.accessibility-row button,.voice-row button{font-size:1rem}.status-line{min-height:1.4rem;font-size:.98rem;margin:.3rem 0;color:var(--farbe-text)}
.search-large{display:flex;gap:.5rem;align-items:end}.suchtreffer{border-bottom:1px solid var(--farbe-linie);padding:1rem 0}.chat-box{border:2px solid var(--farbe-blau);padding:1rem;background:var(--farbe-hell);max-height:65vh;overflow:auto}.chat-message{background:var(--farbe-flaeche);border:1px solid var(--farbe-linie);margin:.7rem 0;padding:.8rem;border-radius:.5rem}.chat-form{margin-top:1rem}.card-list{list-style:none;padding:0}.form-card{max-width:800px;border:2px solid var(--farbe-blau);padding:1rem;border-radius:.5rem;background:var(--farbe-hell)}
@media(max-width:980px){.topbar{flex-wrap:wrap}.top-search{order:3;width:100%;margin-left:0}.top-search input{min-width:0}.brand{white-space:normal}.main-menu{display:none}.main-menu.open{display:block}.main-menu ul{display:block}.main-menu li ul{display:block;position:static;box-shadow:none;padding-left:1.5rem}.content-wrap{padding:1rem}.search-large{display:block}.site-header{position:static}.footer-grid{grid-template-columns:1fr}.footer-logo{justify-content:flex-start}}
.sprachstart>summary{cursor:pointer;font-weight:700;color:var(--farbe-blau);font-size:1.08rem}.sprachstart[open]>summary{margin-bottom:.8rem}.sprachstart:not([open]){padding:.8rem 1rem}.sprachstart:not([open])>summary{margin:0}
.horizontal-menu{display:flex;align-items:stretch;gap:0;background:#eef1f3;color:#111;border-bottom:1px solid #cfcfcf}.menu-scroll-area{overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;max-width:var(--breite);margin:0 auto;flex:1}.menu-scroll-area::-webkit-scrollbar{height:.45rem}.menu-scroll-area ul{display:flex;flex-wrap:nowrap;white-space:nowrap}.main-menu .menu-separator{display:flex;align-items:center;color:#777;padding:0 .2rem}.main-menu .menu-item.active>a{background:#d8eaf5;color:#12384f}.menu-scroll{background:#365470;color:#fff;border-radius:0;margin:0;min-width:2.4rem}.main-menu .submenu{display:none;position:absolute;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.35);min-width:260px;z-index:80;white-space:normal}.main-menu .menu-item:hover>.submenu,.main-menu .menu-item:focus-within>.submenu{display:block}.main-menu .submenu li{position:relative;width:100%}.main-menu .submenu a{white-space:normal}.main-menu .submenu-nested{left:100%;top:0}
@media(max-width:980px){.horizontal-menu{display:none}.horizontal-menu.open{display:block}.menu-scroll{display:none}.menu-scroll-area{overflow:visible}.menu-scroll-area ul{display:block;white-space:normal}.main-menu .menu-separator{display:none}.main-menu .submenu,.main-menu .submenu-nested{display:block;position:static;box-shadow:none;padding-left:1.2rem}}

/* Vollständiges Menü per Menü-Schaltfläche */
.main-menu-tree{display:none;background:#fff;border-bottom:2px solid #cdd6dd;box-shadow:0 4px 10px rgba(0,0,0,.12);padding:1rem;max-width:var(--breite);margin:0 auto;color:#111}
.main-menu-tree.open{display:block}
.main-menu-tree strong{display:block;margin-bottom:.5rem;color:#244f6b}
.main-menu-tree ul{list-style:none;margin:.25rem 0 .25rem 1rem;padding:0}
.main-menu-tree>ul{margin-left:0;columns:2;column-gap:2rem}
.main-menu-tree li{break-inside:avoid;margin:.15rem 0}
.main-menu-tree a{display:inline-block;padding:.25rem .15rem;color:#1d5c80;font-weight:700;text-decoration:none}
.main-menu-tree a:hover,.main-menu-tree a:focus{text-decoration:underline;background:#eef4f8}
@media(max-width:980px){.main-menu-tree>ul{columns:1}.main-menu-tree{display:none}.main-menu-tree.open{display:block}}
/* v14: Untermenüs dürfen nicht vom horizontalen Navigationsbereich abgeschnitten werden. */
.main-menu.horizontal-menu,.horizontal-menu .menu-scroll-area,.horizontal-menu .menu-scroll-area>ul,.horizontal-menu .menu-item{overflow:visible!important}
.main-menu .submenu{top:100%;left:0;z-index:9999!important;border:1px solid #c9d2da}
.main-menu .submenu-nested{left:100%;top:0}
.site-header{z-index:999}
.page-child-nav{background:var(--farbe-hell);border:1px solid var(--farbe-linie);border-radius:var(--radius);padding:.8rem 1rem;margin:0 0 1.4rem}.page-child-nav a{font-weight:700;padding:.2rem .35rem;display:inline-block}
.voice-nav-button{background:transparent;color:var(--farbe-nav-text);border:2px solid var(--farbe-nav-text);border-radius:.35rem;padding:.45rem .75rem;font-weight:700}.is-reading{outline:4px solid var(--farbe-akzent);outline-offset:3px;border-radius:.5rem}.search-audio-controls,.search-result-tools{display:flex;gap:.35rem;align-items:center;margin:.5rem 0}.audio-back-inline[hidden]{display:none!important}.article-tools{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.main-menu-tree.open{display:block}.main-menu-tree:not(.open){display:none!important}
@media(max-width:980px){.horizontal-menu{display:none!important}.horizontal-menu.open{display:none!important}.main-menu-tree.open{display:block!important}}
/* v20: Sprachhilfe ist vollständig ausgeblendet, bis der Button in der Navigation gedrückt wird. */
.sprachstart[hidden]{display:none!important}
.sprachhilfe-kopf{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;color:var(--farbe-blau)}
.voice-panel-close{margin-left:auto;font-size:.95rem;padding:.45rem .7rem}

/* v21: Avatar-Zahlenfelder werden technisch gespeichert, aber nicht mehr angezeigt. */
.avatar-crop-values{display:none!important}

/* v21: Kleine Endgeraete: oben nur Menue, Sprachhilfe und Anmelden/Profil. */
@media(max-width:760px){
  .topbar{display:flex!important;align-items:center;justify-content:space-between;gap:.55rem;padding:.55rem .7rem}
  .topbar .brand,.topbar .top-search,.topbar .chat-link,.topbar .internal-link{display:none!important}
  .menu-button,.voice-nav-button,.profile-link{display:inline-flex!important;align-items:center;justify-content:center;margin:.1rem 0;white-space:nowrap}
  .profile-link{color:var(--farbe-nav-text);font-weight:700}
}

/* v22: Strukturierte interne Funktionen im aufgeklappten Menü. */
.mobile-management-menu{margin-top:1rem;padding-top:1rem;border-top:1px solid #cdd6dd}.mobile-management-menu strong{color:#244f6b}.mobile-management-menu ul{list-style:none;margin:.25rem 0 .25rem 1rem;padding:0}.mobile-management-menu li{margin:.2rem 0}.mobile-management-menu a{display:inline-block;padding:.25rem .15rem;color:#1d5c80;font-weight:700;text-decoration:none}.mobile-management-menu a:hover,.mobile-management-menu a:focus{text-decoration:underline;background:#eef4f8}

/* Feste Vorlese-/Mikrofonleiste */
.fixed-voice-controls{
    position:fixed;
    right:1rem;
    bottom:1rem;
    z-index:1000;
    display:flex;
    gap:.4rem;
    align-items:center;
    background:var(--farbe-flaeche);
    border:2px solid var(--farbe-blau);
    border-radius:999px;
    padding:.35rem;
    box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.fixed-voice-controls button{
    width:3rem;
    height:3rem;
    padding:0;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem;
    line-height:1;
    margin:0;
}
body.theme-contrast .fixed-voice-controls{border-color:#ff0;background:#000}
body.theme-dark .fixed-voice-controls{background:#111820}
@media(max-width:760px){
    .fixed-voice-controls{
        left:0;
        right:0;
        bottom:0;
        border-radius:0;
        justify-content:space-around;
        padding:.45rem .6rem;
        border-left:0;
        border-right:0;
        border-bottom:0;
    }
    .fixed-voice-controls button{width:3.1rem;height:3.1rem;}
    body{padding-bottom:4.3rem;}
}

/* v26: Mikrofon, Vorlesen, Veranstaltungen und Slideshows */
.microphone-panel{position:fixed;z-index:2600;right:1.25rem;bottom:6.2rem;width:min(92vw,480px);padding:1rem;background:var(--farbe-flaeche);color:var(--farbe-text);border:3px solid var(--farbe-blau);border-radius:.8rem;box-shadow:0 12px 35px rgba(0,0,0,.28)}
.microphone-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.microphone-panel-head button{min-width:2.7rem}.microphone-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.microphone-level{height:1rem;border:1px solid var(--farbe-linie);border-radius:999px;overflow:hidden;background:var(--farbe-input-bg);margin:.7rem 0}.microphone-level span{display:block;height:100%;width:0;background:var(--farbe-blau);transition:width .08s linear}
.fixed-voice-controls [hidden],.voice-row [hidden]{display:none!important}.fixed-voice-controls{transition:width .15s ease}.dictate-button{margin:.35rem 0}.admin-voice-controls{z-index:2100}
.event-calendar-public{margin:1rem 0}.calendar-head{display:flex;align-items:center;justify-content:center;gap:1rem}.calendar-head h3{margin:.4rem 0}.calendar-nav{font-size:2rem;font-weight:bold;text-decoration:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays strong{text-align:center;padding:.55rem;border-bottom:2px solid var(--farbe-linie)}.calendar-day{min-height:110px;border:1px solid var(--farbe-linie);padding:.35rem;background:var(--farbe-flaeche)}.calendar-day.empty{background:var(--farbe-hell);opacity:.55}.calendar-date{display:block;font-weight:700;color:var(--farbe-blau-dunkel)}.calendar-event-mini{display:flex;gap:.35rem;align-items:center;padding:.3rem;margin-top:.25rem;background:var(--farbe-hell);border-radius:.3rem;text-decoration:none;font-size:.85rem}.calendar-event-mini img{width:44px;height:36px;object-fit:cover;border-radius:.2rem}
.cms-slideshow{position:relative;margin:1.2rem 0}.slideshow-stage{height:var(--slideshow-height);max-height:78vh;overflow:hidden;position:relative;border-radius:.65rem;background:#111}.slideshow-slide{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .7s ease,transform .7s ease}.slideshow-slide.active{opacity:1;pointer-events:auto}.slideshow-slide img{width:100%;height:100%;object-fit:contain}.slideshow-effect-slide .slideshow-slide{transform:translateX(8%)}.slideshow-effect-slide .slideshow-slide.active{transform:translateX(0)}.slideshow-effect-zoom .slideshow-slide{transform:scale(1.08)}.slideshow-effect-zoom .slideshow-slide.active{transform:scale(1)}.slideshow-caption{position:absolute;left:0;right:0;padding:1rem;background:rgba(0,0,0,.62);color:#fff;font-size:var(--slideshow-font)}.caption-top{top:0}.caption-center{top:50%;transform:translateY(-50%)}.caption-bottom{bottom:0}.slideshow-controls{display:flex;justify-content:center;align-items:center;gap:.8rem;margin-top:.45rem}
.event-detail-image{max-width:100%;max-height:520px;object-fit:contain;border-radius:.6rem}.event-location-map{height:420px;border-radius:.6rem;border:1px solid var(--farbe-linie);margin:1rem 0}.event-meta{padding:1rem;background:var(--farbe-hell);border-left:5px solid var(--farbe-blau)}
@media(max-width:760px){.microphone-panel{left:.65rem;right:.65rem;bottom:5.8rem;width:auto}.fixed-voice-controls{left:50%;right:auto;transform:translateX(-50%);bottom:.55rem}.calendar-weekdays strong{font-size:.72rem;padding:.35rem .1rem}.calendar-day{min-height:75px;padding:.2rem}.calendar-event-mini{display:block;font-size:.7rem}.calendar-event-mini img{width:100%;height:38px}.slideshow-stage{height:min(var(--slideshow-height),62vh)}}
.chat-direct-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.7rem 0 1rem}
.chat-direct-actions .inline-form{margin:0}

/* Version 27: Veranstaltungslisten, QR-Kalenderübernahme und sichtbarer Interessenchat */
.event-list-public{display:grid;gap:1.15rem;margin:1rem 0}
.event-list-card{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(390px,460px);gap:1rem;align-items:stretch;border:1px solid var(--farbe-linie);border-radius:.65rem;background:var(--farbe-flaeche);padding:1rem;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.event-list-card h3{margin:.05rem 0 .55rem}.event-list-card h3 a{text-decoration:none}.event-list-image{display:flex;align-items:stretch}.event-list-image a{display:block;width:100%}.event-list-image img{display:block;width:100%;height:100%;min-height:180px;max-height:250px;object-fit:cover;border-radius:.45rem}.event-list-no-image{display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;border:1px dashed var(--farbe-linie);border-radius:.45rem;background:var(--farbe-hell);font-weight:700}.event-list-main{min-width:0}.event-list-main p{margin:.4rem 0}.event-list-date{font-size:1.08rem}.event-list-description{line-height:1.55}.event-list-actions{display:flex;gap:.4rem;flex-wrap:wrap}.event-list-side{display:grid;grid-template-columns:minmax(190px,1fr) 184px;align-items:center;gap:.8rem}.event-list-side .event-map-preview{grid-column:auto}.event-mini-map{width:100%;height:145px;border:1px solid var(--farbe-linie);border-radius:.4rem}.event-qr{width:108px;min-height:108px;display:flex;align-items:center;justify-content:center;background:#fff;padding:4px;border:1px solid var(--farbe-linie);border-radius:.35rem}.event-qr img,.event-qr canvas{display:block;max-width:100px;height:auto}.event-list-side small{text-align:left}.event-calendar-transfer{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;margin:1.25rem 0;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.6rem;background:var(--farbe-hell)}
.selected-chat-room{margin:1rem 0 1.5rem;padding:1rem;border:3px solid var(--farbe-blau);border-radius:.65rem;background:var(--farbe-flaeche);box-shadow:0 5px 18px rgba(0,0,0,.09)}.selected-chat-room>h2{margin-top:0}.selected-chat-room .chat-box{max-height:52vh}.selected-chat-room .chat-form{border-top:1px solid var(--farbe-linie);padding-top:1rem}
@media(max-width:1180px){.event-list-card{grid-template-columns:170px 1fr}.event-list-side{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,1fr) 184px;align-items:center}.event-mini-map{height:170px}}
@media(max-width:620px){.event-list-card{grid-template-columns:1fr}.event-list-side{grid-column:auto;grid-template-columns:1fr}.event-list-side .event-qr{justify-self:center}.event-list-image img{height:auto;max-height:260px}.event-calendar-transfer{flex-direction:column;align-items:flex-start}.event-mini-map{height:180px}}

/* v28: Karten zunächst als Bild, große Karte erst nach Klick */
.event-map-preview{position:relative;display:block;width:100%;padding:0;border:1px solid var(--farbe-linie);border-radius:.55rem;background:#fff;overflow:hidden;cursor:pointer;text-align:center;color:inherit}
.event-map-preview img{display:block;width:100%;height:auto;object-fit:cover;background:#eef2f4}
.event-map-attribution{position:absolute;right:5px;bottom:4px;z-index:2;max-width:calc(100% - 10px);padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.82);color:#263238;font-size:9px;line-height:1.25;font-weight:500;white-space:nowrap;pointer-events:none;text-shadow:none}
.event-map-preview-small img{aspect-ratio:16/7;min-height:130px}
.event-map-preview-large{max-width:900px;margin:1rem 0}.event-map-preview-large img{aspect-ratio:5/2;min-height:220px}
.event-map-dialog{width:min(96vw,1100px);height:min(88vh,760px);padding:0;border:0;border-radius:.7rem;box-shadow:0 1rem 4rem rgba(0,0,0,.35)}
.event-map-dialog::backdrop{background:rgba(0,0,0,.65)}
.event-map-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;background:#17334c;color:#fff}.event-map-dialog-head button{font-size:1.7rem;line-height:1;background:transparent;color:#fff;border:0;cursor:pointer}
.event-map-dialog iframe{display:block;width:100%;height:calc(100% - 52px);border:0}
.calendar-launch{max-width:780px;margin:1rem auto;padding:1.2rem;border:1px solid var(--farbe-linie);border-radius:.7rem;background:var(--farbe-hell)}

/* v28: persönliche Veranstaltungen und Galerie */
.my-event-list{display:grid;gap:1rem}.my-event-card{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:1rem;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.65rem;background:var(--farbe-hell)}.my-event-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.45rem}.event-submit-link{white-space:nowrap}.event-map-section{margin-top:1.2rem}
@media(max-width:650px){.my-event-card{grid-template-columns:1fr}}

/* v29: Diktieren direkt am aktiven Textfeld */
.dictate-button{display:none!important}
.dictation-field-active{padding-right:3.35rem!important;outline:3px solid rgba(20,104,140,.2);outline-offset:1px}
.field-dictation-button,.mobile-field-dictation-button{width:2.65rem;height:2.65rem;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;background:var(--farbe-blau);color:#fff;border:2px solid #fff;box-shadow:0 2px 9px rgba(0,0,0,.35)}
.field-dictation-button{position:absolute;z-index:2350}
.mobile-field-dictation-button{display:none;position:fixed;z-index:2750;left:50%;bottom:max(.6rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:3.5rem;height:3.5rem;font-size:1.45rem;border:3px solid #fff}
.field-dictation-button[hidden],.mobile-field-dictation-button[hidden]{display:none!important}
.field-dictation-button.is-listening,.mobile-field-dictation-button.is-listening,.fixed-voice-controls button.is-listening{animation:kuhhdl-mic-pulse 1s ease-in-out infinite;background:#a51d2d}
.is-dictating{outline:4px solid var(--farbe-akzent)!important;outline-offset:2px}
@keyframes kuhhdl-mic-pulse{0%,100%{box-shadow:0 0 0 0 rgba(165,29,45,.45)}50%{box-shadow:0 0 0 9px rgba(165,29,45,0)}}
@media(max-width:760px){
  .field-dictation-button{display:none!important}
  .mobile-field-dictation-button:not([hidden]){display:inline-flex}
  body.dictation-field-focused .fixed-voice-controls{opacity:0;pointer-events:none}
  .dictation-field-active{padding-right:.75rem!important;padding-bottom:3.8rem!important}
}
@media(min-width:761px){.mobile-field-dictation-button{display:none!important}}

/* v29: strukturierte Wünsche und Interessen bei Registrierung und Profil */
.registration-form fieldset,.profile-wishes{margin:1rem 0;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.65rem}
.registration-form fieldset legend,.profile-wishes legend{padding:0 .35rem;font-weight:700}
.registration-main-choice{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;margin:.4rem 0;border:1px solid var(--farbe-linie);border-radius:.5rem;background:rgba(255,255,255,.45);font-weight:700}
.registration-main-choice input{margin-top:.2rem;flex:0 0 auto}
.registration-interest-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--farbe-linie)}
.registration-interest-block h2{font-size:1.05em;margin:0 0 .65rem}
.registration-interest-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem .8rem}
.registration-interest-list .check-row{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;margin:0;border:1px solid var(--farbe-linie);border-radius:.45rem;background:rgba(255,255,255,.35)}
.registration-interest-list input{margin-top:.18rem;flex:0 0 auto}
@media(max-width:620px){.registration-interest-list{grid-template-columns:1fr}}

/* v30: Gast-Veranstaltung als festes Symbol */
.guest-event-fab{position:fixed;right:1.15rem;bottom:5.4rem;z-index:2050;width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--farbe-blau);color:#fff;text-decoration:none;font-size:1.45rem;border:3px solid var(--farbe-flaeche);box-shadow:0 4px 16px rgba(0,0,0,.3)}
.guest-event-fab:hover,.guest-event-fab:focus{transform:scale(1.06);outline:3px solid var(--farbe-akzent);outline-offset:2px}
@media(max-width:760px){.guest-event-fab{right:.75rem;bottom:5.25rem;width:3rem;height:3rem}.voice-nav-button{font-size:.9rem;padding:.4rem .55rem}}

/* v31 */
.chat-iframe{width:100%;min-height:720px;border:0;border-radius:.75rem;background:var(--farbe-flaeche);box-shadow:0 4px 16px rgba(0,0,0,.12)}.chat-frame-body{margin:0;padding:.65rem;background:var(--farbe-hell);min-height:100vh}.chat-frame-body .selected-chat-room{margin:0}.chat-frame-body .chat-message{display:grid;grid-template-columns:auto 1fr;gap:.65rem}.chat-message-avatar{grid-row:1/4}.chat-message-content{min-width:0}.chat-message-content p{margin:.35rem 0}.chat-head time{font-size:.85rem;color:#555}.emoji-row button{font-size:1.55rem;min-width:3rem;min-height:2.8rem}.people-live-status{min-height:1.5rem}.person-card-head{display:flex;align-items:center;gap:.5rem}.person-profile-panel{margin-top:.65rem;padding:.7rem;border-left:4px solid var(--farbe-blau);background:var(--farbe-hell)}.event-description-media img,.event-description-media video{display:block;max-width:100%;max-height:620px;margin:1rem auto;border-radius:.5rem}.event-date-range{font-weight:700}

/* v32: Kopf, Logo und Navigation */
.topbar .top-action-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.9rem;padding:.55rem .8rem;border:2px solid var(--farbe-nav-text);border-radius:.45rem;background:transparent;color:var(--farbe-nav-text);font-weight:700;text-decoration:none;line-height:1}
.topbar .login-nav-button{white-space:nowrap}
.brand{display:flex;align-items:center;min-width:190px;max-width:310px}
.brand img{display:block;max-width:100%;height:2.65rem;object-fit:contain;object-position:left center}
.footer-logo-image{display:block;max-width:260px;width:100%;height:auto}
.menu-scroll[hidden]{display:none!important}
.media-usage-note{padding:.45rem .55rem;border-left:4px solid var(--farbe-blau);background:var(--farbe-hell);font-size:.9rem}
@media(max-width:980px){.brand{min-width:0;max-width:220px}.brand img{height:2.35rem}.topbar .top-action-button{min-height:2.75rem}}
@media(max-width:760px){.topbar .top-action-button span{display:none}.topbar .top-action-button{width:3rem;padding:.45rem;font-size:1.15rem}.brand{flex:1;justify-content:center}.brand img{height:2.25rem}}

/* v32: Plauderecke, Direktnachrichten und Chaträume */
.community-main-tabs,.open-chat-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem;border-bottom:2px solid var(--farbe-linie);padding-bottom:.5rem}
.community-main-tabs a,.open-chat-tabs a{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem .9rem;border:1px solid var(--farbe-linie);border-radius:.55rem .55rem 0 0;background:var(--farbe-hell);color:var(--farbe-blau);font-weight:700;text-decoration:none}
.community-main-tabs a.active,.open-chat-tabs a.active{background:var(--farbe-blau);color:#fff;border-color:var(--farbe-blau)}
.open-chat-tab{position:relative;padding-right:2.4rem!important}.open-chat-tab .chat-tab-close{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;background:rgba(0,0,0,.12);color:inherit;font-size:1.15rem;line-height:1}
.active-chat-panel{border:2px solid var(--farbe-blau);border-radius:.75rem;background:var(--farbe-flaeche);padding:1rem;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.active-chat-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.7rem}.active-chat-head h2{margin:0}.active-chat-head p{margin:.25rem 0 0}
.chat-message-frame{display:block;width:100%;height:min(58vh,590px);min-height:350px;border:0;border-radius:.55rem;background:var(--farbe-hell);box-shadow:inset 0 0 0 1px var(--farbe-linie)}
.chat-stream-body{margin:0!important;padding:0!important;height:100vh;min-height:0!important;overflow:hidden;background:var(--farbe-hell)}
.chat-stream-box{box-sizing:border-box;height:100vh;max-height:none!important;margin:0;border:0!important;border-radius:0!important;padding:.75rem;overflow-y:auto;overscroll-behavior:contain}
.chat-stream-box .chat-message{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;margin:.45rem 0;padding:.7rem;background:var(--farbe-flaeche)}
.chat-message-avatar{grid-row:1/5}.chat-message-content{min-width:0}.chat-message-content p{overflow-wrap:anywhere}.chat-message-content audio{display:block;width:min(100%,440px);margin:.45rem 0}.chat-message-content img{display:block;max-width:min(100%,420px);max-height:360px;object-fit:contain;border-radius:.45rem}
.chat-composer{max-width:none!important;margin:.8rem 0 0!important;padding:.8rem!important;border:1px solid var(--farbe-linie)!important;background:var(--farbe-hell)!important}.chat-composer textarea{width:100%;min-height:92px;resize:vertical}.chat-composer-actions,.chat-upload-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:.55rem 0}.chat-audio-preview{width:min(100%,440px)}
.emoji-row{display:flex;gap:.25rem;overflow-x:auto;padding:.35rem 0;scrollbar-width:thin}.emoji-row button{flex:0 0 auto;min-width:2.55rem;min-height:2.45rem;padding:.25rem;font-size:1.35rem;background:var(--farbe-flaeche);color:inherit;border:1px solid var(--farbe-linie)}
.recent-contact-list,.people-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem}.recent-contact{display:flex;align-items:center;gap:.65rem;padding:.65rem;border:1px solid var(--farbe-linie);border-radius:.55rem;background:var(--farbe-hell);text-decoration:none}.recent-contact.active{outline:3px solid var(--farbe-akzent)}.recent-contact span{min-width:0}.recent-contact small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--farbe-text)}
.person-card{padding:.75rem;border:1px solid var(--farbe-linie);border-radius:.55rem;background:var(--farbe-flaeche)}.person-card-head{display:flex;align-items:center;gap:.6rem}.person-profile-panel{margin-top:.6rem;padding:.75rem;border-left:4px solid var(--farbe-blau);background:var(--farbe-hell)}
.custom-room-form{max-width:none}.selected-invites{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}.selected-invites .invite-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .55rem;border-radius:999px;background:var(--farbe-blau);color:#fff}.room-invite-form{margin-top:.8rem}
.chat-trash-box{max-height:none}.small-button{padding:.35rem .55rem;font-size:.88rem}
@media(max-width:760px){.community-main-tabs a,.open-chat-tabs a{padding:.55rem .65rem}.active-chat-panel{padding:.55rem}.chat-message-frame{height:52vh;min-height:320px}.chat-composer{padding:.55rem!important}.recent-contact-list,.people-results{grid-template-columns:1fr}.chat-stream-box{padding:.4rem}.chat-stream-box .chat-message{padding:.55rem}.emoji-row button{min-width:2.7rem}}
.open-chat-tabs .open-chat-tab{display:inline-flex;align-items:center;border:1px solid var(--farbe-linie);border-radius:.55rem .55rem 0 0;background:var(--farbe-hell);overflow:hidden}
.open-chat-tabs .open-chat-tab.active{background:var(--farbe-blau);border-color:var(--farbe-blau)}
.open-chat-tabs .open-chat-tab>a{border:0!important;border-radius:0!important;background:transparent!important;padding:.65rem .65rem!important;color:var(--farbe-blau)!important}
.open-chat-tabs .open-chat-tab.active>a{color:#fff!important}
.open-chat-tabs .open-chat-tab .chat-tab-close{position:static;transform:none;width:2rem;height:auto;padding:.65rem .35rem!important;background:rgba(0,0,0,.1)!important}
.selected-invite-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .55rem;border-radius:999px;background:var(--farbe-blau);color:#fff}.selected-invite-chip button{padding:0 .2rem;background:transparent;color:#fff;border:0;font-size:1.15rem}


/* v33: einheitliche Kopfleiste und getrennte Bereiche Plauderecke / Chat */
.topbar{gap:.65rem;padding:10px 1rem;box-sizing:border-box}
.topbar .top-action-button,.topbar .profile-link,.topbar .internal-link,.topbar .top-search input,.topbar .top-search button{box-sizing:border-box;height:3rem;min-height:3rem;margin:0;line-height:1}
.topbar .profile-link,.topbar .internal-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:0 .8rem;border:2px solid var(--farbe-nav-text);border-radius:.45rem;background:transparent;color:var(--farbe-nav-text);font-weight:700;text-decoration:none;white-space:nowrap}
.topbar .top-action-button{padding:0 .8rem}
.topbar .top-search{height:3rem;align-items:stretch;gap:.35rem;margin-top:0;margin-bottom:0}
.topbar .top-search input{padding:0 .7rem}
.topbar .top-search button{display:inline-flex;align-items:center;justify-content:center;padding:0 .85rem}
.topbar .brand img{max-height:2.65rem}
.chat-audio-preview-wrap{display:flex;align-items:center;gap:.6rem;margin:.55rem 0}
.chat-audio-preview-wrap[hidden]{display:none!important}
.chat-audio-play{display:inline-flex;align-items:center;justify-content:center;min-width:11rem}
.chat-attachment-audio audio[hidden]{display:none!important}
@media(max-width:980px){.topbar{padding:10px 1rem}.topbar .top-search{height:3rem}.topbar .top-search input{flex:1}}
@media(max-width:760px){.topbar{padding:10px .7rem}.topbar .top-action-button,.topbar .profile-link,.topbar .internal-link{width:3rem;height:3rem;min-height:3rem;padding:0;font-size:1.15rem}.topbar .profile-link span,.topbar .internal-link span{display:none}.topbar .brand img{max-height:2.25rem}}
@media(max-width:760px){.topbar .internal-link{display:inline-flex!important}}
.topbar .brand{min-width:130px;max-width:220px;flex:0 1 180px}
.topbar .top-search{flex:1 1 300px;min-width:280px}
.topbar .top-search input{min-width:0;flex:1 1 auto}
@media(max-width:980px){.topbar .top-search{min-width:100%;flex-basis:100%}}
@media(max-width:760px){.topbar .brand,.topbar .top-search{min-width:0}}

/* v34: Kopfzeile, Unterseitenleiste, Passwortfelder */
@media(min-width:981px){
  .topbar{
    display:grid;
    grid-template-columns:auto minmax(130px,1fr) minmax(260px,420px) auto auto auto;
    align-items:center;
    gap:.65rem;
  }
  .topbar .menu-button{grid-column:1}
  .topbar .brand{grid-column:2;justify-self:center;min-width:0;max-width:220px;display:flex;align-items:center;justify-content:center}
  .topbar .top-search{grid-column:3;width:100%;min-width:0;margin:0}
}
.login-icon{display:inline-flex;width:1.15rem;height:1.15rem;color:#fff;flex:0 0 auto}
.login-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.logout-nav-button{gap:0!important}

.page-child-nav{display:flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;padding:.65rem .75rem}
.page-child-nav-viewport{min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none}
.page-child-nav-viewport::-webkit-scrollbar{display:none}
.page-child-nav-items{display:flex;align-items:center;gap:.35rem;white-space:nowrap;width:max-content;min-width:100%}
.page-child-nav-items strong{flex:0 0 auto}
.page-child-nav a{display:inline-block;white-space:nowrap;flex:0 0 auto}
.page-child-separator{flex:0 0 auto}
.page-child-nav-arrow{flex:0 0 auto;width:2.3rem;height:2.3rem;min-height:2.3rem;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.55rem;line-height:1}
.page-child-nav-arrow[hidden]{display:none!important}

.password-field{position:relative;display:block}
.password-field input{padding-right:3.25rem!important;width:100%}
.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.45rem;height:2.45rem;min-height:2.45rem;padding:.45rem;border-radius:.4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--farbe-blau);color:#fff;border:0}
.password-toggle svg{width:1.35rem;height:1.35rem;fill:currentColor}
.password-toggle .eye-closed{display:none}
.password-toggle.is-visible .eye-open{display:none}
.password-toggle.is-visible .eye-closed{display:block}
.password-reset-note{max-width:800px}
.password-reset-mail-preview{border:1px solid var(--farbe-linie);border-radius:.5rem;padding:1rem;background:var(--farbe-hell)}


/* v38: gleich hohe Mitstreiterkarten */
.people-results .person-card{display:flex;flex-direction:column;min-height:195px;box-sizing:border-box}
.people-results .person-card-head{align-items:flex-start;min-height:5.35rem}
.people-results .person-card-head strong{display:block;min-height:2.7em;line-height:1.35;font-size:1.18rem;padding-top:.35rem}
.people-results .person-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin:auto 0 0}
.people-results .person-card-actions .button{margin:0}

.secret-room-invite{margin:.75rem 0;padding:.65rem .8rem;border:1px solid var(--rahmen,#9aa8b6);border-radius:.55rem;background:rgba(255,255,255,.04)}.secret-room-invite>summary{cursor:pointer;font-weight:700}.secret-room-invite[open]>summary{margin-bottom:.6rem}

/* Version 44: anklickbarer QR-Code und lokale JPG-Kartenvorschau */
a.event-qr{display:block;text-decoration:none;color:inherit}
a.event-qr canvas,a.event-qr img{display:block}


/* Version 46: vollständiger iCalendar-Termin direkt im QR-Code */
.event-qr{width:184px;min-height:184px}
.event-qr img,.event-qr canvas{max-width:176px;width:176px;height:176px}
.event-qr.event-qr-large{width:248px;min-height:248px}
.event-qr.event-qr-large img,.event-qr.event-qr-large canvas{max-width:240px;width:240px;height:240px}
@media(max-width:720px){.event-calendar-transfer{align-items:flex-start;flex-direction:column}.event-qr.event-qr-large{align-self:center}}


/* Version 54: Veranstaltungsformular und Standortkarte auch im Gastbereich */
.event-form{max-width:none}.event-form fieldset{margin:1rem 0;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.65rem}.event-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.event-form-grid .full{grid-column:1/-1}.event-map-toolbar{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.event-map-toolbar label{flex:1 1 320px}.event-map{display:block;width:100%;height:500px;min-height:360px;border:2px solid var(--farbe-linie);border-radius:.55rem;margin:.7rem 0;overflow:hidden;background:#dfe7ec}.event-coordinates{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.5rem}.event-image-editor{display:grid;grid-template-columns:minmax(300px,1fr) minmax(220px,.55fr);gap:1rem}.event-canvas-wrap{background:#202428;min-height:360px;display:flex;align-items:center;justify-content:center;overflow:auto;border-radius:.5rem}.event-canvas-wrap canvas{max-width:100%;height:auto}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.5rem}.filter-presets{display:flex;flex-wrap:wrap;gap:.35rem}.event-results-head{display:flex;width:100%;align-items:center;justify-content:space-between;margin:.55rem 0 0;padding:.65rem .8rem;border:1px solid var(--farbe-linie);border-radius:.5rem;background:var(--farbe-hell);color:inherit;text-align:left}.event-results-content{padding:.6rem;border:1px solid var(--farbe-linie);border-top:0;border-radius:0 0 .5rem .5rem}.event-place-result{display:block;width:100%;margin:.3rem 0;text-align:left}.event-place-category{margin:.4rem 0;border:1px solid var(--farbe-linie);border-radius:.45rem}.event-place-category summary{cursor:pointer;padding:.55rem .7rem;font-weight:700}.event-place-category-list{padding:.2rem .6rem .6rem}.leaflet-container{font:inherit}
@media(max-width:820px){.event-form-grid,.event-image-editor{grid-template-columns:1fr}.event-form-grid .full{grid-column:auto}.event-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}.event-map{height:420px;min-height:320px}}
@media(max-width:520px){.event-coordinates{grid-template-columns:1fr}.event-map{height:360px;min-height:300px}}

/* v65: Suchfeld und Suchschaltfläche exakt gleich hoch */
.topbar .top-search{align-items:stretch!important}
.topbar .top-search input,.topbar .top-search button{height:3rem!important;min-height:3rem!important;max-height:3rem!important;box-sizing:border-box!important;margin:0!important}
.topbar .top-search button{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;padding:0 .9rem!important;line-height:1!important}


/* V1 – Veranstaltungsadresse, Benachrichtigungen, aufklappbare Texte und Audio */
.main-menu a,.main-menu-tree a,.mobile-management-menu a{display:inline-flex;align-items:center;gap:.42rem}
.site-notification-dot{display:inline-block;width:.72rem;height:.72rem;min-width:.72rem;border-radius:50%;background:#d20f2f;box-shadow:0 0 0 2px rgba(255,255,255,.75);vertical-align:middle;flex:0 0 auto}
.event-description-short,.event-description-toggle{margin:.45rem 0;min-height:5.05rem;box-sizing:border-box}
.event-description-toggle>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:end;cursor:pointer;list-style:none;min-height:5.05rem;padding:.15rem .35rem .15rem 0;border-bottom:1px dashed var(--farbe-linie)}
.event-description-toggle>summary::-webkit-details-marker{display:none}
.event-description-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.55}
.event-description-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--farbe-blau);color:#fff;font-size:1.15rem;font-weight:900;transition:transform .2s ease}
.event-description-toggle[open] .event-description-arrow{transform:rotate(180deg)}
.event-description-full{grid-column:1/-1;margin:.65rem 0 .2rem;line-height:1.6;white-space:normal}
.event-list-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.55rem 0}
.event-audio-controls{display:inline-flex;align-items:center;gap:.35rem}
.event-audio-button{white-space:nowrap}
.event-openai-audio[hidden]{display:none!important}
#event_distance_row[hidden]{display:none!important}
.chat-message-text a{overflow-wrap:anywhere}
.moderation-event-description .event-description-short,.moderation-event-description .event-description-toggle{min-height:4.8rem}
@media(max-width:620px){.event-description-short,.event-description-toggle,.event-description-toggle>summary{min-height:auto}.event-description-preview{-webkit-line-clamp:4}}

/* V1.1 – gleich hohe Karte/QR, kompakter Aufklapptext und breite Detailkarte */
.event-list-side{align-items:stretch}
.event-list-side .event-map-preview-small,.event-list-side .event-qr{height:184px;min-height:184px;box-sizing:border-box}
.event-map-preview-small{width:100%}
.event-map-preview-small img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.event-qr{display:grid!important;place-items:center;width:184px;padding:4px;overflow:hidden;box-sizing:border-box;line-height:0}
.event-qr img,.event-qr canvas{display:block;width:174px!important;height:174px!important;max-width:none!important;max-height:none!important;margin:0!important}
.event-qr.event-qr-large{display:grid!important;place-items:center;width:250px;height:250px;min-height:250px;padding:4px;box-sizing:border-box;line-height:0}
.event-qr.event-qr-large img,.event-qr.event-qr-large canvas{width:240px!important;height:240px!important;max-width:none!important;max-height:none!important;margin:0!important}
.event-description-short,.event-description-preview,.event-description-full{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.event-description-toggle>summary{display:block;cursor:pointer;list-style:none;min-height:5.05rem;padding:.15rem .15rem .15rem 0;border-bottom:1px dashed var(--farbe-linie);line-height:1.55}
.event-description-toggle>summary::-webkit-details-marker{display:none}
.event-description-preview{display:inline;overflow:visible;line-height:1.55}
.event-description-arrow{display:inline;width:auto;height:auto;margin-left:.22rem;border-radius:0;background:transparent;color:currentColor;font-size:.88rem;font-weight:900;line-height:1;vertical-align:baseline;transition:transform .2s ease}
.event-description-toggle[open] .event-description-arrow{display:inline-block;transform:rotate(180deg)}
.event-description-full{margin:.65rem 0 .2rem;line-height:1.65;white-space:normal}
.event-map-section{width:100%;margin-top:1.4rem}
.event-map-preview-large{display:block;width:100%;max-width:none;height:clamp(280px,38vw,460px);margin:1rem 0;box-sizing:border-box}
.event-map-preview-large img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.event-route-actions{display:flex;justify-content:flex-start;margin:.75rem 0 0}
.event-route-button{display:inline-flex;align-items:center;gap:.4rem}
@media(max-width:620px){
  .event-list-side .event-map-preview-small{height:184px;min-height:184px}
  .event-description-short,.event-description-toggle,.event-description-toggle>summary{min-height:auto}
  .event-map-preview-large{height:280px}
}

/* V1.2 – stabile Standortsuche und Veranstaltungsbeschreibung über die volle Restbreite */
.event-list-card{
    grid-template-areas:
        "event-image event-main event-side"
        "event-image event-description event-description";
    align-items:start;
}
.event-list-image{grid-area:event-image;align-self:start}
.event-list-main{grid-area:event-main;min-width:0}
.event-list-side{grid-area:event-side;align-self:start}
.event-list-description-wide{grid-area:event-description;min-width:0}
.event-list-description-wide .event-description-short,
.event-list-description-wide .event-description-toggle,
.event-list-description-wide .event-description-full{
    width:100%;
    max-width:none;
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
}
.event-list-description-wide .event-description-short,
.event-list-description-wide .event-description-toggle{margin-top:.35rem}
.event-nearby-status{margin:.4rem 0 .7rem;padding:.45rem .6rem;border-left:4px solid var(--farbe-blau);background:var(--farbe-hell)}

@media(max-width:1180px){
    .event-list-card{
        grid-template-areas:
            "event-image event-main"
            "event-image event-description"
            "event-side event-side";
    }
    .event-list-side{grid-area:event-side}
}
@media(max-width:620px){
    .event-list-card{
        grid-template-areas:
            "event-image"
            "event-main"
            "event-description"
            "event-side";
    }
}

/* V1.4 – MP3-Steuerung, Sprachwahl, notwendige Cookies und Wetterbeitrag */
.event-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.event-detail-heading h1{margin-top:0;min-width:0}
.event-detail-image{float:left;width:min(38%,380px);height:auto;max-height:560px;margin:0 1.25rem .8rem 0;object-fit:contain}
.event-detail-audio-row{display:flex;justify-content:flex-end;align-items:center;min-height:3.1rem;margin:0 0 .35rem}
.event-detail-audio-row:empty{display:none}
.event-detail .article-body{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;line-height:1.65}
.event-detail .event-calendar-transfer,.event-detail .event-map-section{clear:both}
.event-detail > .event-program{clear:both;width:100%;max-width:none}
.event-list-actions .event-audio-controls{margin-left:auto}
.event-audio-controls .event-audio-button{margin-left:auto}
.event-list-card.is-reading,.event-detail.is-reading{outline:4px solid var(--farbe-akzent);outline-offset:3px}

.language-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--farbe-linie)}
.language-row label{display:flex;align-items:center;gap:.55rem;font-weight:700}
.language-row select{min-width:220px}
.first-visit-overlay{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:1rem;background:rgba(0,0,0,.72)}
.first-visit-overlay.is-open,.first-visit-overlay:target{display:grid!important}
.first-visit-overlay[hidden]:not(:target){display:none!important}
.first-visit-dialog{width:min(720px,96vw);max-height:92vh;overflow:auto;padding:1.25rem;border:3px solid var(--farbe-blau);border-radius:.8rem;background:var(--farbe-flaeche);color:var(--farbe-text);box-shadow:0 1.2rem 4rem rgba(0,0,0,.45)}
.first-visit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.first-visit-head h2{margin:.1rem 0 1rem}
.first-visit-head button{width:2.4rem;height:2.4rem;border-radius:999px;padding:0;font-size:1.4rem;line-height:1}
.first-visit-dialog>label{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);align-items:center;gap:.7rem;margin:.8rem 0;font-weight:700}
.cookie-necessary-box{margin:1rem 0;padding:.85rem 1rem;border-left:5px solid var(--farbe-blau);background:var(--farbe-hell)}
.cookie-necessary-box ul{margin:.55rem 0 .1rem;padding-left:1.3rem}
.cookie-necessary-box code{overflow-wrap:anywhere}
.first-visit-actions{display:flex;justify-content:flex-end;margin-top:1rem}
.has-preferences-dialog{overflow:hidden}

.weather-contribution{margin:1rem 0;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.7rem;background:var(--farbe-flaeche)}
.weather-current{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(220px,.8fr);gap:1rem;align-items:center;padding:1rem;border-radius:.65rem;background:var(--farbe-hell)}
.weather-current h3,.weather-current p{margin:.2rem 0}
.weather-symbol{font-size:4rem;line-height:1}
.weather-current-temp{font-size:2.1rem;font-weight:900;color:var(--farbe-blau-dunkel)}
.weather-current dl{display:grid;gap:.45rem;margin:0}
.weather-current dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--farbe-linie);padding:.25rem 0}
.weather-current dt{font-weight:700}.weather-current dd{margin:0}
.weather-forecast-title{margin:1.2rem 0 .7rem}
.weather-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.7rem}
.weather-day{padding:.75rem;border:1px solid var(--farbe-linie);border-radius:.55rem;background:var(--farbe-hell);text-align:center}
.weather-day.is-weekend{border-width:2px;border-color:var(--farbe-blau)}
.weather-day h4{margin:0 0 .25rem}.weather-day h4 span{display:block;margin-top:.2rem;font-size:.75rem;color:var(--farbe-blau-dunkel)}
.weather-day p{margin:.25rem 0}.weather-day-symbol{font-size:2rem;margin:.35rem 0}
.weather-source-note,.weather-updated{margin:.75rem 0 0}.weather-error{border-left:5px solid #a22222}

@media(max-width:760px){
  .event-detail-image{float:none;display:block;width:auto;max-width:100%;margin:0 auto .75rem}
  .event-detail-audio-row{justify-content:flex-end}
  .first-visit-dialog>label{grid-template-columns:1fr}
  .weather-current{grid-template-columns:auto 1fr}.weather-current dl{grid-column:1/-1}
}

/* V1: visuelle Auswahl und Metadaten für Veranstaltungsbilder */
.event-image-upload-fields{display:grid;grid-template-columns:1fr;gap:.45rem;margin:.65rem 0}
.event-image-upload-fields label{margin:0}

.event-existing-image-details{margin:0 0 1rem;border:1px solid var(--admin-border-bcc7d1,#bcc7d1);border-radius:.5rem;background:var(--admin-bg,#fff);overflow:hidden}
.event-existing-image-details>summary{cursor:pointer;font-weight:700;padding:.7rem .8rem;list-style-position:inside}
.event-existing-image-details[open]>summary{border-bottom:1px solid var(--admin-border-bcc7d1,#bcc7d1)}
.event-existing-image-details .event-existing-image-fieldset{border:0!important;margin:0!important;border-radius:0!important}
.event-existing-image-fieldset{margin:0 0 1rem!important;padding:.7rem!important}
.event-existing-image-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:.55rem;max-height:340px;overflow:auto;padding:.2rem}
.event-image-choice{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:76px;margin:0!important;padding:.25rem;border:2px solid var(--farbe-linie);border-radius:.5rem;background:var(--farbe-flaeche);cursor:pointer;overflow:hidden}
.event-image-choice img{display:block;width:100%;height:76px;object-fit:cover;border-radius:.3rem}
.event-image-choice input{position:absolute;opacity:0;pointer-events:none}
.event-image-choice:has(input:checked){border-color:var(--farbe-blau);box-shadow:0 0 0 3px rgba(13,111,152,.2)}
.event-image-choice-empty{font-weight:700;text-align:center;color:var(--farbe-blau);background:var(--farbe-hell)}
@media(max-width:820px){.event-existing-image-picker{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));max-height:260px}}

/* V1: ungelesene Chaträume eindeutig markieren und Raumliste als Karten darstellen */
.community-main-tabs .site-notification-dot,.open-chat-tabs .site-notification-dot,.recent-contact .site-notification-dot,.available-chat-room .site-notification-dot{margin-left:.35rem}
.open-chat-tab.has-unread{box-shadow:0 0 0 2px rgba(210,15,47,.2)}
.open-chat-tab>a:first-child{display:inline-flex!important;align-items:center!important;gap:.35rem!important}
.recent-contact strong,.available-chat-room h3{display:flex;align-items:center;gap:.35rem}
.available-chat-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}
.available-chat-rooms .available-chat-room{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1rem;border:1px solid var(--farbe-linie);border-radius:.65rem;background:var(--farbe-flaeche);box-shadow:0 2px 7px rgba(0,0,0,.05)}
.available-chat-rooms .available-chat-room h3,.available-chat-rooms .available-chat-room p{margin:0}
.available-chat-rooms .available-chat-room .button{margin-top:auto}
.available-chat-rooms .available-chat-room.has-unread{border-color:#d20f2f;box-shadow:0 0 0 2px rgba(210,15,47,.12)}
@media(max-width:760px){.available-chat-rooms{grid-template-columns:1fr}}


/* V1.6 – Sprachwahl mit Flaggen und Eigenbezeichnungen */
.language-picker-label{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;font-weight:700}
.language-picker-label>[data-language-label]{display:inline-flex;align-items:center;min-width:max-content;font-size:1.05em}
.language-picker-label select{min-width:min(100%,300px);font-weight:600}
.first-visit-dialog .language-picker-label{margin:1rem 0;align-items:flex-start;flex-direction:column}
.first-visit-dialog .language-picker-label select{width:100%;max-width:520px}
.cookie-dialog-intro{white-space:normal}
@media(max-width:600px){.language-picker-label{align-items:stretch;flex-direction:column}.language-picker-label select{width:100%;min-width:0}}

/* V2 – Wetterkarten: saubere Breite, automatischer Umbruch und lesbare Tageskarten */
.weather-contribution,.weather-contribution *{box-sizing:border-box;min-width:0}
.weather-current{align-items:center;gap:1rem}
.weather-current-summary,.weather-facts,.weather-day{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.weather-description{white-space:normal;overflow-wrap:anywhere;hyphens:auto}
.weather-days{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:stretch}
.weather-day{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1rem}
.weather-day header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem}
.weather-day h4,.weather-day p{margin:.15rem 0}
.weather-weekend-label{display:inline-flex;border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:700;background:rgba(255,255,255,.72)}
.weather-temperatures{white-space:normal}
.weather-precip{margin-top:auto!important}
@media(max-width:640px){.weather-current{grid-template-columns:auto 1fr}.weather-facts{grid-column:1/-1}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V2 – runde Veranstaltungsaktionen rechts: Kalender/Ansehen direkt vor Audio */
.event-list-symbol-actions{justify-content:flex-end;align-items:center;width:100%}
.event-list-symbol-actions .event-audio-controls,.event-list-symbol-actions .event-audio-button{margin-left:0!important}
.event-calendar-symbol{font-size:1.2rem}


/* V6 überarbeitet – ungelesene Direktnachrichten und löschbare Unterhaltungen */
.recent-contact-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.45rem;min-width:0}
.recent-contact-card.has-unread{box-shadow:inset 4px 0 0 #d7263d}
.recent-contact{min-width:0;width:100%;box-sizing:border-box}
.recent-contact>span{min-width:0;overflow:hidden}
.recent-contact strong,.recent-contact small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-contact-delete{display:flex;align-items:stretch;justify-content:flex-end;margin:0;flex:0 0 auto}
.recent-contact-delete button{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;min-width:2.9rem;padding:0;border:1px solid var(--farbe-linie);border-radius:.55rem;background:var(--farbe-hell);color:#8b1e1e;font-size:1.45rem;cursor:pointer;box-sizing:border-box}
.recent-contact-delete button:hover,.recent-contact-delete button:focus{background:#fff0f1}
.front-notification-dot,.recent-contact-card .notification-dot{display:inline-block;width:.7rem;height:.7rem;margin-left:.35rem;border-radius:50%;background:#d7263d;vertical-align:.08rem}

/* Lange Übersetzungen dürfen den QR-Code auf dem Desktop nicht zusammendrücken. */
.event-calendar-transfer>div:first-child{flex:1 1 auto;min-width:0}
.event-calendar-transfer>.event-qr.event-qr-large{flex:0 0 250px;width:250px;min-width:250px;max-width:250px}
@media(max-width:720px){.event-calendar-transfer>.event-qr.event-qr-large{flex-basis:250px;min-width:250px;max-width:250px}}


/* V6.6 – Kennzeichnung übersetzter Chattexte und einblendbarer Originaltext */
.chat-translation-note{display:inline-block;margin-left:.45rem;font-size:.82rem;font-weight:600;color:var(--farbe-blau-dunkel);opacity:.85}
.chat-message-original{margin:.65rem 0;padding:.65rem .75rem;border-left:4px solid var(--farbe-blau);border-radius:.35rem;background:var(--farbe-hell)}
.chat-message-original[hidden]{display:none!important}
.chat-message-original strong{display:block;margin-bottom:.3rem}
.chat-message-original p{margin:.2rem 0}
.chat-original-toggle{white-space:normal}
@media(max-width:620px){.chat-translation-note{display:block;margin:.25rem 0 0}.chat-message-tools{align-items:flex-start;flex-wrap:wrap}}

/* v7.1 Radio: Miniplayer mit gemeinsamem Bedienfeld */
.radio-dock{position:fixed;left:50%;bottom:.7rem;transform:translateX(-50%);z-index:2400;width:min(94vw,860px);display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(150px,230px);grid-template-areas:"info actions volume";align-items:center;gap:.65rem;padding:.65rem .8rem;border:2px solid var(--farbe-blau);border-radius:18px;background:var(--farbe-flaeche);color:var(--farbe-text);box-shadow:0 8px 26px rgba(0,0,0,.28)}
.radio-dock[hidden]{display:none!important}
.radio-dock-info{grid-area:info;min-width:0;display:grid}
.radio-dock-info strong,.radio-dock-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radio-dock-actions{grid-area:actions;display:flex;align-items:center;gap:.42rem;padding:.34rem;border:1px solid var(--farbe-linie,#9fb7c6);border-radius:14px;background:color-mix(in srgb,var(--farbe-hell,#eef4f8) 82%,transparent)}
.radio-dock-actions button{flex:0 0 2.8rem;width:2.8rem;height:2.8rem;border-radius:50%;padding:0;margin:0}
.radio-dock-actions .radio-dock-open{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.5rem .85rem;border-radius:12px;background:var(--farbe-blau,#1d5c80);color:#fff;text-decoration:none;font-weight:800;line-height:1.1;text-align:center;white-space:normal}
.radio-dock-volume{grid-area:volume;display:flex;align-items:center;gap:.4rem;min-width:0;margin:0}
.radio-dock-volume input{min-width:80px;width:100%}
.radio-dock.is-playing{box-shadow:0 0 0 4px rgba(26,100,137,.15),0 8px 26px rgba(0,0,0,.28)}
body:has(.radio-dock:not([hidden])){padding-bottom:6.2rem}
.fixed-voice-controls{bottom:1rem}
.radio-dock:not([hidden])~.fixed-voice-controls{bottom:6.4rem}
@media(max-width:720px){
  .radio-dock{bottom:.35rem;width:calc(100vw - .8rem);max-width:none;grid-template-columns:1fr;grid-template-areas:"info" "actions" "volume";gap:.55rem;padding:.65rem;border-radius:18px}
  .radio-dock-info{padding:0 .2rem}
  .radio-dock-actions{width:100%;display:grid;grid-template-columns:minmax(58px,.7fr) minmax(58px,.7fr) minmax(120px,1.6fr);gap:.4rem;padding:.4rem;box-sizing:border-box}
  .radio-dock-actions button{justify-self:stretch;width:100%;height:3rem;border-radius:11px}
  .radio-dock-actions .radio-dock-open{width:100%;min-width:0;min-height:3rem;padding:.45rem .5rem;box-sizing:border-box}
  .radio-dock-volume{width:100%;padding:.1rem .25rem;box-sizing:border-box}
  .radio-dock:not([hidden])~.fixed-voice-controls{bottom:11rem}
  body:has(.radio-dock:not([hidden])){padding-bottom:11.5rem}
}

/* v7 Profilregister und Wohnortsuche */
.profile-tab-buttons{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1rem;border-bottom:2px solid var(--farbe-linie)}.profile-tab-buttons button{border-radius:.55rem .55rem 0 0;background:var(--farbe-hell);color:var(--farbe-blau);border:1px solid var(--farbe-linie);border-bottom:0}.profile-tab-buttons button.active{background:var(--farbe-blau);color:#fff}.profile-tab-panel[hidden]{display:none!important}.profile-location-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}.profile-location-search label{margin:0}.profile-location-results{grid-column:1/-1;display:grid;gap:.35rem;padding:.5rem;border:1px solid var(--farbe-linie);border-radius:.5rem;background:var(--farbe-flaeche)}.profile-location-results[hidden]{display:none!important}.profile-location-result{width:100%;text-align:left;background:var(--farbe-hell);color:var(--farbe-text);border:1px solid var(--farbe-linie)}.profile-radio-settings output{display:inline-block;min-width:4rem;font-weight:800}@media(max-width:650px){.profile-location-search{grid-template-columns:1fr}.profile-location-results{grid-column:1}}

.radio-dock{border-color:var(--farbe-blau,#1d5c80);background:var(--farbe-hell,#eef4f8);color:var(--farbe-text,#17212b)}.radio-dock a{color:var(--farbe-blau,#1d5c80)}


/* v7.2 Mobile: feste Sprachleiste und Veranstaltungsbutton nicht überlagern */
@media(max-width:760px){
  .fixed-voice-controls{
    left:.65rem!important;
    right:4.9rem!important;
    width:auto!important;
    transform:none!important;
    bottom:.75rem!important;
    justify-content:flex-start!important;
    border-radius:999px!important;
    border:2px solid var(--farbe-blau)!important;
    padding:.35rem!important;
  }
  .guest-event-fab{
    right:.75rem!important;
    bottom:.75rem!important;
    z-index:2055;
  }
  body{padding-bottom:5rem;}
  .radio-dock:not([hidden])~.fixed-voice-controls{bottom:11.2rem!important;right:.65rem!important;left:.65rem!important;justify-content:space-around!important}
  .radio-dock:not([hidden])~.guest-event-fab{bottom:15.1rem!important}
}


/* v7.3 Radioeinstellungen: saubere, layoutabhängige Bedienelemente */
.profile-radio-settings{display:grid;gap:.85rem;border:2px solid var(--farbe-linie);border-radius:var(--radius);padding:1rem;background:var(--farbe-hell);color:var(--farbe-text)}
.profile-radio-settings legend{padding:0 .45rem;color:var(--farbe-blau);font-weight:900}
.profile-radio-settings .check-row{display:grid;grid-template-columns:1.55rem minmax(0,1fr);align-items:center;gap:.65rem;margin:0;padding:.8rem 1rem;border:1px solid var(--farbe-linie);border-radius:.6rem;background:var(--farbe-flaeche);color:var(--farbe-text);font-weight:800;cursor:pointer}
.profile-radio-settings .check-row input[type=checkbox]{width:1.35rem;height:1.35rem;min-width:1.35rem;margin:0;accent-color:var(--farbe-blau)}
.profile-radio-settings .editor-help{margin:-.45rem 0 .1rem;padding:0 .35rem;color:var(--farbe-text);opacity:.82}
.profile-radio-settings>label:not(.check-row){display:grid;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:.75rem;margin:0;padding:.8rem 1rem;border:1px solid var(--farbe-linie);border-radius:.6rem;background:var(--farbe-flaeche);color:var(--farbe-text);font-weight:800}
.profile-radio-settings input[type=range]{width:100%;accent-color:var(--farbe-blau)}
.profile-radio-settings output{color:var(--farbe-blau);font-weight:900;text-align:right}
@media(max-width:620px){.profile-radio-settings>label:not(.check-row){grid-template-columns:1fr}.profile-radio-settings output{text-align:left}}

.radio-dock-actions .radio-dock-popup{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;flex:0 0 2.8rem;border-radius:50%;padding:0;background:var(--farbe-blau,#1d5c80);color:var(--farbe-button-text,#fff);text-decoration:none;font-weight:900;font-size:1.2rem}


/* v7.3 Radio-Titeldaten und Popup-Übergabe */
.radio-dock-track,.radio-dock-last,.radio-dock-next{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radio-dock-track{font-weight:800}.radio-dock-last,.radio-dock-next{opacity:.82}
.radio-dock{width:min(94vw,780px);gap:.55rem;padding:.55rem .72rem;border-radius:16px}.radio-dock-info{gap:.06rem}.radio-dock-info strong{font-size:1rem}.radio-dock-info small{font-size:.84rem;line-height:1.2}.radio-dock-actions{gap:.34rem;padding:.26rem .32rem}.radio-dock-actions button{flex:0 0 2.55rem;width:2.55rem;height:2.55rem}.radio-dock-actions .radio-dock-open{min-height:2.55rem;padding:.42rem .72rem;font-size:.96rem}.radio-dock-actions .radio-dock-popup,.radio-dock-actions .radio-dock-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;flex:0 0 2.55rem;border-radius:12px;padding:0;background:var(--farbe-hell,#eef4f8);color:var(--farbe-blau,#1d5c80);border:1px solid var(--farbe-linie,#9fb7c6);text-decoration:none;font-weight:900;font-size:1.05rem}.radio-dock.is-collapsed{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions";padding:.42rem .62rem}.radio-dock.is-collapsed .radio-dock-volume,.radio-dock.is-collapsed .radio-dock-last,.radio-dock.is-collapsed .radio-dock-next,.radio-dock.is-collapsed [data-radio-dock-status]{display:none!important}.radio-dock.is-collapsed .radio-dock-info{display:flex;flex-direction:column;justify-content:center;gap:.08rem}.radio-dock.is-collapsed .radio-dock-track{font-size:.87rem;font-weight:700;opacity:.9}.radio-dock.is-collapsed .radio-dock-actions{border:0;background:transparent;padding:0}.radio-dock.is-collapsed .radio-dock-actions .radio-dock-open{padding:.35rem .58rem;min-height:2.35rem;font-size:.9rem}.radio-dock.is-collapsed .radio-dock-actions button,.radio-dock.is-collapsed .radio-dock-actions .radio-dock-popup,.radio-dock.is-collapsed .radio-dock-actions .radio-dock-toggle{width:2.3rem;height:2.3rem;flex-basis:2.3rem}.radio-dock.is-collapsed .radio-dock-info strong{font-size:.95rem}@media(max-width:720px){.radio-dock{padding:.5rem .58rem}.radio-dock-actions{grid-template-columns:minmax(46px,.55fr) minmax(46px,.55fr) minmax(92px,1.15fr) minmax(42px,.5fr) minmax(42px,.5fr)!important}.radio-dock-actions button{height:2.7rem;border-radius:10px}.radio-dock-actions .radio-dock-open{min-height:2.7rem}.radio-dock.is-collapsed{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions"}.radio-dock.is-collapsed .radio-dock-actions{display:flex;width:auto}.radio-dock.is-collapsed .radio-dock-actions .radio-dock-open{display:inline-flex}.radio-dock.is-collapsed~.fixed-voice-controls{bottom:7.2rem}.radio-dock.is-collapsed~.guest-event-fab{bottom:11rem!important}}
.radio-dock-popup{display:inline-flex;align-items:center;justify-content:center;min-width:2.8rem;height:2.8rem;border-radius:12px;background:var(--farbe-hell);color:var(--farbe-blau);border:1px solid var(--farbe-linie);font-weight:900;text-decoration:none}
@media(max-width:720px){.radio-dock-actions{grid-template-columns:minmax(48px,.55fr) minmax(48px,.55fr) minmax(100px,1.35fr) minmax(48px,.55fr)}}

/* V7: Benachrichtigungspunkte auch an dynamisch angelegten Navigationsseiten */
.main-menu a > .site-notification-dot,
.main-menu-tree a > .site-notification-dot { margin-left: .38rem; }

/* v7: Untermenü kann übergeordnete, gleichrangige und untergeordnete Seiten gruppieren. */
.page-child-group-label{font-weight:800;opacity:.82;flex:0 0 auto}
.page-child-group-separator{font-weight:900;opacity:.6;flex:0 0 auto;padding:0 .15rem}


/* v9: Kompakter Starter für den externen kleinen Radioplayer */
.radio-popup-launcher{
  position:fixed;
  right:1rem;
  bottom:6.25rem;
  z-index:980;
}
.radio-popup-launcher .button{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  box-shadow:0 .35rem 1.1rem rgba(0,0,0,.28);
  text-decoration:none;
}
@media(max-width:650px){
  .radio-popup-launcher{right:.65rem;bottom:6.6rem}
  .radio-popup-launcher .button span{display:none}
  .radio-popup-launcher .button{width:3rem;height:3rem;padding:0;justify-content:center;border-radius:50%}
}

.fixed-voice-controls [data-help-tour-open]{font-size:1.15rem}

/* v10: Navigations-Hover über die vollständige Breite des Navigationsfeldes */
.menu-scroll-area>ul{width:100%;align-items:stretch}
.menu-scroll-area>ul>.menu-item{display:flex;align-items:stretch;flex:1 1 auto;min-width:max-content}
.menu-scroll-area>ul>.menu-item>a{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:center}
.main-menu .submenu a{display:flex;width:100%;box-sizing:border-box}

.fixed-voice-controls .fixed-help-control{width:auto!important;min-width:5.2rem!important;padding:0 .75rem!important;border-radius:999px!important;gap:.3rem;font-size:1rem!important}.fixed-voice-controls .fixed-help-control strong{display:inline;font-size:.86rem;line-height:1;font-weight:800}@media(max-width:760px){.fixed-voice-controls .fixed-help-control{min-width:5rem!important;padding:0 .6rem!important}.fixed-voice-controls .fixed-help-control strong{display:inline}}

/* v11: öffentliche Transparenz- und Datenauskunftsseite */
.data-overview{display:grid;gap:1rem}
.data-overview-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem;border:1px solid var(--farbe-linie,#ccd6df);border-left:7px solid var(--farbe-blau,#2f6689);border-radius:.8rem;background:var(--farbe-flaeche,#fff);color:var(--farbe-text,#17212b)}
.data-overview-hero h1{margin:.2rem 0 .45rem;color:var(--farbe-blau-dunkel,#244f6b)}.data-overview-hero p{margin:0;color:inherit}.data-overview-kicker{font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--farbe-blau,#2f6689)}.data-overview-state{padding:.25rem .65rem;border-radius:999px;background:var(--farbe-blau,#2f6689);color:var(--farbe-button-text,#fff);font-weight:900;white-space:nowrap}
.data-overview-section,.data-browser-block{padding:1rem;border:1px solid var(--farbe-linie,#ccd6df);border-radius:.75rem;background:var(--farbe-flaeche,#fff);color:var(--farbe-text,#17212b)}
.data-overview-section h2,.data-overview-section h3,.data-browser-block h3{color:var(--farbe-blau-dunkel,#244f6b)}.data-overview-section p,.data-overview-section li,.data-browser-block p{color:inherit}
.data-overview-table,.data-overview-log{width:100%;border-collapse:collapse}.data-overview-table th,.data-overview-table td,.data-overview-log th,.data-overview-log td{padding:.65rem;text-align:left;vertical-align:top;border:1px solid var(--farbe-linie,#ccd6df);background:var(--farbe-flaeche,#fff);color:var(--farbe-text,#17212b)}.data-overview-table th,.data-overview-log thead th{background:var(--farbe-hell,#f2f4f7);color:var(--farbe-blau-dunkel,#244f6b)}
.data-overview-table pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:inherit}.data-overview-note{padding:.75rem;border-left:4px solid var(--farbe-akzent,#e8bf2d);background:var(--farbe-hell,#f2f4f7)}
.data-overview-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.data-overview-columns>div{padding:.8rem;border:1px solid var(--farbe-linie,#ccd6df);border-radius:.6rem;background:var(--farbe-hell,#f2f4f7);color:var(--farbe-text,#17212b)}
[data-browser-data-overview]{display:grid;gap:.8rem;margin-top:.8rem}
@media(max-width:760px){.data-overview-hero{flex-direction:column}.data-overview-columns{grid-template-columns:1fr}}


/* v15: Datenauskunft geordnet, Cache zusammengeklappt und Direktlinks für bearbeitbare Inhalte */
.data-overview-content-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}
.data-overview-content-groups>div{padding:.9rem;border:1px solid var(--farbe-linie,#ccd6df);border-radius:.65rem;background:var(--farbe-hell,#f2f4f7);color:var(--farbe-text,#17212b)}
.data-overview-content-groups h3{margin-top:0}
.data-overview-linked-list{display:grid;gap:.7rem;margin:0;padding-left:1.25rem}
.data-overview-linked-list li{padding-bottom:.55rem;border-bottom:1px solid var(--farbe-linie,#ccd6df)}
.data-overview-linked-list li:last-child{padding-bottom:0;border-bottom:0}
.data-overview-linked-list span{display:block;margin-top:.18rem;font-size:.9rem;opacity:.82}
.data-overview-direct-link{color:var(--farbe-blau-dunkel,#244f6b)!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.data-overview-direct-link:hover,.data-overview-direct-link:focus{color:var(--farbe-blau,#2f6689)!important;text-decoration-thickness:2px}
.data-overview-cache-details{padding:0;overflow:hidden}
.data-overview-cache-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;font-weight:900;color:var(--farbe-blau-dunkel,#244f6b);background:var(--farbe-hell,#f2f4f7);list-style-position:inside}
.data-overview-cache-details>summary small{font-size:.9rem;font-weight:700;color:var(--farbe-text,#17212b);opacity:.78}
.data-overview-cache-details[open]>summary{border-bottom:1px solid var(--farbe-linie,#ccd6df)}
.data-overview-cache-content{display:grid;gap:.9rem;padding:1rem}
.data-overview-cache-content>h3,.data-overview-cache-content>p{margin:0}
@media(max-width:760px){.data-overview-cache-details>summary{align-items:flex-start;flex-direction:column}.data-overview-content-groups{grid-template-columns:1fr}}

/* v18: Vollständige Seitenstruktur in allen Layouts linksbündig darstellen.
   Die bisherige Mehrspaltenregel verschob einen einzigen großen Wurzelzweig
   (z. B. Startseite mit allen Unterseiten) in die rechte Spalte. */
.main-menu-tree > ul{
  columns:1!important;
  column-count:1!important;
  column-gap:0!important;
  width:100%;
  margin:.25rem 0;
  padding:0;
}
.main-menu-tree > ul > li{
  display:block;
  width:100%;
  margin-left:0;
  break-inside:auto;
}
.main-menu-tree > ul > li > a{
  margin-left:0;
}
.main-menu-tree ul ul{
  margin-left:1.15rem;
}

/* v21: Der Hilfebutton ist immer der mittlere feste Schnellzugriff. */
.fixed-voice-controls .fixed-help-control,
.fixed-voice-controls [data-help-fixed-help]{display:inline-flex!important;visibility:visible!important;opacity:1!important;order:2;width:auto!important;min-width:5.2rem!important;padding:0 .75rem!important;border-radius:999px!important;gap:.3rem!important}
.fixed-voice-controls [data-help-fixed-microphone]{order:1}
.fixed-voice-controls [data-help-fixed-read]{order:3}
.fixed-voice-controls [data-playback-control]{order:4}
@media(max-width:760px){.fixed-voice-controls .fixed-help-control{min-width:4.8rem!important;padding:0 .55rem!important}}

/* v37: Das schwebende Hilfeelement ist bewusst nur ein Symbol. */
.fixed-voice-controls .fixed-help-control{width:3.25rem!important;min-width:3.25rem!important;padding:.5rem!important;justify-content:center!important;gap:0!important}.fixed-voice-controls .fixed-help-control strong{display:none!important}

/* v80: gespeicherte Veranstaltungs-Festkarten und Tagesprogramm */
.event-saved-map{width:100%;height:560px;min-height:380px;border:1px solid var(--farbe-linie);border-radius:.7rem;overflow:hidden;background:#dce4e9}.event-program{margin:1.5rem 0}.event-program-day{margin:1rem 0;border:1px solid var(--farbe-linie);border-radius:.65rem;padding:1rem}.event-program-day h3{margin-top:0}.event-program-list{display:grid;gap:.55rem}.event-program-item{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.8rem;padding:.75rem;border:1px solid var(--farbe-linie);border-radius:.5rem}.event-program-item time{font-weight:800}.event-program-item div{display:grid;gap:.2rem}.event-program-item small{opacity:.78}.event-custom-marker-wrap{background:transparent;border:0}.event-custom-marker{--marker-color:#0b6f93;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--marker-color);color:white;border:3px solid white;box-shadow:var(--marker-shadow,0 2px 7px rgba(0,0,0,.35));font-weight:900;font-size:14px;line-height:1;text-align:center}.event-custom-marker.motif-circle,.event-custom-marker.motif-info,.event-custom-marker.motif-parking,.event-custom-marker.motif-wc,.event-custom-marker.motif-stage,.event-custom-marker.motif-food{border-radius:50%}.event-custom-marker.motif-square{border-radius:.35rem}.event-custom-marker.motif-star{background:transparent;color:var(--marker-color);border:0;box-shadow:none;font-size:36px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.event-custom-marker.motif-bus-stop{width:52px;height:52px;border-radius:50%;background:#078a4a;border:2px solid #d6ab00;box-shadow:0 2px 7px rgba(0,0,0,.35)}
.event-custom-marker.motif-bus-stop .event-bus-stop-inner{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ffd400;color:#0e8746;font-weight:900;font-size:30px;line-height:1;border:0}
.event-custom-marker.motif-station-sign{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;min-width:120px;width:auto;height:34px;padding:0 20px 0 14px;background:#fff;border:2px solid #222;border-radius:.15rem;color:#111;box-shadow:0 2px 5px rgba(0,0,0,.25);font-weight:800;font-size:13px;line-height:1.1;white-space:nowrap}
.event-custom-marker.motif-station-sign::after{content:"";position:absolute;right:-18px;top:50%;transform:translateY(-50%);border-top:17px solid transparent;border-bottom:17px solid transparent;border-left:18px solid #222}
.event-custom-marker.motif-station-sign::before{content:"";position:absolute;right:-14px;top:50%;transform:translateY(-50%);border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:14px solid #fff;z-index:1}
@media(max-width:700px){.event-program-item{grid-template-columns:1fr}.event-saved-map{height:430px}}

/* v80: Ein-/Mehrtages-Auswahl und Programmeditor für eingeloggte Einreicher */
.event-type-tabs{display:flex;gap:.6rem;margin:0 0 1rem}.event-type-tabs button{background:var(--farbe-flaeche);color:var(--farbe-text);border:1px solid var(--farbe-linie)}.event-type-tabs button.active{background:var(--farbe-button);color:var(--farbe-button-text);border-color:var(--farbe-button)}.event-program-editor{border:1px solid var(--farbe-linie);border-radius:.65rem;padding:1rem}.event-program-editor-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;flex-wrap:wrap}.event-program-editor-head h3{margin:0}.event-program-edit-row{display:grid;grid-template-columns:140px 110px 110px minmax(220px,1fr) minmax(180px,.8fr) minmax(180px,.8fr);gap:.55rem;align-items:end;border-top:1px solid var(--farbe-linie);padding:.8rem 0}.event-program-edit-row label{margin:0}.event-program-edit-row .program-notes{grid-column:1/-2}.event-program-edit-row>button{align-self:end}.event-program-edit-row textarea{min-height:3rem}@media(max-width:1100px){.event-program-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.event-program-edit-row .program-artist,.event-program-edit-row .program-notes{grid-column:1/-1}}@media(max-width:650px){.event-program-edit-row{grid-template-columns:1fr}.event-program-edit-row .program-artist,.event-program-edit-row .program-notes{grid-column:auto}}
.event-label-marker-wrap{background:transparent!important;border:0!important;overflow:visible!important}.event-label-marker-dot{--marker-color:#202020;position:absolute;left:3px;top:16px;width:18px;height:18px;border-radius:50%;background:var(--marker-color);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}.event-label-marker-box{position:absolute;left:28px;top:7px;min-width:90px;max-width:185px;padding:.32rem .5rem;background:var(--label-bg,#fff);color:#202020;border:1px solid var(--label-border,#8b98a2);border-radius:.18rem;box-shadow:var(--marker-shadow,0 1px 4px rgba(0,0,0,.3));font-weight:700;font-size:.82rem;line-height:1.15;white-space:normal}.event-label-marker-box::before{content:"";position:absolute;left:-10px;top:16px;width:10px;height:1px;background:#5b6268}

/* v84: versetzte Kartenmarker und gespeicherte bearbeitbare OSM-Ebene */
.event-custom-marker{color:var(--marker-text-color,#fff)!important}.event-label-marker-box{color:var(--marker-text-color,#202020)!important}.event-leader-label-box{position:absolute;left:8px;top:8px;min-width:90px;max-width:190px;padding:.35rem .55rem;background:rgba(255,255,255,.94);color:var(--marker-text-color,#202020);border:2px solid var(--marker-color,#202020);border-radius:.25rem;box-shadow:0 1px 4px rgba(0,0,0,.3);font-weight:800;font-size:.82rem;line-height:1.15;white-space:normal}.event-marker-anchor-wrap{background:transparent!important;border:0!important}.event-marker-anchor{display:block;position:absolute;left:4px;top:4px}.event-marker-anchor-triangle{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid #151515}.event-marker-anchor-dot{width:10px;height:10px;border-radius:50%;background:#151515;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.event-saved-map.event-map-vector-background{background:#f5f4f0!important}.event-osm-road-label{background:rgba(255,255,255,.82)!important;border:0!important;box-shadow:none!important;color:#3a3a3a!important;font-size:10px!important;font-weight:600!important;padding:1px 3px!important}.event-osm-road-label::before{display:none!important}

/* v86: Ankerpunkte versetzter Kartenmarker */
.event-marker-anchor-marker{width:14px;height:14px;border-radius:50%;background:var(--anchor-color,#0b6f93);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.event-marker-anchor-dot{width:9px;height:9px;border-radius:50%;background:var(--anchor-color,#151515);border:1px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.event-marker-anchor-triangle{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid var(--anchor-color,#151515);filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}

/* v87: versetzte Marker – neutrale Beschriftung und echte Ankerpunkte */
.event-leader-label-box{border:1px solid #8b98a2!important}
.event-marker-anchor-marker{width:14px;height:14px;border-radius:50%;background:var(--anchor-color,#0b6f93);border:0!important;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.event-marker-anchor-dot{width:8px;height:8px;border-radius:50%;background:var(--anchor-color,#151515);border:0!important;box-shadow:0 1px 2px rgba(0,0,0,.3)}
/* v89: Geo-Karten Editor – variable Ankergröße, Schatten und funktionierende Einstellungsgruppen */
.event-map-context-section>summary{position:relative;padding-right:2rem!important;pointer-events:auto!important}
.event-map-context-section>summary::after{content:"▸";position:absolute;right:.65rem;top:50%;transform:translateY(-50%);transition:transform .15s ease}
.event-map-context-section[open]>summary::after{transform:translateY(-50%) rotate(90deg)}
.event-map-context-section-body{pointer-events:auto!important}
.event-marker-anchor-marker{width:var(--anchor-size,14px)!important;height:var(--anchor-size,14px)!important}
.event-marker-anchor-dot{width:var(--anchor-size,8px)!important;height:var(--anchor-size,8px)!important}
.event-marker-anchor-triangle{border-left-width:calc(var(--anchor-size,12px)/2)!important;border-right-width:calc(var(--anchor-size,12px)/2)!important;border-top-width:var(--anchor-size,12px)!important}
.event-custom-marker,.event-label-marker-box,.event-leader-label-box,.event-custom-marker.motif-bus-stop,.event-custom-marker.motif-station-sign{box-shadow:var(--marker-shadow,0 2px 7px rgba(0,0,0,.35))!important}
.event-label-marker-box,.event-leader-label-box{background:var(--label-bg,#fff)!important;border-color:var(--label-border,#8b98a2)!important}
/* v91: Anker kann das ursprüngliche Markermotiv übernehmen */
.event-marker-anchor-original{display:flex;align-items:center;justify-content:center;width:var(--anchor-size,14px);height:var(--anchor-size,14px);box-sizing:border-box;background:var(--marker-color,#0b6f93);color:var(--marker-text-color,#fff);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.35);font-weight:900;font-size:max(8px,calc(var(--anchor-size,14px)*.38));line-height:1;overflow:hidden}
.event-marker-anchor-original.motif-square{border-radius:18%}
.event-marker-anchor-original.motif-star{background:transparent;border:0;color:var(--marker-color,#0b6f93);box-shadow:none;font-size:var(--anchor-size,14px);overflow:visible}
.event-marker-anchor-original.motif-bus{background:#078a4a;border-color:#d6ab00;color:#ffd400;font-size:max(9px,calc(var(--anchor-size,14px)*.55))}
.event-marker-anchor-original.motif-bus-stop-anchor{display:flex!important;align-items:center!important;justify-content:center!important;width:var(--anchor-size,14px)!important;height:var(--anchor-size,14px)!important;box-sizing:border-box!important;border-radius:50%!important;background:#078a4a!important;border:2px solid #d6ab00!important;color:#0e8746!important;padding:calc(var(--anchor-size,14px)*.14)!important;overflow:visible!important}.event-marker-anchor-original.motif-bus-stop-anchor .event-bus-stop-anchor-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#ffd400;color:#0e8746;font-weight:900;font-size:max(8px,calc(var(--anchor-size,14px)*.58));line-height:1}


/* v93: gespeicherte Veranstaltungskarten – Markergröße und Typografie */
.event-custom-marker{
  width:var(--marker-size,38px)!important;height:var(--marker-size,38px)!important;box-sizing:border-box!important;
  font-family:var(--marker-font-family,system-ui,sans-serif)!important;font-size:var(--marker-font-size,14px)!important;font-weight:var(--marker-font-weight,900)!important;
}
.event-custom-marker.motif-star{width:var(--marker-size,38px)!important;height:var(--marker-size,38px)!important;font-size:var(--marker-size,38px)!important;line-height:var(--marker-size,38px)!important}
.event-custom-marker.motif-bus-stop{width:var(--marker-size,52px)!important;height:var(--marker-size,52px)!important}
.event-custom-marker.motif-bus-stop .event-bus-stop-inner{width:calc(var(--marker-size,52px)*.7)!important;height:calc(var(--marker-size,52px)*.7)!important;font-size:calc(var(--marker-size,52px)*.58)!important}
.event-custom-marker.motif-station-sign{height:var(--marker-size,38px)!important;min-width:calc(var(--marker-size,38px)*3.2)!important;font-family:var(--marker-font-family,system-ui,sans-serif)!important;font-size:var(--marker-font-size,14px)!important;font-weight:var(--marker-font-weight,900)!important}
.event-label-marker-box,.event-leader-label-box{font-family:var(--marker-font-family,system-ui,sans-serif)!important;font-size:var(--marker-font-size,14px)!important;font-weight:var(--marker-font-weight,900)!important}
.event-label-marker-dot{width:calc(var(--marker-size,38px)*.48)!important;height:calc(var(--marker-size,38px)*.48)!important;background:var(--marker-color,#202020)!important}

/* v94 – Programm nach Tagen und grafische Karten-Symbole */
.event-program-day{padding:0!important;overflow:hidden}.event-program-day>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;cursor:pointer;background:color-mix(in srgb,var(--farbe-flaeche) 92%,var(--farbe-button) 8%)}.event-program-day>summary span{font-weight:700}.event-program-day .event-program-list{padding:.8rem}.event-program-item{grid-template-columns:minmax(120px,180px) minmax(0,1fr)!important;align-items:start}.event-program-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:.45rem}.event-program-item-body{display:grid;gap:.25rem}.event-program-item.is-current{outline:3px solid color-mix(in srgb,var(--farbe-button) 55%,transparent);background:color-mix(in srgb,var(--farbe-flaeche) 92%,var(--farbe-button) 8%)}.event-program-current{display:inline-flex;width:max-content;padding:.15rem .45rem;border-radius:999px;background:var(--farbe-button);color:var(--farbe-button-text);font-size:.78rem;font-weight:900}.event-custom-marker.motif-symbol-marker{width:var(--marker-size,38px)!important;height:var(--marker-size,38px)!important;border-radius:50%!important;color:var(--marker-text-color,#fff)!important;background:var(--marker-color,#0b6f93)!important;padding:calc(var(--marker-size,38px)*.16)!important;box-sizing:border-box}.event-custom-marker.motif-symbol-marker svg{display:block;width:100%;height:100%;fill:currentColor;stroke:currentColor}.event-marker-anchor-original.motif-symbol-marker{display:flex!important;align-items:center;justify-content:center;width:var(--anchor-size,14px)!important;height:var(--anchor-size,14px)!important;border-radius:50%;background:var(--marker-color,#0b6f93);color:var(--marker-text-color,#fff);padding:2px;box-sizing:border-box}.event-marker-anchor-original.motif-symbol-marker svg{width:100%;height:100%;fill:currentColor;stroke:currentColor}
.event-program-day-editor{border:1px solid var(--farbe-linie);border-radius:.65rem;margin:.75rem 0;overflow:hidden}.event-program-day-editor>summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;cursor:pointer}.event-program-day-editor>summary>span:first-child{display:grid}.event-program-day-body{padding:.8rem;display:grid;gap:.7rem}.event-program-day-times,.event-program-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.event-program-edit-row{display:block!important;border:1px solid var(--farbe-linie)!important;border-radius:.55rem!important;padding:.75rem!important;margin:.6rem 0!important}.event-program-priority{display:flex;justify-content:space-between;gap:.5rem}.event-program-priority>div{display:flex;gap:.35rem}.event-program-edit-grid .program-artist,.event-program-edit-grid .program-notes{grid-column:1/-1}.event-program-edit-grid .program-day-assignment{grid-column:1/-1}.program-day-assignment small{display:block;margin-top:.2rem;opacity:.72}.program-day-copy{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.45rem .6rem;align-items:end;padding:.5rem;border:1px dashed var(--farbe-linie);border-radius:.45rem}.program-day-copy label{margin:0}.program-day-copy small{grid-column:1/-1;opacity:.72}.program-day-copy .button{white-space:nowrap}.event-program-image-editor{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:.7rem;margin:.7rem 0}.event-program-image-preview{min-height:100px;border:1px dashed var(--farbe-linie);border-radius:.45rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.event-program-image-preview img{width:100%;height:140px;object-fit:cover}.event-program-image-actions{display:grid;gap:.45rem;align-content:start}.event-program-paste-zone{border:2px dashed var(--farbe-linie);border-radius:.45rem;padding:.7rem}.event-program-paste-zone:focus{outline:3px solid color-mix(in srgb,var(--farbe-button) 35%,transparent)}
@media(max-width:700px){.event-program-item,.event-program-image-editor,.event-program-day-times,.event-program-edit-grid,.program-day-copy{grid-template-columns:1fr!important}.event-program-edit-grid .program-artist,.event-program-edit-grid .program-notes,.program-day-copy small{grid-column:auto}}

/* v94 – aktueller Programmpunkt in Listen/Kalender */
.event-list-current-program{margin:.35rem 0;padding:.35rem .55rem;border-left:4px solid currentColor;font-size:.95em;font-weight:600}
.calendar-event-mini{display:flex;flex-direction:column;align-items:stretch;gap:.2rem}
.calendar-event-mini .calendar-event-title{display:block}
.calendar-event-program{display:block;font-size:.75rem;line-height:1.2;font-weight:600;opacity:.86}
.calendar-event-program.is-current{opacity:1;font-weight:800}

/* v95 – Geo-Kartenvorschau, Vollbild und Veranstaltungs-Hauptvideo */
.event-map-preview-saved{width:100%;min-width:0}
.event-map-preview-saved .event-saved-map-preview{height:184px!important;min-height:184px!important;border-radius:.55rem}
.event-list-side .event-map-preview-saved{height:184px;min-height:184px}
.event-map-fullscreen-control{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;border:0;font-size:20px;line-height:1;cursor:pointer}
.event-saved-map:fullscreen,.event-saved-map.event-map-css-fullscreen{width:100vw!important;height:100vh!important;min-height:100vh!important;border:0!important;border-radius:0!important;resize:none!important;background:#dce4e9;z-index:99999}
.event-saved-map.event-map-css-fullscreen{position:fixed!important;inset:0!important}
body.event-map-fullscreen-open{overflow:hidden!important}
.event-primary-video{position:relative;overflow:hidden;border-radius:.6rem;background:#111}
.event-primary-video video{display:block;width:100%;height:100%;object-fit:cover;background:#111}
.event-primary-video-list{width:100%;min-height:180px;max-height:250px}
.event-primary-video-list video{min-height:180px;max-height:250px}
.event-primary-video-detail{float:left;width:min(38%,380px);height:min(55vw,520px);min-height:220px;max-height:520px;margin:0 1.25rem .8rem 0}
.event-video-sound-toggle{position:absolute;right:.55rem;bottom:.55rem;z-index:3;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(0,0,0,.68);color:#fff;padding:.38rem .65rem;font:inherit;font-weight:700;cursor:pointer}
.event-video-sound-toggle:hover,.event-video-sound-toggle:focus-visible{background:rgba(0,0,0,.88)}
@media(max-width:700px){.event-primary-video-detail{float:none;width:100%;height:auto;aspect-ratio:16/9;max-height:none;margin:0 0 .8rem}.event-map-preview-saved .event-saved-map-preview{height:220px!important;min-height:220px!important}.event-list-side .event-map-preview-saved{height:220px;min-height:220px}}


/* v99 – statische Geo-Kartenvorschau und getrennte Markerform/Symbole */
.event-custom-marker.marker-shape-circle{border-radius:50%!important}
.event-custom-marker.marker-shape-square{border-radius:.28rem!important}
.event-custom-marker.motif-symbol-marker.marker-shape-circle{border-radius:50%!important}
.event-custom-marker.motif-symbol-marker.marker-shape-square{border-radius:.28rem!important}
.event-custom-marker.motif-bus-stop.marker-shape-circle{border-radius:50%!important}
.event-custom-marker.motif-bus-stop.marker-shape-square{border-radius:.28rem!important}
.event-marker-anchor-original.marker-shape-circle{border-radius:50%!important}
.event-marker-anchor-original.marker-shape-square{border-radius:18%!important}
.event-map-preview-generated{display:block;width:100%;height:184px;padding:0;border:1px solid var(--farbe-linie);border-radius:.55rem;overflow:hidden;background:#eef2f4;cursor:pointer}
.event-map-preview-generated img{display:block;width:100%;height:100%;object-fit:cover}
.event-map-preview-generated:hover,.event-map-preview-generated:focus-visible{outline:3px solid color-mix(in srgb,var(--farbe-button) 45%,transparent);outline-offset:2px}
.event-map-preview-modal{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:2rem;background:rgba(0,0,0,.72);opacity:1;visibility:visible;pointer-events:auto;transition:opacity .12s ease,visibility .12s ease}.event-map-preview-modal.is-closed{opacity:0;visibility:hidden;pointer-events:none}
.event-map-preview-modal-card{position:relative;width:min(1200px,96vw);height:min(820px,92vh);padding:1rem;border-radius:.8rem;background:var(--farbe-flaeche);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.event-map-preview-modal-card .event-saved-map{height:calc(100% - 3rem)!important;min-height:0!important}
.event-map-preview-modal-close{position:absolute;right:1rem;top:1rem;z-index:1000;width:2.7rem;height:2.7rem;border-radius:50%;padding:0!important;font-size:1.5rem;line-height:1}
.event-calendar-program-list{display:grid;gap:.18rem;margin-top:.3rem}
.event-calendar-program-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem;font-size:.78rem;line-height:1.2}
.event-calendar-program-line time{font-weight:800;white-space:nowrap}
.event-calendar-program-line.is-current{font-weight:900;color:var(--farbe-button)}
@media(max-width:700px){.event-map-preview-generated{height:220px}.event-map-preview-modal{padding:.5rem}.event-map-preview-modal-card{width:100%;height:96vh}}

/* vip.cms.v5.1.100 – öffentliches Tagesprogramm und Geo-Marker-Programm */
.event-program-compact{margin:1rem 0 0}.event-program-compact>h4{margin:.2rem 0 .55rem}.event-program-compact .event-program-day{margin:.45rem 0}.event-program-day>summary>span:first-child{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.event-program-day>summary small{font-weight:500;opacity:.72}.event-program-day-public-time{white-space:nowrap}.event-program-line-item{display:block!important;padding:.55rem .7rem!important}.event-program-line-main{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.event-program-line-main time{font-variant-numeric:tabular-nums;font-weight:800}.event-program-line-title{min-width:0}.event-program-line-marker{font-size:.92em;opacity:.86}.event-program-point-details{margin-top:.45rem;border-top:1px solid var(--farbe-linie);padding-top:.4rem}.event-program-point-details>summary{cursor:pointer;font-weight:700;width:max-content}.event-program-point-details-body{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:.8rem;padding:.65rem 0 0}.event-program-point-details-body .event-program-image{width:100%;max-height:180px;object-fit:cover}.event-program-point-details-body p{margin:0}.event-program-empty-day{margin:.25rem 0;padding:.5rem;opacity:.75}.event-map-program-toggle{display:flex;gap:.55rem;align-items:flex-start;margin:.7rem 0}.event-map-program-toggle input{margin-top:.2rem}.event-map-program-popup ul{margin:.35rem 0 0;padding-left:1.2rem}.event-map-program-popup li{margin:.2rem 0}.event-map-program-popup li.is-current{font-weight:900}.event-map-program-popup li.is-current::before{content:'Jetzt: ';color:var(--farbe-button,#12668a)}
@media(max-width:760px){.event-program-line-main{align-items:flex-start}.event-program-line-marker{flex-basis:100%}.event-program-point-details-body{grid-template-columns:1fr}}

/* v101: Marker-Zusatzinformationen und Fahrpläne */
.event-map-event-info{display:grid;gap:.45rem;min-width:220px}.event-map-event-info>strong{font-size:1.05em}.event-map-event-info img{display:block;width:100%;max-width:520px;max-height:520px;object-fit:contain;border-radius:.35rem}.event-map-event-info p{margin:.15rem 0 0}.leaflet-popup-content .event-map-event-info img{margin:.35rem 0}
.event-map-information-editor{border:1px solid var(--farbe-linie);border-radius:.65rem;padding:1rem;display:grid;gap:.8rem}.event-map-information-editor[hidden]{display:none!important}.event-map-information-row{border:1px solid var(--farbe-linie);border-radius:.55rem;padding:.8rem;display:grid;gap:.7rem}.event-map-information-head{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.event-map-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.event-map-information-grid .full{grid-column:1/-1}.event-map-information-image{display:grid;grid-template-columns:minmax(130px,220px) minmax(0,1fr);gap:.7rem}.event-map-information-image-preview{min-height:110px;border:1px dashed var(--farbe-linie);border-radius:.45rem;display:flex;align-items:center;justify-content:center;overflow:hidden}.event-map-information-image-preview img{width:100%;max-height:220px;object-fit:contain}@media(max-width:700px){.event-map-information-grid,.event-map-information-image{grid-template-columns:1fr}.event-map-information-grid .full{grid-column:auto}}

/* v102: kompakte Programmansicht, Karten-Popups und Vorschau-Bedienung */
.event-program-day>summary{list-style:none}.event-program-day>summary::-webkit-details-marker{display:none}.event-program-day-summary-right{display:flex!important;align-items:center!important;gap:.55rem!important;white-space:nowrap}.event-program-day-info-icon{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border:1px solid currentColor;border-radius:50%;font-size:.86rem;font-weight:900}.event-program-day[open] .event-program-day-info-icon{background:var(--farbe-button);color:var(--farbe-button-text);border-color:var(--farbe-button)}
.event-program-line-item{display:block!important}.event-program-compact-row{display:grid!important;grid-template-columns:minmax(0,1fr) 92px;gap:.85rem;align-items:start}.event-program-compact-copy{display:grid!important;gap:.35rem}.event-program-compact-meta{display:flex!important;align-items:center;gap:.8rem;flex-wrap:wrap}.event-program-compact-meta time{font-size:1.02rem;font-weight:900;font-variant-numeric:tabular-nums}.event-program-compact-title{display:flex!important;align-items:center;gap:.65rem;flex-wrap:wrap}.event-program-compact-title>strong{font-size:1.02rem}.event-program-thumb{width:92px;height:70px;object-fit:cover;border-radius:.45rem;border:1px solid var(--farbe-linie)}.event-program-point-details{display:inline-block;margin:0!important;padding:0!important;border:0!important}.event-program-point-details>summary{font-size:.92rem}.event-program-point-details-body{display:block!important;padding:.45rem 0 0!important}.event-program-point-details-body p{margin:0!important}
.event-map-program-popup ul{list-style:none;padding-left:0!important}.event-map-program-popup li{display:flex;align-items:flex-start;gap:.4rem}.event-map-program-short{flex:1;min-width:0}.event-map-program-info{display:inline-block;margin:0}.event-map-program-info>summary{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid #55717f;border-radius:50%;cursor:pointer;list-style:none;font-weight:900}.event-map-program-info>summary::-webkit-details-marker{display:none}.event-map-program-info>div{margin:.35rem 0 .6rem;padding:.5rem;border:1px solid #c8d2d8;border-radius:.4rem;background:#fff}.event-map-program-info img,.event-map-event-info img{display:block;max-width:280px;max-height:190px;object-fit:contain;margin:.45rem 0;border-radius:.35rem}.leaflet-popup-pane{z-index:960!important}.leaflet-tooltip-pane{z-index:930!important}
.event-map-preview-modal-actions{position:absolute;right:1rem;top:1rem;z-index:1200;display:flex;gap:.4rem}.event-map-preview-modal-actions button{width:2.7rem;height:2.7rem;padding:0!important;border-radius:.45rem;font-size:1.45rem;line-height:1}.event-map-preview-modal-card .event-map-fullscreen-control{display:none!important}.event-map-preview-modal-card.is-fullscreen{position:fixed;inset:.5rem;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;z-index:210000}.event-map-preview-modal-card.is-fullscreen .event-saved-map{height:calc(100% - 1rem)!important}.event-preview-banner{margin:1rem 0;padding:.8rem 1rem;border:2px solid #d39b00;border-radius:.55rem;background:#fff7cf;color:#332800}
@media(max-width:700px){.event-program-compact-row{grid-template-columns:minmax(0,1fr) 72px}.event-program-thumb{width:72px;height:58px}.event-program-day-summary-right{gap:.3rem!important}.event-program-day-public-time{font-size:.88rem}}
.event-map-program-popup li.is-current::before{content:none!important}.event-map-program-popup li.is-current{font-weight:900;background:rgba(18,102,138,.08);border-radius:.3rem;padding:.1rem .2rem}


.event-geo-location-link,.event-program-map-link{appearance:none;border:0;background:none;padding:0;color:var(--farbe-link,#07577a);font:inherit;text-decoration:underline;cursor:pointer}.event-geo-location-link:hover,.event-geo-location-link:focus-visible,.event-program-map-link:hover,.event-program-map-link:focus-visible{text-decoration-thickness:2px}.event-program-map-link{display:inline-flex!important;align-items:center;gap:.35rem;text-decoration:none}.event-program-map-link>span:last-child{text-decoration:underline}.event-program-marker-mini{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .22rem;background:var(--event-marker-bg);color:var(--event-marker-fg);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3);font-weight:900;font-size:.72rem;line-height:1}.event-program-marker-mini-circle{border-radius:50%}.event-program-marker-mini-square{border-radius:.28rem}.event-program-line-marker-text{display:inline-flex;align-items:center;gap:.25rem}.event-program-thumb{align-self:start}

/* v104: ruhige Programmliste und tagesweise Geo-Popups */
.event-program-compact-row{grid-template-columns:minmax(0,1fr) auto!important}
.event-program-location-link{appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:inherit!important;text-decoration:none!important;font:inherit!important;line-height:inherit!important}
.event-program-location-link>span{text-decoration:none!important}
.event-program-location-link:hover>span,.event-program-location-link:focus-visible>span{text-decoration:underline!important;text-underline-offset:.15em}
.event-program-media{display:flex!important;align-items:flex-start;justify-content:flex-end;gap:.45rem;min-width:0}
.event-program-marker-open{display:none!important;appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important;align-self:flex-start}
.event-program-line-item:has(.event-program-point-details[open]) .event-program-marker-open{display:inline-flex!important}
.event-program-point-details{display:block!important;width:100%!important;margin:.35rem 0 0!important;padding:.35rem 0 0!important;border-top:1px solid var(--farbe-linie)!important}
.event-program-point-details>summary{display:block!important;width:100%!important;box-sizing:border-box;cursor:pointer;font-weight:700;padding:.15rem 0;list-style:none}
.event-program-point-details>summary::-webkit-details-marker{display:none}
.event-program-point-details>summary::before{content:'▸ ';font-weight:900}
.event-program-point-details[open]>summary::before{content:'▾ '}
.event-program-point-details-body{padding:.45rem 0 .15rem!important}
.event-map-program-day{margin:.35rem 0;border-top:1px solid #c8d2d8;padding-top:.25rem}
.event-map-program-day:first-child{border-top:0;padding-top:0}
.event-map-program-day>summary{cursor:pointer;list-style:none;font-weight:800;padding:.2rem 0}
.event-map-program-day>summary::-webkit-details-marker{display:none}
.event-map-program-day>summary::before{content:'▸ ';font-weight:900}
.event-map-program-day[open]>summary::before{content:'▾ '}
.event-map-program-day>ul,.event-map-program-day-single>ul{margin:.35rem 0 .15rem!important}
.event-map-program-day-single>strong{display:block;margin-bottom:.25rem}
@media(max-width:700px){.event-program-media{gap:.3rem}.event-program-thumb{width:72px;height:58px}}


/* v105: breite, rahmenlose Programminfos im Geo-Popup + sichere Scrollhoehe */
.event-map-program-popup ul{margin-right:0!important}
.event-map-program-popup li{display:block!important;margin:.28rem 0!important;padding:.08rem 0!important}
.event-map-program-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:start;width:100%}
.event-map-program-short{display:block;min-width:0;line-height:1.35}
.event-map-program-info{display:contents!important}
.event-map-program-info>summary{grid-column:2;grid-row:1;align-self:start;display:inline-flex!important;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid #55717f;border-radius:50%;cursor:pointer;list-style:none;font-weight:900;box-sizing:border-box}
.event-map-program-info>summary::-webkit-details-marker{display:none}
.event-map-program-info>.event-map-program-info-body{grid-column:1/-1;grid-row:2;margin:.35rem 0 .55rem!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;width:100%;min-width:0}
.event-map-program-info-body img{display:block;width:auto;max-width:100%;max-height:240px;object-fit:contain;margin:0 0 .45rem!important;border-radius:.35rem}
.event-map-program-info-body p{margin:0!important;padding:0!important;line-height:1.42;overflow-wrap:anywhere}
.event-saved-map .leaflet-popup-content-wrapper{overflow:hidden}
.event-saved-map .leaflet-popup-content{max-height:min(68vh,520px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:.35rem;scrollbar-gutter:stable}
.event-saved-map .leaflet-popup-content.leaflet-popup-scrolled{border-bottom:0;border-top:0}
@media(max-height:620px){.event-saved-map .leaflet-popup-content{max-height:58vh}}

/* v106: kompakter Programmpunkt, echte 1:1-Marker und klickbarer Gesamtbereich */
.event-program-marker-mini{
  width:1.55rem!important;
  min-width:1.55rem!important;
  height:1.55rem!important;
  min-height:1.55rem!important;
  aspect-ratio:1 / 1!important;
  padding:0!important;
  box-sizing:border-box!important;
  flex:0 0 1.55rem!important;
}
.event-program-marker-mini-circle{border-radius:50%!important}
.event-program-marker-mini-square{border-radius:.28rem!important}
.event-program-line-item.has-program-details{cursor:pointer}
.event-program-line-item.has-program-details:focus-visible{outline:3px solid color-mix(in srgb,var(--farbe-button) 45%,transparent);outline-offset:2px}
.event-program-compact-title{display:flex!important;align-items:baseline!important;gap:.4rem!important;flex-wrap:wrap!important}
.event-program-details-toggle{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  color:var(--farbe-link,#07577a)!important;
  font:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.event-program-details-toggle::before{content:'▸ ';font-weight:900}
.event-program-line-item[data-program-details-open="1"] .event-program-details-toggle::before{content:'▾ '}
.event-program-details-toggle:hover,.event-program-details-toggle:focus-visible{text-decoration:underline!important;text-underline-offset:.15em}
.event-program-point-details-body{
  display:block!important;
  width:100%!important;
  margin:.45rem 0 0!important;
  padding:0!important;
  border:0!important;
}
.event-program-point-details-body[hidden]{display:none!important}
.event-program-point-details-body p{margin:0!important}
.event-program-marker-open{display:none!important}
.event-program-line-item[data-program-details-open="1"] .event-program-marker-open{display:inline-flex!important}


/* vip.cms.v5.1.108 – breitere Geo-Popups, Accordion-Infos und ruhige interne Links */
.event-saved-map .event-map-feature-popup .leaflet-popup-content-wrapper{
  max-width:min(680px,calc(100vw - 34px));
}
.event-saved-map .event-map-feature-popup .leaflet-popup-content{
  width:auto!important;
  min-width:min(500px,calc(100vw - 86px));
}
.event-map-feature-popup .event-map-program-info-body img{
  max-width:min(520px,100%)!important;
  max-height:280px!important;
}
.event-map-feature-popup .event-map-program-info-body p{
  max-width:none!important;
}
.event-title-link,
.event-title-link:link,
.event-title-link:visited,
.event-title-link:hover,
.event-title-link:focus,
.event-title-link:focus-visible,
.event-list-card .event-list-main h3 a,
.event-list-card .event-list-main h3 a:hover,
.event-list-card .event-list-main h3 a:focus,
.event-list-card .event-list-main h3 a:focus-visible{
  color:inherit!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.event-program-location-link,
.event-program-location-link>span,
.event-program-location-link:hover>span,
.event-program-location-link:focus-visible>span,
.event-program-map-link,
.event-program-map-link>span,
.event-program-map-link>span:last-child,
.event-program-map-link:hover>span,
.event-program-map-link:focus-visible>span,
.event-geo-location-link,
.event-geo-location-link:hover,
.event-geo-location-link:focus-visible{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.event-program-location-link,.event-program-map-link,.event-geo-location-link,.event-title-link{cursor:pointer}
@media(max-width:620px){
  .event-saved-map .event-map-feature-popup .leaflet-popup-content{min-width:0;width:auto!important}
}

/* vip.cms.v5.1.109 – Geo-Kartenansicht, echtes Vollbild und gespeicherter Vorschaubereich */
.event-map-preview-modal-card{
  width:min(1200px,96vw,calc(92vh * 1.7777778));
  height:auto!important;
  aspect-ratio:16 / 9;
}
.event-map-preview-modal-card .event-saved-map{height:100%!important;min-height:0!important}
.event-map-preview-modal-card:fullscreen,
.event-map-preview-modal-card:-webkit-full-screen{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:.65rem!important;
  border-radius:0!important;
  background:var(--farbe-flaeche,#fff)!important;
}
.event-map-preview-modal-card:fullscreen .event-saved-map,
.event-map-preview-modal-card:-webkit-full-screen .event-saved-map{height:100%!important;min-height:0!important}
.event-map-preview-modal-card:fullscreen .event-map-preview-modal-actions,
.event-map-preview-modal-card:-webkit-full-screen .event-map-preview-modal-actions{right:1rem;top:1rem}
@media(max-width:700px){
  .event-map-preview-modal-card{width:100%!important;height:96vh!important;aspect-ratio:auto!important}
}
.event-saved-map .leaflet-tooltip-pane{z-index:990!important}
.event-saved-map .leaflet-popup-pane{z-index:1000!important}


/* vip.cms.v5.1.110 – Geo-Popup-Scrollbar am äußeren Fensterrand */
.event-saved-map .event-map-feature-popup .leaflet-popup-content-wrapper{
  max-height:min(72vh,560px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.event-saved-map .event-map-feature-popup .leaflet-popup-content{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
  scrollbar-gutter:auto!important;
}
.event-saved-map .event-map-feature-popup .leaflet-popup-content.leaflet-popup-scrolled{
  border-top:0!important;
  border-bottom:0!important;
}
@media(max-height:620px){
  .event-saved-map .event-map-feature-popup .leaflet-popup-content-wrapper{max-height:62vh!important}
}

/* vip.cms.v5.1.111 – Markergröße/Anker konsistent */
.event-marker-anchor-original:not(.motif-bus-stop-anchor){background:var(--marker-color,#0b6f93)!important;}

/* vip.cms.v5.1.111 – Beschrifteter Ort: Markergröße skaliert den Punkt am festen Kartenanker */
.event-label-marker-dot{
  left:0!important;top:50%!important;transform:translateY(-50%)!important;
  width:calc(var(--marker-size,38px)*.48)!important;height:calc(var(--marker-size,38px)*.48)!important;
}
.event-label-marker-box{
  left:calc(var(--marker-size,38px)*.48 + 10px)!important;top:50%!important;transform:translateY(-50%)!important;
}
.event-label-marker-box::before{left:-10px!important;top:50%!important;transform:translateY(-50%)!important;}

/* vip.cms.v5.1.112 – versetzte Beschriftung bei Symbolmarkern */
.event-leader-label-box{
  color:var(--label-text-color,#202020)!important;
  min-width:110px!important;
  max-width:240px!important;
}

/* v113: Fest-/Geo-Karten-Vorschau wieder mit demselben Leaflet-Renderer wie im Editor. */
.event-map-preview-live-frame{position:relative;width:100%;aspect-ratio:16/9;height:auto!important;min-height:0!important;border:1px solid var(--farbe-linie);border-radius:.55rem;overflow:hidden;background:#eef2f4}
.event-map-preview-live-frame .event-saved-map-preview{height:100%!important;min-height:100%!important;border:0!important;border-radius:0!important}
.event-map-preview-live-frame .event-map-fullscreen-control{display:none!important}
.event-map-preview-live-open{position:absolute;inset:0;z-index:1500;display:block;width:100%;height:100%;margin:0;padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;cursor:pointer}
.event-map-preview-live-open:hover,.event-map-preview-live-open:focus-visible{outline:3px solid color-mix(in srgb,var(--farbe-button) 45%,transparent);outline-offset:-3px}
@media(max-width:700px){.event-map-preview-live-frame{aspect-ratio:16/9;height:auto!important;min-height:0!important}}


/* vip.cms.v5.1.114 – Kartenobjekt-Infos, Street View und stabile Infoebenen */
.event-map-streetview-option{display:flex!important;align-items:center;gap:.5rem}.event-map-streetview-option.is-disabled{opacity:.55}.event-map-streetview-option input{width:auto!important}
.event-map-streetview{margin:.7rem 0 0;display:grid;gap:.3rem}.event-map-streetview-canvas{display:block;width:100%;height:320px;min-height:240px;border-radius:.45rem;overflow:hidden;background:#e9ecef}.event-map-streetview>small{font-size:.78rem;opacity:.72}.event-map-streetview.is-unavailable .event-map-streetview-canvas{display:none}@media(max-width:700px){.event-map-streetview-canvas{height:260px;min-height:220px}}
.event-saved-map .leaflet-tooltip-pane{z-index:1180!important}.event-saved-map .leaflet-popup-pane{z-index:1200!important}

/* v115: Markerkoerper und Beschriftung bleiben geometrisch getrennt. */
.event-leader-label-box{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important}

/* v122: Eingeklappter Radioplayer als schmale Ein-Zeilen-Leiste. */
.radio-dock-open-compact{display:none}
.radio-dock:not(.is-collapsed) .radio-dock-track:not([hidden])::before{content:"Jetzt: ";font-weight:600}
.radio-dock.is-collapsed{min-height:0!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"info actions"!important;gap:.35rem!important;padding:.22rem .42rem!important;border-radius:10px!important}
.radio-dock.is-collapsed .radio-dock-info{display:flex!important;flex-direction:row!important;align-items:center!important;min-width:0!important;gap:.2rem!important;white-space:nowrap!important;overflow:hidden!important}
.radio-dock.is-collapsed .radio-dock-info strong{display:inline!important;flex:0 0 auto!important;font-size:.84rem!important;line-height:1!important;overflow:visible!important;text-overflow:clip!important}
.radio-dock.is-collapsed .radio-dock-info strong::after{content:":"}
.radio-dock.is-collapsed .radio-dock-track{display:inline!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:.84rem!important;font-weight:500!important;line-height:1!important;opacity:1!important}
.radio-dock.is-collapsed .radio-dock-actions{display:flex!important;align-items:center!important;gap:.2rem!important;width:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.radio-dock.is-collapsed .radio-dock-actions button,.radio-dock.is-collapsed .radio-dock-actions .radio-dock-popup,.radio-dock.is-collapsed .radio-dock-actions .radio-dock-toggle{width:1.8rem!important;height:1.8rem!important;min-width:1.8rem!important;min-height:1.8rem!important;flex:0 0 1.8rem!important;padding:0!important;border-radius:7px!important;font-size:.8rem!important}
.radio-dock.is-collapsed .radio-dock-actions .radio-dock-open{width:auto!important;min-width:0!important;min-height:1.8rem!important;height:1.8rem!important;padding:.15rem .38rem!important;border-radius:7px!important;font-size:.76rem!important;line-height:1!important}
.radio-dock.is-collapsed .radio-dock-open-full{display:none!important}.radio-dock.is-collapsed .radio-dock-open-compact{display:inline!important}
@media(max-width:720px){.radio-dock.is-collapsed{grid-template-columns:minmax(0,1fr) auto!important}.radio-dock.is-collapsed .radio-dock-actions{display:flex!important}.radio-dock.is-collapsed .radio-dock-info strong,.radio-dock.is-collapsed .radio-dock-track{font-size:.78rem!important}}


/* v124 – Veranstaltungsvorschau entspricht exakt dem roten 640x360-Rahmen im Geo-Editor.
   184 px Hoehe ergeben bei 16:9 exakt 327.111 px Breite. Die Kartenspalte darf deshalb
   nicht mit 1fr breiter werden, sonst bleibt rechts neben der skalierten Kartenbuehne Leerraum. */
.event-list-side{
  grid-template-columns:327.111px 184px;
  justify-content:end;
  align-items:stretch;
}
.event-list-side .event-map-preview-saved,
.event-list-side .event-map-preview-live-frame{
  width:327.111px;
  min-width:327.111px;
  max-width:327.111px;
  height:184px!important;
  min-height:184px!important;
  max-height:184px!important;
  aspect-ratio:auto!important;
  box-sizing:border-box;
}
.event-list-card{
  grid-template-columns:180px minmax(0,1fr) 524px;
}
@media(max-width:1180px){
  .event-list-card{grid-template-columns:170px 1fr}
  .event-list-side{grid-template-columns:327.111px 184px;justify-content:end;align-items:stretch}
}
@media(max-width:620px){
  .event-list-card{grid-template-columns:1fr}
  .event-list-side{grid-template-columns:1fr;justify-content:stretch}
  .event-list-side .event-map-preview-saved,
  .event-list-side .event-map-preview-live-frame{
    width:100%;
    min-width:0;
    max-width:none;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
  }
}

/* vip.cms.v5.1.125 – interaktive Geo-Vorschau nicht breiter als normale grosse Veranstaltungskarten. */
.event-map-preview-modal-card{
  width:min(900px,94vw,calc(88vh * 1.7777778))!important;
  max-width:900px!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  box-sizing:border-box;
}
.event-map-preview-modal-card.is-fullscreen,
.event-map-preview-modal-card:fullscreen,
.event-map-preview-modal-card:-webkit-full-screen{
  max-width:none!important;
}
@media(max-width:700px){
  .event-map-preview-modal-card{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:16/9!important}
}

/* vip.cms.v5.1.127 – Geo-Popup ohne unnötiges Scrollen bei kurzem Inhalt. */
.event-saved-map .event-map-feature-popup.is-compact-popup .leaflet-popup-content-wrapper{
  max-height:none!important;
  overflow:visible!important;
  scrollbar-gutter:auto!important;
}
.event-saved-map .event-map-feature-popup.is-compact-popup .leaflet-popup-content{
  width:auto!important;
  min-width:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
  scrollbar-gutter:auto!important;
}
.event-saved-map .event-map-feature-popup.is-rich-popup .leaflet-popup-content-wrapper{
  max-height:min(82vh,560px)!important;
}
/* Die interaktive Vorschau bleibt in der Breite begrenzt, erhält aber genügend Höhe
   für normale Marker-Popups. Der kleine 16:9-Ausschnitt neben dem QR-Code bleibt unverändert. */
.event-map-preview-modal-card{
  width:min(900px,94vw)!important;
  max-width:900px!important;
  height:min(560px,88vh)!important;
  min-height:min(500px,88vh)!important;
  aspect-ratio:auto!important;
}
.event-map-preview-modal-card .event-saved-map{height:100%!important;min-height:0!important}
.event-map-preview-modal-card.is-fullscreen,
.event-map-preview-modal-card:fullscreen,
.event-map-preview-modal-card:-webkit-full-screen{
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
}
@media(max-width:700px){
  .event-map-preview-modal-card{
    width:100%!important;
    max-width:none!important;
    height:min(620px,88vh)!important;
    min-height:min(440px,88vh)!important;
  }
}

/* vip.cms.v5.1.131 – Standard-Einzelortkarte optisch wie die Fest-/Geo-Karte. */
html.event-map-modal-open,
body.event-map-modal-open{overflow:hidden!important}
.event-map-dialog.event-map-dialog-v131{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.event-map-dialog.event-map-dialog-v131::backdrop{background:rgba(0,0,0,.72)!important}
.event-map-dialog-v131 .event-map-dialog-card{
  position:relative;
  width:min(900px,94vw)!important;
  max-width:900px!important;
  height:min(560px,88vh)!important;
  min-height:min(500px,88vh)!important;
  box-sizing:border-box;
  padding:.65rem;
  border:1px solid color-mix(in srgb,var(--farbe-linie,#87939b) 75%,transparent);
  border-radius:.8rem;
  background:var(--farbe-flaeche,#fff);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  overflow:hidden;
}
.event-map-dialog-v131 .event-map-dialog-actions{
  position:absolute;
  right:1rem;
  top:1rem;
  z-index:10;
  display:flex;
  gap:.4rem;
}
.event-map-dialog-v131 .event-map-dialog-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.7rem;
  height:2.7rem;
  min-width:2.7rem;
  min-height:2.7rem;
  margin:0;
  padding:0!important;
  border:1px solid rgba(255,255,255,.7);
  border-radius:.45rem;
  background:var(--farbe-button,#17658c);
  color:var(--farbe-button-text,#fff);
  box-shadow:0 2px 7px rgba(0,0,0,.24);
  font-size:1.45rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.event-map-dialog-v131 .event-map-dialog-actions button:hover,
.event-map-dialog-v131 .event-map-dialog-actions button:focus-visible{
  filter:brightness(1.08);
  outline:2px solid #fff;
  outline-offset:1px;
}
.event-map-dialog-v131 iframe{
  display:block;
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:.48rem;
  background:#e7ecef;
}
.event-map-dialog-v131 .event-map-dialog-card.is-fullscreen,
.event-map-dialog-v131 .event-map-dialog-card:fullscreen,
.event-map-dialog-v131 .event-map-dialog-card:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  min-height:0!important;
  padding:.65rem!important;
  border:0!important;
  border-radius:0!important;
  background:var(--farbe-flaeche,#fff)!important;
}
@media(max-width:700px){
  .event-map-dialog.event-map-dialog-v131{width:100%!important}
  .event-map-dialog-v131 .event-map-dialog-card{
    width:calc(100vw - 1rem)!important;
    max-width:none!important;
    height:min(620px,88vh)!important;
    min-height:min(440px,88vh)!important;
    padding:.45rem;
  }
  .event-map-dialog-v131 .event-map-dialog-actions{right:.75rem;top:.75rem}
}

/* vip.cms.v5.1.132 – alle Veranstaltungs-Karten verwenden dieselbe Vorschau- und Modal-Geometrie. */
.event-list-side .event-map-preview-small{
  width:327.111px!important;
  min-width:327.111px!important;
  max-width:327.111px!important;
  height:184px!important;
  min-height:184px!important;
  max-height:184px!important;
  aspect-ratio:auto!important;
  box-sizing:border-box;
}
.event-list-side .event-map-preview-small img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.event-map-preview-large{
  width:min(900px,100%)!important;
  max-width:900px!important;
  height:auto!important;
  aspect-ratio:16/9!important;
}
.event-map-preview-large img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}

/* Standard-Einzelortkarten benutzen ab v132 exakt das Geo-Modal als Huelle.
   Kein natives <dialog> mehr: dadurch ist die Karte immer horizontal und vertikal zentriert. */
.event-standard-map-modal .event-map-preview-modal-card{
  position:relative;
  width:min(900px,94vw)!important;
  max-width:900px!important;
  height:min(560px,88vh)!important;
  min-height:min(500px,88vh)!important;
  padding:.65rem!important;
  box-sizing:border-box;
  overflow:hidden;
}
.event-standard-map-modal iframe{
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:.48rem;
  background:#e7ecef;
}
.event-standard-map-modal .event-map-preview-modal-actions{
  right:1rem;
  top:1rem;
}
.event-standard-map-modal .event-map-preview-modal-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.7rem;
  min-height:2.7rem;
  margin:0;
  border:1px solid rgba(255,255,255,.7);
  background:var(--farbe-button,#17658c);
  color:var(--farbe-button-text,#fff);
  box-shadow:0 2px 7px rgba(0,0,0,.24);
  font-weight:800;
}
.event-standard-map-modal .event-map-preview-modal-card.is-fullscreen,
.event-standard-map-modal .event-map-preview-modal-card:fullscreen,
.event-standard-map-modal .event-map-preview-modal-card:-webkit-full-screen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  min-height:0!important;
  padding:.65rem!important;
  border:0!important;
  border-radius:0!important;
  background:var(--farbe-flaeche,#fff)!important;
}
@media(max-width:620px){
  .event-list-side .event-map-preview-small{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
  }
}
@media(max-width:700px){
  .event-standard-map-modal{padding:.5rem!important}
  .event-standard-map-modal .event-map-preview-modal-card{
    width:100%!important;
    max-width:none!important;
    height:min(620px,88vh)!important;
    min-height:min(440px,88vh)!important;
    padding:.45rem!important;
  }
  .event-standard-map-modal .event-map-preview-modal-actions{right:.75rem;top:.75rem}
}

/* vip.cms.v5.1.136 – Geo-Marker: Klickfläche entspricht nur dem sichtbaren Objekt.
   Leaflet-DivIcons für versetzte Beschriftungen sind absichtlich größer als der Text,
   damit der Text frei überlaufen kann. Die transparente Restfläche darf benachbarte
   Marker (z. B. TI/P1 oder M/Kinderflohmarkt) nicht mehr überdecken. */
.event-label-marker-wrap{pointer-events:none!important}
.event-label-marker-wrap .event-leader-label-box,
.event-label-marker-wrap .event-label-marker-box,
.event-label-marker-wrap .event-label-marker-dot{pointer-events:auto!important}

/* Chat: Bilder direkt aus der Zwischenablage einfügen */
.chat-image-paste-zone{border:2px dashed var(--farbe-linie);border-radius:.55rem;padding:.75rem;margin:.55rem 0;cursor:text;background:var(--farbe-hell);max-width:720px}.chat-image-paste-zone:focus{outline:3px solid color-mix(in srgb,var(--farbe-button) 35%,transparent);outline-offset:2px}.chat-pasted-image-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:.55rem 0}.chat-pasted-image{width:min(180px,100%);border:1px solid var(--farbe-linie);border-radius:.55rem;padding:.45rem;background:var(--farbe-hell)}.chat-pasted-image img{display:block;width:100%;height:115px;object-fit:cover;border-radius:.35rem}.chat-pasted-image-meta{font-size:.78rem;line-height:1.25;margin:.35rem 0;overflow-wrap:anywhere}.chat-pasted-image .button{width:100%;margin:0!important}
/* v182 – freiwilliger Live-Standort angemeldeter Benutzer in Veranstaltungskarten */
.event-live-location-question{position:fixed;inset:0;z-index:130000;background:rgba(0,0,0,.48);display:grid;place-items:center;padding:1rem}.event-live-location-dialog{width:min(520px,calc(100vw - 2rem));background:var(--farbe-flaeche,#fff);color:var(--farbe-text,#1b1b1b);border-radius:.8rem;padding:1.2rem;box-shadow:0 12px 38px rgba(0,0,0,.35)}.event-live-location-dialog strong{font-size:1.15rem}.event-live-location-dialog p{line-height:1.45}.event-live-location-dialog>div{display:flex;gap:.6rem;justify-content:flex-end}.event-live-location-wrap{background:transparent!important;border:0!important}.event-live-location-pin{position:relative;display:block;width:54px;height:54px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#e32636;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.4)}.event-live-location-inner{position:absolute;inset:8px;border-radius:50%;overflow:hidden;background:#fff;display:block}.event-live-location-inner img,.event-live-location-green{width:100%;height:100%;display:block;object-fit:cover}.event-live-location-green{background:#2e9b45}.event-live-location-inner>*{transform:rotate(45deg);transform-origin:center}.event-live-location-inner img{transform:rotate(45deg) scale(1.18)}


/* vip.cms.v5.1.192 – lokal gespeicherte Iconify-Symbole in GEO-Markern */
.event-marker-iconify{display:block;width:100%;height:100%;background:currentColor;-webkit-mask:var(--event-marker-icon) center/contain no-repeat;mask:var(--event-marker-icon) center/contain no-repeat}

/* vip.cms.v5.1.202 – proportionale Symbolgröße innerhalb des Markers */
.event-custom-marker.motif-symbol-marker{padding:0!important}
.event-marker-symbol-content{display:flex;align-items:center;justify-content:center;width:var(--symbol-size,70%);height:var(--symbol-size,70%);flex:0 0 auto;line-height:1}
.event-marker-symbol-graphic>svg,.event-marker-symbol-graphic>.event-marker-iconify,.event-marker-symbol-graphic>.event-marker-image{display:block;width:100%!important;height:100%!important}
.event-marker-symbol-graphic>svg{fill:currentColor;stroke:currentColor}
.event-marker-iconify{background:currentColor;-webkit-mask:var(--event-marker-icon) center/contain no-repeat;mask:var(--event-marker-icon) center/contain no-repeat}
.event-marker-image{object-fit:contain;background:transparent!important;pointer-events:none}
.event-marker-symbol-text{font-size:var(--symbol-text-size,14px);font-family:inherit;font-weight:inherit}
.event-custom-marker.motif-star .event-marker-symbol-text{font-size:var(--symbol-size,70%)}
.event-custom-marker.motif-bus-stop .event-bus-stop-inner{width:var(--symbol-size,70%)!important;height:var(--symbol-size,70%)!important;font-size:var(--symbol-bus-text-size,22px)!important}
.event-marker-anchor-original.motif-symbol-marker{padding:0!important}
.event-marker-anchor-original .event-marker-symbol-content{width:var(--anchor-symbol-size,70%);height:var(--anchor-symbol-size,70%)}
.event-marker-anchor-original .event-marker-symbol-text{font-size:var(--anchor-symbol-text-size,8px)}
.event-marker-anchor-original.motif-star .event-marker-symbol-text{font-size:var(--anchor-symbol-size,70%)}
.event-marker-anchor-original.motif-bus-stop-anchor{padding:0!important}
.event-marker-anchor-original.motif-bus-stop-anchor .event-bus-stop-anchor-inner{width:var(--anchor-symbol-size,70%)!important;height:var(--anchor-symbol-size,70%)!important;font-size:var(--anchor-symbol-bus-text-size,8px)!important}

/* v207: strukturierte Veranstaltungspreise / Ermäßigungsinfo */
.event-admission-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.7rem 0}.event-admission-legacy{display:block;margin:.7rem 0}.event-reduction-editor{margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--farbe-linie)}.event-reduction-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem .8rem;margin:.55rem 0}.event-reduction-choice-grid label{display:flex;gap:.4rem;align-items:flex-start}.event-reduction-gdb{display:flex;gap:.55rem;align-items:center;max-width:360px}.event-admission-help{display:block;margin-top:.7rem}.event-admission-structured{margin:.4rem 0}.event-admission-lines{display:grid;gap:.18rem;margin-top:.18rem}.event-admission-reduced{white-space:nowrap}.event-admission-reduction-row{display:flex;align-items:center;gap:.35rem;margin-top:.3rem}.event-reduction-info{display:inline-block;position:relative}.event-reduction-info summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid var(--farbe-linie);border-radius:999px;background:var(--farbe-hell);cursor:pointer;font-weight:700;line-height:1}.event-reduction-info summary::-webkit-details-marker{display:none}.event-reduction-info-panel{margin-top:.35rem;padding:.6rem .75rem;border:1px solid var(--farbe-linie);border-radius:.45rem;background:var(--farbe-flaeche);max-width:34rem}.event-reduction-info-panel ul{margin:.4rem 0 0;padding-left:1.35rem}
@media(max-width:820px){.event-admission-price-grid{grid-template-columns:1fr}.event-reduction-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.event-reduction-choice-grid{grid-template-columns:1fr}.event-admission-reduced{white-space:normal}}

/* v214: Standort-Routing und Einlasspunkte in veröffentlichten GEO-Karten */
.event-map-public-entrance-wrap{background:transparent!important;border:0!important}.event-map-public-entrance{display:grid;place-items:center;min-width:28px;height:28px;padding:0 3px;border:2px solid #fff;border-radius:50%;background:#e7f3e8;box-shadow:0 2px 7px rgba(0,0,0,.32);font-size:13px;line-height:1;white-space:nowrap}.event-map-public-entrance.is-car{background:#e7e7e7}.event-map-public-entrance.is-both{min-width:36px;border-radius:16px;background:linear-gradient(90deg,#e7f3e8 0 50%,#e7e7e7 50% 100%)}.event-map-route-control{max-width:min(590px,calc(100vw - 48px));background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.22)!important;border-radius:.6rem!important;box-shadow:0 3px 12px rgba(0,0,0,.22);overflow:hidden}.event-map-route-control[hidden]{display:none!important}.event-map-route-mode{display:flex;align-items:stretch;gap:1px;flex-wrap:wrap;background:rgba(0,0,0,.09)}.event-map-route-mode button{appearance:none;border:0;border-radius:0;background:#fff;color:#1e2932;padding:.48rem .62rem;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.event-map-route-mode button:hover,.event-map-route-mode button:focus-visible{background:#dfe8ee!important;color:#10202a!important;outline:2px solid #0b6f93;outline-offset:-2px}.event-map-route-mode button[data-route-mode="foot"].active{background:#d9dde0;color:#222}.event-map-route-mode button[data-route-mode="car"].active{background:#d9e8f3;color:#163a55}.event-map-route-mode button[data-route-mode="bike"].active{background:#dcecdf;color:#244b2e}.event-map-route-mode button[data-route-mode="transit"].active{background:#f6e3cc;color:#5c3610}.event-map-route-mode button[data-route-close]{margin-left:auto;min-width:34px;font-size:1.15rem}.event-map-route-status{padding:.5rem .65rem;background:#fff;color:#222;font-size:.9rem;line-height:1.3}.event-map-transit-dialog{position:absolute;z-index:1600;left:50%;bottom:76px;transform:translateX(-50%);width:min(560px,calc(100% - 28px));max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid #7c8992;border-radius:.75rem;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:.8rem;color:#1e2932}.event-map-transit-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.65rem}.event-map-transit-head>strong{font-size:1.05rem}.event-map-transit-head button{border:0;border-radius:.45rem;background:#166b8f;color:#fff;font-weight:800;font-size:1.2rem;min-width:38px;height:38px;cursor:pointer}.event-map-transit-dialog label{display:grid;gap:.3rem;font-weight:700}.event-map-transit-dialog select{width:100%;padding:.52rem;border:1px solid #87939c;border-radius:.4rem;background:#fff;color:#222}.event-map-transit-results{display:grid;gap:.45rem;margin-top:.7rem}.event-map-transit-journey{display:grid;gap:.18rem;width:100%;text-align:left;border:1px solid #c5ccd1;border-radius:.5rem;background:#fff;color:#222;padding:.55rem .65rem;cursor:pointer}.event-map-transit-journey:hover,.event-map-transit-journey:focus-visible{background:#fff2df;border-color:#d8892e;color:#222}.event-map-transit-journey span,.event-map-transit-journey small{display:block}.event-map-transit-source{display:block;margin-top:.65rem;color:#59636e}.event-saved-map-preview .event-map-route-control,.event-saved-map-preview .event-map-transit-dialog{display:none!important}

/* v220: dynamische Bereichslegende, manueller Ausgangspunkt und Parkplatz-Alternativen */
.event-map-location-legend{display:grid;gap:.35rem;max-width:min(260px,calc(100vw - 70px));padding:.45rem!important;background:rgba(255,255,255,.96)!important;color:#1e2932!important;border:1px solid rgba(0,0,0,.24)!important;border-radius:.55rem!important;box-shadow:0 3px 12px rgba(0,0,0,.2)!important}.event-map-location-legend-regions{display:grid;gap:.3rem}.event-map-location-legend-regions[hidden]{display:none!important}.event-map-region-button,.event-map-manual-origin-button{appearance:none;width:100%;border:1px solid #6f7f89;border-radius:.4rem;background:#fff;color:#1e2932;padding:.45rem .55rem;font:inherit;font-weight:750;text-align:left;cursor:pointer;line-height:1.2}.event-map-region-button:hover,.event-map-region-button:focus-visible,.event-map-manual-origin-button:hover,.event-map-manual-origin-button:focus-visible{background:#e7f0f5!important;color:#10202a!important;border-color:#166b8f!important;outline:2px solid #166b8f;outline-offset:1px}.event-map-location-legend small{display:block;max-width:230px;line-height:1.25;color:#4c5860}.event-map-manual-origin-wrap{background:transparent!important;border:0!important}.event-map-manual-origin{display:grid;place-items:center;width:32px;height:32px;border:3px solid #fff;border-radius:50%;background:#166b8f;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.38);font-size:21px;font-weight:900;line-height:1}.event-map-route-mode button[data-route-alternative]{background:#fff8df;color:#5e4300}.event-map-route-mode button[data-route-alternative]:hover,.event-map-route-mode button[data-route-alternative]:focus-visible{background:#f7e7ad!important;color:#3f2d00!important}.event-saved-map-preview .event-map-location-legend{display:none!important}
@media(max-width:700px){.event-map-location-legend{max-width:min(220px,calc(100vw - 64px));padding:.35rem!important}.event-map-region-button,.event-map-manual-origin-button{font-size:.88rem;padding:.4rem .45rem}}

/* v225: kurze Meldung bei automatisch verbesserter Routing-Variante */
.event-map-route-toast{position:absolute;z-index:1650;top:14px;left:50%;transform:translateX(-50%);max-width:min(92%,420px);padding:.55rem .85rem;border:1px solid rgba(22,107,143,.35);border-radius:.55rem;background:rgba(255,255,255,.97);color:#153544;font-weight:800;box-shadow:0 5px 18px rgba(0,0,0,.22);pointer-events:none;text-align:center}
.event-map-route-toast[hidden]{display:none!important}

/* v229: kompaktere Kartenbedienung, insbesondere auf Mobilgeräten. */
.event-map-manual-origin-button{display:flex;align-items:center;gap:.38rem}.event-map-manual-origin-dot{display:inline-grid;place-items:center;flex:0 0 auto;width:1.65rem;height:1.65rem;border-radius:50%;background:#166b8f;color:#fff;font-size:1rem;line-height:1}.event-map-manual-origin-text{min-width:0}
@media(max-width:700px){
  .event-map-location-legend{max-width:min(172px,calc(100vw - 54px));padding:.28rem!important;gap:.22rem;border-radius:.48rem!important}
  .event-map-location-legend-regions{gap:.22rem}
  .event-map-region-button{width:auto;min-width:0;max-width:164px;font-size:.78rem;padding:.3rem .4rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:clip}
  .event-map-manual-origin-button{width:34px;height:34px;min-width:34px;padding:0!important;border-radius:50%;justify-content:center;margin-top:.05rem}
  .event-map-manual-origin-button .event-map-manual-origin-dot{width:28px;height:28px;font-size:1.05rem}
  .event-map-manual-origin-button .event-map-manual-origin-text{display:none}
  .event-map-location-legend small{max-width:160px;font-size:.72rem;line-height:1.15}
  .event-map-route-control{max-width:calc(100vw - 20px);border-radius:.5rem!important}
  .event-map-route-mode{gap:1px}
  .event-map-route-mode button{padding:.42rem .48rem;font-size:.8rem;flex:0 1 auto}
  .event-map-route-mode button[data-route-alternative]{order:8}
  .event-map-route-mode button[data-route-close]{order:9;margin-left:auto;min-width:36px}
  .event-map-route-status{font-size:.8rem;padding:.42rem .5rem;line-height:1.2}
}

/* v233: Ausgangspunkt als kompakte Leaflet-Steuerung direkt rechts neben +/- */
.event-map-manual-origin-control.leaflet-control{position:absolute;top:0;left:50px;margin:10px 0 0!important;z-index:1200;background:transparent!important;border:0!important;box-shadow:none!important;clear:none!important}
.event-map-manual-origin-control .event-map-manual-origin-button{display:grid!important;place-items:center;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;margin:0!important;border:1px solid rgba(0,0,0,.28)!important;border-radius:4px!important;background:#fff!important;color:#166b8f!important;text-align:center!important;box-shadow:0 1px 5px rgba(0,0,0,.18);cursor:pointer}
.event-map-manual-origin-control .event-map-manual-origin-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#166b8f;color:#fff;font-size:1.05rem;line-height:1}
.event-map-manual-origin-control .event-map-manual-origin-button:hover,.event-map-manual-origin-control .event-map-manual-origin-button:focus-visible,.event-map-manual-origin-control .event-map-manual-origin-button.is-active{background:#e7f0f5!important;border-color:#166b8f!important;outline:2px solid #166b8f;outline-offset:1px}
.event-saved-map-preview .event-map-manual-origin-control{display:none!important}
@media(max-width:700px){.event-map-manual-origin-control.leaflet-control{left:50px;margin-top:10px!important}.event-map-location-legend{max-width:min(172px,calc(100vw - 54px));}}

/* v237: Tooltip-/Popup-Deckkraft pro GEO-Karte als gesamte Einheit, damit keine inneren weißen Streifen entstehen. */
.event-saved-map .leaflet-tooltip,.event-saved-map .leaflet-popup{opacity:var(--event-map-tooltip-opacity,.9)!important}


/* vip.cms.v5.1.238 – GEO-Popups: komplette Deckkraft, mobile Breite, Marker-Synchronisierung */
.event-saved-map .leaflet-tooltip,
.event-saved-map .leaflet-popup{opacity:var(--event-map-tooltip-opacity,.9)!important}
.event-saved-map .event-map-feature-popup .event-map-program-info-body,
.event-saved-map .event-map-feature-popup .event-map-program-info-body>p{background:transparent!important}
.event-program-marker-mini{
  width:var(--event-program-marker-size,28px)!important;
  height:var(--event-program-marker-size,28px)!important;
  min-width:var(--event-program-marker-size,28px)!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  overflow:hidden;background:var(--event-marker-bg,#12668a)!important;
  color:var(--event-marker-fg,#fff)!important;
  box-sizing:border-box;
}
.event-program-marker-mini-circle{border-radius:50%!important}
.event-program-marker-mini-square{border-radius:18%!important}
.event-program-marker-mini-image,
.event-program-marker-mini-mask,
.event-program-marker-mini-svg{
  width:var(--event-program-symbol-size,20px)!important;
  height:var(--event-program-symbol-size,20px)!important;
  max-width:var(--event-program-symbol-size,20px)!important;
  max-height:var(--event-program-symbol-size,20px)!important;
  display:block!important;flex:0 0 auto;
}
.event-program-marker-mini-image{object-fit:contain}
.event-program-marker-mini-mask{background:currentColor;mask:var(--event-program-marker-icon) center/contain no-repeat;-webkit-mask:var(--event-program-marker-icon) center/contain no-repeat}
.event-program-marker-mini-svg svg{display:block;width:100%;height:100%;fill:currentColor;color:currentColor}
.event-program-marker-mini-text{font-size:var(--event-program-font-size,14px);font-weight:var(--event-program-font-weight,900);line-height:1;max-width:94%;overflow:hidden;text-overflow:clip;white-space:nowrap}
@media(max-width:700px){
  .event-saved-map .event-map-feature-popup.is-rich-popup .leaflet-popup-content-wrapper{
    width:min(94vw,560px)!important;max-width:min(94vw,560px)!important;box-sizing:border-box;
  }
  .event-saved-map .event-map-feature-popup.is-rich-popup .leaflet-popup-content{
    width:auto!important;min-width:0!important;max-width:none!important;
    margin:12px 16px!important;overflow-x:hidden!important;overflow-wrap:anywhere;
  }
  .event-saved-map .event-map-feature-popup .leaflet-popup-close-button{z-index:8;top:2px;right:2px}
  .event-map-program-popup,.event-map-program-row,.event-map-program-short{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
/* vip.cms.v5.1.238 – vollständigeres Abbild der gespeicherten GEO-Markereigenschaften im Programm */
.event-program-marker-mini{font-family:var(--event-program-font-family,system-ui,sans-serif)!important;box-shadow:var(--event-program-marker-shadow,0 2px 6px rgba(0,0,0,.22))!important}
.event-program-marker-mini-star{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--event-marker-bg,#12668a)!important;font-size:var(--event-program-marker-size,28px)!important;overflow:visible!important}
.event-program-marker-mini-star .event-program-marker-mini-text{font-size:var(--event-program-symbol-size,20px)!important;line-height:1}
.event-program-marker-mini-station{width:auto!important;min-width:calc(var(--event-program-marker-size,28px)*3.2)!important;max-width:min(240px,42vw)!important;padding:0 .7rem!important;border-radius:.15rem!important;background:#fff!important;color:#111!important;border:2px solid #222!important;overflow:visible!important;white-space:nowrap}
.event-program-marker-mini-station::after{content:"";position:absolute;right:calc(var(--event-program-marker-size,28px)*-.45);top:50%;transform:translateY(-50%);border-top:calc(var(--event-program-marker-size,28px)*.5) solid transparent;border-bottom:calc(var(--event-program-marker-size,28px)*.5) solid transparent;border-left:calc(var(--event-program-marker-size,28px)*.45) solid #222}
.event-program-marker-mini-station::before{content:"";position:absolute;right:calc(var(--event-program-marker-size,28px)*-.34);top:50%;transform:translateY(-50%);border-top:calc(var(--event-program-marker-size,28px)*.39) solid transparent;border-bottom:calc(var(--event-program-marker-size,28px)*.39) solid transparent;border-left:calc(var(--event-program-marker-size,28px)*.34) solid #fff;z-index:1}
.event-program-marker-mini-station{position:relative}
.event-program-marker-mini-label{width:auto!important;min-width:calc(var(--event-program-marker-size,28px)*3.2)!important;max-width:min(250px,48vw)!important;height:auto!important;min-height:var(--event-program-marker-size,28px)!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;justify-content:flex-start!important;gap:.35rem}
.event-program-marker-label-dot{width:calc(var(--event-program-marker-size,28px)*.48);height:calc(var(--event-program-marker-size,28px)*.48);flex:0 0 auto;border-radius:50%;background:var(--event-marker-bg,#12668a);border:2px solid #fff;box-shadow:var(--event-program-marker-shadow,0 2px 6px rgba(0,0,0,.22))}
.event-program-marker-label-box{display:block;min-width:70px;max-width:190px;padding:.28rem .45rem;background:var(--event-program-label-bg,#fff);color:#202020;border:1px solid var(--event-program-label-border,#8b98a2);border-radius:.18rem;box-shadow:var(--event-program-marker-shadow,0 2px 6px rgba(0,0,0,.22));font-family:var(--event-program-font-family,system-ui,sans-serif);font-size:var(--event-program-font-size,14px);font-weight:var(--event-program-font-weight,900);line-height:1.15;white-space:normal;overflow-wrap:anywhere}

/* vip.cms.v5.1.249 – Kartensteuerung wie v240, ausschließlich neu positioniert.
   Keine Marker-/Label-Panes und keine Objekt-Darstellungsebenen werden verändert. */
.event-saved-map{position:relative}
.event-map-route-control{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:850;width:min(720px,calc(100% - 180px));max-width:min(720px,calc(100vw - 48px))}
.event-map-route-mode button[data-route-print]{background:#eef4f8;color:#12364c}
.event-map-route-status{display:grid;gap:.16rem}
.event-map-route-status-line{display:block}
.event-map-route-status-line.is-note{font-size:.84rem;color:#5b6770}
.event-map-manual-origin-control.leaflet-control{position:relative!important;top:auto!important;left:auto!important;margin:10px 10px 0 0!important;z-index:auto!important;clear:both!important}
.event-map-manual-origin-control .event-map-manual-origin-button{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;padding:0!important;margin:0!important}
.event-map-manual-origin-control .event-map-manual-origin-dot{width:28px!important;height:28px!important}
.event-saved-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:58px!important}
.event-saved-map .leaflet-top.leaflet-right .event-map-manual-origin-control.leaflet-control{margin-top:10px!important}
.event-map-preview-modal-card .event-saved-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:64px!important}
.event-map-preview-modal-card .event-saved-map .leaflet-top.leaflet-right .event-map-manual-origin-control.leaflet-control{margin-top:10px!important}
@media(max-width:700px){
  .event-saved-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:56px!important}
  .event-map-preview-modal-card .event-saved-map .leaflet-top.leaflet-right .leaflet-control-zoom{margin-top:60px!important}
  .event-map-route-control{left:8px;right:8px;bottom:8px;transform:none;width:auto;max-width:none}
}

/* vip.cms.v5.1.251 – Live-Navigation nur bei echtem GPS-Standort. */
.event-map-route-mode button[data-route-start]{background:#e5f4e8;color:#174b25}
.event-map-route-mode button[data-route-start]:hover,.event-map-route-mode button[data-route-start]:focus-visible,.event-map-route-mode button[data-route-start].is-active{background:#cfe9d5!important;color:#123b1d!important}
.event-map-live-navigation{display:grid;gap:.16rem;padding:.55rem .7rem;border-top:1px solid rgba(0,0,0,.12);background:#f8fbfd;color:#172a35;font-size:.92rem;line-height:1.3}
.event-map-live-navigation[hidden]{display:none!important}
.event-map-live-navigation strong,.event-map-live-navigation span{display:block}
@media(max-width:700px){.event-map-live-navigation{font-size:.82rem;padding:.45rem .52rem}}

/* vip.cms.v5.1.253 – Testregler für den Vorlauf der Live-Navigationsansage */
.event-map-live-navigation-tuning{display:grid;grid-template-columns:minmax(0,1fr);gap:.28rem;padding:.5rem .7rem;border-top:1px solid rgba(0,0,0,.1);background:#fff;color:#263844;font-size:.82rem;line-height:1.2}
.event-map-live-navigation-tuning[hidden]{display:none!important}
.event-map-live-navigation-tuning>span{display:block}
.event-map-live-navigation-tuning input[type=range]{width:100%;margin:0;accent-color:#166b8f}
.event-map-live-navigation-tuning small{display:block;color:#5b6770}
@media(max-width:700px){.event-map-live-navigation-tuning{padding:.42rem .52rem;font-size:.78rem}}


/* vip.cms.v5.1.256 – GEO-Marker-Popups in allen Layouts kontrastreich und themeabhängig.
   Die gespeicherte Tooltip-Deckkraft betrifft nur den Hintergrund; Text und Bilder bleiben lesbar. */
.event-saved-map .event-map-feature-popup{
  opacity:1!important;
  color:var(--farbe-text,#18222c)!important;
}
.event-saved-map .event-map-feature-popup .leaflet-popup-content-wrapper,
.event-saved-map .event-map-feature-popup .leaflet-popup-tip{
  background:color-mix(in srgb,var(--farbe-flaeche,#fff) var(--event-map-tooltip-opacity-pct,90%),transparent)!important;
  color:var(--farbe-text,#18222c)!important;
  border-color:var(--farbe-linie,#c9d2da)!important;
}
.event-saved-map .event-map-feature-popup .leaflet-popup-content,
.event-saved-map .event-map-feature-popup .event-map-event-info,
.event-saved-map .event-map-feature-popup .event-map-program-popup,
.event-saved-map .event-map-feature-popup .event-map-program-day,
.event-saved-map .event-map-feature-popup .event-map-program-day-single,
.event-saved-map .event-map-feature-popup .event-map-program-row,
.event-saved-map .event-map-feature-popup .event-map-program-short,
.event-saved-map .event-map-feature-popup .event-map-program-info-body,
.event-saved-map .event-map-feature-popup .event-map-program-info-body>p{
  color:var(--farbe-text,#18222c)!important;
  -webkit-text-fill-color:currentColor!important;
}
.event-saved-map .event-map-feature-popup hr,
.event-saved-map .event-map-feature-popup .event-map-program-day{
  border-color:var(--farbe-linie,#c9d2da)!important;
}
.event-saved-map .event-map-feature-popup .event-map-program-info>div{
  background:color-mix(in srgb,var(--farbe-flaeche,#fff) 94%,transparent)!important;
  color:var(--farbe-text,#18222c)!important;
  border-color:var(--farbe-linie,#c9d2da)!important;
}
.event-saved-map .event-map-feature-popup .leaflet-popup-close-button{
  color:var(--farbe-text,#18222c)!important;
  -webkit-text-fill-color:currentColor!important;
}
