.askoe-events-wrap {
    width: 100%;
}

.askoe-events-wrap > h2 {
    margin: 0 0 12px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.1;
    color: #071a35;
}

.askoe-events-wrap > p {
    margin: 0 0 38px;
    font-size: 20px;
}

/* Eigene Plugin-Karten: ausschließlich für Shortcodes des Plugins. */
.askoe-event-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 28px;
    margin: 0 0 28px;
    padding: 28px;
    background: #fff;
    border-left: 7px solid #c4007a;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(7, 26, 53, 0.08);
}

.askoe-event-card.is-past { border-left-color: #6b7280; }
.askoe-event-datebox { align-self: start; overflow: hidden; text-align: center; border: 1px solid #d9e0ea; border-radius: 12px; background: #fff; }
.askoe-event-month { padding: 10px 8px; color: #fff; background: #c4007a; font-weight: 800; font-size: 17px; }
.is-past .askoe-event-month { background: #6b7280; }
.askoe-event-day { padding-top: 7px; color: #071a35; font-size: 46px; line-height: 1; font-weight: 800; }
.askoe-event-weekday { padding: 7px 8px 13px; color: #4b5563; font-weight: 800; }
.askoe-event-status { display: inline-block; margin-bottom: 10px; padding: 7px 14px; color: #fff; background: #c4007a; border-radius: 999px; font-weight: 800; font-size: 14px; }
.is-past .askoe-event-status { background: #6b7280; }
.askoe-event-title { margin: 0 0 18px; color: #003f78; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; }
.askoe-event-details { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 12px 18px; margin: 0; }
.askoe-event-details dt { margin: 0; color: #6b7280; font-weight: 800; }
.askoe-event-details dd { margin: 0; color: #111827; font-size: 18px; }
.askoe-event-details a { color: #006eb8; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.askoe-event-description { margin-top: 20px; font-size: 18px; }
.askoe-event-actions { margin-top: 24px; }
.askoe-event-invitation { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; color: #fff !important; background: #c4007a; border-radius: 9px; text-decoration: none !important; font-weight: 800; }
.askoe-event-invitation:hover, .askoe-event-invitation:focus { filter: brightness(0.92); }

/* ANMELDEN-Button: unser Blau (identisch mit .askoe-btn-blue auf der Terminseite), zwischen Einladung und Kalenderlink. */
.askoe-event-register, .askoe-fixed-event-register { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; color: #fff !important; background: #0069b4; border-radius: 9px; text-decoration: none !important; font-weight: 800; }
.askoe-event-register:hover, .askoe-event-register:focus, .askoe-fixed-event-register:hover, .askoe-fixed-event-register:focus { filter: brightness(0.92); }

.askoe-event-invitation.is-past {
    background: #6b7280 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    filter: none !important;
    opacity: 1 !important;
}
.askoe-event-invitation.is-past:hover,
.askoe-event-invitation.is-past:focus {
    background: #5f6673 !important;
    filter: none !important;
}
.askoe-event-actions.has-photos, .askoe-fixed-event-actions.has-photos { display: flex; flex-wrap: wrap; gap: 12px; }
.askoe-event-photos, .askoe-fixed-event-photos { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; color: #003f78 !important; background: #fff; border: 2px solid #003f78; border-radius: 9px; text-decoration: none !important; font-weight: 800; box-sizing: border-box; }
.askoe-event-photos:hover, .askoe-event-photos:focus, .askoe-fixed-event-photos:hover, .askoe-fixed-event-photos:focus { background: #003f78; color: #fff !important; }
.askoe-event-empty { padding: 28px; background: #fff; border-radius: 18px; box-shadow: 0 12px 34px rgba(7, 26, 53, 0.08); font-weight: 700; }

/* Startseite: KEINE Layout-Änderung. Nur Hand, Klick und derselbe Hover-Effekt. */
.askoe-home-event-card,
.askoe-home-event-card * {
    cursor: pointer !important;
}

.askoe-home-event-card {
    position: relative !important;
    z-index: 1 !important;
    scale: 1 !important;
    translate: 0 0 !important;
    transform-origin: center center !important;
    transition: scale 220ms ease, translate 220ms ease, box-shadow 220ms ease !important;
    will-change: scale, translate;
}

.askoe-home-event-card:hover,
.askoe-home-event-card:focus-visible,
.askoe-home-event-card:focus-within {
    scale: 1.035 !important;
    translate: 0 -8px !important;
    box-shadow: 0 24px 52px rgba(7, 26, 53, 0.22) !important;
    z-index: 50 !important;
}

.askoe-home-event-overflow { overflow: visible !important; }

/* Terminseite: wird von JavaScript als stabile, eigene Struktur eingesetzt. */
.askoe-fixed-event-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 28px !important;
    margin: 0 0 22px !important;
    padding: 28px !important;
    background: #fff !important;
    border-left: 7px solid #c4007a !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(7, 26, 53, 0.08) !important;
}
.askoe-fixed-event-card.is-past { border-left-color: #6b7280 !important; }
.askoe-fixed-event-datebox { align-self: start; overflow: hidden; text-align: center; border: 1px solid #d9e0ea; border-radius: 12px; background: #fff; }
.askoe-fixed-event-month { padding: 10px 8px; color: #fff; background: #c4007a; font-weight: 800; font-size: 17px; }
.askoe-fixed-event-card.is-past .askoe-fixed-event-month { background: #6b7280; }
.askoe-fixed-event-day { padding-top: 7px; color: #071a35; font-size: 46px; line-height: 1; font-weight: 800; }
.askoe-fixed-event-weekday { padding: 7px 8px 13px; color: #4b5563; font-weight: 800; }
.askoe-fixed-event-main { min-width: 0; }
.askoe-fixed-event-status { display: inline-block; margin-bottom: 10px; padding: 7px 14px; color: #fff; background: #c4007a; border-radius: 999px; font-weight: 800; font-size: 14px; }
.askoe-fixed-event-card.is-past .askoe-fixed-event-status { background: #6b7280; }
.askoe-fixed-event-title { margin: 0 0 18px !important; color: #003f78 !important; font-size: clamp(28px, 3vw, 38px) !important; line-height: 1.15 !important; }
.askoe-fixed-event-rows { display: grid !important; grid-template-columns: 115px minmax(0, 1fr) !important; gap: 12px 18px !important; margin: 0 !important; }
.askoe-fixed-event-label { color: #6b7280; font-weight: 800; }
.askoe-fixed-event-value { min-width: 0; color: #111827; font-size: 18px; }
.askoe-fixed-event-value a { color: #006eb8 !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 700; }
.askoe-fixed-event-actions { margin-top: 24px; }
.askoe-fixed-event-invitation { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; color: #fff !important; background: #c4007a; border-radius: 9px; text-decoration: none !important; font-weight: 800; }

.askoe-fixed-event-invitation.is-past {
    background: #6b7280 !important;
    color: #ffffff !important;
    cursor: pointer !important;
    filter: none !important;
    opacity: 1 !important;
}
.askoe-fixed-event-invitation.is-past:hover,
.askoe-fixed-event-invitation.is-past:focus {
    background: #5f6673 !important;
    filter: none !important;
}

@media (max-width: 700px) {
    .askoe-event-card, .askoe-fixed-event-card { grid-template-columns: 82px minmax(0, 1fr) !important; gap: 18px !important; padding: 20px !important; }
    .askoe-event-day, .askoe-fixed-event-day { font-size: 36px; }
    .askoe-event-details, .askoe-fixed-event-rows { grid-template-columns: 1fr !important; gap: 4px !important; }
    .askoe-event-details dd, .askoe-fixed-event-value { margin-bottom: 10px !important; }
    .askoe-home-event-card:hover, .askoe-home-event-card:focus-visible, .askoe-home-event-card:focus-within { scale: 1.01 !important; translate: 0 -4px !important; }
}

/* Mobile Startseite: Termin-Karten einspaltig, damit Datum und Text nicht überlappen. */
@media (max-width: 700px) {
    #askoe-dynamic-events .askoe-event-card,
    #askoe-dynamic-events .askoe-home-event-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 28px 22px !important;
        align-items: start !important;
    }

    #askoe-dynamic-events .askoe-date {
        width: 140px !important;
        min-width: 140px !important;
        max-width: 140px !important;
        margin: 0 auto !important;
        justify-self: center !important;
    }

    #askoe-dynamic-events .askoe-event-info {
        width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    #askoe-dynamic-events .askoe-event-info h3 {
        min-height: 0 !important;
        margin-top: 0 !important;
        font-size: 28px !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    #askoe-dynamic-events .askoe-event-info p,
    #askoe-dynamic-events .askoe-event-info a,
    #askoe-dynamic-events .askoe-event-meta,
    #askoe-dynamic-events .askoe-event-location,
    #askoe-dynamic-events .askoe-event-contact {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

/* Mobile Terminseite: Datum oben, Inhalt darunter. Desktop bleibt unverändert. */
@media (max-width: 700px) {
    .askoe-fixed-event-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding: 28px 22px !important;
        align-items: start !important;
    }

    .askoe-fixed-event-datebox {
        width: 140px !important;
        min-width: 140px !important;
        max-width: 140px !important;
        margin: 0 auto !important;
        justify-self: center !important;
    }

    .askoe-fixed-event-main {
        width: 100% !important;
        min-width: 0 !important;
    }

    .askoe-fixed-event-title {
        min-height: 0 !important;
        margin-top: 0 !important;
        font-size: 28px !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .askoe-fixed-event-rows {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .askoe-fixed-event-label,
    .askoe-fixed-event-value,
    .askoe-fixed-event-value a {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}
