/* The Events Calendar Custom Styling for Stadt Dorsten Theme - Complete CI Integration */

/* =====================================================
   GLOBALE SCHRIFTART FÜR ALLE VERANSTALTUNGEN
   ===================================================== */

/* Alle Events Calendar Elemente auf Segoe UI setzen */

/* Haupt-Container */
.tribe-events,
.tribe-events *,
.tribe-common,
.tribe-common *,
#tribe-events,
#tribe-events *,
#tribe-events-content,
#tribe-events-content *,
#tribe-events-pg-template,
#tribe-events-pg-template *,
.tribe-events-pg-template,
.tribe-events-pg-template *,
.tribe-events-view,
.tribe-events-view *,

/* Listen-Ansicht */
.tribe-events-calendar-list,
.tribe-events-calendar-list *,
.tribe-events-calendar-list__event-row,
.tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-description,
.tribe-events-calendar-list__event-meta,
.tribe-events-calendar-list__month-separator-text,

/* Monats-Ansicht */
.tribe-events-calendar-month,
.tribe-events-calendar-month *,
.tribe-events-calendar-month__day,
.tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__calendar-event-title,

/* Tag-Ansicht */
.tribe-events-calendar-day,
.tribe-events-calendar-day *,

/* Einzelne Veranstaltung - Body-Klassen */
.single-tribe_events,
.single-tribe_events .site-content *,
body.tribe-events-single .site-content *,

/* Einzelne Veranstaltung - Inhalt */
.tribe-events-single,
.tribe-events-single *,
.tribe-events-single-event-title,
.tribe-events-single-event-description,
.tribe-events-content,
.tribe-events-content *,

/* Einzelne Veranstaltung - Zeitplan */
.tribe-events-schedule,
.tribe-events-schedule *,
.tribe-event-date-start,
.tribe-event-time,

/* Navigation */
.tribe-events-back,
.tribe-events-back a,
.tribe-events-nav-pagination,
.tribe-events-nav-pagination *,
.tribe-events-sub-nav,
.tribe-events-sub-nav *,
.tribe-events-nav-previous,
.tribe-events-nav-previous a,
.tribe-events-nav-next,
.tribe-events-nav-next a,
#tribe-events-header,
#tribe-events-header *,
#tribe-events-footer,
#tribe-events-footer *,

/* Hinweise/Notices */
.tribe-events-notices,
.tribe-events-notices *,

/* Meta-Informationen (Details, Veranstalter, Ort) */
.tribe-events-single-section,
.tribe-events-single-section *,
.tribe-events-event-meta,
.tribe-events-event-meta *,
.tribe-events-meta-group,
.tribe-events-meta-group *,
.tribe-events-meta-group-details,
.tribe-events-meta-group-details *,
.tribe-events-meta-group-organizer,
.tribe-events-meta-group-organizer *,
.tribe-events-meta-group-venue,
.tribe-events-meta-group-venue *,
.tribe-events-single-section-title,
.tribe-events-meta-list,
.tribe-events-meta-list *,
.tribe-events-meta-item,
.tribe-events-meta-item *,
.tribe-events-meta-label,
.tribe-events-meta-value,
.tribe-events-start-date-label,
.tribe-events-start-time-label,
.tribe-events-abbr,
.tribe-events-start-date,
.tribe-events-start-time,

/* Veranstalter */
.tribe-organizer,
.tribe-organizer a,

/* Veranstaltungsort */
.tribe-venue,
.tribe-venue a,
.tribe-venue-location,
.tribe-events-address,
.tribe-events-address *,
.tribe-address,
.tribe-address *,
.tribe-street-address,
.tribe-locality,
.tribe-delimiter,
.tribe-region,
.tribe-postal-code,
.tribe-country-name,
.tribe-events-gmap,
.tribe-venue-tel-label,
.tribe-venue-tel,
.tribe-venue-url,
.tribe-venue-url a,
.tribe-events-venue-map,

/* Subscribe Dropdown (Kalender hinzufügen) */
.tribe-events-c-subscribe-dropdown,
.tribe-events-c-subscribe-dropdown *,
.tribe-events-c-subscribe-dropdown__container,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-c-subscribe-dropdown__content,
.tribe-events-c-subscribe-dropdown__list,
.tribe-events-c-subscribe-dropdown__list *,
.tribe-events-c-subscribe-dropdown__list-item,
.tribe-events-c-subscribe-dropdown__list-item-link,
.tribe-common-c-btn-border,

/* Suchleiste und Filter */
.tribe-events-c-search,
.tribe-events-c-search *,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar *,
.tribe-bar-form,
.tribe-bar-form *,
.tribe-events-c-view-selector,
.tribe-events-c-view-selector *,
.tribe-events-c-view-selector__button,
.tribe-events-c-view-selector__button-text,

/* Datepicker */
.datepicker,
.datepicker *,
.tribe-events-c-top-bar__datepicker,
.tribe-events-c-top-bar__datepicker *,

/* Buttons und Links */
.tribe-events-button,
.tribe-events-c-nav__next,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__list-item,
.tribe-events-c-nav__list-item *,

/* Before/After HTML Container */
.tribe-events-before-html,
.tribe-events-after-html,

/* Post-Container */
.tribe_events,
.tribe_events *,
.type-tribe_events,
.type-tribe_events * {
    font-family: 'Segoe UI', Arial, sans-serif !important;
}

/* =====================================================
   EINZELNE VERANSTALTUNG - HEADER ANPASSUNGEN
   ===================================================== */

/* Subpage-Header für einzelne Veranstaltungen - Bild optimiert */
.single-tribe_events .subpage-header,
body.tribe-events-single .subpage-header {
    background-size: cover !important;
    background-position: center top !important; /* Bild oben ausrichten */
    background-repeat: no-repeat !important;
}

/* Optionale Anpassung: Bild mittig für bestimmte Seitenverhältnisse */
@media screen and (max-width: 768px) {
    .single-tribe_events .subpage-header,
    body.tribe-events-single .subpage-header {
        background-position: center center !important; /* Auf Mobil zentriert */
    }
}

/* =====================================================
   HAUPTCONTAINER
   ===================================================== */

/* Main Event Template Container - Override with ID selector for higher specificity */
#tribe-events-pg-template {
    max-width: var(--container-width) !important;
    margin: 0 auto !important;
    padding: var(--abstand-lg) var(--abstand-lg) var(--abstand-lg) !important;
}

/* Remove padding and margin from tribe-events-content */
#tribe-events-content {
    padding: 0 !important;
    margin: 0 !important;
}

/* Main container - Full Width */
.tribe-events-view {
    margin-top: 40px;
}

