
:root {
    --ninagrafie-event-bordeaux: #6b2039;
    --ninagrafie-event-bordeaux-soft: #8f5c61;
    --ninagrafie-event-olive: #4f6840;
    --ninagrafie-event-beige: #e8ded1;
    --ninagrafie-event-ivory: #fbf7ee;
    --ninagrafie-event-text: #222222;
    --ninagrafie-event-muted: #6f6a66;
    --ninagrafie-event-border: var(--ninagrafie-card-border-soft, #ddd1c4);
}

.ninagrafie-event-card-preview {
    max-width: 460px;
}

.ninagrafie-event-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ninagrafie-event-border);
    border-radius: var(--ninagrafie-card-radius, 16px);
    background: var(--ninagrafie-card-surface, #fff);
    color: var(--ninagrafie-event-text);
    box-shadow: var(--ninagrafie-card-shadow, 0 8px 24px rgba(34, 34, 34, .06));
    transition: box-shadow var(--ninagrafie-card-transition, .22s ease), border-color var(--ninagrafie-card-transition, .22s ease);
}

.ninagrafie-event-card:hover { box-shadow:var(--ninagrafie-card-shadow-hover,0 12px 32px rgba(58,43,37,.085)); }

.ninagrafie-event-card h3,
.ninagrafie-event-card p {
    margin-top: 0;
}

.ninagrafie-event-card__media,
.ninagrafie-event-card__story-image,
.ninagrafie-event-card__compact-image {
    position: relative;
    overflow: hidden;
    background: var(--ninagrafie-event-beige);
}

.ninagrafie-event-card__image,
.ninagrafie-event-card__media > img,
.ninagrafie-event-card__story-image > img,
.ninagrafie-event-card__compact-image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ninagrafie-event-card__image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    background:
        linear-gradient(135deg, rgba(107,32,57,.04), rgba(79,104,64,.05)),
        var(--ninagrafie-event-ivory);
}

.ninagrafie-event-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ninagrafie-event-card__badges span,
.ninagrafie-event-card__status {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    background: var(--ninagrafie-event-bordeaux);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ninagrafie-event-card__badges .is-season {
    background: #a18a4e;
}

.ninagrafie-event-card__facts {
    display: grid;
    gap: 8px;
    color: var(--ninagrafie-event-muted);
    font-size: 14px;
}

.ninagrafie-event-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ninagrafie-event-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    background: var(--ninagrafie-event-bordeaux);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    flex: 0 0 auto;
}

.ninagrafie-event-card__cta:hover {
    background: #54182c;
}

/* A – Editorial */
.ninagrafie-event-card--editorial .ninagrafie-event-card__media {
    height: 270px;
}

.ninagrafie-event-card--editorial .ninagrafie-event-card__badges {
    position: absolute;
    top: 16px;
    left: 16px;
}

.ninagrafie-event-card--editorial .ninagrafie-event-card__status {
    position: absolute;
    top: 16px;
    right: 16px;
}

.ninagrafie-event-card--editorial .ninagrafie-event-card__body {
    padding: 22px;
}

.ninagrafie-event-card--editorial h3 {
    margin-bottom: 7px;
    font-size: 24px;
    line-height: 1.15;
}

.ninagrafie-event-card--editorial .ninagrafie-event-card__intro {
    margin-bottom: 18px;
    color: var(--ninagrafie-event-muted);
}

.ninagrafie-event-card--editorial .ninagrafie-event-card__footer {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--ninagrafie-event-border);
}

/* B – Image Focus */
.ninagrafie-event-card--image-focus {
    min-height: 540px;
    background: #191714;
    color: #fff;
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__media {
    min-height: 540px;
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-placeholder {
    min-height: 540px;
    background: #4b4741;
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.08) 15%, rgba(0,0,0,.78) 100%);
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 22px;
}

.ninagrafie-event-card--image-focus h3 {
    max-width: 92%;
    margin-bottom: 8px;
    color: #fff;
    font-size: 31px;
    line-height: 1.05;
}

.ninagrafie-event-card--image-focus p {
    max-width: 90%;
    margin-bottom: 0;
    color: rgba(255,255,255,.9);
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-meta > div {
    display: grid;
    gap: 6px;
    color: rgba(255,255,255,.92);
    font-size: 13px;
}

.ninagrafie-event-card__round-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--ninagrafie-event-bordeaux) !important;
    font-size: 22px;
    text-decoration: none !important;
}

.ninagrafie-event-card__image-focus-footer {
    position: absolute;
    left: 22px;
    bottom: 88px;
    color: #fff;
}

/* C – Story */
.ninagrafie-event-card--story {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 460px;
}

.ninagrafie-event-card--story .ninagrafie-event-card__story-image {
    min-height: 460px;
}

.ninagrafie-event-card--story .ninagrafie-event-card__story-body {
    display: flex;
    flex-direction: column;
    padding: 28px;
}

.ninagrafie-event-card__story-kicker {
    margin-bottom: 16px !important;
    color: #9a7946;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ninagrafie-event-card--story h3 {
    margin-bottom: 14px;
    color: var(--ninagrafie-event-bordeaux);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.08;
}

.ninagrafie-event-card--story .ninagrafie-event-card__intro {
    color: var(--ninagrafie-event-muted);
}

.ninagrafie-event-card__story-rule {
    width: 44px;
    height: 1px;
    margin: 4px 0 20px;
    background: var(--ninagrafie-event-bordeaux-soft);
}

.ninagrafie-event-card--story .ninagrafie-event-card__footer {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--ninagrafie-event-border);
}

.ninagrafie-event-card--story .ninagrafie-event-card__footer div {
    display: grid;
    gap: 4px;
}

