/* ==========================================================================
   REDESIGN EVENT2.HEBAMMENZENTRUM.AT (ANALOG ZU WWW2.HEBAMMENZENTRUM.AT)
   ========================================================================== */

/* 1. MENÜ & GLOBALE LINKFARBEN */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
    color: #7a6300 !important;
    font-size: 1.1rem !important;
}

.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.active:hover > a,
.sp-megamenu-parent > li:hover > a {
    color: #7a6300 !important;
    font-weight: bold !important;
}

a:hover, a:focus, a:active {
    color: #9763C4;
}

/* 2. SEITEN-ÜBERSCHRIFTEN (H1) ALS BRAUNER BANNER */
h1.eb-page-heading,
.eb-container > h1,
#eb-event-page h1.eb-page-heading {
    background-color: #7a6300 !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    font-size: 1.3rem !important;
    line-height: 1.35 !important;
    margin: 20px 0 25px 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}

/* 3. KATEGORIE- & EVENT-KACHELN */
.eb-category,
.eb-event,
.eb-event-container,
#eb-categories .eb-category,
#eb-events .eb-event {
    border: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background-color: #e3e6c4 !important;
    margin-bottom: 25px !important;
    box-shadow: none !important;
}

#eb-categories .eb-box-heading,
#eb-events .eb-box-heading,
#eb-event-page .eb-box-heading,
.eb-box-heading {
    background-color: #7a6300 !important;
    color: #ffffff !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 15px 20px !important;
    border: none !important;
    margin: 0 !important;
}

/* Wenn eine Kategorie keinen Beschreibungstext hat: unten ebenfalls runde Ecken */
.eb-category .eb-box-heading:last-child,
.eb-category:not(:has(.eb-description)) .eb-box-heading {
    border-radius: 10px !important;
}

.eb-box-heading h2,
.eb-box-heading .eb-category-title,
.eb-box-heading .eb-event-title,
.eb-category-title-link,
.eb-event-title a {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    text-decoration: none !important;
}

.eb-category-title-link:hover,
.eb-event-title a:hover {
    text-decoration: underline !important;
    color: #ffffff !important;
}

.eb-description {
    padding: 20px !important;
    color: #18196b !important;
    background-color: #e3e6c4 !important;
    border-radius: 0 0 10px 10px !important;
}

/* Kategorie-Einleitungstext mit sauberem seitlichen Innenabstand (bündig zu den Überschriften) */
.eb-category-description {
    color: #18196b !important;
    padding: 4px 20px 10px 20px !important;
    margin-bottom: 20px !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
}

.eb-category-description p:last-child {
    margin-bottom: 0 !important;
}

/* 3b. SYSTEM- & HINWEISMELDUNGEN (z. B. "Veranstaltung abgesagt" in Violett/Weiß) */
.eb-container .alert,
.eb-container .alert-info,
.eb-event .alert,
.eb-event .alert-info,
p.alert.alert-info {
    background-color: #9763C4 !important;
    border-color: #9763C4 !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    font-weight: bold !important;
    margin: 15px 20px !important;
    box-shadow: none !important;
}

.eb-container .alert a,
p.alert.alert-info a {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* 4. KURS-DETAILANSICHT & TERMIN-TABELLE (EINZELKACHELN) */
.eb-event-short-description,
.eb-event .eb-description,
.eb-event .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    color: #18196b !important;
    background-color: #e3e6c4 !important;
}

/* Wenn ein Kurs eigenen Beschreibungstext/Bild hat: sauberer Innenabstand auf allen Geräten */
.eb-event .eb-description-details {
    margin: 0 !important;
    padding: 15px 20px 5px 20px !important;
    width: 100% !important;
    color: #18196b !important;
    background-color: #e3e6c4 !important;
    box-sizing: border-box !important;
    line-height: 1.55 !important;
}

.eb-event .eb-description-details p:last-child {
    margin-bottom: 0 !important;
}

