/* FVN-Frontend: Anpassungen für CKEditor-Inhalte, Video/Audio, Navigation und Footer.
   Geladen über FVN\Frontend\Assets::css() nach cke5_content_styles.css (+ .overrides.css).
   Ersetzt assets/css/classic-modules.css (CKE-19-Kopie), assets/css/fvn_plyr.css (alte Plyr-Version)
   und die alten Bildregeln aus ressources/css/custom.css. */

/* ---------- Video/Audio (FVN\Frontend\Media, ersetzt Plyr) ---------- */
.fvn-video,
.fvn-audio {
    display: block;
    width: 100%;
    max-width: 100%;
}

.fvn-video {
    height: auto;
    background: #000;
}

/* Feste Icon-Breite für Kontaktzeilen (FVN\Kreis\Kreis::dataRow) */
.fvn-icon-fixed {
    width: 1.25em;
    display: inline-block;
}

/* Button mit kräftigem Rahmen (Newsbereich wechseln) */
.fvn-button-outline {
    border: 3px solid #eee;
}

/* Lange Checkbox-Listen in Formularen (ytemplates/fvn/value.choice.check) */
.fvn-choice-scroll {
    max-height: 220px;
    overflow: auto;
    padding: 10px;
    border: 1px solid #e5e5e5;
}

/* ---------- CKEditor-Inhalte ---------- */

:root {
    --ck-content-image-style-spacing: 1em;
    --ck-content-blockquote-border: #52a13f;
}

/* Bildunterschrift klein wie bisher */
.ck-content .image > figcaption {
    font-size: 0.8em;
    line-height: 1.24em;
    padding: 0.4em 0 0.5em;
}

/* Umflossene Bilder höchstens halbe Breite */
.ck-content .image.image-style-align-left,
.ck-content .image.image-style-align-right,
.ck-content .image.image-style-side {
    max-width: 50%;
    margin-top: 0.4em;
    margin-bottom: 0.5em;
}

/* Zentrierte Bilder ohne feste Breite nicht über 80 % */
.ck-content .image.image-style-align-center:not(.image_resized) {
    max-width: 80%;
}

/* Schmale Bildschirme: kein Umfluss, volle Breite */
@media (max-width: 650px) {
    .ck-content .image.image-style-align-left,
    .ck-content .image.image-style-align-right,
    .ck-content .image.image-style-side,
    .ck-content .image.image-style-align-center:not(.image_resized) {
        float: none;
        max-width: 100%;
        width: 100% !important;
        margin-left: 0;
        margin-right: 0;
    }
}

/* ---------- Navigation, Footer, Meldung (vorher Inline-CSS in den Templates 39, 41, 26, 45) ---------- */
.fvn-topbar {
    padding: 5px;
}

.fvn-navbar {
    z-index: 8;
}

.fvn-logo-svg {
    padding: 5px;
}

.fvn-partner-logo {
    height: 30px;
    width: auto;
}

/* Mobile Navigation: Auf-/Zu-Pfeile */
.clicky {
    transition: all 0.5s ease-in-out;
}

.uk-nav-default a {
    max-width: 85%;
}

li.level-0.uk-parent.uk-open:not(.level-1) > .clicky,
li.level-1.uk-parent.uk-open:not(.level-2) > .clicky,
li.level-2.uk-parent.uk-open:not(.level-3) > .clicky,
li.level-3.uk-parent.uk-open:not(.level-4) > .clicky {
    transform: rotate(-135deg);
    color: #fff;
}

ul li.uk-parent .clicky,
ul li.uk-parent .clicky1 {
    padding: 5px;
    float: right;
    cursor: pointer;
    clear: right;
}

/* Footer: Innen-Schlagschatten, kompakte Linklisten, Trennlinie */
.footer-inset-shadow {
    box-shadow: inset 0 8px 16px -4px rgba(0, 0, 0, 0.08);
    background-color: var(--uk-background-default, #fff);
}

.footer-list > li {
    padding-top: 6px;
    padding-bottom: 6px;
}

.fvn-footer-divider {
    border-bottom: 1px solid #e5e5e5;
}

/* Sondermeldung über allem */
.fvn-alert-top {
    z-index: 333;
}

/* Sponsoren-Logos: höchstens 100 × 100 wie früher der Bildtyp „sponsors“ (Bild kommt jetzt aus dem Set fvn_original) */
.spons_img { width: auto; height: auto; max-width: 100px; max-height: 100px; }

/* Benutzermenü in der Kopfzeile (angemeldete Kreise, FVN\Intern\UserMenu) */
.fvn-usermenu { display: flex; align-items: center; margin-right: 6px; }
.fvn-usermenu-button { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 0 14px; line-height: 34px; text-transform: none; font-weight: 600; }
.fvn-usermenu-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fvn-usermenu-drop { min-width: 250px; padding: 12px 6px; border-radius: 12px; box-shadow: 0 12px 32px rgba(0, 0, 0, .15); }
.fvn-usermenu-drop .uk-nav > li > a { display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-radius: 8px; color: #333; }
.fvn-usermenu-drop .uk-nav > li > a:hover { background: #eef5ec; color: #2f6b23; }
.fvn-usermenu-drop .uk-nav > li > a [uk-icon] { color: #52a13f; }
.fvn-usermenu-drop .uk-nav-header { padding: 8px 12px 2px; font-size: .72rem; color: #888; }
.fvn-usermenu-drop .fvn-usermenu-kreis { padding-top: 0; font-size: .8rem; color: #2f6b23; }
.fvn-usermenu-drop .uk-nav-divider { margin: 6px 12px; }
@media (max-width: 959px) { .fvn-usermenu-button { padding: 0 10px; } }

/* Modul Überschrift: Dachzeile, Unterzeile, Farben (Kontrast für große Schrift ≥ 3:1, Grün #12803a 5:1) */
.fvn-heading-kicker { margin: 0 0 4px; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #12803a; }
.fvn-heading-kicker + * { margin-top: 0; }
.fvn-heading-sub { margin: 8px 0 0; color: #444; }
.fvn-heading-green { color: #12803a; }
.fvn-heading-gradient > span {
    background: linear-gradient(90deg, #0f5424, #12803a 55%, #1a9442); -webkit-background-clip: text; background-clip: text; color: transparent;
}
@media (forced-colors: active) { .fvn-heading-gradient > span { color: CanvasText; background: none; } }
@media (prefers-reduced-motion: reduce) { [uk-scrollspy] .uk-animation-fade, [uk-scrollspy].uk-animation-fade, [uk-scrollspy].uk-animation-slide-bottom-small { animation: none !important; } }