/* D – Compact */
.ninagrafie-event-card--compact {
    display: grid;
    grid-template-columns: 72px 56px minmax(0,1fr) 42px;
    grid-template-areas: "image date body cta" "slots slots slots slots";
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: 12px;
}

.ninagrafie-event-card__compact-image {
    grid-area:image;
    width: 72px;
    height: 72px;
    border-radius: 9px;
}

.ninagrafie-event-card__compact-image .ninagrafie-event-card__image-placeholder {
    min-height: 72px;
}

.ninagrafie-event-card__compact-date {
    grid-area:date;
    text-align: center;
    color: var(--ninagrafie-event-bordeaux);
}

.ninagrafie-event-card__compact-date strong,
.ninagrafie-event-card__compact-date span {
    display: block;
}

.ninagrafie-event-card__compact-date strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1;
}

.ninagrafie-event-card__compact-date span {
    margin-top: 3px;
    font-size: 10px;
    font-weight: 700;
}

.ninagrafie-event-card__compact-body {
    grid-area:body;
    display: grid;
    gap: 3px;
    min-width: 0;
}

.ninagrafie-event-card__compact-body > strong {
    color: var(--ninagrafie-event-bordeaux);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.15;
}

.ninagrafie-event-card__compact-body span {
    color: var(--ninagrafie-event-muted);
    font-size: 12px;
}

.ninagrafie-event-card__compact-cta {
    grid-area:cta;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ninagrafie-event-ivory);
    color: var(--ninagrafie-event-bordeaux) !important;
    text-decoration: none !important;
}

@media (max-width: 700px) {
    .ninagrafie-event-card-preview {
        max-width: none;
    }

    .ninagrafie-event-card--story {
        grid-template-columns: 1fr;
    }

    .ninagrafie-event-card--story .ninagrafie-event-card__story-image {
        min-height: 260px;
        height: 260px;
    }

    .ninagrafie-event-card--compact {
        grid-template-columns: 62px 48px 1fr 36px;
        gap: 9px;
    }

    .ninagrafie-event-card__compact-image {
        width: 62px;
        height: 62px;
    }

    .ninagrafie-event-card__compact-image .ninagrafie-event-card__image-placeholder {
        min-height: 62px;
    }

    .ninagrafie-event-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* Plugin-eigener Event-Placeholder */
.ninagrafie-event-card__image--placeholder {
    object-position: center;
}

/* C4 – Featured Hero */
.ninagrafie-event-featured-preview {
    max-width: 980px;
}

.ninagrafie-event-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .9fr);
    overflow: hidden;
    border: 1px solid var(--ninagrafie-event-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(34,34,34,.07);
}

.ninagrafie-event-featured__media {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    background: var(--ninagrafie-event-beige);
}