/* Leere linke Spalte (.col-md-7) komplett ausblenden */
.eb-event .col-md-7:empty,
.eb-description-details.col-md-7:not(:has(p:not(:empty))):not(:has(img)) {
    display: none !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Äußerer Container der Tabelle */
.eb-event-properties-table,
.eb-event-properties-table.col-md-5 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 15px 20px !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Falls ein Kurs links doch eigenen Text/Bild hat: 50/50 Aufteilung auf Desktop */
@media (min-width: 769px) {
    .eb-description-details:has(p:not(:empty)),
    .eb-description-details:has(img) {
        width: 50% !important;
        flex: 0 0 50% !important;
        padding: 15px 20px !important;
    }
    .eb-description-details:has(p:not(:empty)) + .eb-event-properties-table.col-md-5,
    .eb-description-details:has(img) + .eb-event-properties-table.col-md-5 {
        width: 50% !important;
        flex: 0 0 50% !important;
    }
}

/* Die eigentliche weiße Tabelle in den Kacheln */
.eb-event-properties-table table.table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    background-color: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: none !important;
    margin: 0 !important;
    box-shadow: none !important;
    border-collapse: collapse !important;
    box-sizing: border-box !important;
}

/* Graue Bootstrap-Streifen (table-striped) abschalten & dezentes Creme-Grün setzen */
.eb-event-properties-table table.table > tbody > tr,
.eb-event-properties-table table.table-striped > tbody > tr:nth-of-type(odd) > *,
.eb-event-properties-table table.table-striped > tbody > tr:nth-of-type(even) > * {
    --bs-table-accent-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
    background-color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

.eb-event-properties-table table.table > tbody > tr:nth-of-type(even) > td,
.eb-event-properties-table table.table-striped > tbody > tr:nth-of-type(even) > td {
    --bs-table-accent-bg: #f1f3dc !important;
    --bs-table-striped-bg: #f1f3dc !important;
    background-color: #f1f3dc !important;
}

/* Tabellenzellen & Spaltenbreiten */
.eb-event-properties-table table.table td {
    border: none !important;
    border-bottom: 1px solid #d5d9ad !important;
    padding: 10px 16px !important;
    color: #18196b !important;
    vertical-align: middle !important;
}

.eb-event-properties-table table.table tr:last-child td {
    border-bottom: none !important;
}

.eb-event-properties-table td.eb-event-property-label {
    width: 35% !important;
    font-weight: bold !important;
    color: #18196b !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}

.eb-event-properties-table td.eb-event-property-value {
    width: 65% !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}

.eb-taskbar,
.eb-event .eb-taskbar {
    background-color: #e3e6c4 !important;
    padding: 5px 20px 20px 20px !important;
    margin: 0 !important;
}

/* 4b. KATEGORIE-TABELLENANSICHT (#eb-category-page-table / layout=table) */
#eb-category-page-table table.eb-responsive-table {
    width: 100% !important;
    background-color: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 2px solid #e3e6c4 !important;
    border-collapse: collapse !important;
    box-shadow: none !important;
    margin-bottom: 25px !important;
}

#eb-category-page-table table.eb-responsive-table thead tr,
#eb-category-page-table table.eb-responsive-table thead th {
    background-color: #7a6300 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 10px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    vertical-align: middle !important;
}

/* Ungerade Zeilen: Weiß */
#eb-category-page-table table.eb-responsive-table > tbody > tr:nth-of-type(odd) > td,
#eb-category-page-table table.eb-responsive-table.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #ffffff !important;
    --bs-table-striped-bg: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
}

/* Gerade Zeilen: Sanftes Hellgrün (#f1f3dc passend zu #e3e6c4) */
#eb-category-page-table table.eb-responsive-table > tbody > tr:nth-of-type(even) > td,
#eb-category-page-table table.eb-responsive-table.table-striped > tbody > tr:nth-of-type(even) > * {
    --bs-table-accent-bg: #f1f3dc !important;
    --bs-table-striped-bg: #f1f3dc !important;
    background-color: #f1f3dc !important;
    box-shadow: none !important;
}

/* Feine Trennlinien zwischen den Terminen */
#eb-category-page-table table.eb-responsive-table tbody td {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #d5d9ad !important;
    padding: 12px 10px !important;
    color: #18196b !important;
    vertical-align: middle !important;
}

