.tecddf-bar {
    display: flex;
    gap: 10px;
    margin: .5rem 0 1rem;
    align-items: center;
}

.tecddf-field {
    display: inline-flex;
    flex-direction: column;
    gap: .25rem;
}

.tecddf-bar select {
    min-width: 220px;
    max-width: 100%;
    padding: .5rem .6rem;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    background: #fff;
}

.tecddf-submit {
    padding: .5rem .8rem;
}

/* ===== TEC DDF – Container Busy ===== */
#tribe-events {
    position: relative;
}

#tribe-events[data-tecddf-loading="1"] {
    opacity: .72;
    transition: opacity .2s ease;
}

/* ===== TEC DDF – Body Overlay (blockt Klicks) ===== */
.tecddf-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .28);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    /* blockt Interaktionen darunter */
}

.tecddf-overlay[hidden] {
    display: none;
}

/* Spinner im Overlay */
.tecddf-body-spinner__inner {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .6rem .9rem;
    background: rgba(255, 255, 255, .97);
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 2px 14px rgba(0, 0, 0, .10);
    font-size: 14px;
}

.tecddf-body-spinner__dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #999;
    border-top-color: transparent;
    animation: tecddf-spin .9s linear infinite;
}

@keyframes tecddf-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Optional: kleiner Inline-Spinner direkt im TEC-Container als Fallback */
.tecddf-spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.tecddf-spinner__inner {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .6rem .8rem;
    background: rgba(255, 255, 255, .90);
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
    font-size: 14px;
}

.tecddf-spinner__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #999;
    border-top-color: transparent;
    animation: tecddf-spin .9s linear infinite;
}


@media screen and (max-width: 782px) {
    .tribe-events-page-template .tribe-events-c-top-bar.tribe-events-header__top-bar {
        position: absolute;
        top: -40px;
        left: 4px;
    }


    .tribe-events-page-template .tribe-events-c-view-selector {
        position: relative;
        right: 100vw;
        transform: translateX(323px);
        width: 300px;
    }

    .tecddf-bar {
        align-items: flex-start;
        flex-flow: column;
    }

    .tribe-events-page-template .tribe-events .tribe-events-header {
        z-index: 90
    }

    .tribe-events-page-template div#tribe-events-view-selector-content {
        z-index: 999;
        position: relative;
        opacity: 1;
        top: 0;
    }

    .tribe-events-page-template .tribe-events .tribe-events-calendar-month-mobile-events__mobile-day--show {
        display: block;
        display: flex !important;
        flex-flow: column;
        flex-direction: column-reverse;
    }
}


.ecs-event-list .tecddf-hidden {
    display: none !important;
}

/* simple toggle */
.tecddf-view-switch {
    display: inline-flex;
    gap: .4rem;
    margin: 7px;
}

.tecddf-view-switch .tecddf-view-link {
    display: inline-block;
    padding: .4rem .7rem;
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.3;
    background: #fff;
}

.tecddf-view-switch .tecddf-view-link.is-active {
    border-color: #1e7e34;
    color: #1e7e34;
    font-weight: 600;
}