/* Events View Header */
.tribe-events-header {
    max-width: var(--container-width);
    margin: 0 auto 20px auto;
    padding: 0 var(--abstand-lg);
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Events Bar (search, filters, etc.) */
.tribe-events-c-events-bar {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--abstand-lg);
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-calendar-list {
    background: none !important;
    padding: 30px 0;
    border-radius: 0;
    width: 100%;
    max-width: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Container for events */
.tribe-events-calendar-list .tribe-events-calendar-list-nav,
.tribe-events-calendar-list__event-row {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

/* Single Event Row - List Item Style */
.tribe-events-calendar-list__event-row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
    padding: 25px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    /* Website container width */
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 25px;
    padding-right: 25px;
}

.tribe-events-calendar-list__event-row:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

/* Event Image Container */
.tribe-events-calendar-list__event-featured-image-wrapper {
    flex: 0 0 320px;
    width: 320px;
    height: 180px;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}

.tribe-events-calendar-list__event-featured-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Placeholder for events without featured image */
.tribe-events-calendar-list__event-featured-image--placeholder {
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #ccc;
}

/* Date Tag - Larger and more prominent */
.tribe-events-calendar-list__event-date-tag {
    flex: 0 0 110px;
    text-align: center;
    background: none;
    padding: 20px 5px;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.tribe-events-calendar-list__event-date-tag-daynum {
    display: block;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    margin: 0;
}

.tribe-events-calendar-list__event-date-tag-month {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    text-transform: uppercase;
    margin-top: 4px;
    letter-spacing: 0.5px;
}

/* Hide weekday in this layout */
.tribe-events-calendar-list__event-date-tag-weekday {
    display: none;
}

/* Event Content Container */
.tribe-events-calendar-list__event-content {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* Event Details Container */
.tribe-events-calendar-list__event-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Save Button Area */
.tribe-events-calendar-list__event-save-area {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    height: 100%;
    align-self: center;
}

/* Event Category/Kicker */
.tribe-events-calendar-list__event-category {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
    line-height: 1;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Event Title */
.tribe-events-calendar-list__event-title {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 8px 0;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-calendar-list__event-title-link {
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    text-decoration: none;
    transition: color 0.2s ease;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-calendar-list__event-title-link:hover {
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
}

/* Event Meta Information (Time + Location) */
.tribe-events-calendar-list__event-meta {
    display: flex;
    gap: 15px;
    align-items: center;
    font-size: 0.9rem;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    margin-bottom: 8px;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-calendar-list__event-time,
.tribe-events-calendar-list__event-location {
    font-weight: 500;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
}

/* Event Description/Abstract */
.tribe-events-calendar-list__event-description {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    margin-top: 5px;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-calendar-list__event-description p {
    margin: 0;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
}

/* More Link - Leverkusen Style */
.tribe-events-calendar-list__event-more-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.85rem;
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    text-decoration: none;
    font-weight: 500;
    margin-top: 10px;
    transition: color 0.2s ease;
}

.tribe-events-calendar-list__event-more-link:hover {
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    filter: brightness(0.8);
}

.tribe-events-calendar-list__event-more-link::after {
    content: "→";
    font-size: 0.9rem;
}

/* Event Actions Container */
.tribe-events-calendar-list__event-actions {
    display: flex;
    align-items: center;
    margin-top: auto;
    padding-top: 10px;
}

/* Save Button - Rectangular Button */
.tribe-events-calendar-list .tribe-events-calendar-list__event-save-button,
body .tribe-events-calendar-list__event-save-button,
.tribe-events-calendar-list__event-save-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    color: white;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border: none;
    transition: all 0.3s ease;
    min-width: 140px;
    text-align: center;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

.tribe-events-calendar-list__event-save-button:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF));
    filter: brightness(0.85);
    color: white !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Month Separator */
.tribe-events-calendar-list__month-separator {
    margin: 40px 0 30px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--farbe-dorsten-blau, var(--dorsten-color-blue, #007DBF));
}

.tribe-events-calendar-list__month-separator-text {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    margin: 0;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Responsive Design */
@media (max-width: 768px) {

    /* Vollbreite-Container im Mobile begrenzen */
    .tribe-events-view.alignwide {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }

    .tribe-events-header {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
    }

    /* Container braucht horizontales Padding im Mobile */
    .tribe-common-l-container.tribe-events-l-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .tribe-events-view {
        margin-top: 20px;
    }
    
    .tribe-events-calendar-list {
        padding: 20px 0;
    }
    
    .tribe-events-calendar-list .tribe-events-calendar-list-nav,
    .tribe-events-calendar-list .tribe-events-calendar-list__event-row {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row.tribe-events-calendar-list__event-row {
        flex-direction: column !important;
        gap: 15px !important;
        padding: 20px 15px !important;
        margin-bottom: 20px;
        box-sizing: border-box;
        max-width: 100% !important;
        overflow: hidden;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row .tribe-events-calendar-list__event-featured-image-wrapper.tribe-common-g-col,
    .tribe-common-g-row.tribe-events-calendar-list__event-row > .tribe-events-calendar-list__event-featured-image-wrapper {
        flex: none !important;
        flex-basis: auto !important;
        width: 100% !important;
        height: 200px !important;
        order: 1 !important;
        border-radius: 8px !important;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row .tribe-events-calendar-list__event-date-tag.tribe-common-g-col,
    .tribe-common-g-row.tribe-events-calendar-list__event-row > .tribe-events-calendar-list__event-date-tag {
        flex: none !important;
        flex-basis: auto !important;
        text-align: left !important;
        order: 2 !important;
        flex-direction: row !important;
        gap: 8px !important;
        justify-content: flex-start !important;
        align-items: baseline !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        background: none !important;
        border-radius: 0 !important;
    }

    .tribe-events-calendar-list__event-date-tag-datetime {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        align-items: baseline !important;
    }
    
    .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 1.8rem !important;
        font-weight: 700 !important;
    }
    
    .tribe-events-calendar-list__event-date-tag-month {
        font-size: 1rem !important;
        font-weight: 600 !important;
        margin-top: 0 !important;
    }
    
    .tribe-events-calendar-list__event-content {
        order: 3 !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .tribe-events-calendar-list__event-details {
        width: 100% !important;
    }

    .tribe-events-calendar-list__event-category {
        margin-bottom: 2px !important;
    }

    .tribe-events-calendar-list__event-title {
        font-size: 1.2rem !important;
        margin: 0 0 4px 0 !important;
    }

    .tribe-events-calendar-list__event-meta {
        flex-direction: column !important;
        gap: 4px !important;
        align-items: flex-start !important;
        margin-bottom: 6px !important;
    }

    .tribe-events-calendar-list__event-description {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
    }

    .tribe-events-calendar-list__event-description p {
        margin: 0 !important;
    }

    .tribe-events-calendar-list__event-actions {
        padding-top: 5px !important;
    }
    
    .tribe-events-calendar-list__event-save-area {
        align-self: stretch !important;
        order: 4 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }
    
    .tribe-events-calendar-list .tribe-events-calendar-list__event-save-button,
    .tribe-events-calendar-list__event-save-button {
        width: 100% !important;
        max-width: none !important;
        padding: 14px 20px !important;
        font-size: 0.95rem !important;
    }

    /* Monats-Separator kompakter */
    .tribe-events-calendar-list__month-separator {
        margin: 25px 0 20px 0 !important;
    }

    .tribe-events-calendar-list__month-separator-text {
        font-size: 1.2rem !important;
    }

    /* Events-Bar / Toolbar Absicherung */
    .tribe-events-c-events-bar {
        padding: 0 !important;
    }

    .tribe-events-c-top-bar {
        padding: 0 !important;
    }
}

@media (max-width: 480px) {

    /* Noch engeres Container-Padding */
    .tribe-common-l-container.tribe-events-l-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .tribe-events-calendar-list {
        padding: 10px 0;
    }
    
    .tribe-events-calendar-list .tribe-events-calendar-list-nav,
    .tribe-events-calendar-list .tribe-events-calendar-list__event-row {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row.tribe-events-calendar-list__event-row {
        padding: 15px 12px !important;
        margin-bottom: 15px;
        gap: 12px !important;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row .tribe-events-calendar-list__event-featured-image-wrapper.tribe-common-g-col {
        height: 170px !important;
        border-radius: 6px !important;
    }
    
    .tribe-events-calendar-list .tribe-common-g-row .tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
        min-width: auto !important;
        padding: 0 !important;
    }
    
    .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
    }
    
    .tribe-events-calendar-list__event-date-tag-month {
        font-size: 0.9rem !important;
        font-weight: 600 !important;
    }
    
    .tribe-events-calendar-list__event-title {
        font-size: 1.1rem !important;
        line-height: 1.3 !important;
    }
    
    .tribe-events-calendar-list__event-meta {
        gap: 3px !important;
    }
    
    .tribe-events-calendar-list__event-time,
    .tribe-events-calendar-list__event-location {
        font-size: 0.85rem !important;
    }
    
    .tribe-events-calendar-list__event-description {
        font-size: 0.85rem !important;
        line-height: 1.5 !important;
    }

    .tribe-events-calendar-list .tribe-events-calendar-list__event-save-button,
    .tribe-events-calendar-list__event-save-button {
        padding: 12px 16px !important;
        font-size: 0.9rem !important;
    }
}

/* Breakpoint für sehr große Bildschirme */
@media (max-width: 1024px) {
    .tribe-events-calendar-list__event-featured-image-wrapper {
        flex: 0 0 280px;
        width: 280px;
        height: 157px; /* 16:9 ratio für 280px */
    }
    
    .tribe-events-calendar-list__event-date-tag {
        flex: 0 0 100px;
        padding: 18px 5px;
    }
    
    .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 2.8rem;
    }
    
    .tribe-events-calendar-list__event-date-tag-month {
        font-size: 0.8rem;
    }
}

/* Remove default styles that might interfere */
.tribe-events-calendar-list__event-wrapper {
    width: 100%;
}

.tribe-events-calendar-list__event {
    border: none;
    background: none;
    margin: 0;
    padding: 0;
}

/* Hide elements that are not needed in this layout */
.tribe-events-calendar-list__event-description.tribe-common-a11y-hidden {
    display: none;
}

/* ==== SINGLE EVENT PAGE STYLING - ELEMENTOR WIDGET BASED - STADT DORSTEN CI ==== */

/* Single Event Container - Full Page Content */
#tribe-events-pg-template .elementor {
    background: transparent !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
}

#tribe-events-pg-template .elementor-section {
    margin-bottom: 0 !important;
}

#tribe-events-pg-template .elementor-container,
#tribe-events-pg-template .e-con-inner,
#tribe-events-pg-template .e-con,
#tribe-events-pg-template .elementor-column,
#tribe-events-pg-template .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#tribe-events-pg-template .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Spezifische Elementor Container Klassen */
#tribe-events-pg-template .e-con-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#tribe-events-pg-template .e-flex {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#tribe-events-pg-template .e-child {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Single Event Page Container - Same width as event list */
.tribe-events-single {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--abstand-lg, 2rem);
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* ===== TEC EVENTS ELEMENTOR WIDGETS STYLING ===== */

/* Back to Events Link - Elementor Widget */
.tec-events-back {
    margin-bottom: var(--abstand-lg, 2rem) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* =====================================================
   HINWEIS - VERANSTALTUNG HAT STATTGEFUNDEN
   ===================================================== */
.tribe-events-notices {
    background: #fff3cd !important;
    border-left: 4px solid #ffc107 !important;
    padding: var(--abstand-md, 1rem) var(--abstand-lg, 1.5rem) !important;
    margin-bottom: var(--abstand-lg, 2rem) !important;
    border-radius: 0 !important;
}

.tribe-events-notices ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-notices li {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #856404 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.tribe-events-notices li::before {
    content: "⚠" !important;
    font-size: 1.2rem !important;
}

/* Alle Veranstaltungen - Button Style */

.tec-events-back a,
.tribe-events-back a {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: white !important;
    text-decoration: none !important;
    padding: 12px 24px !important;
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    border: none !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
}


.tec-events-back a:hover,
.tribe-events-back a:hover {
    background: var(--farbe-dorsten-blau, #007DBF) !important;
    color: white !important;
}

/* Event Title Widget */
.tec-events-elementor-event-widget__title {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    line-height: 1.2 !important;
    margin: 0 0 var(--abstand-md, 1.5rem) 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Event DateTime Widget - Dezent unter Überschrift */
.tec-events-elementor-event-widget__datetime-wrapper {
    margin-bottom: var(--abstand-md, 1.5rem) !important;
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}

.tec-events-elementor-event-widget__datetime {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
}

.tec-events-elementor-event-widget__datetime-date,
.tec-events-elementor-event-widget__datetime-time {
    color: var(--farbe-dorsten-grau, #575756) !important;
    font-weight: 600 !important;
}

.tec-events-elementor-event-widget__datetime-separator {
    margin: 0 6px !important;
    color: var(--farbe-dorsten-hellgrau, #9d9d9c) !important;
    font-weight: 400 !important;
}

/* Leere Zeitzone ausblenden */
.tribe-events-time-zone:empty { display: none !important; }

/* Event Content - Post Content Widget */
#tribe-events-pg-template .elementor-widget-theme-post-content .elementor-widget-container {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Single-Event: Kein Rahmen um den Text (Post-Content) */
#tribe-events-pg-template .elementor-widget-theme-post-content .elementor-widget-container {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Event Image Widget */
.tec-events-elementor-event-widget__image {
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    margin-bottom: var(--abstand-md, 1.5rem) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.tec-events-elementor-event-widget__image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.tec-events-elementor-event-widget__image:hover img {
    transform: scale(1.02) !important;
}

/* Event Export/Subscribe Widget */
.tec-events-elementor-event-widget__export {
    margin-bottom: 0.75rem !important; /* vorher ~2rem */
    /* Dropdown-Container relativ positionieren, damit das Menü am Button hängt */
    position: relative !important;
    display: inline-block !important;
}

.tec-events-elementor-event-widget__export-dropdown-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px !important;
    padding: 15px 25px !important;
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    text-decoration: none !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    min-width: 200px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(128, 176, 34, 0.2) !important;
    cursor: pointer !important;
    margin: 0 !important; /* verhindert zusätzlichen Bottom-Space */
}

.tec-events-elementor-event-widget__export-dropdown-button:hover {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    filter: brightness(0.9) !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(128, 176, 34, 0.3) !important;
}

.tec-events-elementor-event-widget__export-dropdown-export-icon {
    fill: white !important;
    width: 18px !important;
    height: 18px !important;
}

.tec-events-elementor-event-widget__export-dropdown-icon {
    fill: white !important;
    width: 12px !important;
    height: 8px !important;
    transition: transform 0.3s ease !important;
}

.tec-events-elementor-event-widget__export-dropdown-icon--active {
    transform: rotate(180deg) !important;
}

/* Export Dropdown Content */
.tec-events-elementor-event-widget__export-dropdown-content {
    background: white !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
    margin-top: 0 !important;
    padding: 10px 0 !important;
    position: absolute !important;
    z-index: 1000 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: calc(100% + 2px) !important; /* unter dem Button platzieren */
    min-width: 220px !important; /* etwas breiter für bessere Lesbarkeit */
}

.tec-events-elementor-event-widget__export-dropdown-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tec-events-elementor-event-widget__export-dropdown-list-item {
    margin: 0 !important;
    padding: 0 !important;
}

.tec-events-elementor-event-widget__export-dropdown-link {
    display: block !important;
    padding: 12px 20px !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.95rem !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.tec-events-elementor-event-widget__export-dropdown-link:hover {
    background: rgba(128, 176, 34, 0.1) !important;
    color: var(--farbe-dorsten-gruen, #80B022) !important;
}

/* Event Venue Widget - Modernes Design */
.tec-events-elementor-event-widget__venue {
    margin: var(--abstand-xl, 3rem) 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Venue Container - Zweispaltig -> Einspaltig */
.tec-events-elementor-event-widget__venue-container {
    display: grid !important;
    grid-template-columns: 1fr !important; /* vorher: 1.5fr 1fr */
    gap: var(--abstand-xl, 3rem) !important;
    align-items: start !important;
    margin-bottom: var(--abstand-lg, 2rem) !important;
}

/* ==== Venue/Export – nebeneinander, ohne Border & Icons (Minimal-Overrides) ==== */
/* Venue zweispaltig (Details | Karte) */
.tec-events-elementor-event-widget__venue-container {
    /* sicherstellen, dass zwei Spalten aktiv sind */
    grid-template-columns: 1.5fr 1fr !important;
}

/* Keine Rahmen/Box-Shadows/Flächen im Venue-Bereich */
.tec-events-elementor-event-widget__venue-details,
.tec-events-elementor-event-widget__venue-address,
.tec-events-elementor-event-widget__venue-phone,
.tec-events-elementor-event-widget__venue-website {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    box-shadow: none !important;
}

/* Karte ohne Border/Gradient/Shadow */
.tec-events-elementor-event-widget__venue-map {
    border: none !important;
    box-shadow: none !important;
}
.tec-events-elementor-event-widget__venue-map::before {
    display: none !important;
    content: none !important;
}

/* Icons entfernen (Pins/Map/Phone/Globe) */
.tec-events-elementor-event-widget__venue-name::before,
.tec-events-elementor-event-widget__venue-address-map-link a::before,
.tec-events-elementor-event-widget__venue-phone-number::before,
.tec-events-elementor-event-widget__venue-website-url::before {
    display: none !important;
    content: none !important;
}

/* Export: Icons/Border weg, Dropdown ohne Rahmen/Schatten */
.tec-events-elementor-event-widget__export-dropdown-export-icon,
.tec-events-elementor-event-widget__export-dropdown-icon {
    display: none !important;
}
.tec-events-elementor-event-widget__export-dropdown-button {
    border: none !important;
}
.tec-events-elementor-event-widget__export-dropdown-content {
    border: none !important;
    box-shadow: none !important;
}
/* ==== END Minimal-Overrides ==== */

/* Responsive Design für ELEMENTOR EVENT WIDGETS */
@media (max-width: 1024px) {
    .tec-events-elementor-event-widget__venue-container {
        grid-template-columns: 1fr !important;
        gap: var(--abstand-md, 1.5rem) !important;
    }
    
    .tec-events-elementor-event-widget__venue-map {
        width: 100% !important;
        height: 240px !important; /* vorher: 200px */
        justify-self: center !important;
    }
}

@media (max-width: 768px) {
    .tec-events-elementor-event-widget__title {
        font-size: 2rem !important;
        text-align: center !important;
    }
    
    .tec-events-elementor-event-widget__datetime-wrapper {
        text-align: center !important;
        margin: 0 auto var(--abstand-lg, 2rem) auto !important;
        max-width: 300px !important;
    }
    
    .tec-events-elementor-event-widget__datetime {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    #tribe-events-pg-template .elementor-widget-theme-post-content .elementor-widget-container {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    .tec-events-elementor-event-widget__venue {
        padding: var(--abstand-md, 1.5rem) !important;
    }
    
    .tec-events-elementor-event-widget__venue-name {
        font-size: 1.2rem !important;
        text-align: center !important;
    }
    
    .tec-events-elementor-event-widget__export-dropdown-button {
        width: 100% !important;
        max-width: 300px !important;
        padding: 18px 25px !important;
        font-size: 1.1rem !important;
    }
}

@media (max-width: 480px) {
    .tec-events-elementor-event-widget__title {
        font-size: 1.7rem !important;
        line-height: 1.3 !important;
    }
    
    .tec-events-elementor-event-widget__datetime {
        font-size: 1rem !important;
    }
    
    #tribe-events-pg-template .elementor-widget-theme-post-content .elementor-widget-container {
        font-size: 0.95rem !important;
    }
    
    .tec-events-elementor-event-widget__venue {
        margin: var(--abstand-lg, 2rem) 0 !important;
        padding: var(--abstand-sm, 1rem) !important;
    }
    
    .tec-events-elementor-event-widget__venue-name {
        font-size: 1.1rem !important;
    }
    
    .tec-events-back a {
        width: 100% !important;
        max-width: 250px !important;
        justify-content: center !important;
        margin: 0 auto !important;
        display: flex !important;
    }
}

/* Main Event Container - Leverkusen Style Layout */
.tribe-events-single-event-leverkusen-style {
    display: grid;
    grid-template-columns: 220px 1fr;
    grid-template-areas: 
        "date-section content-section"
        "meta-section meta-section";
    gap: var(--abstand-xl, 3rem);
    margin-bottom: var(--abstand-xl, 3rem);
}

/* Date Section - Large Date Display */
.tribe-events-single-date-section {
    grid-area: date-section;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--abstand-lg, 2rem);
    background: linear-gradient(135deg, rgba(128, 176, 34, 0.1), rgba(128, 176, 34, 0.05));
    border-radius: 12px;
    border: 2px solid var(--farbe-dorsten-gruen, #80B022);
    position: sticky;
    top: 20px;
    height: fit-content;
}

.tribe-events-single-date-day {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 4rem;
    font-weight: 800;
    line-height: 1;
    color: var(--farbe-dorsten-gruen, #80B022);
    margin: 0;
}

.tribe-events-single-date-month {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--farbe-dorsten-gruen, #80B022);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 5px;
}

.tribe-events-single-date-year {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--farbe-dorsten-grau, #575756);
    margin-top: 8px;
}

.tribe-events-single-time {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--farbe-dorsten-grau, #575756);
    margin-top: var(--abstand-md, 1.5rem);
    padding-top: var(--abstand-md, 1.5rem);
    border-top: 2px solid var(--farbe-dorsten-gruen, #80B022);
}

/* Content Section - Title, Description, etc. */
.tribe-events-single-content-section {
    grid-area: content-section;
}

/* Single Event Title - ausgeblendet, da er im Header angezeigt wird */
.tribe-events-single-event-title {
    display: none !important;
}

/* Event Schedule Bar - Hide default, we use custom date section */
.tribe-events-schedule {
    display: none;
}

/* VERANSTALTUNGSBILD: Im Header anzeigen, im Content ausblenden */

/* Event Image - ausgeblendet, da es im Header angezeigt wird */
.tribe-events-single .tribe-events-event-image,
.single-tribe_events .tribe-events-event-image {
    display: none !important;
}

/* Fallback: Falls das Bild doch angezeigt werden soll (z.B. ohne Header) */
.tribe-events-event-image.show-in-content {
    display: block !important;
    float: right !important;
    width: 30% !important;
    margin-left: 2rem !important;
    margin-bottom: 1rem !important;
    border-radius: 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.tribe-events-event-image.show-in-content img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Event Text - links neben dem Bild */
.tribe-events-single-event-description {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
}

/* Clearfix */
.tribe-events-single::after,
.post::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* Subscribe Dropdown - Single Event Page */
.tribe-events-c-subscribe-dropdown__container {
    margin: var(--abstand-lg, 2rem) 0;
    text-align: center;
}

.tribe-common-c-btn-border {
    border: none !important;
    border-radius: 0 !important;
}

.tribe-events-c-subscribe-dropdown__button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 25px;
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 1rem;
    font-weight: 600;
    border-radius: 0 !important;
    border: none;
    transition: all 0.3s ease;
    min-width: 200px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(128, 176, 34, 0.2);
}

.tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF)) !important;
    filter: brightness(0.9) !important;
    color: white !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 125, 191, 0.3) !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: white;
    font-weight: 600;
}

.tribe-events-c-subscribe-dropdown__export-icon,
.tribe-events-c-subscribe-dropdown__button-icon {
    fill: white;
    width: 18px;
    height: 18px;
}

/* Subscribe Dropdown Content */
.tribe-events-c-subscribe-dropdown__content {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    margin-top: 0 !important;
    padding: 10px 0;
    position: absolute !important;
    z-index: 1000 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: calc(100% + 2px) !important; /* unter dem Button platzieren */
}

.tribe-events-c-subscribe-dropdown__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tribe-events-c-subscribe-dropdown__list-item {
    margin: 0;
    padding: 0;
}

.tribe-events-c-subscribe-dropdown__list-item-link {
    display: block;
    padding: 12px 20px;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.95rem;
    color: var(--farbe-dorsten-grau, #575756);
    text-decoration: none;
    transition: all 0.2s ease;
}

.tribe-events-c-subscribe-dropdown__list-item-link:hover {
    background: rgba(128, 176, 34, 0.1);
    color: var(--farbe-dorsten-gruen, #80B022);
}

/* =====================================================
   EVENT META INFORMATION - DREI SPALTEN LAYOUT
   Stadt Dorsten CI-konform
   ===================================================== */

/* 
 * Eigenes Template mit drei Spalten:
 * Details | Veranstalter | Veranstaltungsort
 */

/* Wrapper für alle Meta-Informationen */
.dorsten-meta-wrapper {
    background: #f8f9fa !important;
    border: none !important;
    padding: var(--abstand-xl, 3rem) var(--abstand-lg, 2rem) !important;
    margin: var(--abstand-xl, 3rem) 0 0 0 !important;
}

/* Keine ::before Pseudo-Elemente im Meta-Wrapper */
.dorsten-meta-wrapper::before,
.tribe-events-event-meta::before,
.tribe-events-single-section::before,
.dorsten-meta-wrapper *::before {
    display: none !important;
    content: none !important;
}

/* Spacer zwischen Meta-Spalten und Karte - transparent */
.dorsten-map-spacer {
    height: var(--abstand-xl, 3rem);
    width: 100%;
    background: transparent !important;
}

/* Drei-Spalten-Grid */
.dorsten-meta-columns {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--abstand-xl, 3rem) !important;
    max-width: var(--container-width, 1200px) !important;
    margin: 0 auto !important;
    padding-bottom: var(--abstand-xl, 3rem) !important;
}

/* Meta-Gruppen Styling */
.dorsten-meta-columns .tribe-events-meta-group {
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

/* Details-Spalte mit Kalender-Button */
.dorsten-details-column {
    display: flex;
    flex-direction: column;
}

/* Kalender-Button Container in der Meta-Box */
.dorsten-calendar-button {
    margin-top: 12px;
}

.dorsten-calendar-button .tribe-events-c-subscribe-dropdown__container {
    margin: 0 !important;
    padding: 0 !important;
}

.dorsten-calendar-button .tribe-events.tribe-common {
    margin: 0 !important;
    padding: 0 !important;
}

.dorsten-calendar-button .tribe-events-c-subscribe-dropdown {
    margin: 0 !important;
    padding: 0 !important;
}

.dorsten-calendar-button .tribe-events-c-subscribe-dropdown__button {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    padding: 12px 20px !important;
    font-size: 0.95rem !important;
    width: 100% !important;
    justify-content: center !important;
}

.dorsten-calendar-button .tribe-events-c-subscribe-dropdown__button:hover {
    background-color: var(--farbe-dorsten-blau, #007DBF) !important;
    filter: none !important;
}

/* =====================================================
   TICKET KAUFEN BUTTON
   ===================================================== */

.dorsten-ticket-button {
    margin-top: 12px;
}

.dorsten-ticket-button__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    text-decoration: none !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    border: none !important;
    cursor: pointer;
    transition: background-color 0.3s ease;
    line-height: 1.4;
    box-sizing: border-box !important;
    min-height: 46px !important;
}

.dorsten-ticket-button__link:hover,
.dorsten-ticket-button__link:focus {
    background-color: var(--farbe-dorsten-blau, #007DBF) !important;
    color: white !important;
    filter: none !important;
    text-decoration: none !important;
}

.dorsten-ticket-button__link:focus-visible {
    outline: 2px solid var(--farbe-dorsten-gruen, #80B022);
    outline-offset: 2px;
}

.dorsten-ticket-button__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.dorsten-ticket-button__external {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    opacity: 0.7;
    margin-left: 2px;
}

/* =====================================================
   EVENT SHARE BUTTONS
   ===================================================== */

.dorsten-event-share {
    margin-top: 12px;
    padding-top: 0;
    border-top: none !important;
}

.dorsten-event-share__label {
    display: block;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    margin-bottom: 10px !important;
}

.dorsten-event-share__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dorsten-event-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--farbe-dorsten-gruen, #80B022) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    text-decoration: none !important;
    padding: 0 !important;
}

.dorsten-event-share__btn svg {
    width: 20px;
    height: 20px;
    fill: #ffffff !important;
    color: #ffffff !important;
}

.dorsten-event-share__btn:hover {
    transform: scale(1.05);
}

/* Facebook - Blau */
.dorsten-event-share__btn--facebook:hover {
    background-color: #1877F2 !important;
}

/* X (Twitter) - Schwarz */
.dorsten-event-share__btn--x:hover {
    background-color: #000000 !important;
}

/* WhatsApp - Grün */
.dorsten-event-share__btn--whatsapp:hover {
    background-color: #25D366 !important;
}

/* E-Mail - Dunkelgrau */
.dorsten-event-share__btn--email:hover {
    background-color: #555555 !important;
}

/* Responsive */
@media screen and (max-width: 480px) {
    .dorsten-event-share__btn {
        width: 36px;
        height: 36px;
    }

    .dorsten-event-share__btn svg {
        width: 18px;
        height: 18px;
    }
}

/* Ursprünglichen Kalender-Button außerhalb der Meta-Box verstecken */
.single-tribe_events > .tribe-events-c-subscribe-dropdown,
#tribe-events-content > .tribe-events-c-subscribe-dropdown,
.tribe-events-single > .tribe-events-c-subscribe-dropdown__container,
.tribe-events-single-event-description + .tribe-events-c-subscribe-dropdown__container,
#tribe-events-content .tribe-events-c-subscribe-dropdown__container:not(.dorsten-calendar-button .tribe-events-c-subscribe-dropdown__container),
.tribe-events-single .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

/* Nur der Button in der Meta-Box anzeigen */
.dorsten-calendar-button .tribe-events-c-subscribe-dropdown__container {
    display: block !important;
}

/* Alte Primary/Secondary Sections verstecken wenn vorhanden */
#tribe-events-content .tribe-events-single-section.primary,
#tribe-events-content .tribe-events-single-section.secondary {
    display: none !important;
}

/* Neue Wrapper-Klasse anzeigen */
#tribe-events-content .dorsten-meta-wrapper {
    display: block !important;
}

/* =====================================================
   GOOGLE KARTE - VOLLE BREITE
   ===================================================== */

/* Fullwidth Map Container */
.dorsten-fullwidth-map {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
}

.dorsten-fullwidth-map iframe {
    width: 100% !important;
    height: 320px !important;
    display: block !important;
    border: none !important;
}

/* Alte Karten-Container verstecken */
#tribe-events-content .tribe-events-venue-map {
    display: none !important;
}

/* =====================================================
   ÜBERSCHRIFTEN - H5 STYLE, NICHT KURSIV
   Stadt Dorsten CI
   ===================================================== */

/* Überschriften als H5-Style - Großbuchstaben, Dorsten-Grau */
.tribe-events-single-section-title {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    margin: 0 0 var(--abstand-md, 1.5rem) 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

/* =====================================================
   META-LISTE STYLING
   ===================================================== */

/* Meta-Liste */
.tribe-events-meta-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tribe-events-meta-item {
    margin-bottom: 0.875rem !important;
    line-height: 1.5 !important;
}

/* Labels (Datum:, Zeit:, etc.) - Dorsten-Grau, fett */
.tribe-events-meta-label {
    display: block !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    margin-bottom: 3px !important;
}

/* Veranstaltungskategorie-Label kürzen: "Kategorie:" statt "Veranstaltungskategorie:" */
.tribe-events-event-categories-label {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
}
.tribe-events-event-categories-label::after {
    content: "Kategorie:" !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
}

/* Werte - Dorsten-Grau (kein Link) */
.tribe-events-meta-value {
    display: block !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
}

/* Links in Meta-Werten - Dorsten-Grün */
.tribe-events-meta-value a {
    color: var(--farbe-dorsten-gruen, #80B022) !important;
    text-decoration: none !important;
}

.tribe-events-meta-value a:hover {
    text-decoration: underline !important;
}

/* Datum und Zeit Werte - Dorsten-Grau (kein Link), keine Unterlinie */
.tribe-events-abbr,
.tribe-events-start-date,
.tribe-events-start-time {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-weight: 400 !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* =====================================================
   VERANSTALTER STYLING
   ===================================================== */

/* Veranstalter Name - Dorsten-Grün, fett als Hauptinfo */
.tribe-events-meta-group-organizer .tribe-organizer a,
.tribe-events-meta-group-organizer .tribe-organizer {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--farbe-dorsten-gruen, #80B022) !important;
    text-decoration: none !important;
}

.tribe-events-meta-group-organizer .tribe-organizer a:hover {
    text-decoration: underline;
}

/* Veranstalter Kontaktdaten */
.tribe-events-meta-group-organizer .tribe-events-meta-value,
.tribe-events-meta-group-organizer .tribe-organizer-tel,
.tribe-events-meta-group-organizer .tribe-organizer-email,
.tribe-events-meta-group-organizer .tribe-organizer-url a {
    color: var(--farbe-dorsten-gruen, #80B022);
    font-weight: 400;
}

/* Veranstaltungsort Name - grün, fett */
.tribe-events-meta-group-venue .tribe-venue a,
.tribe-events-meta-group-venue .tribe-venue {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--farbe-dorsten-gruen, #80B022);
    text-decoration: none;
}

.tribe-events-meta-group-venue .tribe-venue a:hover {
    text-decoration: underline;
}

/* Adresse */
.tribe-events-address {
    font-style: normal !important;
    line-height: 1.5;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    font-size: 1rem !important;
}

.tribe-address,
.tribe-street-address,
.tribe-locality,
.tribe-region,
.tribe-postal-code,
.tribe-country-name {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 1rem !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

/* Telefon und Website im Venue */
.tribe-venue-tel,
.tribe-venue-url a {
    color: var(--farbe-dorsten-gruen, #80B022);
    font-weight: 400;
    text-decoration: none;
}

.tribe-venue-url a:hover {
    text-decoration: underline;
}

/* Google Maps Link verstecken (wir haben ja die Karte) */
.tribe-events-gmap {
    display: none !important;
}

/* Alte dt/dd Styles für Kompatibilität */
.tribe-events-meta-group dl {
    margin: 0;
    display: block;
}

.tribe-events-meta-group dt {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-weight: 700;
    color: var(--farbe-dorsten-grau, #575756);
    margin: 0 0 2px 0;
    display: block;
}

.tribe-events-meta-group dt::after {
    content: "";
}

.tribe-events-meta-group dd {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, #575756);
    margin: 0 0 12px 0;
    display: block;
    line-height: 1.4;
    text-decoration: none;
}

/* Links in dd-Elementen - Dorsten-Grün */
.tribe-events-meta-group dd a {
    color: var(--farbe-dorsten-gruen, #80B022);
    text-decoration: none;
}

.tribe-events-meta-group dd a:hover {
    text-decoration: underline;
}

/* Special styling for address block */
.tribe-venue-location .tribe-events-address {
    font-style: normal;
    line-height: 1.5;
}

/* Delimiter zwischen Ort und Region */
.tribe-delimiter {
    margin-right: 5px;
}

/* Regular venue website links */
.tribe-venue-url a {
    color: var(--farbe-dorsten-gruen, #80B022);
    text-decoration: none;
    font-weight: 500;
}

.tribe-venue-url a:hover {
    color: var(--farbe-dorsten-gruen, #80B022);
    text-decoration: underline;
    filter: brightness(0.8);
}

/* Event Date and Time Styling */
.tribe-events-abbr,
.tribe-events-start-date,
.tribe-events-start-time {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-weight: 600;
    color: var(--farbe-dorsten-gruen, #80B022);
}

/* Venue Information */
.tribe-venue {
    font-weight: 600;
    color: var(--farbe-dorsten-grau, #575756);
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-events-address {
    font-style: normal !important;
    line-height: 1.6;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    font-size: 1rem !important;
}


.tribe-venue-tel {
    font-weight: 500;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

.tribe-venue-url a {
    color: var(--farbe-dorsten-gruen, #80B022);
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-weight: 500;
    transition: color 0.2s ease;
}

.tribe-venue-url a:hover {
    color: var(--farbe-dorsten-gruen, #80B022);
    filter: brightness(0.8);
    text-decoration: underline;
}

/* =====================================================
   VERANSTALTER & VENUE LINKS
   ===================================================== */

/* Organizer Information */
.tribe-organizer {
    font-weight: 600;
    color: var(--farbe-dorsten-grau, #575756);
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Event Navigation */
.tribe-events-nav-pagination {
    margin: var(--abstand-xl, 3rem) 0;
    text-align: center;
}

.tribe-events-sub-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.tribe-events-sub-nav li {
    margin: 0;
}

.tribe-events-nav-previous a,
.tribe-events-nav-next a,
.tribe-events-nav-previous a:link,
.tribe-events-nav-previous a:visited,
.tribe-events-nav-next a:link,
.tribe-events-nav-next a:visited,
.tribe-events-nav-previous a span,
.tribe-events-nav-next a span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--farbe-dorsten-gruen, #80B022);
    color: #ffffff !important;
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 0;
    transition: all 0.3s ease;
}

.tribe-events-nav-previous a::before {
    content: "←";
    font-size: 1.1rem;
    color: #ffffff !important;
}

.tribe-events-nav-next a::after {
    content: "→";
    font-size: 1.1rem;
    color: #ffffff !important;
}

/* TEC rendert Pfeile als SVG-Hintergrundbilder (background-image: url(svg...))
   mit hart kodierter dunkler Farbe – hier mit weißen SVGs überschreiben. */
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a::after,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a::before,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a::after,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a::before {
    color: #ffffff !important;
    background-image: none !important;
}

/* Pfeil-SVGs mit weißer Farbe ersetzen (fill='%23ffffff') */
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a::before,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:hover::before,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a:focus::before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20'%3E%3Cpath fill='%23ffffff' d='M11.916 17.841 10 19.757l-9.9-9.9L10-.041l1.916 1.916-7.983 7.984z'/%3E%3C/svg%3E") !important;
}

.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a::after,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:hover::after,
.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a:focus::after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='20'%3E%3Cpath fill='%23ffffff' d='M.084 17.841 2 19.757l9.9-9.9L2-.041.084 1.875l7.983 7.984z'/%3E%3C/svg%3E") !important;
}

.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF));
    filter: brightness(0.9);
    color: white;
    transform: translateY(-2px);
}

/* Responsive Design für Single Event Page - Leverkusen Style */
@media (max-width: 1024px) {
    .tribe-events-single-event-leverkusen-style {
        grid-template-columns: 180px 1fr;
        gap: var(--abstand-lg, 2rem);
    }
    
    .tribe-events-single-date-section {
        padding: var(--abstand-md, 1.5rem);
    }
    
    .tribe-events-single-date-day {
        font-size: 3.5rem;
    }
    
    .tribe-events-single-date-month {
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    .tribe-events-single {
        padding: var(--abstand-md, 1.5rem);
    }
    
    /* Mobile: Stack layout vertically */
    .tribe-events-single-event-leverkusen-style {
        grid-template-columns: 1fr;
        grid-template-areas: 
            "date-section"
            "content-section"
            "meta-section";
        gap: var(--abstand-lg, 2rem);
    }
    
    .tribe-events-single-date-section {
        position: static;
        max-width: 200px;
        margin: 0 auto;
        padding: var(--abstand-lg, 2rem);
    }
    
    .tribe-events-single-date-day {
        font-size: 4rem;
    }
    
    .tribe-events-single-date-month {
        font-size: 1.2rem;
    }
    
    .tribe-events-single-event-title {
        font-size: 2rem;
        line-height: 1.3;
        text-align: center;
    }
    
    /* Mobile: Bild und Text nebeneinander */
    .tribe-events-event-image {
        width: 35% !important;
        margin-left: 1rem !important;
    }
    
    /* Meta sections: reduce gap on mobile but keep side by side if possible */
    .dorsten-meta-columns {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--abstand-lg, 2rem) !important;
    }
    
    .dorsten-meta-wrapper {
        padding: var(--abstand-lg, 2rem) var(--abstand-md, 1.5rem) !important;
    }
    
    .dorsten-meta-columns .tribe-events-meta-group {
        min-width: 150px;
    }
    
    /* Karte auf Tablet */
    .dorsten-fullwidth-map iframe {
        height: 280px !important;
    }
    
    
    .tribe-events-c-subscribe-dropdown__button {
        width: 100%;
        max-width: 300px;
        padding: 18px 25px;
        font-size: 1.1rem;
    }
    
    .tribe-events-sub-nav {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }
    
    .tribe-events-nav-previous a,
    .tribe-events-nav-next a {
        width: 100%;
        max-width: 250px;
        justify-content: center;
        padding: 15px 20px;
    }
}

@media (max-width: 480px) {
    .tribe-events-single {
        padding: var(--abstand-sm, 1rem);
    }
    
    .tribe-events-single-event-title {
        font-size: 1.7rem;
    }
    
    /* Sehr kleine Bildschirme: vertikal stapeln */
    .tribe-events-event-image {
        float: none !important;
        width: 100% !important;
        margin: 0 0 1rem 0 !important;
    }
    
    .tribe-events-single-event-description {
        font-size: 0.95rem;
        line-height: 1.6;
    }
    
    /* Meta sections: smaller gaps on very small screens */
    .dorsten-meta-columns {
        grid-template-columns: 1fr !important;
        gap: var(--abstand-md, 1.5rem) !important;
    }
    
    .dorsten-meta-wrapper {
        padding: var(--abstand-md, 1.5rem) var(--abstand-sm, 1rem) !important;
    }
    
    .dorsten-meta-columns .tribe-events-meta-group {
        width: 100% !important;
    }
    
    .tribe-events-single-section-title {
        font-size: 0.8rem !important;
        letter-spacing: 0.5px !important;
    }
    
    /* Karte auf Mobil */
    .dorsten-fullwidth-map iframe {
        height: 220px !important;
    }
}

/* ==== COMPLETE EVENT CALENDAR CI INTEGRATION ==== */

/* Search Bar and Events Bar Styling - Rectangular Buttons */
.tribe-events-c-search__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022)) !important;
    color: white !important;
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 0 !important;
    border: none;
    transition: all 0.3s ease;
    min-width: 140px;
    text-align: center;
}

/* Events Bar Toolbar Icons - Search, Filter, View alle gleich */
/* Nur wenn TEC NICHT im breakpoint-medium ist (= Mobile/Tablet) */
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__search-button,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__filter-button,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-view-selector__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 6px !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--farbe-dorsten-grau, #575756) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: unset !important;
    transition: color 0.3s ease !important;
}

.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__search-button:hover,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__filter-button:hover,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-view-selector__button:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--farbe-dorsten-gruen, #80B022) !important;
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
}

.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__search-button::before,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__filter-button::before {
    display: none !important;
}

.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__search-button svg,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-events-bar__filter-button svg,
.tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-c-view-selector__button svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

/* ===== TEC Top-Bar Navigation: Icons & Labels Fix ===== */
/* Make sure the inline SVG arrows are visible and inherit text color */
.tribe-events-c-top-bar__nav-link svg,
.tribe-events-c-nav__prev svg,
.tribe-events-c-nav__next svg {
    width: 1.1em !important;
    height: 1.1em !important;
    flex: 0 0 auto !important;
}

.tribe-events-c-top-bar__nav-link svg path,
.tribe-events-c-nav__prev svg path,
.tribe-events-c-nav__next svg path {
    fill: currentColor !important;
}

/* Add readable labels using existing title/aria-label without changing markup */
.tribe-events-c-top-bar__nav-link--prev::after {
    content: attr(title);
    display: inline-block;
    margin-left: 8px;
}
.tribe-events-c-top-bar__nav-link--next::before {
    content: attr(title);
    display: inline-block;
    margin-right: 8px;
}

/* Fallback to aria-label when title is missing */
.tribe-events-c-top-bar__nav-link--prev:not([title])::after {
    content: attr(aria-label);
}
.tribe-events-c-top-bar__nav-link--next:not([title])::before {
    content: attr(aria-label);
}

/* Keep disabled look consistent */
.tribe-events-c-top-bar__nav-link[disabled],
.tribe-events-c-nav__prev:disabled,
.tribe-events-c-nav__next:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* On very small screens, show only icons to save space */
@media (max-width: 480px) {
    .tribe-events-c-top-bar__nav-link--prev::after,
    .tribe-events-c-top-bar__nav-link--next::before {
        content: "" !important;
        margin: 0 !important;
    }
}

/* ===== Hotfix: Remove nav labels to avoid cramped text ===== */
.tribe-events-c-top-bar__nav-link--prev::after,
.tribe-events-c-top-bar__nav-link--next::before {
    content: "" !important;
    margin: 0 !important;
}

/* ===== Style: Top-Bar Nav with light background and blue icons ===== */
.tribe-events-c-top-bar__nav-link {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: #ffffff !important;
    border: none !important;
    min-width: auto !important;
    padding: 10px 12px !important;
}

.tribe-events-c-top-bar__nav-link[href],
.tribe-events-c-top-bar__nav-link:not(:disabled) {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: #ffffff !important;
    border: none !important;
}

.tribe-events-c-top-bar__nav-link[href]:hover,
.tribe-events-c-top-bar__nav-link:not(:disabled):hover {
    background: #006aa3 !important; /* slightly darker blue */
    color: #ffffff !important;
}

/* Force icon path to white in enabled state to avoid inheritance issues */
.tribe-events-c-top-bar__nav-link[href] svg path,
.tribe-events-c-top-bar__nav-link:not(:disabled) svg path {
    fill: #ffffff !important;
}

/* Disabled: keep light background and grey icon */
.tribe-events-c-top-bar__nav-link:disabled {
    background: #f5f7fa !important;
    color: #9aa5b1 !important;
    border-color: #e0e6ed !important;
}

/* Disabled icon color */
.tribe-events-c-top-bar__nav-link:disabled svg path {
    fill: #9aa5b1 !important;
}

/* ===== TEC Elementor DateTime Widget – clean, no-box styling ===== */
#tribe-events-pg-template .elementor-widget-tec_events_elementor_widget_event_datetime .elementor-widget-container {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.tec-events-elementor-event-widget__datetime-wrapper,
.tec-events-elementor-event-widget__datetime {
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tec-events-elementor-event-widget__datetime {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756)) !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
}

.tec-events-elementor-event-widget__datetime-date {
    font-weight: 700 !important;
}

.tec-events-elementor-event-widget__datetime-time {
    font-weight: 600 !important;
}

.tec-events-elementor-event-widget__datetime-separator {
    color: var(--farbe-dorsten-hellgrau, var(--dorsten-color-lightgray, #9d9d9c)) !important;
    margin: 0 2px !important;
}

.tribe-events-abbr.tribe-events-time-zone {
    color: var(--farbe-dorsten-hellgrau, var(--dorsten-color-lightgray, #9d9d9c)) !important;
    font-weight: 400 !important;
    margin-left: 6px !important;
    font-size: 0.95em !important;
}

.tribe-events-c-search__button:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF)) !important;
    filter: brightness(0.85) !important;
    color: white !important;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-c-search__input {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
}

.tribe-events-c-search__input:focus {
    border-color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    outline: none;
    box-shadow: 0 0 0 2px rgba(128, 176, 34, 0.2);
}

/* View Selector Styling */
.tribe-events-c-view-selector__button,
.tribe-events-c-view-selector__list-item-link {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
}

.tribe-events-c-view-selector__button:hover,
.tribe-events-c-view-selector__list-item-link:hover {
    color: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF));
}

/* Top Bar and Navigation - Rectangular Buttons */
.tribe-events-c-top-bar__today-button,
.tribe-events-c-nav__today {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    color: white;
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 0 !important;
    border: none;
    transition: all 0.3s ease;
    min-width: 140px;
    text-align: center;
}

.tribe-events-c-top-bar__today-button:hover,
.tribe-events-c-nav__today:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF));
    filter: brightness(0.85);
    color: white;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__datepicker-time {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
}

/* Navigation Buttons - Rectangular Buttons */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-top-bar__nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    background-color: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    text-decoration: none !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    min-width: 140px !important;
    text-align: center !important;
    cursor: pointer !important;
}

/* Alle Kind-Elemente in Nav-Buttons weiß */
.tribe-events-c-nav__prev *,
.tribe-events-c-nav__next *,
.tribe-events-c-top-bar__nav-link * {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

.tribe-events-c-nav__prev:not(:disabled):hover,
.tribe-events-c-nav__next:not(:disabled):hover,
.tribe-events-c-top-bar__nav-link:not(:disabled):hover {
    background: var(--farbe-dorsten-blau, #007DBF) !important;
    background-color: var(--farbe-dorsten-blau, #007DBF) !important;
    color: white !important;
    filter: none !important;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-c-nav__prev:disabled,
.tribe-events-c-nav__next:disabled,
.tribe-events-c-top-bar__nav-link:disabled {
    background: #ccc !important;
    background-color: #ccc !important;
    color: #666 !important;
    cursor: not-allowed !important;
    filter: none !important;
}

/* Subscribe Dropdown - Rectangular Button */
.tribe-events-c-subscribe-dropdown__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    color: white;
    text-decoration: none;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 0 !important;
    border: none;
    transition: all 0.3s ease;
    min-width: 140px;
    text-align: center;
}

.tribe-events-c-subscribe-dropdown__button-text {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: white;
    font-weight: 600;
}

.tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    filter: brightness(0.85);
    color: white;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756));
    transition: color 0.2s ease;
}

.tribe-events-c-subscribe-dropdown__list-item-link:hover {
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #80B022));
    background: rgba(128, 176, 34, 0.1);
}

/* Form Labels and Text */
.tribe-common-form-control-text__label,
.tribe-events-c-search__input::placeholder {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    color: var(--farbe-dorsten-hellgrau, var(--dorsten-color-lightgray, #9d9d9c));
}

/* Screen Reader Text with Proper Font */
.tribe-common-a11y-visual-hide,
.tribe-common-a11y-hidden {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
}

/* Common Typography Classes */
.tribe-common-h7,
.tribe-common-h6--min-medium,
.tribe-common-h--alt,
.tribe-common-h3,
.tribe-common-b2,
.tribe-common-b1--min-medium {
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    color: var(--farbe-dorsten-grau, var(--dorsten-color-gray, #575756)) !important;
}

/* Event Calendar Container Background */
.tribe-common-l-container.tribe-events-l-container {
    background: transparent;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif);
    max-width: var(--container-width);
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}

/* Use website standard padding for breakpoint medium containers */
.tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container {
    padding-left: var(--abstand-lg) !important;
    padding-right: var(--abstand-lg) !important;
}

/* Bessere Mikro-Abstände innerhalb der Adresse */
.tribe-address .tribe-locality,
.tribe-address .tribe-region,
.tribe-address .tribe-postal-code,
.tribe-address .tribe-country-name {
    margin-right: 0.35em !important;
}
.tribe-address .tribe-delimiter {
    margin: 0 0.35em !important;
}

/* ==== SINGLE EVENT – Layout v2 (CI) ===================================== */
#tribe-events-pg-template .elementor {
    /* Nebeneinander -> Untereinander umgestellt */
    display: block !important; /* vorher: grid */
    /* grid-template-columns und gap entfallen bei Block-Layout */
}

/* Content-Spalte (links) – Titel, Datum/Zeit, Bild, Inhalt */
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_title,
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_datetime,
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_image,
#tribe-events-pg-template .elementor > .elementor-widget-theme-post-content {
    grid-column: 1 !important;
}

/* Sidebar-Spalte (rechts) – Venue & Export */
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_venue,
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_export {
    grid-column: 2 !important;
    align-self: start !important;
}

/* Post-Content – ohne Card/Shadow (CI clean) */
#tribe-events-pg-template .elementor-widget-theme-post-content .elementor-widget-container {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Optional: Event-Bild über volle Inhaltsbreite (spannt beide Spalten bei Bedarf) */
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_image {
    grid-column: 1 / -1 !important; /* kann das Bild über beide Spalten spannen */
}
#tribe-events-pg-template .elementor > .elementor-element.elementor-widget-tec_events_elementor_widget_event_image .elementor-widget-container {
    /* leicht vollflächiger Look innerhalb des Seiten-Paddings */
    margin-bottom: var(--abstand-lg, 2rem) !important;
}

/* Datum/Zeit dezent als Chip-Zeile unter dem Titel */
.tec-events-elementor-event-widget__datetime {
    background: rgba(128, 176, 34, 0.06) !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
}

/* Export-Container am Button verankern (Dropdown fix) – falls noch nicht gesetzt */
.tec-events-elementor-event-widget__export-dropdown {
    position: relative !important;
    display: inline-block !important;
}

/* ==== CI-Button-Styles für Events (angleichen an Standard-Buttons) ==== */
.tec-events-elementor-event-widget__export-dropdown-button,
.tribe-events-gmap,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-search__button,
.tribe-events-c-top-bar__today-button,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-top-bar__nav-link,
.tribe-events-nav-previous a,
.tribe-events-nav-next a,
.tribe-events-calendar-list__event-save-button {
    background-color: var(--farbe-dorsten-gruen, #80B022) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    min-width: auto !important; /* frühere Mindestbreiten neutralisieren */
}

.tec-events-elementor-event-widget__export-dropdown-button:hover,
.tribe-events-gmap:hover,
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-c-search__button:hover,
.tribe-events-c-top-bar__today-button:hover,
.tribe-events-c-nav__prev:not(:disabled):hover,
.tribe-events-c-nav__next:not(:disabled):hover,
.tribe-events-c-top-bar__nav-link:not(:disabled):hover,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover,
.tribe-events-calendar-list__event-save-button:hover {
    background-color: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF)) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    color: #fff !important;
}

/* Disabled-Zustände respektieren */
.tribe-events-c-nav__prev:disabled,
.tribe-events-c-nav__next:disabled,
.tribe-events-c-top-bar__nav-link:disabled {
    background-color: #ccc !important;
    color: #666 !important;
    transform: none !important;
    box-shadow: none !important;
}
/* ==== END CI-Button-Styles ==== */

/* ==== Ergänzung: Alle relevanten TEC-Button-Varianten ohne abgerundete Ecken ==== */
.tribe-common-c-btn-border-small,
.tribe-common-c-btn-icon,
.tribe-common-c-btn__clear,
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__today-button,
.tribe-events-c-top-bar__nav-link,
.tribe-events-c-search__button,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-calendar-list__event-save-button,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-nav-previous a,
.tribe-events-nav-next a {
    border-radius: 0 !important;
}

/* ========================================
   Top Bar Navigation ausblenden
   (Prev/Next Pagination in der Top Bar)
   ======================================== */
.tribe-events-c-top-bar__nav,
.tribe-events .tribe-events-c-top-bar__nav,
.tribe-common .tribe-events-c-top-bar__nav,
nav.tribe-events-c-top-bar__nav,
.tribe-events-c-top-bar__nav.tribe-common-a11y-hidden,
.tribe-events-c-top-bar .tribe-events-c-top-bar__nav {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
}

/* ========================================
   Datepicker Kalender Styling
   ======================================== */
.tribe-events .datepicker .prev:hover,
.tribe-events .datepicker .next:hover,
.tribe-events .datepicker th.prev:hover,
.tribe-events .datepicker th.next:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF)) !important;
    color: white !important;
}

.tribe-events .datepicker .prev svg,
.tribe-events .datepicker .next svg {
    transition: all 0.3s ease;
}

.tribe-events .datepicker .prev:hover svg,
.tribe-events .datepicker .next:hover svg {
    fill: white !important;
}

.tribe-events .datepicker .day:hover,
.tribe-events .datepicker td.day:hover {
    background: var(--farbe-primär, var(--farbe-dorsten-blau, #007DBF)) !important;
    color: white !important;
}

.tribe-events .datepicker .day.active,
.tribe-events .datepicker td.day.active {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
}

/* ========================================
   GLOBALE BORDER-ENTFERNUNG
   Alle Borders im Event Calendar entfernen
   ======================================== */
.tribe-events *,
.tribe-events-single *,
#tribe-events *,
#tribe-events-content *,
.tribe-common *,
.tribe-events-event-meta *,
.tribe-events-meta-group *,
.dorsten-meta-wrapper *,
.dorsten-meta-columns * {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* Ausnahmen: Outline-Buttons behalten ihren Border */
.tribe-common-c-btn-border {
    border: 2px solid var(--farbe-dorsten-gruen, #80B022) !important;
}

/* Subscribe-Button: gefüllter Hintergrund (kein Outline) */
.tribe-events-c-subscribe-dropdown__button {
    background: var(--farbe-dorsten-gruen, #80B022) !important;
    color: white !important;
    border: none !important;
}

/* Ausnahmen: Share- und Ticket-Buttons behalten ihren Stil */
.dorsten-event-share__btn,
.dorsten-ticket-button__link {
    border: none !important;
    color: #ffffff !important;
}

.dorsten-ticket-button__link span,
.dorsten-ticket-button__link svg,
.dorsten-ticket-button__link svg path,
.dorsten-ticket-button__link svg polyline,
.dorsten-ticket-button__link svg line {
    color: #ffffff !important;
    fill: none !important;
    stroke: #ffffff !important;
}

/* Ausnahme: Iframe Border (Google Maps) */
.dorsten-fullwidth-map iframe,
.tribe-events-venue-map iframe {
    border: none !important;
}

/* =====================================================
   TEC AKZENTFARBE ÜBERSCHREIBEN (verhindert lila)
   Ergänzung zu events-calendar-integration.php → stadt_dorsten_tec_color_override()
   Hier: CSS-Variablen-Fallback falls PHP-Override zu früh geladen wird.
   Hauptfix läuft per PHP/JS in events-calendar-integration.php (Priority 999 / Footer).
   ===================================================== */

/* TEC nutzt intern --tec-color-accent-* Variablen für Lila.
   Diese werden hier auf Dorsten-CI überschrieben. */
:root,
.tribe-events,
.tribe-common {
    --tec-color-accent-primary: var(--farbe-dorsten-gruen, #80B022) !important;
    --tec-color-accent-primary-hover: var(--farbe-dorsten-blau, #007DBF) !important;
    --tec-color-accent-secondary: var(--farbe-dorsten-gruen, #80B022) !important;
    --tec-color-background-secondary: var(--farbe-dorsten-gruen, #80B022) !important;
    --tec-color-button-primary-background: var(--farbe-dorsten-gruen, #80B022) !important;
    --tec-color-button-primary-background-hover: var(--farbe-dorsten-blau, #007DBF) !important;
    --tec-color-button-primary-color: #ffffff !important;
    --tec-color-link-primary: var(--farbe-dorsten-gruen, #80B022) !important;
    --tec-color-link-primary-hover: var(--farbe-dorsten-blau, #007DBF) !important;
}

/* Links in ähnliche Veranstaltungen und Event-Titeln */
.tribe-events a,
.tribe-events-single a,
#tribe-events-content a,
.tribe-block__event-website a {
    color: var(--farbe-dorsten-gruen, #80B022) !important;
}

.tribe-events a:hover,
.tribe-events-single a:hover,
#tribe-events-content a:hover {
    color: var(--farbe-dorsten-blau, #007DBF) !important;
}

/* Kalender-Export-Icon (iCal-Clipboard-Symbol) neben Datum */
.tribe-events-schedule a,
.tribe-events-schedule .tribe-events-abbr,
.tribe-events-abbr a {
    color: var(--farbe-dorsten-gruen, #80B022) !important;
}

/* =====================================================
   SERIEN-HINWEISE AUSBLENDEN
   ===================================================== */

/* "Serien:" Label + Link in der Meta-Details-Liste */
.tec-events-pro-series-meta-detail--label,
.tec-events-pro-series-meta-detail--link {
    display: none !important;
}

/* Veranstaltungsserie-Marker (Icon + Text + Link) */
.tribe-events-series-relationship-single-marker {
    display: none !important;
}

/* =====================================================
   FINALER CI-OVERRIDE – MUSS ZULETZT STEHEN
   Überschreibt alle TEC-internen CSS-Variablen (lila)
   und setzt Buttons hart auf Dorsten-Grün/Weiß.
   ===================================================== */

/* TEC-Akzentfarben auf CI umbiegen */
.tribe-events,
.tribe-common,
#tribe-events,
#tribe-events-content,
body.tribe-events-single {
    --tec-color-accent-primary: #80B022 !important;
    --tec-color-accent-primary-active: #6a9419 !important;
    --tec-color-accent-primary-hover: #007DBF !important;
    --tec-color-accent-primary-multiday: #80B022 !important;
    --tec-color-accent-primary-background: rgba(128, 176, 34, 0.07) !important;
    --tribe-color-primary: #80B022 !important;
    --tribe-color-secondary: #007DBF !important;
}

/* Alle Event-Buttons einheitlich stylen */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-top-bar__nav-link,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-search__button,
.tribe-events-c-top-bar__today-button,
.tribe-events-nav-previous a,
.tribe-events-nav-next a,
.tribe-events-calendar-list__event-save-button,
.tec-events-elementor-event-widget__export-dropdown-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    background: #80B022 !important;
    background-color: #80B022 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: var(--schrift-primär, 'Segoe UI', Arial, sans-serif) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    min-width: 140px !important;
    text-align: center !important;
    cursor: pointer !important;
}

/* Kind-Elemente (Text, Links, SVG, Pfeile) weiß */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__prev *,
.tribe-events-c-nav__prev a,
.tribe-events-c-nav__prev a:visited,
.tribe-events-c-nav__next,
.tribe-events-c-nav__next *,
.tribe-events-c-nav__next a,
.tribe-events-c-nav__next a:visited,
.tribe-events-c-top-bar__nav-link,
.tribe-events-c-top-bar__nav-link *,
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-c-subscribe-dropdown__button *,
.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events-nav-previous a,
.tribe-events-nav-previous a:visited,
.tribe-events-nav-next a,
.tribe-events-nav-next a:visited {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: none !important;
}

/* Hover → Blau */
.tribe-events-c-nav__prev:not(:disabled):hover,
.tribe-events-c-nav__next:not(:disabled):hover,
.tribe-events-c-top-bar__nav-link:not(:disabled):hover,
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events-c-search__button:hover,
.tribe-events-c-top-bar__today-button:hover,
.tribe-events-nav-previous a:hover,
.tribe-events-nav-next a:hover,
.tribe-events-calendar-list__event-save-button:hover,
.tec-events-elementor-event-widget__export-dropdown-button:hover {
    background: #007DBF !important;
    background-color: #007DBF !important;
    color: #ffffff !important;
    filter: none !important;
    transform: none !important;
    box-shadow: none !important;
}