#eb-category-page-table table.eb-responsive-table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Optimierte Spaltenbreiten auf Desktop: Mehr Platz für Preis & gleichbreite Buttons */
@media (min-width: 769px) {
    #eb-category-page-table th.eb-event-title-column,
    #eb-category-page-table tbody td:nth-child(1) {
        width: 22% !important;
        font-weight: 600 !important;
    }

    #eb-category-page-table th.eb-event-date-column,
    #eb-category-page-table tbody td:nth-child(2) {
        width: 13% !important;
        white-space: nowrap !important;
    }

    #eb-category-page-table th.eb-event-location-column,
    #eb-category-page-table tbody td:nth-child(3) {
        width: 16% !important;
    }

    #eb-category-page-table th.eb-event-price-column,
    #eb-category-page-table tbody td:nth-child(4) {
        width: 19% !important;
    }

    #eb-category-page-table th.eb-event-capacity-column,
    #eb-category-page-table tbody td:nth-child(5),
    #eb-category-page-table th.eb-event-available-place-column,
    #eb-category-page-table tbody td:nth-child(6) {
        width: 7% !important;
        text-align: center !important;
    }

    #eb-category-page-table th.eb-register-buttons-column,
    #eb-category-page-table tbody td:nth-child(7) {
        width: 16% !important;
        min-width: 175px !important;
        text-align: center !important;
    }
}

/* Taskbar & mehrere Anmelde-Buttons sauber untereinander mit Abstand & gleicher Breite */
#eb-category-page-table td .eb-taskbar {
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    width: 100% !important;
}

#eb-category-page-table td .eb-taskbar ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: stretch !important;
    width: 100% !important;
}

#eb-category-page-table td .eb-taskbar li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
}

#eb-category-page-table td .eb-taskbar a.btn {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding: 8px 12px !important;
    font-size: 0.9rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
}

/* 4c. SPALTEN-LAYOUT / GUTSCHEIN-SEITE (#eb-category-page-columns / layout=columns) */
#eb-category-page-columns #eb-events.eb-columns-layout-container {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    background-color: transparent !important;
}

#eb-category-page-columns #eb-events > [class*="col-"] {
    padding: 0 12px !important;
    margin-bottom: 24px !important;
    display: flex !important;
}

#eb-category-page-columns .eb-event-box {
    background-color: #e3e6c4 !important;
    border: none !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

#eb-category-page-columns .eb-event-title-container {
    background-color: #7a6300 !important;
    color: #ffffff !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    padding: 15px 20px !important;
    margin: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    line-height: 1.35 !important;
}

#eb-category-page-columns .eb-event-title-container a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Bei Gutscheinen (Kategorie 93) "Noch zu bestätigen" ausblenden */
#eb-category-page-columns .eb-category-93 .eb-event-date-time {
    display: none !important;
}

#eb-category-page-columns .eb-event-date-time {
    padding: 15px 20px 0 20px !important;
    color: #18196b !important;
    font-weight: bold !important;
    background-color: #e3e6c4 !important;
}

#eb-category-page-columns .eb-event-location-price {
    background-color: #e3e6c4 !important;
    padding: 15px 20px 5px 20px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#eb-category-page-columns .eb-event-location {
    padding: 0 !important;
    color: #18196b !important;
    font-weight: 600 !important;
    width: auto !important;
    flex: 1 1 auto !important;
}

#eb-category-page-columns .eb-event-location a {
    color: #18196b !important;
    text-decoration: none !important;
}

#eb-category-page-columns .eb-event-location a:hover {
    color: #9763C4 !important;
    text-decoration: underline !important;
}

/* Preisschild im Akzent-Violett (#9763C4) */
#eb-category-page-columns .eb-event-price,
#eb-category-page-columns .eb-event-price.text-bg-primary {
    background-color: #9763C4 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 6px 14px !important;
    font-weight: bold !important;
    font-size: 1.05rem !important;
    width: auto !important;
    text-align: center !important;
    float: none !important;
}

#eb-category-page-columns .eb-event-short-description {
    padding: 10px 20px 15px 20px !important;
    color: #18196b !important;
    background-color: #e3e6c4 !important;
    flex-grow: 1 !important;
}

#eb-category-page-columns .eb-event-short-description p:last-child {
    margin-bottom: 0 !important;
}

#eb-category-page-columns .eb-taskbar {
    padding: 0 20px 20px 20px !important;
    background-color: #e3e6c4 !important;
    margin-top: auto !important;
}

#eb-category-page-columns .eb-taskbar ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. BUTTONS IM WWW2-STIL (Braun #7a6300 -> Hover Lila #9763C4) */
.btn-primary,
.sppb-btn-primary,
.eb-btn,
#eb-event-page .btn,
.eb-taskbar a.btn,
input.btn-primary,
button.btn-primary {
    background-color: #7a6300 !important;
    border-color: #7a6300 !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: none !important;
}

.btn-primary:hover,
.sppb-btn-primary:hover,
.eb-btn:hover,
.eb-taskbar a.btn:hover,
input.btn-primary:hover,
button.btn-primary:hover {
    background-color: #9763C4 !important;
    border-color: #9763C4 !important;
    color: #ffffff !important;
}

