.bp-events-filter {
    margin: 16px 0 24px;
    display: flex;
    gap: 12px;
    align-items: flex-end
}

.bp-events-filter .bp-filter-row {
    display: flex;
    gap: 12px;
    align-items: flex-end
}

.bp-events-filter label {
    display: flex;
    flex-direction: column;
    font-weight: 600;
    font-size: 14px
}

.bp-events-filter input[type=date] {
    padding: 8px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 8px
}

.bp-events-filter button {
    padding: 10px 14px;
    border-radius: 8px;
    border: 0;
    background: var(--e-global-color-sk_color_5);
    border: 1px solid var(--e-global-color-sk_color_5);
    color: #fff;
    cursor: pointer
}

.bp-events-filter button:hover {
    background: transparent;
    border-color: var(--e-global-color-sk_color_5);
    color: var(--e-global-color-sk_color_5);
    border-radius: 8px;
}
.bp-events-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px
}

@media (min-width: 900px) {
    .bp-events-grid {
        grid-template-columns: 1fr 1fr
    }
}
.bp-event-datebar ,.bp-event-body{
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
}
.bp-event-datebar{
    background-color: transparent;
    background-image: linear-gradient(140deg, var(--e-global-color-sk_color_5) 0%, var(--e-global-color-sk_color_7) 100%);
}
.bp-event-body{
    
    padding:24px;
    padding-bottom:45px;
    border-radius: 16px;
}
.bp-event-card {
    
    display: flex;
    gap: 10px;
    background: #fff;
    border-radius: 16px;
}

.bp-event-datebar {
    width: 120px;
    min-width: 120px;
    border-radius: 12px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px
}

.bp-event-day {
    font-size: 56px;
    line-height: 1;
    font-weight: 700
}

.bp-event-month {
    font-size: 24px;
    margin-top: 4px
}

.bp-event-year {
    font-size: 22px;
    margin-top: 4px;
    opacity: .9
}

.bp-event-body {
    flex: 1;
    position: relative;
}

.bp-event-title {
    margin: 0 0 12px;
    font-size: 24px
}

.bp-event-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.bp-meta-row {
    display: flex;
    gap: 10px;
    align-items: flex-start
}

.bp-ico {
    display: inline-block;
    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 4px;
    background: #eef2ff;
    position: relative
}

.bp-ico:before {
    content: '';
    position: absolute;
    inset: 3px;
    background: black;
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat
}

.bp-ico.bp-ico-cal:before {
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 64C241.7 64 256 78.3 256 96L256 128L384 128L384 96C384 78.3 398.3 64 416 64C433.7 64 448 78.3 448 96L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 96C192 78.3 206.3 64 224 64zM160 304L160 336C160 344.8 167.2 352 176 352L208 352C216.8 352 224 344.8 224 336L224 304C224 295.2 216.8 288 208 288L176 288C167.2 288 160 295.2 160 304zM288 304L288 336C288 344.8 295.2 352 304 352L336 352C344.8 352 352 344.8 352 336L352 304C352 295.2 344.8 288 336 288L304 288C295.2 288 288 295.2 288 304zM432 288C423.2 288 416 295.2 416 304L416 336C416 344.8 423.2 352 432 352L464 352C472.8 352 480 344.8 480 336L480 304C480 295.2 472.8 288 464 288L432 288zM160 432L160 464C160 472.8 167.2 480 176 480L208 480C216.8 480 224 472.8 224 464L224 432C224 423.2 216.8 416 208 416L176 416C167.2 416 160 423.2 160 432zM304 416C295.2 416 288 423.2 288 432L288 464C288 472.8 295.2 480 304 480L336 480C344.8 480 352 472.8 352 464L352 432C352 423.2 344.8 416 336 416L304 416zM416 432L416 464C416 472.8 423.2 480 432 480L464 480C472.8 480 480 472.8 480 464L480 432C480 423.2 472.8 416 464 416L432 416C423.2 416 416 423.2 416 432z"/></svg>')
}

.bp-ico.bp-ico-loc:before {
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z"/></svg>')
}
.bp-event-card h3{
    font-size: 21px;
}
.bp-event-card{
    font-size: 16px;
}
.bp-event-more {
    position: absolute;
    right:24px;
    bottom:24px;
    text-align: right;
}

.bp-event-more a {
    color: #111827;
    text-decoration: none;
    font-weight: 600
}

/* Loading-State */
.bp-events-container {
    position: relative;
    min-height: 80px
}

.bp-events-container.is-loading {
    pointer-events: none
}

.bp-events-container.is-loading::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .6)
}

.bp-events-container.is-loading::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34px;
    height: 34px;
    margin: -17px 0 0 -17px;
    border-radius: 50%;
    border: 3px solid #e5e7eb;
    border-top-color: #4f46e5;
    animation: bp-spin .8s linear infinite
}

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

/* Sentinel (unsichtbar, reserviert Platz am Ende) */
.bp-infinite-sentinel{height:1px;width:100%}

/* Mobile: Button in nächste Zeile */
@media (max-width: 640px) {
    .bp-events-filter .bp-filter-row {
        flex-wrap: wrap;
    }
    .bp-events-filter .bp-filter-row button {
        flex: 1 0 100%;
        width: 100%;
        margin-top: 8px;
    }
}