.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)}
.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{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-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-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}
.footer-cookie-button{border:0;background:transparent;color:inherit;text-decoration:underline;padding:0;font:inherit;cursor:pointer;text-align:left}
.first-visit-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.72)}
.first-visit-overlay[hidden]{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-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}