.input-group .btn,
.input-group button {
    border-radius: 0 10px 10px 0 !important;
    padding: 8px 14px !important;
}

/* 6. ANMELDEFORMULAR / GRUPPEN-ANMELDUNG */
#eb-group-registration-form,
#eb-individual-registration-form,
form.eb-form {
    background-color: #e3e6c4 !important;
    border-radius: 10px !important;
    padding: 25px 30px !important;
    margin-top: 15px !important;
}

.eb-form-heading,
h3.eb-heading {
    background-color: transparent !important;
    border: none !important;
    color: #7a6300 !important;
    font-size: 1.15rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    padding: 10px 0 5px 0 !important;
    margin-top: 15px !important;
    border-bottom: 2px solid #7a6300 !important;
    margin-bottom: 20px !important;
}

form.eb-form input[type="text"],
form.eb-form input[type="email"],
form.eb-form input[type="tel"],
form.eb-form select,
form.eb-form textarea,
.form-control {
    background-color: #ffffff !important;
    border: 1px solid #ced4da !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    color: #18196b !important;
}

.star,
span.required {
    color: #9763C4 !important;
    font-weight: bold !important;
}

.formError .formErrorContent {
    background: #9763C4 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

.formError .formErrorArrow div {
    background: #9763C4 !important;
}

/* 7. MOBILE OPTIMIERUNGEN (SMARTPHONES & SCHMALE SCREENS) */
@media (max-width: 768px) {
    #sp-main-body .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    h1.eb-page-heading,
    .eb-container > h1,
    #eb-event-page h1.eb-page-heading {
        font-size: 1.05rem !important;
        padding: 12px 10px !important;
    }

    .eb-category-description {
        padding: 2px 12px 8px 12px !important;
    }

    .eb-event .eb-description-details {
        padding: 12px 14px 4px 14px !important;
    }

    .eb-container .alert,
    .eb-container .alert-info,
    .eb-event .alert,
    .eb-event .alert-info,
    p.alert.alert-info {
        margin: 10px 6px !important;
        padding: 12px 14px !important;
    }

    .eb-event-properties-table,
    .eb-event-properties-table.col-md-5 {
        padding: 8px 6px !important;
    }

    .eb-taskbar,
    .eb-event .eb-taskbar {
        padding: 5px 6px 12px 6px !important;
    }

    .eb-taskbar .btn {
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
        margin-bottom: 6px !important;
    }

    .eb-event-properties-table table.table td {
        padding: 8px 8px !important;
        font-size: 0.92rem !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .eb-event-properties-table td.eb-event-property-label {
        width: 42% !important;
    }

    .eb-event-properties-table td.eb-event-property-value {
        width: 58% !important;
    }

    /* Mobile Karten-Ansicht für die Kategorie-Tabelle (layout=table) */
    #eb-category-page-table table.eb-responsive-table {
        border: none !important;
        background-color: transparent !important;
    }

    #eb-category-page-table table.eb-responsive-table thead {
        display: none !important;
    }

    #eb-category-page-table table.eb-responsive-table tbody tr {
        display: block !important;
        background-color: #ffffff !important;
        border: 2px solid #e3e6c4 !important;
        border-radius: 10px !important;
        margin-bottom: 16px !important;
        padding: 6px 10px !important;
        overflow: hidden !important;
    }

    #eb-category-page-table table.eb-responsive-table tbody td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        text-align: right !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 8px 6px !important;
        background-color: transparent !important;
        border-bottom: 1px solid #e3e6c4 !important;
    }

    #eb-category-page-table table.eb-responsive-table tbody td::before {
        content: attr(data-content) !important;
        font-weight: bold !important;
        color: #7a6300 !important;
        text-align: left !important;
        padding-right: 12px !important;
        flex: 0 0 45% !important;
    }

    #eb-category-page-table table.eb-responsive-table tbody td:last-child {
        border-bottom: none !important;
        padding-top: 10px !important;
        justify-content: center !important;
    }

    #eb-category-page-table table.eb-responsive-table tbody td:last-child::before {
        display: none !important;
    }

    #eb-category-page-table td .eb-taskbar {
        width: 100% !important;
    }

    #eb-group-registration-form,
    #eb-individual-registration-form,
    form.eb-form {
        padding: 15px 12px !important;
    }
}
