/* Öffentliche Liste neuer Kurse (Zeitung → Randspalte) */
.nk-public {
    max-width: 1100px;
    margin: 0 auto 80px;
    padding: 28px 16px 40px;
    color: #fff;
}
/* Kurs-Renderer (wie Kurssuche) — nur Layout-Overrides für diese Seite */
.nk-kurs-renderer {
    margin-top: 8px;
}
/* Kein äußerer Fokus-Rahmen (nur der innere .course-Rand bleibt) */
.nk-kurs-renderer .course-wrap.is-fokus,
.nk-kurs-renderer .course-wrap.is-fokus .course {
    outline: none !important;
    box-shadow: none !important;
}
.nk-kurs-renderer .course-wrap {
    box-shadow: none !important;
    outline: none !important;
}
.nk-kurs-renderer .course {
    box-sizing: border-box;
    max-width: 100%;
}
/* „Platz anfragen“: nicht volle Blockbreite — an Inhalt / innere Karte */
.nk-kurs-renderer .course a.kurs-anfrage-btn,
.nk-kurs-renderer a.kurs-anfrage-btn {
    display: inline-block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    float: none !important;
    align-self: flex-start;
    box-sizing: border-box !important;
}
.nk-kurs-renderer .filter-options {
    color: #fff;
}
.nk-kurs-renderer .kurs-ansicht-hinweis {
    color: rgba(255, 255, 255, 0.92);
}
.nk-kicker {
    margin: 0 0 10px;
    font-size: 0.88em;
    opacity: 0.85;
}
.nk-kicker a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.nk-public h1 {
    margin: 0 0 10px;
    font-weight: 400;
    color: #D4272A;
    text-shadow: 0 0 69px hsla(0, 0%, 100%, 1);
    line-height: 1.2;
}
.nk-lead {
    margin: 0 0 28px;
    opacity: 0.92;
    line-height: 1.55;
}
.nk-empty {
    opacity: 0.9;
    line-height: 1.5;
}
.nk-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
/* Karte: oben optional Kursfoto, dann Headline, dann Logo + Text */
.nk-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid hsla(0, 0%, 100%, 0.4);
    border-radius: 0;
    box-sizing: border-box;
    overflow: hidden;
}
.nk-card.is-fokus {
    border-color: hsla(0, 0%, 100%, 0.85);
    box-shadow: none;
}
.nk-photo {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.4);
    background-size: cover;
    background-position: center;
    background-color: rgba(255, 255, 255, 0.12);
}
.nk-copy {
    padding: 14px 16px 16px;
    min-width: 0;
}
.nk-card h2 {
    margin: 0 0 12px;
    font-size: 1.4em;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
}
.nk-body {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    align-items: flex-start;
}
.nk-body-text {
    flex: 1 1 200px;
    min-width: 0;
}
/* Logo neben Anzeigentext */
.nk-media.is-logo {
    flex: 0 0 auto;
    width: clamp(80px, 35%, 120px);
    max-width: 120px;
    min-width: 80px;
    aspect-ratio: 1;
    align-self: flex-start;
    border: none;
    border-radius: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    background-color: transparent;
}
.nk-media.is-logo.is-white-logo {
    filter: none;
}
.nk-anbieter,
.nk-meta {
    margin: 0 0 4px;
    font-size: 0.9em;
    opacity: 0.88;
}
.nk-teaser {
    margin: 8px 0 0;
    line-height: 1.45;
    opacity: 0.95;
}
.nk-actions {
    margin: 14px 0 0;
}
.nk-cta {
    display: inline-block;
    padding: 8px 14px;
    background: #4CAF50;
    color: #fff;
    text-decoration: none;
    border: 1px solid hsla(0, 0%, 100%, 0.4);
    border-radius: 0;
    font: inherit;
}
.nk-cta:hover {
    filter: brightness(1.05);
}
.nk-cta--login {
    background: transparent;
    color: #fff;
    border: 1px solid hsla(0, 0%, 100%, 0.4);
}
.nk-cta--login:hover {
    background: hsla(0, 0%, 100%, 0.12);
    filter: none;
}
@media (max-width: 640px) {
    .nk-photo {
        aspect-ratio: 16 / 10;
    }
    .nk-media.is-logo {
        width: 96px;
        min-width: 80px;
        max-width: 120px;
    }
}
