/* BFS Veranstaltungen 3.4.3 — one consistent calendar action everywhere */
.bfs-event-calendar-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .7rem !important;
    width: auto !important;
    min-height: 48px !important;
    padding: .62rem .92rem !important;
    margin: 0 !important;
    border: 1px solid #cfdde8 !important;
    border-radius: 15px !important;
    background: #fff !important;
    background-image: none !important;
    color: #12314f !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: 0 6px 18px rgba(16,47,80,.08) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    opacity: 1 !important;
    overflow: visible !important;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease !important;
}
.bfs-event-calendar-action:hover,
.bfs-event-calendar-action:focus-visible {
    border-color: #3598cc !important;
    background: #edf7fc !important;
    color: #102f50 !important;
    transform: translateY(-2px);
}
.bfs-event-calendar-action__icon {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
    background: #e9f5fb !important;
    color: #177daf !important;
}
.bfs-event-calendar-action__icon svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.bfs-event-calendar-action > span:last-child { display: block !important; }
.bfs-event-calendar-action strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: .86rem !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    line-height: 1.15 !important;
}
html.bfs-dark-mode .bfs-event-calendar-action {
    border-color: #40556d !important;
    background: #1a2c41 !important;
    color: #fff !important;
    box-shadow: none !important;
}
html.bfs-dark-mode .bfs-event-calendar-action__icon {
    background: #29435e !important;
    color: #8dd5f2 !important;
}
@media (max-width: 620px) {
    .bfs-event-calendar-action {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .bfs-event-calendar-action { transition: none !important; }
    .bfs-event-calendar-action:hover,
    .bfs-event-calendar-action:focus-visible { transform: none !important; }
}

/* 3.5.2 — de-emphasised variant: visually identical to the primary action,
   but icon-only and used as a compact corner button. */
.bfs-event-calendar-action--subtle {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 16px !important;
}
.bfs-event-calendar-action--subtle .bfs-event-calendar-action__icon {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
}
.bfs-event-calendar-action--subtle .bfs-event-calendar-action__text {
    display: none !important;
}
.bfs-event-calendar-action--subtle .bfs-event-calendar-action__icon svg {
    width: 20px !important;
    height: 20px !important;
}
.event-card .bfs-event-calendar-action--context-home.bfs-event-calendar-action--subtle {
    position: absolute !important;
    top: -14px !important;
    right: -14px !important;
    z-index: 6 !important;
}
.bfs-next-event {
    position: relative;
}
.bfs-next-event .bfs-event-calendar-action--context-shortcode_next.bfs-event-calendar-action--subtle {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 6 !important;
}
@media (max-width: 760px) {
    .bfs-next-event .bfs-event-calendar-action--context-shortcode_next.bfs-event-calendar-action--subtle {
        top: 14px !important;
        right: 14px !important;
    }
}
@media (max-width: 620px) {
    .event-card .bfs-event-calendar-action--context-home.bfs-event-calendar-action--subtle {
        top: -10px !important;
        right: -10px !important;
    }
    .bfs-next-event .bfs-event-calendar-action--context-shortcode_next.bfs-event-calendar-action--subtle {
        top: 12px !important;
        right: 12px !important;
    }
}