.ninagrafie-event-featured__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.ninagrafie-event-featured__badge {
    position: absolute;
    top: 20px;
    left: 20px;
    display: inline-flex;
    padding: 7px 12px;
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    background: var(--ninagrafie-event-bordeaux);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ninagrafie-event-featured__body {
    display: flex;
    flex-direction: column;
    padding: 34px;
}

.ninagrafie-event-featured__kicker {
    margin: 0 0 10px;
    color: var(--ninagrafie-event-bordeaux-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ninagrafie-event-featured h3 {
    margin: 0 0 14px;
    color: var(--ninagrafie-event-bordeaux);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.06;
}

.ninagrafie-event-featured__intro {
    margin: 0 0 24px;
    color: var(--ninagrafie-event-muted);
    font-size: 16px;
    line-height: 1.6;
}

.ninagrafie-event-featured__facts {
    display: grid;
    gap: 10px;
    color: var(--ninagrafie-event-muted);
    font-size: 14px;
}

.ninagrafie-event-featured__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
    padding-top: 26px;
}

.ninagrafie-event-featured__meta {
    display: grid;
    gap: 4px;
}

/* C4 – Evergreen */
.ninagrafie-event-evergreen-preview {
    max-width: 380px;
}

.ninagrafie-event-evergreen {
    overflow: hidden;
    border: 1px solid var(--ninagrafie-event-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(34,34,34,.05);
}

.ninagrafie-event-evergreen__media {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: var(--ninagrafie-event-beige);
}

.ninagrafie-event-evergreen__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ninagrafie-event-evergreen__badge {
    position: absolute;
    top: 15px;
    left: 15px;
    display: inline-flex;
    padding: 6px 10px;
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    background: #7d8056;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ninagrafie-event-evergreen__body {
    padding: 20px;
}

.ninagrafie-event-evergreen__kicker {
    margin: 0 0 5px !important;
    color: var(--ninagrafie-event-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ninagrafie-event-evergreen h3 {
    margin: 0 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.12;
}

.ninagrafie-event-evergreen__body > p:not(.ninagrafie-event-evergreen__kicker) {
    margin: 0 0 16px;
    color: var(--ninagrafie-event-muted);
}

.ninagrafie-event-evergreen__meta {
    display: grid;
    gap: 3px;
    margin-bottom: 16px;
    color: var(--ninagrafie-event-muted);
    font-size: 12px;
}

.ninagrafie-event-evergreen__cta {
    display: inline-flex;
    padding: 8px 14px;
    border: 1px solid var(--ninagrafie-event-bordeaux);
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    color: var(--ninagrafie-event-bordeaux) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.ninagrafie-event-evergreen__cta:hover {
    background: var(--ninagrafie-event-bordeaux);
    color: #fff !important;
}

@media (max-width: 760px) {
    .ninagrafie-event-featured {
        grid-template-columns: 1fr;
    }

    .ninagrafie-event-featured__media,
    .ninagrafie-event-featured__media img {
        min-height: 280px;
        height: 280px;
    }

    .ninagrafie-event-featured__body {
        padding: 24px;
    }

    .ninagrafie-event-featured__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .ninagrafie-event-evergreen-preview {
        max-width: none;
    }
}


/* C5A – Event-Listen und Grids */
.ninagrafie-events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.ninagrafie-events-grid > .ninagrafie-event-card,
.ninagrafie-events-grid > .ninagrafie-event-evergreen {
    min-width: 0;
    height: 100%;
}

.ninagrafie-events-grid--planned {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ninagrafie-events-grid--evergreen {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ninagrafie-events-grid--archive {
    opacity: .96;
}

.ninagrafie-events-compact-list {
    display: grid;
    gap: 10px;
}

.ninagrafie-events-empty {
    padding: 30px;
    border: 1px dashed var(--ninagrafie-event-border);
    border-radius: 14px;
    background: var(--ninagrafie-event-ivory);
    text-align: center;
}

.ninagrafie-events-empty h3 {
    margin: 0 0 7px;
    color: var(--ninagrafie-event-bordeaux);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.ninagrafie-events-empty p {
    max-width: 620px;
    margin: 0 auto;
    color: var(--ninagrafie-event-muted);
}

/*
 * Story-Cards sind innerhalb eines dreispaltigen Event-Grids bewusst
 * vertikal statt zweispaltig aufgebaut. So bleibt die Kartenhöhe im
 * gemischten A/B/C-Raster kontrollierbar.
 */
.ninagrafie-events-grid .ninagrafie-event-card--story {
    grid-template-columns: 1fr;
    min-height: 0;
}

.ninagrafie-events-grid .ninagrafie-event-card--story .ninagrafie-event-card__story-image {
    height: 260px;
    min-height: 260px;
}

.ninagrafie-events-grid .ninagrafie-event-card--image-focus,
.ninagrafie-events-grid .ninagrafie-event-card--image-focus .ninagrafie-event-card__media,
.ninagrafie-events-grid .ninagrafie-event-card--image-focus .ninagrafie-event-card__image-placeholder {
    min-height: 520px;
}

@media (max-width: 980px) {
    .ninagrafie-events-grid,
    .ninagrafie-events-grid--planned,
    .ninagrafie-events-grid--evergreen {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ninagrafie-events-grid,
    .ninagrafie-events-grid--planned,
    .ninagrafie-events-grid--evergreen {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ninagrafie-events-grid .ninagrafie-event-card--story .ninagrafie-event-card__story-image {
        height: 250px;
        min-height: 250px;
    }
}


/* C5B – Filter */
.ninagrafie-events-filter {
    scroll-margin-top: 120px;
    margin-bottom: 24px;
    padding: 18px 20px;
    border: 1px solid var(--ninagrafie-event-border);
    border-radius: 14px;
    background: var(--ninagrafie-event-ivory);
}

.ninagrafie-events-filter__form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.ninagrafie-events-filter__group {
    display: grid;
    gap: 6px;
}

.ninagrafie-events-filter__group label {
    color: var(--ninagrafie-event-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ninagrafie-events-filter__group select {
    width: 100%;
    min-height: 44px;
    padding: 8px 34px 8px 12px;
    border: 1px solid var(--ninagrafie-event-border);
    border-radius: 10px;
    background: #fff;
    color: var(--ninagrafie-event-text);
}

.ninagrafie-events-filter__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
}

.ninagrafie-events-filter__submit {
    min-height: 44px;
    padding: 9px 17px;
    border: 1px solid var(--ninagrafie-event-bordeaux);
    border-radius: var(--ninagrafie-card-pill-radius, 999px);
    background: var(--ninagrafie-event-bordeaux);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.ninagrafie-events-filter__submit:hover,
.ninagrafie-events-filter__submit:focus-visible {
    background: #54182c;
}

.ninagrafie-events-filter__reset {
    color: var(--ninagrafie-event-bordeaux) !important;
    font-weight: 700;
    text-decoration: none !important;
}

@media (max-width: 820px) {
    .ninagrafie-events-filter__form {
        grid-template-columns: 1fr 1fr;
    }

    .ninagrafie-events-filter__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .ninagrafie-events-filter {
        scroll-margin-top: 90px;
        padding: 16px;
    }

    .ninagrafie-events-filter__form {
        grid-template-columns: 1fr;
    }

    .ninagrafie-events-filter__actions {
        grid-column: auto;
        align-items: flex-start;
        flex-direction: column;
    }
}


/* C5B Polish – Filter in Ninagrafie-Farbwelt + einheitliche Bedienhöhe */
.ninagrafie-events-filter {
    background: #fbf7ee;
    border-color: #e8ded1;
    box-shadow: 0 6px 18px rgba(34, 34, 34, .035);
}

.ninagrafie-events-filter__form {
    align-items: end;
}

.ninagrafie-events-filter__group select,
.ninagrafie-events-filter__submit {
    box-sizing: border-box;
    height: 46px;
    min-height: 46px;
}

.ninagrafie-events-filter__group select {
    border-color: #d8c7b7;
    background-color: #fffdf9;
}

.ninagrafie-events-filter__group select:focus {
    border-color: var(--ninagrafie-event-bordeaux-soft);
    outline: 2px solid rgba(143, 92, 97, .16);
    outline-offset: 1px;
}

.ninagrafie-events-filter__actions {
    min-height: 46px;
    align-items: center;
}

.ninagrafie-events-filter__submit {
    padding-top: 0;
    padding-bottom: 0;
}

.ninagrafie-events-filter__reset {
    display: inline-flex;
    align-items: center;
    height: 46px;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .ninagrafie-events-filter__reset {
        height: auto;
        min-height: 36px;
    }
}


/* C5B Polish 2 – Filterfläche analog zur Ninagrafie-Header-Farbwelt */
.ninagrafie-events-filter {
    border-color: #6b2039;
    background:
        linear-gradient(90deg, #6b2039 0%, #7f2b43 100%);
    box-shadow: 0 8px 22px rgba(107, 32, 57, .12);
}

.ninagrafie-events-filter__group label {
    color: #f4e9e0;
}

.ninagrafie-events-filter__group select {
    height: 46px !important;
    min-height: 46px !important;
    border-color: rgba(255,255,255,.4);
    background-color: #fffdf9;
    color: #222222;
}

.ninagrafie-events-filter__submit {
    height: 46px !important;
    min-height: 46px !important;
    border-color: #fffdf9;
    background: #fffdf9;
    color: #6b2039;
}

.ninagrafie-events-filter__submit:hover,
.ninagrafie-events-filter__submit:focus-visible {
    border-color: #ffffff;
    background: #ffffff;
    color: #54182c;
}

.ninagrafie-events-filter__reset {
    color: #fffdf9 !important;
}

.ninagrafie-events-filter__reset:hover,
.ninagrafie-events-filter__reset:focus-visible {
    color: #ffffff !important;
    text-decoration: underline !important;
}


/* dev.27 – Eventfilter optisch an den Content-Zentrale-Header angeglichen */
.ninagrafie-events-filter {
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: none;
}

.ninagrafie-events-filter__group label {
    color: #6f665f;
}

.ninagrafie-events-filter__group select {
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid #e4d6c4;
    border-radius: 7px;
    background: #f6f3f1;
    color: #1f2328;
}

.ninagrafie-events-filter__group select:hover {
    border-color: #c8a06a;
}

.ninagrafie-events-filter__group select:focus {
    border-color: #c8a06a;
    outline: 2px solid rgba(127, 36, 53, .12);
    outline-offset: 1px;
}

.ninagrafie-events-filter__submit {
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid #c8a06a;
    border-radius: 7px;
    background: #ffffff;
    color: #7f2435;
    box-shadow: none;
}

.ninagrafie-events-filter__submit:hover,
.ninagrafie-events-filter__submit:focus-visible {
    border-color: #c8a06a;
    background: #f6f3f1;
    color: #7f2435;
}

.ninagrafie-events-filter__reset {
    color: #7f2435 !important;
}

.ninagrafie-events-filter__reset:hover,
.ninagrafie-events-filter__reset:focus-visible {
    color: #7f2435 !important;
    text-decoration: underline !important;
}

/* V1.4 dev.15 – zentrale Eventanfrage */
.ninagrafie-event-request{--ner-bordeaux:#7f2435;--ner-olive:#46553d;--ner-beige:#f5f1e7;--ner-line:#c8a477;max-width:980px;margin:36px auto 60px;color:#221f1d}.ninagrafie-event-request__intro{text-align:center;margin-bottom:28px}.ninagrafie-event-request__eyebrow{display:block;color:var(--ner-olive);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:8px}.ninagrafie-event-request__context{background:var(--ner-beige);border:1px solid var(--ner-line);border-radius:22px;padding:28px 32px;margin-bottom:28px}.ninagrafie-event-request__context h2{margin:0 0 20px;font-family:Georgia,serif;font-size:clamp(28px,4vw,42px);line-height:1.08}.ninagrafie-event-request__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(127,36,53,.22);border-bottom:1px solid rgba(127,36,53,.22)}.ninagrafie-event-request__facts>div{padding:14px 16px 14px 0}.ninagrafie-event-request__facts span,.ninagrafie-event-request__facts strong{display:block}.ninagrafie-event-request__facts span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6d655f;margin-bottom:4px}.ninagrafie-event-request__audience{margin:16px 0 0;color:var(--ner-bordeaux)}.ninagrafie-event-request__form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.ninagrafie-event-request__field{display:flex;flex-direction:column;gap:7px}.ninagrafie-event-request__field.is-full{grid-column:1/-1}.ninagrafie-event-request__field label,.ninagrafie-event-request__chooser label{font-weight:700}.ninagrafie-event-request__field label span{color:var(--ner-bordeaux)}.ninagrafie-event-request__field small{font-weight:400;color:#746c67}.ninagrafie-event-request__field input,.ninagrafie-event-request__field select,.ninagrafie-event-request__field textarea,.ninagrafie-event-request__chooser select{width:100%;border:1px solid #cdb58f!important;border-radius:8px!important;background:#fbf9f4!important;color:#2c2724!important;padding:12px 14px!important;box-shadow:none!important}.ninagrafie-event-request__field input,.ninagrafie-event-request__field select,.ninagrafie-event-request__chooser select{min-height:48px}.ninagrafie-event-request__field textarea{resize:vertical}.ninagrafie-event-request__privacy{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;padding:15px 0}.ninagrafie-event-request__privacy input{margin-top:4px}.ninagrafie-event-request__actions{grid-column:1/-1;display:flex;align-items:center;gap:18px}.ninagrafie-event-request__actions button,.ninagrafie-event-request__chooser button{border:1px solid var(--ner-bordeaux)!important;border-radius:999px!important;background:var(--ner-bordeaux)!important;color:#fff!important;padding:12px 22px!important;font-weight:700;cursor:pointer}.ninagrafie-event-request__actions button:hover,.ninagrafie-event-request__chooser button:hover{background:#681d2c!important}.ninagrafie-event-request__actions a{color:var(--ner-bordeaux)}.ninagrafie-event-request__chooser{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;max-width:720px;margin:0 auto}.ninagrafie-event-request__chooser label{grid-column:1/-1}.ninagrafie-event-request__notice{border-radius:16px;padding:22px 24px;margin-bottom:24px}.ninagrafie-event-request__notice.is-success{background:#eef2ea;border:1px solid #aab79f}.ninagrafie-event-request__notice.is-error{background:#faf0f1;border:1px solid #d9aeb6;color:#6f2432}.ninagrafie-event-request__notice p:last-child{margin-bottom:0}.ninagrafie-event-request__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:760px){.ninagrafie-event-request__context{padding:22px 20px}.ninagrafie-event-request__facts{grid-template-columns:1fr 1fr}.ninagrafie-event-request__form{grid-template-columns:1fr}.ninagrafie-event-request__field.is-full,.ninagrafie-event-request__privacy,.ninagrafie-event-request__actions{grid-column:auto}.ninagrafie-event-request__chooser{grid-template-columns:1fr}.ninagrafie-event-request__actions{align-items:flex-start;flex-direction:column}}

/* V1.4 dev.16 – Editorial-Card-Footer bündig am Kartenboden. */
.ninagrafie-events-grid .ninagrafie-event-card--editorial{display:flex;flex-direction:column}
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__body{display:flex;flex:1 1 auto;flex-direction:column}
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer{margin-top:auto;padding-top:0;border-top:0}
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer::before{content:"";display:block;margin:20px 0 16px;border-top:1px solid var(--ninagrafie-event-border)}
/* V1.4 dev.20 – Event-Card-Footer: sichtbare Linie + mehr Luft, bündig in gleich hohen Cards. */
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer{margin-top:auto!important;padding-top:22px!important;border-top:1px solid var(--ninagrafie-event-border)!important}
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer::before{display:none!important}

/* V1.4 dev.21 – Event-Footer: klarer Abstand zwischen letzter Meta-Zeile und Trennlinie. */
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer{padding-top:28px!important}


/* V1.4 dev.22 – Event-Card: Abstand gehört zwischen letzte Faktenzeile und Trennlinie, nicht zwischen Linie und Footer. */
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__facts{padding-bottom:22px!important}
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer{padding-top:16px!important}


/* V1.4 dev.24 – planned cards react to the available container width.
 * This also keeps embedded previews and narrow content columns usable. */
.ninagrafie-events-grid--planned {
    grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}

/* V1.5 dev.4.6 – öffentliche Slot-Verfügbarkeit */
.ninagrafie-event-slots-public{margin-top:16px;padding-top:14px;border-top:1px solid rgba(113,36,55,.18);display:grid;gap:10px}
.ninagrafie-event-slots-public__summary{font-size:.96em}
.ninagrafie-event-slots-public__details summary{cursor:pointer;color:#712437;font-weight:600;list-style:none}
.ninagrafie-event-slots-public__details summary::-webkit-details-marker{display:none}
.ninagrafie-event-slots-public__details summary::after{content:' +';margin-left:5px}
.ninagrafie-event-slots-public__details[open] summary::after{content:' –'}
.ninagrafie-event-slots-public__list{display:grid;gap:8px;margin-top:12px}
.ninagrafie-event-slots-public__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(113,36,55,.1)}
.ninagrafie-event-slots-public__row a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 14px;border:1px solid #712437;border-radius:12px;color:#712437;text-decoration:none;font-weight:600}
.ninagrafie-event-slots-public__row a:hover{background:#712437;color:#fff}
.ninagrafie-event-slots-public__empty{font-size:.92em;opacity:.78}
.ninagrafie-event-card__slot-wrap{padding:0 22px 18px;background:#fff}.ninagrafie-event-card__slot-wrap--compact{grid-column:1/-1;padding:8px 14px 14px}
@media(max-width:600px){.ninagrafie-event-slots-public__row{align-items:flex-start;flex-direction:column}.ninagrafie-event-slots-public__row a{width:100%}}

/* V1.5 dev.4.7 – Eventgrid bleibt unabhängig von der Treffermenge dreispaltig. */
.ninagrafie-events-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ninagrafie-events-load-item{display:contents}
.ninagrafie-events-load-item[hidden]{display:none!important}
.ninagrafie-events-load-more{display:flex;justify-content:center;margin:28px 0 8px}
.ninagrafie-events-load-more__button{min-height:48px;padding:0 24px;border:1px solid var(--ninagrafie-event-bordeaux);border-radius:999px;background:#fff;color:var(--ninagrafie-event-bordeaux);font:inherit;font-weight:600;cursor:pointer}
.ninagrafie-events-load-more__button:hover{background:var(--ninagrafie-event-bordeaux);color:#fff}
@media(max-width:980px){.ninagrafie-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.ninagrafie-events-grid{grid-template-columns:1fr!important}}

/* V1.5 dev.4.8 – Event Discovery: unabhängige Card-Höhen + kompakte Filter-UI. */
.ninagrafie-events-grid{align-items:start!important}
.ninagrafie-events-grid>.ninagrafie-event-card,
.ninagrafie-events-grid>.ninagrafie-event-evergreen{align-self:start;height:auto!important}

.ninagrafie-events-filter{
  margin:0 0 28px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.ninagrafie-events-filter__form{
  display:flex!important;flex-wrap:wrap;align-items:flex-end!important;gap:12px 14px!important;
}
.ninagrafie-events-filter__group{flex:0 1 230px;min-width:180px;gap:6px}
.ninagrafie-events-filter__group label{color:#6f665f!important;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ninagrafie-events-filter__group select,
.ninagrafie-events-filter__submit{
  box-sizing:border-box!important;height:48px!important;min-height:48px!important;border-radius:10px!important;
}
.ninagrafie-events-filter__group select{width:100%;padding:0 36px 0 13px!important;border:1px solid #d8c7b7!important;background:#fffdf9!important;color:#222!important}
.ninagrafie-events-filter__actions{display:flex;align-items:center!important;gap:12px;min-height:48px!important}
.ninagrafie-events-filter__submit{width:auto!important;padding:0 20px!important;border:1px solid #c8a06a!important;background:#fff!important;color:#7f2435!important;font-weight:700;white-space:nowrap}
.ninagrafie-events-filter__submit:hover,.ninagrafie-events-filter__submit:focus-visible{background:#f6f3f1!important;color:#7f2435!important}
.ninagrafie-events-filter__reset{display:inline-flex;align-items:center;height:48px;color:#7f2435!important;font-weight:700;text-decoration:none!important;white-space:nowrap}
@media(max-width:640px){.ninagrafie-events-filter__form{display:grid!important;grid-template-columns:1fr!important}.ninagrafie-events-filter__group{min-width:0;width:100%}.ninagrafie-events-filter__actions{justify-content:flex-start}}

/* V1.5 dev.4.9 – Event UI regression pass. */
/* Zugeklappte Standardkarten teilen eine ruhige Grundhöhe; geöffnete Slots dürfen nur die eigene Karte verlängern. */
.ninagrafie-events-grid > .ninagrafie-event-card--editorial{min-height:660px;}
.ninagrafie-events-grid > .ninagrafie-event-card--editorial .ninagrafie-event-card__body{min-height:390px;}
@media(max-width:980px){.ninagrafie-events-grid > .ninagrafie-event-card--editorial{min-height:620px}}
@media(max-width:640px){.ninagrafie-events-grid > .ninagrafie-event-card--editorial{min-height:0}.ninagrafie-events-grid > .ninagrafie-event-card--editorial .ninagrafie-event-card__body{min-height:0}}

/* Slot-Trennsystem: obere und untere Linie des Toggles sowie Slotzeilen nutzen denselben Token. */
.ninagrafie-event-slots-public{--ninagrafie-slot-divider:rgba(200,160,106,.58);border-top:1px solid var(--ninagrafie-slot-divider);padding-top:14px;}
.ninagrafie-event-slots-public__details summary{padding-bottom:10px;border-bottom:1px solid var(--ninagrafie-slot-divider);}
.ninagrafie-event-slots-public__list{margin-top:0;gap:0;}
.ninagrafie-event-slots-public__row{border-bottom:1px solid var(--ninagrafie-slot-divider);padding:10px 0;}

/* Image Focus 2.0: eine zusammenhängende Bildkarte ohne separaten dunklen Leer-/Footerblock. */
.ninagrafie-event-card--image-focus{position:relative;overflow:hidden;min-height:560px;background:#191714;color:#fff;}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__media,
.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-placeholder{min-height:560px;height:100%;}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__overlay{background:linear-gradient(to bottom,rgba(0,0,0,.10) 8%,rgba(0,0,0,.12) 38%,rgba(20,17,14,.88) 100%);}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-content{padding:24px;}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-content>div:nth-child(2){margin-top:auto;margin-bottom:22px;}
.ninagrafie-event-card--image-focus h3{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.28);}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__image-places{display:block;margin-top:8px;color:#fff;font-weight:700;}
.ninagrafie-event-card--image-focus .ninagrafie-event-card__slot-wrap{position:relative;z-index:3;background:#fff;color:#241f1b;}
/* dev.4.10: geschlossene Slot-Ausgabe ohne künstlichen Leerraum */
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])){padding-bottom:0}.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) + .ninagrafie-event-card__footer{margin-top:0}.ninagrafie-event-slots-public__details:not([open]){margin-bottom:0}

/* V1.5 dev.4.11 · Slot-Card collapsed divider cleanup */
.ninagrafie-events-grid .ninagrafie-event-card--editorial .ninagrafie-event-card__footer::before{display:none!important;content:none!important}
.ninagrafie-event-card__slot-wrap{border-top:1px solid var(--ninagrafie-event-border);border-bottom:1px solid var(--ninagrafie-event-border);padding:16px 0;margin-top:18px}
.ninagrafie-event-card__slot-wrap + .ninagrafie-event-card__footer{border-top:0!important;padding-top:16px!important;margin-top:0!important}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])){padding-bottom:0}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) + .ninagrafie-event-card__footer{border-top:0!important;padding-top:16px!important;margin-top:0!important}


/* V1.5 dev.4.12 · geschlossene Slots: genau ein Trenner, kein leerer Zwischenblock. */
.ninagrafie-event-card__slot-wrap{border-bottom:0!important;}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])){padding:16px 0 0!important;margin-top:18px!important;border-top:1px solid var(--ninagrafie-event-border)!important;border-bottom:0!important;}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) .ninagrafie-event-slots-public__details summary{border-bottom:0!important;padding-bottom:0!important;}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) + .ninagrafie-event-card__footer{border-top:0!important;margin-top:0!important;padding-top:22px!important;}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details[open]){border-bottom:0!important;}

/* dev.4.13 · Event embeds / Detailseiten */
.ninagrafie-event-embed{box-sizing:border-box;margin:0 0 24px}.ninagrafie-event-embed--float-links{float:left;margin:0 28px 20px 0}.ninagrafie-event-embed--float-rechts{float:right;margin:0 0 20px 28px}.ninagrafie-event-embed--width-schmal{width:min(100%,360px)}.ninagrafie-event-embed--width-mittel{width:min(100%,480px)}.ninagrafie-event-embed--width-breit{width:min(100%,620px)}
.ninagrafie-event-detail{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);overflow:hidden;border:1px solid rgba(113,36,55,.15);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(73,55,37,.07);margin:28px 0}.ninagrafie-event-detail--image-rechts .ninagrafie-event-detail__media{order:2}.ninagrafie-event-detail__media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.ninagrafie-event-detail__content{padding:34px;display:flex;flex-direction:column;gap:18px}.ninagrafie-event-detail__badges{display:flex;gap:8px;flex-wrap:wrap}.ninagrafie-event-detail__badges span{padding:6px 10px;border-radius:999px;background:#f3eadf;color:#712437;font-size:12px;font-weight:700;text-transform:uppercase}.ninagrafie-event-detail h2{margin:0;color:#712437}.ninagrafie-event-detail__intro{margin:0}.ninagrafie-event-detail__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.ninagrafie-event-detail__facts div{padding:12px 0;border-top:1px solid rgba(113,36,55,.12)}.ninagrafie-event-detail__facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b6c62}.ninagrafie-event-detail__facts dd{margin:4px 0 0;font-weight:600}.ninagrafie-event-detail__footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(113,36,55,.16);display:flex;justify-content:space-between;align-items:center;gap:16px}.ninagrafie-event-detail__footer a{color:#712437;font-weight:700;text-decoration:none}
/* geschlossene Slots: nur eine Trennung zum Footer */
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) .ninagrafie-event-slots-public__details summary{border-bottom:0!important;padding-bottom:0!important}.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) + .ninagrafie-event-card__footer{border-top:1px solid var(--ninagrafie-event-border)!important;margin-top:16px!important;padding-top:16px!important}
@media(max-width:780px){.ninagrafie-event-embed--float-links,.ninagrafie-event-embed--float-rechts{float:none;width:100%;margin:0 0 24px}.ninagrafie-event-detail{grid-template-columns:1fr}.ninagrafie-event-detail--image-rechts .ninagrafie-event-detail__media{order:0}.ninagrafie-event-detail__media img{min-height:0;aspect-ratio:16/10}.ninagrafie-event-detail__content{padding:24px}.ninagrafie-event-detail__facts{grid-template-columns:1fr}}


/* dev.4.14 · Event detail variants + slot divider polish */
.ninagrafie-event-detail--compact{display:block;max-width:none}.ninagrafie-event-detail--compact .ninagrafie-event-detail__content{padding:28px}.ninagrafie-event-detail--compact .ninagrafie-event-detail__facts{padding:16px 0;border-top:1px solid rgba(113,36,55,.22);border-bottom:1px solid rgba(113,36,55,.22)}.ninagrafie-event-detail--compact .ninagrafie-event-detail__facts div{border-top:0;padding:7px 0}.ninagrafie-event-detail__cta{display:inline-flex!important;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;background:#712437;color:#fff!important;text-decoration:none!important;font-weight:700}.ninagrafie-event-detail__footer{flex-wrap:wrap}.ninagrafie-event-embed--detail-wide.ninagrafie-event-embed--width-breit{width:min(100%,900px)}
/* Exactly one separator before the CTA after a collapsed slot summary. */
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) .ninagrafie-event-slots-public__details summary{border-bottom:0!important;padding-bottom:0!important}.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) + .ninagrafie-event-card__footer{border-top:1px solid var(--ninagrafie-event-border)!important;margin-top:16px!important;padding-top:16px!important}.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])){padding-bottom:0!important}.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) .ninagrafie-event-slots-public{margin-bottom:0!important}
@media(max-width:780px){.ninagrafie-event-detail--compact .ninagrafie-event-detail__content{padding:22px}.ninagrafie-event-detail__footer{align-items:flex-start}.ninagrafie-event-detail__cta{width:100%}}


/* dev.4.15 · Event detail width + divider polish */
.ninagrafie-event-embed--detail-wide{width:100%!important;max-width:none!important;float:none!important;margin-left:0!important;margin-right:0!important}
.ninagrafie-event-detail--compact .ninagrafie-event-detail__facts{border-top:0!important;border-bottom:1px solid rgba(113,36,55,.22)!important}
.ninagrafie-event-detail--compact .ninagrafie-event-detail__footer{border-top:0!important;margin-top:0!important}
.ninagrafie-event-card__slot-wrap .ninagrafie-event-slots-public__details:not([open]) summary{border-bottom:0!important}
.ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])){border-bottom:0!important}


/* dev.4.16 · true horizontal event detail + single-divider polish */
.ninagrafie-event-embed--detail-wide{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    float:none!important;
    clear:both!important;
    margin:0 0 28px!important;
}
.ninagrafie-event-embed--detail-wide .ninagrafie-event-detail{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:minmax(0,44%) minmax(0,56%)!important;
}
.ninagrafie-event-embed--detail-wide .ninagrafie-event-detail__media,
.ninagrafie-event-embed--detail-wide .ninagrafie-event-detail__content{min-width:0}
.ninagrafie-event-embed--detail-wide .ninagrafie-event-detail__media img{
    min-height:0!important;
    height:100%!important;
    aspect-ratio:auto!important;
}
/* Detail/Auf-einen-Blick: one deliberate divider before availability/CTA only. */
.ninagrafie-event-detail__facts div{border-top:0!important}
.ninagrafie-event-detail__facts{border-top:1px solid rgba(113,36,55,.16)!important;border-bottom:0!important;padding-top:10px}
.ninagrafie-event-detail__slots{border:0!important}
.ninagrafie-event-detail__footer{border-top:1px solid rgba(113,36,55,.16)!important;margin-top:0!important;padding-top:18px!important}
.ninagrafie-event-detail--compact .ninagrafie-event-detail__facts{border-top:1px solid rgba(113,36,55,.16)!important;border-bottom:0!important;padding:16px 0 8px!important}
.ninagrafie-event-detail--compact .ninagrafie-event-detail__footer{border-top:1px solid rgba(113,36,55,.16)!important;margin-top:0!important;padding-top:18px!important}
@media(max-width:780px){
 .ninagrafie-event-embed--detail-wide .ninagrafie-event-detail{grid-template-columns:1fr!important}
 .ninagrafie-event-embed--detail-wide .ninagrafie-event-detail__media{order:0!important}
 .ninagrafie-event-embed--detail-wide .ninagrafie-event-detail__media img{height:auto!important;aspect-ratio:16/10!important}
}


/* dev.4.17 · final standard Eventcard slot divider cleanup
 * The slot wrapper already owns the separator above availability.
 * Suppress the nested slots-public top border so two adjacent rules cannot render.
 * Detail/detail_kompakt markup is intentionally untouched. */
.ninagrafie-event-card:not(.ninagrafie-event-detail) .ninagrafie-event-card__slot-wrap > .ninagrafie-event-slots-public{
    border-top:0!important;
}
.ninagrafie-event-card:not(.ninagrafie-event-detail) .ninagrafie-event-card__slot-wrap:has(.ninagrafie-event-slots-public__details:not([open])) > .ninagrafie-event-slots-public{
    border-top:0!important;
}

/* dev.4.18 · standard Editorial Eventcard: remove the extra divider below the collapsed slot toggle.
 * Editorial renders .ninagrafie-event-slots-public directly (without __slot-wrap),
 * so the earlier wrapper-scoped cleanup could not match this card.
 * Keep the divider above availability and the separate footer/CTA divider. */
.ninagrafie-event-card--editorial > .ninagrafie-event-card__body > .ninagrafie-event-slots-public > .ninagrafie-event-slots-public__details:not([open]) > summary{
    border-bottom:0!important;
    padding-bottom:0!important;
}
/* v1.5.0-dev.4.44 – dynamische Bewerbungsfelder */
.ninagrafie-event-request__role-fields[hidden]{display:none!important}
.ninagrafie-event-request__role-fields{grid-column:1/-1}
.ninagrafie-event-request__role-fields>h3{margin:0 0 14px}
.ninagrafie-event-request__form--nested{margin:0;padding:0;border:0;background:transparent}

/* v1.5.0-dev.4.45 – Eventcard baseline + Bewerbungsformular UX polish */
.ninagrafie-event-request__field--role{
    grid-column:1/2;
    width:100%;
}
.ninagrafie-event-request__section-title{
    grid-column:1/-1;
    margin:10px 0 -2px;
    padding-top:18px;
    border-top:1px solid rgba(127,36,53,.14);
    color:var(--ner-bordeaux);
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    line-height:1.2;
}
.ninagrafie-event-request__field--role + .ninagrafie-event-request__section-title{
    margin-top:2px;
}
.ninagrafie-event-request__role-fields>.ninagrafie-event-request__section-title{
    margin-bottom:14px;
}

/* Evergreen- und Standardcards erhalten in einer Desktop-Zeile dieselbe
 * Ausgangshoehe. Interaktive Cards duerfen danach einzeln weiterwachsen. */
.ninagrafie-events-grid--evergreen{
    align-items:stretch!important;
}
.ninagrafie-events-grid--evergreen>.ninagrafie-event-evergreen{
    display:flex;
    align-self:stretch!important;
    height:100%!important;
    flex-direction:column;
}
.ninagrafie-events-grid--evergreen .ninagrafie-event-evergreen__body{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
}
.ninagrafie-events-grid--evergreen .ninagrafie-event-evergreen__meta{
    margin-top:auto;
}
.ninagrafie-events-grid--evergreen .ninagrafie-event-evergreen__cta{
    align-self:flex-start;
}
@media(max-width:640px){
    .ninagrafie-event-request__field--role{grid-column:auto;width:100%}
    .ninagrafie-event-request__section-title{grid-column:auto}
    .ninagrafie-events-grid--evergreen>.ninagrafie-event-evergreen{height:auto!important}
}

/* dev.4.51 · Compact slots occupy their own stable row. */
.ninagrafie-event-card--compact .ninagrafie-event-card__slot-wrap--compact{grid-area:slots;grid-column:auto;min-width:0;width:100%;}

/* dev.26: compact homepage event teaser; full event cards remain unchanged. */
.ninagrafie-events-grid--homecompact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.ninagrafie-events-homecard{min-width:0;overflow:hidden;border:1px solid #d8c3ad;border-radius:15px;background:#fff;display:flex;flex-direction:column}
.ninagrafie-events-homecard__media{aspect-ratio:4/3;overflow:hidden;background:#eee}
.ninagrafie-events-homecard__media img{width:100%;height:100%;object-fit:cover;display:block}
.ninagrafie-events-homecard__body{padding:16px 18px;display:flex;flex:1;flex-direction:column;gap:8px}
.ninagrafie-events-homecard__eyebrow{font-size:11px;letter-spacing:.035em;text-transform:uppercase;color:#7f2435;font-weight:700}
.ninagrafie-events-homecard__eyebrow span{color:#70685e}
.ninagrafie-events-homecard h3{font-size:clamp(17px,1.5vw,22px);line-height:1.25;margin:0}
.ninagrafie-events-homecard p{font-size:13px;line-height:1.5;margin:0;color:#5e5b56}
.ninagrafie-events-homecard__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;font-size:12px}
.ninagrafie-events-homecard__bottom a{color:#7f2435;font-weight:700;white-space:nowrap}
.ninagrafie-events-homepage__actions{display:flex;justify-content:center;margin-top:24px}
.ninagrafie-events-homepage__all{display:inline-flex;align-items:center;gap:10px;background:#7f2435;color:#fff!important;padding:12px 22px;border-radius:999px;text-decoration:none!important;font-weight:700}
.ninagrafie-events-homepage--side{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.ninagrafie-events-homepage--side .ninagrafie-events-homepage__actions{margin:0}
@media(max-width:900px){.ninagrafie-events-homepage--side{display:block}.ninagrafie-events-homepage--side .ninagrafie-events-homepage__actions{margin-top:20px}.ninagrafie-events-grid--homecompact{gap:12px}}
@media(max-width:700px){.ninagrafie-events-grid--homecompact{grid-template-columns:1fr}.ninagrafie-events-homecard{display:grid;grid-template-columns:38% 1fr}.ninagrafie-events-homecard__media{height:100%;aspect-ratio:auto}.ninagrafie-events-homecard__body{padding:12px}.ninagrafie-events-homecard__bottom{flex-wrap:wrap}}
