/* Dialog-Styles */
.jh-dialog {
    position: fixed;
    left: 20%;
    right: 20%;
    top: 20px;
    bottom: 20px;
    z-index: 80000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jh-dialog-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.267); /* #00000044 */
    z-index: -1;
}

.jh-dialog-content {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    width: 100%;
    height: auto;
    max-height: calc(100vh - 40px);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.jh-dialog-body {
    padding: 25px 60px 40px 20px;
    overflow-y: auto;
    max-height: calc(100vh - 40px);
}

.jh-dialog-close {
    position: absolute;
    top: 13px;
    right: 13px;
    width: 44px;
    height: 44px;
    border-radius: 4px;
    color:white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1;
    transition: all 0.2s ease;
    font-size:1.6rem;
}

.jh-dialog-close:hover {
    background-color: white;
    color:#444;
}
.jh-style-jugendhaus .jh-dialog-close:hover {
    color:var(--jh-jugendhaus);
}
.jh-style-kinder .jh-dialog-close:hover {
    color:var(--jh-kinder);
}
.jh-style-ebersberg .jh-dialog-close:hover {
    color:var(--jh-ebersberg);
}
.jh-style-theater .jh-dialog-close:hover {
    color:var(--jh-theater);
}
.jh-style-jugend .jh-dialog-close:hover {
    color:var(--jh-jugend);
}
.jh-style-treff .jh-dialog-close:hover {
    color:var(--jh-treff);
}

/* Event Details Styling */

.jh-event-section {
    color: white !important;
    background:#666;
    padding: 15px 60px 10px 20px;
    margin: -25px -60px 0px -20px;
    font-size:1.2rem;
    line-height:2.6rem;
    text-transform: uppercase;
    font-weight:bold;
}
.jh-dialog-content h1 {
    font-size:2.2rem;
    line-height:100%;
    margin:30px 0 0 0;
    padding:0;
}
.jh-dialog-content h2.jh-dialog-event-date {
    font-size:1.6rem;
    line-height:100%;
    margin:16px 0 0 0;
    padding:0;
}
.jh-dialog-content h3.jh-dialog-event-location {
    font-weight:normal !important;
    line-height:100%;
    margin:20px 0 0 0;
    padding:0;
    color:#444;
}
.jh-dialog-event-details.jh-text-bild-block {
    margin-top:50px;
}
.jh-dialog-content  {
    line-height:100%;
    margin:0;
    padding:0;
}

.jh-style-jugendhaus .jh-event-section {
    background:var(--jh-jugendhaus);
}
.jh-style-ebersberg .jh-event-section {
    background:var(--jh-ebersberg);
}
.jh-style-theater .jh-event-section {
    background:var(--jh-theater);
}
.jh-style-jugend .jh-event-section {
    background:var(--jh-jugend);
}
.jh-style-kinder .jh-event-section {
    background:var(--jh-kinder);
}


.jh-dialog-event-date {
    font-size:1.7rem;
    line-height:120%;
    margin-top:20px;
}

.jh-dialog-event-location {
    margin-top:10px;
    font-weight:bold;
    font-size:1.2rem;
    line-height:110%;
}

.jh-dialog-event-details,
.jh-dialog-event-details * {
    margin-top:30px;
}


/* Füge eine Klasse für vertikale Zentrierung hinzu, 
   falls der Dialog klein genug ist */
.jh-dialog.vertically-centered .jh-dialog-content {
    margin: auto 0;
}

@media (max-width: 767.98px) {
    .jh-dialog-body {
        padding: 25px 55px 40px 15px;
    }
    .jh-dialog-close {
        top: 6px;
        right: 6px;
        font-size:1.2rem;
    }
    .jh-dialog-content h1 {
        font-size: 1.6rem;
        line-height:120%;
    }
    .jh-dialog-content h2 {
        font-size: 1.2rem;
        line-height:120%;
    }
    .jh-dialog {
        left: 20px;
        right: 20px;
    }

    .jh-dialog-event-date {
        font-size: 1.2rem;
        line-height:120%;
    }
}