
/* Seite: project-full/dev.cappeler-adler.de/ueber-uns.html */

        /* =====================================================
           ÜBER-UNS-SEITE
           Alle Regeln sind auf .about-page begrenzt.
           ===================================================== */

        body.about-page {
            min-height: 100vh;

            color: #ffffff;
            background: #030303;

            overflow-x: hidden;
            overflow-y: auto;
        }


        /* =====================================================
           HAUPTBEREICH
           ===================================================== */

        .about-page .about-main {
            margin-top:
                var(--header-height);

            background:
                #030303;
        }


        /* =====================================================
           HERO
           ===================================================== */

        .about-page .about-hero {
            position: relative;

            min-height: 310px;

            overflow: hidden;
            isolation: isolate;

            border-bottom:
                1px solid
                rgba(255, 255, 255, 0.1);
        }

        .about-page .about-hero-background {
            position: absolute;
            inset: 0;
            z-index: -4;

            background-image:
                url("../img/hero-stadion.jpg");

            background-position:
                center 43%;

            background-repeat: no-repeat;
            background-size: cover;

            transform:
                scale(1.02);
        }

        .about-page .about-hero-overlay {
            position: absolute;
            inset: 0;
            z-index: -3;

            background:
                linear-gradient(
                    90deg,
                    rgba(0, 0, 0, 0.97) 0%,
                    rgba(0, 0, 0, 0.84) 40%,
                    rgba(0, 0, 0, 0.42) 72%,
                    rgba(0, 0, 0, 0.72) 100%
                ),
                linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.08) 0%,
                    rgba(0, 0, 0, 0.14) 65%,
                    #030303 100%
                );
        }

        .about-page .about-hero-texture {
            position: absolute;
            inset: 0;
            z-index: -2;

            opacity: 0.07;

            background-image:
                repeating-linear-gradient(
                    0deg,
                    rgba(255, 255, 255, 0.04) 0,
                    rgba(255, 255, 255, 0.04) 1px,
                    transparent 1px,
                    transparent 4px
                );

            pointer-events: none;
        }

        .about-page .about-hero-inner {
            display: flex;
            align-items: center;

            min-height: 310px;

            padding-top: 34px;
            padding-bottom: 34px;
        }

        .about-page .about-hero-content {
            width: min(100%, 760px);

            /*
             * Abstand zum großen Logo oben links.
             * Dadurch gibt es auf Desktop keine Überschneidung.
             */
            margin-left: 280px;
        }

        .about-page .about-kicker {
            margin-bottom: 9px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1rem;
            font-weight: 400;

            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .about-page .about-title {
            margin-bottom: 12px;

            color: #ffffff;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    4rem,
                    6vw,
                    6.4rem
                );

            font-weight: 400;
            line-height: 0.9;

            letter-spacing: 0.01em;
            text-transform: uppercase;

            text-shadow:
                0 7px 24px
                rgba(0, 0, 0, 0.75);
        }

        .about-page .about-title span {
            color: var(--red);
        }

        .about-page .about-hero-description {
            max-width: 680px;
            margin-bottom: 0;

            color: #eeeeee;

            font-size: 1rem;
            line-height: 1.55;

            text-shadow:
                0 2px 7px
                rgba(0, 0, 0, 0.85);
        }


        /* =====================================================
           GEMEINSAME SEKTIONSREGELN
           ===================================================== */

        .about-page .about-section {
            position: relative;

            padding: 70px 0;
        }

        .about-page .about-section-light {
            color: #111111;

            background:
                linear-gradient(
                    180deg,
                    #f4f4f4,
                    #e9e9e9
                );
        }

        .about-page .about-section-dark {
            color: #ffffff;

            background:
                radial-gradient(
                    circle at 75% 20%,
                    rgba(215, 25, 32, 0.08),
                    transparent 34%
                ),
                linear-gradient(
                    180deg,
                    #0b0b0d,
                    #030303
                );
        }

        .about-page .about-section-heading {
            margin-bottom: 38px;

            text-align: center;
        }

        .about-page .about-section-kicker {
            margin-bottom: 6px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.9rem;

            letter-spacing: 0.13em;
            text-transform: uppercase;
        }

        .about-page .about-section-title {
            position: relative;

            display: inline-block;

            margin-bottom: 0;
            padding-bottom: 14px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2.15rem,
                    3.5vw,
                    3.5rem
                );

            font-weight: 400;
            line-height: 1;

            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .about-page .about-section-title::after {
            position: absolute;
            right: 25%;
            bottom: 0;
            left: 25%;

            height: 4px;

            background: var(--red);

            content: "";
        }


        /* =====================================================
           WER WIR SIND
           ===================================================== */

        .about-page .about-intro-grid {
            display: grid;

            grid-template-columns:
                minmax(0, 1fr)
                minmax(340px, 0.9fr);

            align-items: center;
            gap: 70px;
        }

        .about-page .about-intro-content h2 {
            margin-bottom: 18px;

            color: #111111;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2.4rem,
                    4vw,
                    4rem
                );

            font-weight: 400;
            line-height: 0.98;

            text-transform: uppercase;
        }

        .about-page .about-intro-content h2 span {
            color: var(--red);
        }

        .about-page .about-intro-content p {
            max-width: 700px;

            margin-bottom: 17px;

            color: #333333;

            font-size: 1rem;
            line-height: 1.75;
        }

        .about-page .about-intro-content p:last-child {
            margin-bottom: 0;
        }

        .about-page .about-intro-visual {
            position: relative;

            min-height: 320px;

            overflow: hidden;

            background:
                linear-gradient(
                    135deg,
                    #111111,
                    #050505
                );

            border:
                1px solid
                rgba(0, 0, 0, 0.17);

            box-shadow:
                0 20px 55px
                rgba(0, 0, 0, 0.24);
        }

        .about-page .about-intro-visual::before {
            position: absolute;
            inset: 0;

            background-image:
                url("../img/hero-stadion.jpg");

            background-position:
                center;

            background-repeat: no-repeat;
            background-size: cover;

            opacity: 0.52;

            content: "";
        }

        .about-page .about-intro-visual::after {
            position: absolute;
            inset: 0;

            background:
                linear-gradient(
                    135deg,
                    rgba(0, 0, 0, 0.2),
                    rgba(0, 0, 0, 0.88)
                );

            content: "";
        }

        .about-page .about-intro-logo {
            position: absolute;
            top: 50%;
            left: 50%;
            z-index: 2;

            width: min(62%, 250px);

            transform:
                translate(-50%, -50%);

            filter:
                drop-shadow(
                    0 16px 24px
                    rgba(0, 0, 0, 0.75)
                );
        }


        /* =====================================================
           GESCHICHTE
           ===================================================== */

        .about-page .history-timeline {
            position: relative;

            display: grid;

            grid-template-columns:
                repeat(3, minmax(0, 1fr));

            gap: 28px;

            margin-top: 10px;
        }

        .about-page .history-timeline::before {
            position: absolute;
            top: 37px;
            right: 13%;
            left: 13%;

            height: 1px;

            background:
                rgba(255, 255, 255, 0.25);

            content: "";
        }

        .about-page .history-item {
            position: relative;
            z-index: 2;

            text-align: center;
        }

        .about-page .history-icon {
            display: grid;
            place-items: center;

            width: 74px;
            height: 74px;

            margin:
                0
                auto
                18px;

            color: #ffffff;
            background:
                linear-gradient(
                    135deg,
                    var(--red-light),
                    var(--red-dark)
                );

            border:
                5px solid
                #090909;

            border-radius: 50%;

            font-size: 1.8rem;

            box-shadow:
                0 12px 26px
                rgba(215, 25, 32, 0.24);
        }

        .about-page .history-year {
            margin-bottom: 8px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 2rem;
            font-weight: 400;

            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .about-page .history-item p {
            max-width: 270px;

            margin:
                0
                auto;

            color: #d0d0d0;

            font-size: 0.9rem;
            line-height: 1.55;
        }


        /* =====================================================
           WERTE
           ===================================================== */

        .about-page .values-grid {
            display: grid;

            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            gap: 20px;
        }

        .about-page .value-card {
            min-height: 250px;

            padding: 30px 24px;

            color: #111111;
            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.1);

            box-shadow:
                0 13px 32px
                rgba(0, 0, 0, 0.12);

            text-align: center;

            transition:
                transform
                var(--transition-fast),
                box-shadow
                var(--transition-fast),
                border-color
                var(--transition-fast);
        }

        .about-page .value-card:hover {
            border-color:
                rgba(215, 25, 32, 0.55);

            box-shadow:
                0 20px 42px
                rgba(0, 0, 0, 0.17);

            transform:
                translateY(-5px);
        }

        .about-page .value-icon {
            display: grid;
            place-items: center;

            width: 70px;
            height: 70px;

            margin:
                0
                auto
                18px;

            color: var(--red);

            font-size: 2.7rem;
            line-height: 1;
        }

        .about-page .value-card h3 {
            margin-bottom: 12px;

            color: #111111;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.2rem;
            font-weight: 400;

            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .about-page .value-card p {
            margin-bottom: 0;

            color: #4a4a4a;

            font-size: 0.86rem;
            line-height: 1.55;
        }


        /* =====================================================
           FANCLUB IN ZAHLEN
           ===================================================== */

        .about-page .facts-grid {
            display: grid;

            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            gap: 0;
        }

        .about-page .fact-item {
            position: relative;

            padding:
                10px
                28px;

            text-align: center;
        }

        .about-page .fact-item:not(:last-child)::after {
            position: absolute;
            top: 15%;
            right: 0;
            bottom: 15%;

            width: 1px;

            background:
                rgba(255, 255, 255, 0.16);

            content: "";
        }

        .about-page .fact-icon {
            margin-bottom: 14px;

            color: var(--red);

            font-size: 2.5rem;
            line-height: 1;
        }

        .about-page .fact-title {
            margin-bottom: 6px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.25rem;
            font-weight: 400;

            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .about-page .fact-text {
            margin-bottom: 0;

            color: #d2d2d2;

            font-size: 0.84rem;
            line-height: 1.5;
        }


        /* =====================================================
           VORSTAND
           ===================================================== */

        .about-page .board-grid {
            display: grid;

            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            gap: 18px;
        }

        .about-page .board-card:nth-child(5) {
            grid-column: 2;
        }

        .about-page .board-card:nth-child(6) {
            grid-column: 3;
        }

        .about-page .board-card {
            padding: 25px 18px;

            color: #111111;
            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.1);

            box-shadow:
                0 12px 30px
                rgba(0, 0, 0, 0.12);

            text-align: center;
        }

        .about-page .board-avatar {
            display: grid;
            place-items: center;

            width: 124px;
            height: 124px;

            margin:
                0
                auto
                17px;

            color: #8d8d8d;
            background-color: #d6d6d6;
            background-repeat: no-repeat;
            background-size: cover;

            border-radius: 50%;
            border: 4px solid #ffffff;

            font-size: 0;

            box-shadow:
                0 8px 20px
                rgba(0, 0, 0, 0.2);
        }

        .about-page .board-card:nth-child(1) .board-avatar {
            background-image: url("../img/vorstand-daniel-mueller.jpg");
            background-position: center 28%;
        }

        .about-page .board-card:nth-child(2) .board-avatar {
            background-image: url("../img/vorstand-marc-raabe.jpg");
            background-position: center 27%;
        }

        .about-page .board-card:nth-child(3) .board-avatar {
            background-image: url("../img/vorstand-julian-starker.jpg");
            background-position: center 25%;
        }

        .about-page .board-card:nth-child(4) .board-avatar {
            background-image: url("../img/vorstand-patrick-roemer-bild-folgt.jpg");
            background-position: center 25%;
        }

        .about-page .board-card:nth-child(5) .board-avatar {
            background-image: url("../img/vorstand-lennart-reich.jpg");
            background-position: center 24%;
        }

        .about-page .board-card:nth-child(6) .board-avatar {
            background-image: url("../img/vorstand-manuel-drach.jpg");
            background-position: center 27%;
        }

        .about-page .board-role {
            margin-bottom: 5px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.92rem;
            font-weight: 400;

            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .about-page .board-name {
            margin-bottom: 13px;

            color: #222222;

            font-size: 0.9rem;
        }

        .about-page .board-contact {
            display: none !important;
            align-items: center;
            justify-content: center;

            width: 34px;
            height: 34px;

            color: var(--red);

            border:
                1px solid
                rgba(215, 25, 32, 0.35);

            transition:
                color
                var(--transition-fast),
                background
                var(--transition-fast);
        }

        .about-page .board-contact:hover {
            color: #ffffff;
            background: var(--red);
        }


        /* =====================================================
           CALL TO ACTION
           ===================================================== */

        .about-page .about-cta {
            position: relative;

            padding: 65px 0;

            overflow: hidden;
            isolation: isolate;

            text-align: center;
        }

        .about-page .about-cta::before {
            position: absolute;
            inset: 0;
            z-index: -3;

            background-image:
                url("../img/hero-stadion.jpg");

            background-position:
                center 65%;

            background-repeat: no-repeat;
            background-size: cover;

            content: "";
        }

        .about-page .about-cta::after {
            position: absolute;
            inset: 0;
            z-index: -2;

            background:
                rgba(0, 0, 0, 0.86);

            content: "";
        }

        .about-page .about-cta h2 {
            margin-bottom: 10px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2rem,
                    3.8vw,
                    3.5rem
                );

            font-weight: 400;
            line-height: 1;

            text-transform: uppercase;
        }

        .about-page .about-cta p {
            max-width: 760px;

            margin:
                0
                auto
                25px;

            color: #dedede;

            font-size: 1rem;
        }

        .about-page .about-cta-buttons {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;

            gap: 14px;
        }


        /* =====================================================
           FOOTER AUF UNTERSEITEN
           ===================================================== */

        .about-page .site-footer {
            display: block;

            height: auto;
            min-height: 0;

            overflow: visible;
        }

        .about-page .site-footer .footer-container {
            min-height: 112px;

            padding-top: 22px;
            padding-bottom: 18px;
        }

        .about-page .footer-bottom {
            min-height: 36px;
        }


        /* =====================================================
           LAPTOP
           ===================================================== */

        @media (max-width: 1220px) {

            .about-page .about-hero-content {
                margin-left: 225px;
            }

            .about-page .about-intro-grid {
                gap: 45px;
            }

            .about-page .values-grid {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .about-page .board-grid {
                grid-template-columns:
                    repeat(4, minmax(0, 1fr));
            }

        }


        /* =====================================================
           TABLET
           ===================================================== */

        @media (max-width: 980px) {

            .about-page .about-main {
                margin-top:
                    var(--header-height);
            }

            .about-page .about-hero,
            .about-page .about-hero-inner {
                min-height: 390px;
            }

            .about-page .about-hero-inner {
                align-items: flex-end;

                padding-top: 100px;
                padding-bottom: 50px;
            }

            .about-page .about-hero-content {
                width: 100%;

                margin-left: 0;
            }

            .about-page .about-title {
                font-size:
                    clamp(
                        3.5rem,
                        11vw,
                        5.3rem
                    );
            }

            .about-page .about-intro-grid {
                grid-template-columns: 1fr;

                gap: 35px;
            }

            .about-page .about-intro-visual {
                min-height: 300px;
            }

            .about-page .history-timeline {
                grid-template-columns: 1fr;

                gap: 38px;
            }

            .about-page .history-timeline::before {
                display: none;
            }

            .about-page .facts-grid {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));

                gap: 25px 0;
            }

            .about-page .fact-item:nth-child(2)::after {
                display: none;
            }

            .about-page .board-grid {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .about-page .board-card:nth-child(5),
            .about-page .board-card:nth-child(6) {
                grid-column: auto;
            }

            .about-page .site-footer .footer-container {
                min-height: 180px;
            }

        }


        /* =====================================================
           SMARTPHONE
           ===================================================== */

        @media (max-width: 700px) {

            .about-page .about-section {
                padding: 50px 0;
            }

            .about-page .about-hero,
            .about-page .about-hero-inner {
                min-height: 430px;
            }

            .about-page .about-hero-inner {
                padding-top: 125px;
                padding-bottom: 45px;
            }

            .about-page .about-kicker {
                font-size: 0.82rem;
            }

            .about-page .about-title {
                font-size:
                    clamp(
                        3.1rem,
                        16vw,
                        4.7rem
                    );
            }

            .about-page .about-hero-description {
                font-size: 0.9rem;
            }

            .about-page .values-grid,
            .about-page .facts-grid,
            .about-page .board-grid {
                grid-template-columns: 1fr;
            }

            .about-page .fact-item:not(:last-child)::after {
                top: auto;
                right: 15%;
                bottom: 0;
                left: 15%;

                width: auto;
                height: 1px;
            }

            .about-page .fact-item {
                padding:
                    22px
                    20px;
            }

            .about-page .about-cta-buttons {
                flex-direction: column;
            }

            .about-page .about-cta-buttons .primary-button,
            .about-page .about-cta-buttons .secondary-button {
                width: 100%;
            }

        }


        /* =====================================================
           REDUZIERTE BEWEGUNG
           ===================================================== */

        @media (prefers-reduced-motion: reduce) {

            .about-page .value-card {
                transition: none;
            }

            .about-page .value-card:hover {
                transform: none;
            }

        }
        /* Einheitlicher Unterseiten-Header – Referenz: Galerie */
        .about-page .about-hero,
        .about-page .about-hero-inner {
            min-height: 360px;
        }

        .about-page .about-hero-inner {
            align-items: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        .about-page .about-hero-content {
            width: min(100%, 1030px);
            margin-left: 0;
            padding: 120px 0 72px 250px;
            transform: translateY(40px);
        }

        .about-page .about-kicker {
            margin: 0 0 10px;
            line-height: 1;
        }

        .about-page .about-title {
            margin: 0;
            font-size: clamp(3rem, 5vw, 5.2rem);
            line-height: 0.92;
            letter-spacing: 0;
            white-space: nowrap;
        }

        .about-page .about-hero-description {
            max-width: 780px;
            margin: 18px 0 0;
            font-size: 1.08rem;
            line-height: 1.6;
        }

        @media (max-width: 1200px) {
            .about-page .about-hero-content { padding-left: 210px; }
        }

        @media (max-width: 1050px) {
            .about-page .about-hero,
            .about-page .about-hero-inner { min-height: 360px; }
            .about-page .about-hero-inner { align-items: center; padding: 0; }
            .about-page .about-hero-content { width: min(100%, 1030px); margin-left: 0; padding: 120px 0 72px 150px; }
            .about-page .about-title { white-space: normal; }
        }

        @media (max-width: 760px) {
            .about-page .about-hero,
            .about-page .about-hero-inner { min-height: 300px; }
            .about-page .about-hero-inner { align-items: center; padding: 0; }
            .about-page .about-hero-content { padding: 100px 0 72px; transform: none; }
            .about-page .about-title { font-size: clamp(2.8rem, 12vw, 4.2rem); }
            .about-page .about-hero-description { font-size: 1.08rem; }
        }
    

/* Seite: project-full/dev.cappeler-adler.de/news.html */

        /* =====================================================
           NEWS-SEITE
           Alle Regeln gelten nur innerhalb von .news-page.
           ===================================================== */

        body.news-page {
            min-height: 100vh;

            color: #ffffff;
            background: #030303;

            overflow-x: hidden;
            overflow-y: auto;
        }


        /* =====================================================
           HAUPTINHALT
           ===================================================== */

        .news-page .news-main {
            margin-top:
                var(--header-height);

            background: #030303;
        }


        /* =====================================================
           HERO
           ===================================================== */

        .news-page .news-hero {
            position: relative;

            min-height: 310px;

            overflow: hidden;
            isolation: isolate;

            border-bottom:
                1px solid
                rgba(255, 255, 255, 0.1);
        }

        .news-page .news-hero-background {
            position: absolute;
            inset: 0;
            z-index: -4;

            background-image:
                url("../img/hero-stadion.png");

            background-position:
                center 43%;

            background-repeat: no-repeat;
            background-size: cover;

            transform: scale(1.02);
        }

        .news-page .news-hero-overlay {
            position: absolute;
            inset: 0;
            z-index: -3;

            background:
                linear-gradient(
                    90deg,
                    rgba(0, 0, 0, 0.97) 0%,
                    rgba(0, 0, 0, 0.84) 40%,
                    rgba(0, 0, 0, 0.43) 72%,
                    rgba(0, 0, 0, 0.74) 100%
                ),
                linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.06) 0%,
                    rgba(0, 0, 0, 0.14) 62%,
                    #030303 100%
                );
        }

        .news-page .news-hero-texture {
            position: absolute;
            inset: 0;
            z-index: -2;

            opacity: 0.07;

            background-image:
                repeating-linear-gradient(
                    0deg,
                    rgba(255, 255, 255, 0.04) 0,
                    rgba(255, 255, 255, 0.04) 1px,
                    transparent 1px,
                    transparent 4px
                );

            pointer-events: none;
        }

        .news-page .news-hero-inner {
            display: flex;
            align-items: center;

            min-height: 310px;

            padding-top: 34px;
            padding-bottom: 34px;
        }

        .news-page .news-hero-content {
            width: min(100%, 760px);

            /*
             * Abstand zum großen Logo.
             * Dadurch überschneiden sich Logo und Überschrift nicht.
             */
            margin-left: 280px;
        }

        .news-page .news-kicker {
            margin-bottom: 9px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1rem;
            font-weight: 400;

            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .news-page .news-title {
            margin-bottom: 12px;

            color: #ffffff;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    4rem,
                    6vw,
                    6.4rem
                );

            font-weight: 400;
            line-height: 0.9;

            letter-spacing: 0.01em;
            text-transform: uppercase;

            text-shadow:
                0 7px 24px
                rgba(0, 0, 0, 0.76);
        }

        .news-page .news-title span {
            color: var(--red);
        }

        .news-page .news-hero-description {
            max-width: 680px;
            margin-bottom: 0;

            color: #eeeeee;

            font-size: 1rem;
            line-height: 1.55;

            text-shadow:
                0 2px 7px
                rgba(0, 0, 0, 0.85);
        }


        /* =====================================================
           INHALTSBEREICH
           ===================================================== */

        .news-page .news-content-section {
            padding: 65px 0 75px;

            color: #171717;

            background:
                linear-gradient(
                    180deg,
                    #f4f4f4,
                    #e9e9e9
                );
        }

        .news-page .news-content-layout {
            display: grid;

            grid-template-columns:
                minmax(0, 1fr)
                330px;

            align-items: start;
            gap: 36px;
        }


        /* =====================================================
           ÜBERSCHRIFT
           ===================================================== */

        .news-page .news-content-heading {
            margin-bottom: 28px;
        }

        .news-page .news-content-kicker {
            margin-bottom: 5px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.85rem;

            letter-spacing: 0.13em;
            text-transform: uppercase;
        }

        .news-page .news-content-title {
            position: relative;

            display: inline-block;

            margin-bottom: 15px;
            padding-bottom: 13px;

            color: #111111;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2.25rem,
                    3.7vw,
                    3.8rem
                );

            font-weight: 400;
            line-height: 1;

            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .news-page .news-content-title::after {
            position: absolute;
            bottom: 0;
            left: 0;

            width: 66px;
            height: 4px;

            background: var(--red);

            content: "";
        }

        .news-page .news-content-description {
            max-width: 750px;
            margin-bottom: 0;

            color: #464646;

            font-size: 0.95rem;
            line-height: 1.65;
        }


        /* =====================================================
           FILTER
           ===================================================== */

        .news-page .news-filter {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;

            margin-bottom: 25px;
        }

        .news-page .news-filter-button {
            min-height: 37px;

            padding:
                0
                15px;

            color: #333333;
            background: transparent;

            border:
                1px solid
                rgba(0, 0, 0, 0.2);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.72rem;

            letter-spacing: 0.04em;
            text-transform: uppercase;

            cursor: pointer;

            transition:
                color
                var(--transition-fast),
                background
                var(--transition-fast),
                border-color
                var(--transition-fast);
        }

        .news-page .news-filter-button:hover,
        .news-page .news-filter-button.active {
            color: #ffffff;
            background: var(--red);

            border-color: var(--red);
        }


        /* =====================================================
           NEWS-KARTEN
           ===================================================== */

        .news-page .news-grid {
            display: grid;

            grid-template-columns:
                repeat(2, minmax(0, 1fr));

            gap: 22px;
        }

        .news-page .news-card {
            display: flex;
            flex-direction: column;

            min-height: 510px;

            color: #ffffff;
            background:
                linear-gradient(
                    160deg,
                    #151517,
                    #070708
                );

            border:
                1px solid
                rgba(255, 255, 255, 0.1);

            box-shadow:
                0 15px 36px
                rgba(0, 0, 0, 0.18);

            overflow: hidden;

            transition:
                transform
                var(--transition-fast),
                box-shadow
                var(--transition-fast),
                border-color
                var(--transition-fast);
        }

        .news-page .news-card:hover {
            border-color:
                rgba(215, 25, 32, 0.55);

            box-shadow:
                0 21px 46px
                rgba(0, 0, 0, 0.27);

            transform:
                translateY(-4px);
        }

        .news-page .news-card-image {
            position: relative;

            display: block;

            height: 230px;

            overflow: hidden;
        }

        .news-page .news-card-image::after {
            position: absolute;
            inset: 0;

            background:
                linear-gradient(
                    180deg,
                    transparent 45%,
                    rgba(0, 0, 0, 0.78) 100%
                );

            content: "";
        }

        .news-page .news-card-image img {
            width: 100%;
            height: 100%;

            object-fit: cover;

            transition:
                transform
                var(--transition-medium);
        }

        .news-page .news-card:hover
        .news-card-image img {
            transform: scale(1.045);
        }

        .news-page .news-category {
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: 2;

            padding:
                7px
                12px;

            color: #ffffff;
            background: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.7rem;

            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .news-page .news-card-content {
            display: flex;
            flex: 1;
            flex-direction: column;

            padding: 23px 24px 24px;
        }

        .news-page .news-card-date {
            display: block;

            margin-bottom: 8px;

            color: var(--red);

            font-size: 0.72rem;
            font-weight: 700;

            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .news-page .news-card-title {
            margin-bottom: 12px;

            color: #ffffff;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.45rem;
            font-weight: 400;
            line-height: 1.12;

            letter-spacing: 0.015em;
            text-transform: uppercase;
        }

        .news-page .news-card-text {
            margin-bottom: 22px;

            color: #c9c9c9;

            font-size: 0.86rem;
            line-height: 1.6;
        }

        .news-page .news-card-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;

            width: max-content;

            margin-top: auto;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.78rem;

            letter-spacing: 0.04em;
            text-transform: uppercase;

            transition:
                color
                var(--transition-fast),
                transform
                var(--transition-fast);
        }

        .news-page .news-card-link:hover {
            color: #ffffff;

            transform:
                translateX(3px);
        }

        .news-page .news-card[hidden] { display: none; }
        .news-page .news-card-title a { color: inherit; }
        .news-page .category-list button.category-link { width: 100%; border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
        .news-page .category-list button.category-link.active { color: var(--red); font-weight: 700; }
        .news-page .news-empty-message { padding: 28px; border-left: 4px solid var(--red); background: #fff; color: #333; }
        .news-page .news-pagination { margin-top: 30px; }


        /* =====================================================
           WEITERE NEWS
           ===================================================== */

        .news-page .news-more-row {
            display: flex;
            justify-content: center;

            margin-top: 30px;
        }

        .news-page .news-more-button {
            min-width: 250px;
        }


        /* =====================================================
           SIDEBAR
           ===================================================== */

        .news-page .news-sidebar {
            display: grid;
            gap: 24px;
        }

        .news-page .sidebar-card {
            padding: 27px 25px;

            color: #151515;
            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.1);

            box-shadow:
                0 13px 34px
                rgba(0, 0, 0, 0.1);
        }

        .news-page .sidebar-title {
            position: relative;

            margin-bottom: 22px;
            padding-bottom: 12px;

            color: #111111;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.45rem;
            font-weight: 400;
            line-height: 1;

            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .news-page .sidebar-title::after {
            position: absolute;
            bottom: 0;
            left: 0;

            width: 42px;
            height: 3px;

            background: var(--red);

            content: "";
        }


        /* Kategorien */

        .news-page .category-list {
            display: grid;
        }

        .news-page .category-link {
            display: flex;
            align-items: center;
            gap: 12px;

            min-height: 46px;

            padding:
                8px
                0;

            color: #292929;

            border-bottom:
                1px solid
                rgba(0, 0, 0, 0.09);

            font-size: 0.84rem;

            transition:
                color
                var(--transition-fast),
                padding-left
                var(--transition-fast);
        }

        .news-page .category-link:last-child {
            border-bottom: 0;
        }

        .news-page .category-link:hover {
            padding-left: 4px;

            color: var(--red);
        }

        .news-page .category-icon {
            display: grid;
            place-items: center;

            width: 27px;
            height: 27px;

            color: var(--red);
        }


        /* Termine */

        .news-page .event-list {
            display: grid;
            gap: 18px;
        }

        .news-page .event-item {
            display: grid;

            grid-template-columns:
                58px
                minmax(0, 1fr);

            gap: 14px;

            padding-bottom: 17px;

            border-bottom:
                1px solid
                rgba(0, 0, 0, 0.09);
        }

        .news-page .event-item:last-child {
            padding-bottom: 0;

            border-bottom: 0;
        }

        .news-page .event-date {
            display: grid;
            place-items: center;

            min-height: 64px;

            padding: 7px;

            color: #ffffff;
            background:
                linear-gradient(
                    135deg,
                    var(--red-light),
                    var(--red-dark)
                );

            text-align: center;
        }

        .news-page .event-day {
            display: block;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.5rem;
            line-height: 1;
        }

        .news-page .event-month {
            display: block;

            font-size: 0.62rem;
            font-weight: 700;

            letter-spacing: 0.07em;
            text-transform: uppercase;
        }

        .news-page .event-content h3 {
            margin-bottom: 5px;

            color: #1d1d1d;

            font-size: 0.88rem;
            line-height: 1.35;
        }

        .news-page .event-content p {
            margin-bottom: 0;

            color: #666666;

            font-size: 0.73rem;
            line-height: 1.45;
        }


        /* Social Media */

        .news-page .sidebar-social-text {
            margin-bottom: 18px;

            color: #555555;

            font-size: 0.82rem;
            line-height: 1.55;
        }

        .news-page .sidebar-social-links {
            display: flex;
            gap: 12px;
        }

        .news-page .sidebar-social-link {
            display: grid;
            place-items: center;

            width: 45px;
            height: 45px;

            color: #ffffff;
            background: var(--red);

            border-radius: 50%;

            font-size: 1.15rem;
            font-weight: 700;

            transition:
                transform
                var(--transition-fast),
                background
                var(--transition-fast);
        }

        .news-page .sidebar-social-link:hover {
            background: var(--red-dark);

            transform:
                translateY(-3px);
        }


        /* =====================================================
           CALL TO ACTION
           ===================================================== */

        .news-page .news-cta {
            position: relative;

            padding: 62px 0;

            overflow: hidden;
            isolation: isolate;

            text-align: center;
        }

        .news-page .news-cta::before {
            position: absolute;
            inset: 0;
            z-index: -3;

            background-image:
                url("../img/hero-stadion.jpg");

            background-position:
                center 67%;

            background-repeat: no-repeat;
            background-size: cover;

            content: "";
        }

        .news-page .news-cta::after {
            position: absolute;
            inset: 0;
            z-index: -2;

            background:
                rgba(0, 0, 0, 0.87);

            content: "";
        }

        .news-page .news-cta h2 {
            margin-bottom: 10px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2rem,
                    3.8vw,
                    3.5rem
                );

            font-weight: 400;
            line-height: 1;

            text-transform: uppercase;
        }

        .news-page .news-cta p {
            max-width: 690px;

            margin:
                0
                auto
                24px;

            color: #dedede;

            font-size: 0.96rem;
            line-height: 1.55;
        }


        /* =====================================================
           FOOTER AUF UNTERSEITEN
           ===================================================== */

        .news-page .site-footer {
            display: block;

            height: auto;
            min-height: 0;

            overflow: visible;
        }

        .news-page .site-footer .footer-container {
            min-height: 112px;

            padding-top: 22px;
            padding-bottom: 18px;
        }

        .news-page .footer-bottom {
            min-height: 36px;
        }


        /* =====================================================
           LAPTOP
           ===================================================== */

        @media (max-width: 1220px) {

            .news-page .news-hero-content {
                margin-left: 225px;
            }

            .news-page .news-content-layout {
                grid-template-columns:
                    minmax(0, 1fr)
                    300px;

                gap: 28px;
            }

            .news-page .news-card {
                min-height: 490px;
            }

        }


        /* =====================================================
           TABLET
           ===================================================== */

        @media (max-width: 980px) {

            .news-page .news-hero,
            .news-page .news-hero-inner {
                min-height: 390px;
            }

            .news-page .news-hero-inner {
                align-items: flex-end;

                padding-top: 100px;
                padding-bottom: 50px;
            }

            .news-page .news-hero-content {
                width: 100%;

                margin-left: 0;
            }

            .news-page .news-title {
                font-size:
                    clamp(
                        3.5rem,
                        11vw,
                        5.3rem
                    );
            }

            .news-page .news-content-layout {
                grid-template-columns: 1fr;
            }

            .news-page .news-sidebar {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

            .news-page .sidebar-social-card {
                grid-column:
                    1 / -1;
            }

            .news-page .site-footer .footer-container {
                min-height: 180px;
            }

        }


        /* =====================================================
           SMARTPHONE
           ===================================================== */

        @media (max-width: 700px) {

            .news-page .news-hero,
            .news-page .news-hero-inner {
                min-height: 430px;
            }

            .news-page .news-hero-inner {
                padding-top: 125px;
                padding-bottom: 45px;
            }

            .news-page .news-kicker {
                font-size: 0.82rem;
            }

            .news-page .news-title {
                font-size:
                    clamp(
                        3.1rem,
                        16vw,
                        4.7rem
                    );
            }

            .news-page .news-hero-description {
                font-size: 0.9rem;
            }

            .news-page .news-content-section {
                padding:
                    48px
                    0
                    55px;
            }

            .news-page .news-grid {
                grid-template-columns: 1fr;
            }

            .news-page .news-card {
                min-height: 0;
            }

            .news-page .news-card-image {
                height: 215px;
            }

            .news-page .news-sidebar {
                grid-template-columns: 1fr;
            }

            .news-page .sidebar-social-card {
                grid-column: auto;
            }

            .news-page .news-more-button {
                width: 100%;
            }

            .news-page .news-cta .primary-button {
                width: 100%;
            }

        }


        /* =====================================================
           REDUZIERTE BEWEGUNG
           ===================================================== */

        @media (prefers-reduced-motion: reduce) {

            .news-page .news-card,
            .news-page .news-card-image img,
            .news-page .sidebar-social-link {
                transition: none;
            }

            .news-page .news-card:hover,
            .news-page .sidebar-social-link:hover {
                transform: none;
            }

        }
        /* Einheitlicher Unterseiten-Header – Referenz: Galerie */
        .news-page .news-hero,
        .news-page .news-hero-inner {
            min-height: 360px;
        }

        .news-page .news-hero-inner {
            align-items: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        .news-page .news-hero-content {
            width: min(100%, 1030px);
            margin-left: 0;
            padding: 120px 0 72px 250px;
            transform: translateY(40px);
        }

        .news-page .news-kicker {
            margin: 0 0 10px;
            line-height: 1;
        }

        .news-page .news-title {
            margin: 0;
            font-size: clamp(3rem, 5vw, 5.2rem);
            line-height: 0.92;
            letter-spacing: 0;
            white-space: nowrap;
        }

        .news-page .news-hero-description {
            max-width: 780px;
            margin: 18px 0 0;
            font-size: 1.08rem;
            line-height: 1.6;
        }

        @media (max-width: 1200px) {
            .news-page .news-hero-content { padding-left: 210px; }
        }

        @media (max-width: 1050px) {
            .news-page .news-hero,
            .news-page .news-hero-inner { min-height: 360px; }
            .news-page .news-hero-inner { align-items: center; padding: 0; }
            .news-page .news-hero-content { width: min(100%, 1030px); margin-left: 0; padding: 120px 0 72px 150px; }
            .news-page .news-title { white-space: normal; }
        }

        @media (max-width: 760px) {
            .news-page .news-hero,
            .news-page .news-hero-inner { min-height: 300px; }
            .news-page .news-hero-inner { align-items: center; padding: 0; }
            .news-page .news-hero-content { padding: 100px 0 72px; transform: none; }
            .news-page .news-title { font-size: clamp(2.8rem, 12vw, 4.2rem); }
            .news-page .news-hero-description { font-size: 1.08rem; }
        }
    

/* Seite: project-full/dev.cappeler-adler.de/spielplan.html */

        body.schedule-page {
            min-height: 100vh;

            color: #ffffff;
            background: #030303;

            overflow-x: hidden;
            overflow-y: auto;
        }

        .schedule-page .schedule-main {
            margin-top: var(--header-height);
        }

        .schedule-hero {
            position: relative;

            min-height: 310px;

            overflow: hidden;
            isolation: isolate;

            border-bottom:
                1px solid
                rgba(255, 255, 255, 0.1);
        }

        .schedule-hero-background {
            position: absolute;
            inset: 0;
            z-index: -3;

            background:
                url("../img/hero-stadion.jpg")
                center 43% / cover
                no-repeat;

            transform: scale(1.02);
        }

        .schedule-hero-overlay {
            position: absolute;
            inset: 0;
            z-index: -2;

            background:
                linear-gradient(
                    90deg,
                    rgba(0, 0, 0, 0.97),
                    rgba(0, 0, 0, 0.82) 42%,
                    rgba(0, 0, 0, 0.38) 72%,
                    rgba(0, 0, 0, 0.72)
                ),
                linear-gradient(
                    180deg,
                    transparent 55%,
                    #030303
                );
        }

        .schedule-hero-inner {
            display: flex;
            align-items: center;

            min-height: 310px;

            padding-top: 34px;
            padding-bottom: 34px;
        }

        .schedule-hero-content {
            width: min(100%, 760px);

            margin-left: 280px;
        }

        .schedule-kicker {
            margin-bottom: 8px;

            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1rem;

            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .schedule-title {
            margin-bottom: 12px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    4rem,
                    6vw,
                    6.4rem
                );

            font-weight: 400;
            line-height: 0.9;

            text-transform: uppercase;
        }

        .schedule-title span {
            color: var(--red);
        }

        .schedule-description {
            max-width: 680px;
            margin-bottom: 0;

            color: #eeeeee;

            font-size: 1rem;
            line-height: 1.55;
        }

        .schedule-content {
            padding: 48px 0 70px;

            color: #171717;

            background:
                linear-gradient(
                    180deg,
                    #f4f4f4,
                    #e9e9e9
                );
        }

        .schedule-layout {
            display: grid;

            grid-template-columns:
                minmax(0, 1fr)
                320px;

            align-items: start;
            gap: 28px;
        }

        .schedule-tabs {
            display: flex;
            gap: 8px;

            margin-bottom: 14px;
        }

        .schedule-tab {
            min-height: 48px;

            padding-right: 25px;
            padding-left: 25px;

            color: #222222;
            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.16);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 0.9rem;

            letter-spacing: 0.04em;
            text-transform: uppercase;

            cursor: pointer;
        }

        .schedule-tab.active {
            color: #ffffff;
            background: #080808;

            border-color: #080808;

            box-shadow:
                inset 0 -3px 0
                var(--red);
        }

        .schedule-panel {
            display: none;
        }

        .schedule-panel.active {
            display: block;
        }

        .schedule-card {
            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.1);

            box-shadow:
                0 14px 36px
                rgba(0, 0, 0, 0.11);

            overflow: hidden;
        }

        .schedule-card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;

            padding: 20px 22px;

            border-bottom:
                1px solid
                rgba(0, 0, 0, 0.1);
        }

        .schedule-card-header h2,
        .cup-card h2 {
            margin: 0;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 2rem;
            font-weight: 400;
            line-height: 1;

            text-transform: uppercase;
        }

        .schedule-updated {
            margin: 0;

            color: #666666;

            font-size: 0.72rem;
        }

        .fixture-table {
            width: 100%;

            border-collapse: collapse;
        }

        .fixture-table th {
            padding: 14px 10px;

            color: #555555;
            background: #f5f5f5;

            border-bottom:
                1px solid
                #dddddd;

            font-size: 0.66rem;
            text-align: left;

            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .fixture-table td {
            padding: 14px 10px;

            border-bottom:
                1px solid
                #e1e1e1;

            font-size: 0.78rem;
            vertical-align: middle;
        }

        .fixture-table tbody tr:hover {
            background: #faf5f5;
        }

        .fixture-table td:nth-child(1),
        .fixture-table td:nth-child(2),
        .fixture-table td:nth-child(6) {
            text-align: center;
        }

        .fixture-table td:nth-child(3),
        .fixture-table td:nth-child(5) {
            white-space: nowrap;
        }

        .match-cell {
            display: grid;

            grid-template-columns:
                minmax(0, 1fr)
                18px
                minmax(0, 1fr);

            align-items: center;
            gap: 7px;
        }

        .match-cell span:first-child {
            text-align: right;
        }

        .match-cell span:last-child {
            text-align: left;
        }

        .match-cell strong {
            color: var(--red);

            text-align: center;
        }

        .is-home .match-cell span:first-child,
        .is-away .match-cell span:last-child {
            font-weight: 700;
        }

        .cup-card {
            padding: 28px;
        }

        .cup-card h2 {
            margin-bottom: 16px;
        }

        .cup-match {
            display: grid;

            grid-template-columns:
                105px
                minmax(0, 1fr)
                110px;

            align-items: center;
            gap: 18px;

            margin-top: 24px;
            padding: 22px;

            color: #ffffff;
            background: #0b0b0d;

            border-left:
                4px solid
                var(--red);
        }

        .cup-round {
            color: var(--red);

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            text-transform: uppercase;
        }

        .cup-teams strong {
            display: block;

            margin-bottom: 4px;
        }

        .cup-meta {
            color: #bbbbbb;

            font-size: 0.75rem;
            text-align: right;
        }

        .schedule-sidebar {
            display: grid;
            gap: 20px;
        }

        .sidebar-card {
            padding: 25px;

            background: #ffffff;

            border:
                1px solid
                rgba(0, 0, 0, 0.1);

            box-shadow:
                0 12px 30px
                rgba(0, 0, 0, 0.1);
        }

        .sidebar-card h2 {
            position: relative;

            margin-bottom: 20px;
            padding-bottom: 11px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size: 1.35rem;
            font-weight: 400;

            text-transform: uppercase;
        }

        .sidebar-card h2::after {
            position: absolute;
            bottom: 0;
            left: 0;

            width: 42px;
            height: 3px;

            background: var(--red);

            content: "";
        }

        .season-info {
            display: grid;
            gap: 16px;
        }

        .season-info-item {
            display: grid;

            grid-template-columns:
                30px
                1fr;

            gap: 10px;

            color: #444444;

            font-size: 0.82rem;
            line-height: 1.5;
        }

        .season-info-item b {
            display: block;

            color: #171717;
        }

        .pokal-dates {
            display: grid;
            gap: 12px;
        }

        .pokal-date {
            padding-bottom: 10px;

            border-bottom:
                1px solid
                #e5e5e5;

            font-size: 0.78rem;
        }

        .pokal-date:last-child {
            border-bottom: 0;
        }

        .pokal-date b {
            display: block;

            color: #111111;

            text-transform: uppercase;
        }

        .schedule-note {
            margin: 0;

            color: #555555;

            font-size: 0.76rem;
            line-height: 1.55;
        }

        .schedule-cta {
            position: relative;

            padding: 58px 0;

            overflow: hidden;
            isolation: isolate;

            text-align: center;
        }

        .schedule-cta::before {
            position: absolute;
            inset: 0;
            z-index: -2;

            background:
                url("../img/hero-stadion.jpg")
                center 67% / cover
                no-repeat;

            content: "";
        }

        .schedule-cta::after {
            position: absolute;
            inset: 0;
            z-index: -1;

            background:
                rgba(0, 0, 0, 0.87);

            content: "";
        }

        .schedule-cta h2 {
            margin-bottom: 10px;

            font-family:
                Impact,
                Haettenschweiler,
                "Arial Narrow Bold",
                sans-serif;

            font-size:
                clamp(
                    2rem,
                    3.5vw,
                    3.3rem
                );

            font-weight: 400;

            text-transform: uppercase;
        }

        .schedule-cta p {
            max-width: 680px;

            margin:
                0
                auto
                22px;

            color: #dddddd;
        }

        .schedule-cta-buttons {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 14px;
        }

        .schedule-page .site-footer {
            display: block;

            height: auto;
            min-height: 0;

            overflow: visible;
        }

        .schedule-page .site-footer .footer-container {
            min-height: 112px;

            padding-top: 22px;
            padding-bottom: 18px;
        }

        .schedule-page .footer-bottom {
            min-height: 36px;
        }

        @media (max-width: 1220px) {

            .schedule-hero-content {
                margin-left: 225px;
            }

            .schedule-layout {
                grid-template-columns:
                    minmax(0, 1fr)
                    285px;
            }

        }

        @media (max-width: 980px) {

            .schedule-hero,
            .schedule-hero-inner {
                min-height: 390px;
            }

            .schedule-hero-inner {
                align-items: flex-end;

                padding-top: 100px;
                padding-bottom: 50px;
            }

            .schedule-hero-content {
                margin-left: 0;
            }

            .schedule-layout {
                grid-template-columns: 1fr;
            }

            .schedule-sidebar {
                grid-template-columns:
                    repeat(2, minmax(0, 1fr));
            }

        }

        @media (max-width: 760px) {

            .schedule-tabs {
                display: grid;

                grid-template-columns:
                    1fr
                    1fr;
            }

            .schedule-tab {
                padding-right: 10px;
                padding-left: 10px;
            }

            .schedule-card {
                overflow-x: auto;
            }

            .fixture-table {
                min-width: 780px;
            }

            .schedule-card-header {
                align-items: flex-start;
                flex-direction: column;
            }

            .schedule-sidebar {
                grid-template-columns: 1fr;
            }

            .cup-match {
                grid-template-columns: 1fr;
            }

            .cup-meta {
                text-align: left;
            }

            .schedule-cta-buttons {
                flex-direction: column;
            }

            .schedule-cta-buttons a {
                width: 100%;
            }

        }
    
@media (max-width:760px){
.fixture-table thead{display:none;}
.fixture-table,.fixture-table tbody,.fixture-table tr,.fixture-table td{display:block;width:100%;min-width:0!important}
.schedule-card{overflow:visible}
.fixture-table{min-width:0!important}
.fixture-table tr{margin:0 0 16px;padding:14px;border:1px solid #ddd;border-left:4px solid var(--red);background:#fff;border-radius:8px}
.fixture-table td{border:none;padding:4px 0;text-align:left!important}
.fixture-table td:nth-child(1):before{content:"Spieltag: ";font-weight:bold}
.fixture-table td:nth-child(2):before{content:"Ort: ";font-weight:bold}
.fixture-table td:nth-child(3):before{content:"Datum: ";font-weight:bold}
.fixture-table td:nth-child(5):before{content:"Uhrzeit: ";font-weight:bold}
.fixture-table td:nth-child(6):before{content:"Ergebnis: ";font-weight:bold}
.match-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    font-weight: 600;
}

.match-cell span {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.match-cell span:first-child {
    text-align: right;
}

.match-cell span:last-child {
    text-align: left;
}

.match-cell strong {
    display: inline;
    margin: 0;
    color: var(--red);
    font-size: 1rem;
}
.cup-match{grid-template-columns:1fr!important;gap:10px;padding:18px}
.cup-meta{text-align:left!important}
}

        /* Einheitlicher Unterseiten-Header – Referenz: Galerie */
        .schedule-hero,
        .schedule-hero-inner {
            min-height: 360px;
        }

        .schedule-hero-inner {
            align-items: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        .schedule-hero-content {
            width: min(100%, 1030px);
            margin-left: 0;
            padding: 120px 0 72px 250px;
            transform: translateY(40px);
        }

        .schedule-kicker {
            margin: 0 0 10px;
            line-height: 1;
        }

        .schedule-title {
            margin: 0;
            font-size: clamp(3rem, 5vw, 5.2rem);
            line-height: 0.92;
            letter-spacing: 0;
            white-space: nowrap;
        }

        .schedule-description {
            max-width: 780px;
            margin: 18px 0 0;
            font-size: 1.08rem;
            line-height: 1.6;
        }

        @media (max-width: 1200px) {
            .schedule-hero-content { padding-left: 210px; }
        }

        @media (max-width: 1050px) {
            .schedule-hero,
            .schedule-hero-inner { min-height: 360px; }
            .schedule-hero-inner { align-items: center; padding: 0; }
            .schedule-hero-content { width: min(100%, 1030px); margin-left: 0; padding: 120px 0 72px 150px; }
            .schedule-title { white-space: normal; }
        }

        @media (max-width: 760px) {
            .schedule-hero,
            .schedule-hero-inner { min-height: 300px; }
            .schedule-hero-inner { align-items: center; padding: 0; }
            .schedule-hero-content { padding: 100px 0 72px; transform: none; }
            .schedule-title { font-size: clamp(2.8rem, 12vw, 4.2rem); }
            .schedule-description { font-size: 1.08rem; }
        }


/* Seite: project-full/dev.cappeler-adler.de/galerie.html */

        .gallery-page { background: #080808; color: #fff; }
        .gallery-main { min-height: 70vh; }
        .gallery-hero { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #111; }
        .gallery-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background-image: url("../img/hero-stadion.png"); background-position: center 42%; background-repeat: no-repeat; background-size: cover; transform: scale(1.015); }
        .gallery-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.28) 67%, rgba(0,0,0,.58) 100%), linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.90) 100%); }
        .gallery-hero-content { padding-top: 120px; padding-right: 0; padding-bottom: 72px; padding-left: 250px; text-align: left; transform: translateY(40px); }
        .gallery-kicker { margin: 0 0 10px; color: #df1b2f; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
        .gallery-title { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: .92; letter-spacing: 0; text-transform: uppercase; text-shadow: 0 4px 24px #000; white-space: nowrap; }
        .gallery-title-red { color: #df1b2f; }
        .gallery-intro { max-width: 780px; margin: 18px 0 0; color: #f0f0f0; font-size: 1.08rem; line-height: 1.6; }
        .gallery-content { padding: 64px 0 84px; background: #f3f3f3; }
        .gallery-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 38px; padding: 0; list-style: none; }
        .gallery-filter-button { border: 1px solid #c9c9c9; border-radius: 999px; padding: 11px 19px; background: #fff; color: #171717; font: inherit; font-weight: 700; cursor: pointer; transition: .2s ease; }
        .gallery-filter-button:hover, .gallery-filter-button:focus-visible, .gallery-filter-button.active { border-color: #df1b2f; background: #df1b2f; color: #fff; transform: translateY(-1px); }
        .gallery-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
        .gallery-card { position: relative; flex: 0 1 calc((100% - 54px) / 4); min-width: 0; overflow: hidden; border: 1px solid #252525; border-radius: 4px; background: #141414; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
        .gallery-card[hidden] { display: none; }
        .gallery-card-button { display: block; width: 100%; border: 0; padding: 0; background: none; color: inherit; text-align: left; cursor: zoom-in; }
        .gallery-image-wrap { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #1b1b1b; }
        .gallery-image { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
        .gallery-card-button:hover .gallery-image, .gallery-card-button:focus-visible .gallery-image { transform: scale(1.055); filter: brightness(.72); }
        .gallery-zoom { position: absolute; inset: 50% auto auto 50%; display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(0,0,0,.55); font-size: 1.65rem; opacity: 0; transform: translate(-50%, -42%); transition: .25s ease; }
        .gallery-card-button:hover .gallery-zoom, .gallery-card-button:focus-visible .gallery-zoom { opacity: 1; transform: translate(-50%, -50%); }
        .gallery-card-content { min-height: 120px; padding: 17px 18px 19px; text-align: center; }
        .gallery-category { margin: 0 0 7px; color: #df1b2f; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
        .gallery-card-title { margin: 0; color: #fff; font-size: 1.04rem; line-height: 1.35; }
        .gallery-card-date { display: block; margin-top: 8px; color: #999; font-size: .85rem; }
        .gallery-more-wrap { margin-top: 42px; text-align: center; }
        .gallery-more-button[hidden] { display: none; }
        .gallery-empty { margin: 30px 0 0; color: #aaa; text-align: center; }
        .gallery-lightbox { width: min(1000px, calc(100% - 32px)); max-width: none; border: 0; padding: 0; background: transparent; color: #fff; }
        .gallery-lightbox::backdrop { background: rgba(0,0,0,.92); backdrop-filter: blur(3px); }
        .gallery-lightbox-inner { position: relative; overflow: hidden; border: 1px solid #333; border-radius: 5px; background: #0c0c0c; box-shadow: 0 25px 80px #000; }
        .gallery-lightbox-image { display: block; width: 100%; max-height: 76vh; object-fit: contain; background: #050505; }
        .gallery-lightbox-caption { padding: 17px 64px 19px 20px; }
        .gallery-lightbox-caption strong { display: block; font-size: 1.05rem; }
        .gallery-lightbox-caption span { display: block; margin-top: 4px; color: #aaa; font-size: .88rem; }
        .gallery-lightbox-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 42px; height: 42px; border: 1px solid #555; border-radius: 50%; background: rgba(0,0,0,.78); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; }
        @media (max-width: 1200px) { .gallery-hero-content { padding-left: 210px; } }
        @media (max-width: 1050px) { .gallery-hero-content { padding-left: 150px; } .gallery-title { white-space: normal; } .gallery-card { flex-basis: calc((100% - 36px) / 3); } }
        @media (max-width: 760px) { .gallery-hero { min-height: 300px; } .gallery-hero::before { background-position: 63% center; } .gallery-hero-content { padding-top: 100px; padding-right: 0; padding-left: 0; transform: none; } .gallery-title { font-size: clamp(2.8rem, 12vw, 4.2rem); } .gallery-content { padding-top: 46px; } .gallery-grid { gap: 13px; } .gallery-card { flex-basis: calc((100% - 13px) / 2); } }
        @media (max-width: 500px) { .gallery-filter { justify-content: center; } .gallery-filter-button { padding: 9px 13px; font-size: .85rem; } .gallery-card { flex-basis: 100%; } }
        @media (prefers-reduced-motion: reduce) { .gallery-image, .gallery-zoom, .gallery-filter-button { transition: none; } }
    

/* Seite: project-full/dev.cappeler-adler.de/mitglieder-werden.html */

        .membership-page { background: #f3f3f3; color: #171717; }
        .membership-main { min-height: 70vh; }
        .membership-hero { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #111; color: #fff; }
        .membership-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: url("../img/hero-stadion.png") center 42% / cover no-repeat; transform: scale(1.015); }
        .membership-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.28) 67%, rgba(0,0,0,.58) 100%), linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.9) 100%); }
        .membership-hero-content { padding-top: 120px; padding-right: 0; padding-bottom: 72px; padding-left: 250px; transform: translateY(40px); }
        .membership-kicker, .section-kicker { margin: 0 0 10px; color: #d71920; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
        .membership-title { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: .92; text-transform: uppercase; text-shadow: 0 4px 24px #000; white-space: nowrap; }
        .membership-title-red { color: #d71920; }
        .membership-intro { max-width: 790px; margin: 18px 0 0; color: #fff; font-size: 1.08rem; line-height: 1.6; }
        .membership-content { padding: 72px 0 90px; background: #f3f3f3; }
        .membership-heading { margin: 0; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .membership-heading::after { content: ""; display: block; width: 66px; height: 4px; margin-top: 16px; background: #d71920; }
        .membership-lead { max-width: 790px; margin: 20px 0 0; color: #444; line-height: 1.75; }
        .benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 42px; }
        .benefit-card { min-height: 245px; padding: 30px 28px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 16px 45px rgba(0,0,0,.09); }
        .benefit-number { display: block; margin-bottom: 18px; color: #d71920; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 2.35rem; line-height: 1; }
        .benefit-card h3 { margin: 0 0 13px; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.65rem; font-weight: 400; text-transform: uppercase; }
        .benefit-card p { margin: 0; color: #555; line-height: 1.7; }
        .membership-process { margin-top: 78px; }
        .process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 38px; border: 1px solid #ddd; background: #fff; }
        .process-step { position: relative; padding: 30px 28px; }
        .process-step + .process-step { border-left: 1px solid #ddd; }
        .process-step strong { display: inline-grid; width: 42px; height: 42px; margin-bottom: 15px; place-items: center; background: #d71920; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.3rem; font-weight: 400; }
        .process-step h3 { margin: 0 0 9px; color: #111; font-size: 1.05rem; }
        .process-step p { margin: 0; color: #555; line-height: 1.65; }
        .membership-form-section { margin-top: 78px; padding: 48px; background: #101010; color: #fff; box-shadow: 0 20px 55px rgba(0,0,0,.2); }
        .membership-form-section .membership-heading { color: #fff; }
        .membership-form-intro { max-width: 770px; margin: 20px 0 0; color: #c9c9c9; line-height: 1.7; }
        .application-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .7fr); gap: 38px; align-items: start; margin-top: 36px; }
        .application-online { min-width: 0; }
        .application-online h3, .word-application-card h3 { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.8rem; font-weight: 400; text-transform: uppercase; }
        .application-online > p { margin: 10px 0 0; color: #aaa; line-height: 1.65; }
        .membership-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 26px; }
        .membership-field { display: grid; gap: 8px; }
        .membership-field-full { grid-column: 1 / -1; }
        .membership-field label, .privacy-check { font-size: .9rem; font-weight: 700; }
        .membership-field input, .membership-field textarea { width: 100%; border: 1px solid #444; border-radius: 0; padding: 14px 15px; background: #1b1b1b; color: #fff; font: inherit; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
        .membership-field textarea { min-height: 145px; resize: vertical; }
        .membership-field input:focus, .membership-field textarea:focus { border-color: #d71920; box-shadow: 0 0 0 3px rgba(215,25,32,.2); }
        .privacy-check { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 11px; color: #d0d0d0; font-weight: 400; line-height: 1.55; }
        .privacy-check input { width: 18px; height: 18px; margin-top: 3px; accent-color: #d71920; flex: 0 0 auto; }
        .privacy-check a { color: #fff; text-decoration: underline; }
        .membership-submit-row { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
        .membership-submit { border: 0; cursor: pointer; }
        .membership-form-status { margin: 0; color: #fff; }
        .membership-contact-note { margin: 26px 0 0; color: #aaa; font-size: .92rem; }
        .membership-contact-note a { color: #fff; text-decoration: underline; }
        .word-application-card { padding: 30px 27px; border-top: 5px solid #d71920; background: #fff; color: #171717; }
        .word-application-card h3 { color: #111; }
        .word-application-card > p { margin: 13px 0 0; color: #555; line-height: 1.65; }
        .word-steps { display: grid; gap: 18px; margin: 27px 0; padding: 0; list-style: none; counter-reset: word-step; }
        .word-steps li { position: relative; min-height: 36px; padding-left: 48px; color: #444; line-height: 1.5; counter-increment: word-step; }
        .word-steps li::before { content: counter(word-step); position: absolute; top: 0; left: 0; display: grid; width: 34px; height: 34px; place-items: center; background: #d71920; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; }
        .word-download-list { display: grid; gap: 11px; margin-top: 24px; }
        .word-download-button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #bbb; padding: 13px 15px; background: #f1f1f1; color: #111; font-weight: 700; line-height: 1.35; transition: .2s ease; }
        .word-download-button::after { content: "↓"; flex: 0 0 auto; color: #d71920; font-size: 1.25rem; }
        .word-download-button:hover, .word-download-button:focus-visible { border-color: #d71920; background: #d71920; color: #fff; }
        .word-download-button:hover::after, .word-download-button:focus-visible::after { color: #fff; }
        .word-email-button { display: block; width: 100%; margin-top: 11px; border: 2px solid #111; padding: 11px 16px; color: #111; font-weight: 700; text-align: center; transition: .2s ease; }
        .word-email-button:hover, .word-email-button:focus-visible { border-color: #d71920; background: #d71920; color: #fff; }
        .word-attachment-note { margin-top: 16px !important; color: #777 !important; font-size: .82rem; }
        @media (max-width: 1200px) { .membership-hero-content { padding-left: 210px; } }
        @media (max-width: 1050px) { .membership-hero-content { padding-left: 150px; } .membership-title { white-space: normal; } }
        @media (max-width: 1000px) { .application-layout { grid-template-columns: 1fr; } }
        @media (max-width: 860px) { .benefits-grid, .process-grid { grid-template-columns: 1fr; } .process-step + .process-step { border-top: 1px solid #ddd; border-left: 0; } .membership-form-section { padding: 38px 30px; } }
        @media (max-width: 760px) { .membership-hero { min-height: 300px; } .membership-hero::before { background-position: 63% center; } .membership-hero-content { padding-top: 100px; padding-right: 0; padding-bottom: 72px; padding-left: 0; transform: none; } .membership-title { font-size: clamp(2.8rem, 12vw, 4.2rem); } .membership-content { padding: 52px 0 70px; } .membership-form { grid-template-columns: 1fr; } .membership-field-full, .privacy-check, .membership-submit-row { grid-column: auto; } }
        @media (max-width: 500px) { .membership-form-section { padding: 32px 20px; } .benefit-card, .process-step { padding-right: 22px; padding-left: 22px; } }
    

/* Seite: project-full/dev.cappeler-adler.de/kontakt.html */

        .contact-page { background: #f3f3f3; color: #171717; }
        .contact-main { min-height: 70vh; }
        .contact-hero { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #111; color: #fff; }
        .contact-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: url("../img/hero-stadion.png") center 42% / cover no-repeat; transform: scale(1.015); }
        .contact-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.28) 67%, rgba(0,0,0,.58) 100%), linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.9) 100%); }
        .contact-hero-content { padding-top: 120px; padding-right: 0; padding-bottom: 72px; padding-left: 250px; transform: translateY(40px); }
        .contact-kicker, .contact-section-kicker { margin: 0 0 10px; color: #d71920; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
        .contact-title { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: .92; text-transform: uppercase; text-shadow: 0 4px 24px #000; white-space: nowrap; }
        .contact-title-red { color: #d71920; }
        .contact-intro { max-width: 780px; margin: 18px 0 0; color: #fff; font-size: 1.08rem; line-height: 1.6; }
        .contact-content { padding: 72px 0 90px; background: #f3f3f3; }
        .contact-heading { margin: 0; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .contact-heading::after { content: ""; display: block; width: 66px; height: 4px; margin-top: 16px; background: #d71920; }
        .contact-lead { max-width: 790px; margin: 20px 0 0; color: #444; line-height: 1.75; }
        .contact-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr); gap: 32px; align-items: start; margin-top: 42px; }
        .contact-form-card { padding: 42px; background: #101010; color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
        .contact-form-card h3, .contact-info-card h3 { margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.9rem; font-weight: 400; text-transform: uppercase; }
        .contact-form-card > p { margin: 10px 0 0; color: #aaa; line-height: 1.65; }
        .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
        .contact-field { display: grid; gap: 8px; }
        .contact-field-full { grid-column: 1 / -1; }
        .contact-field label, .contact-privacy { font-size: .9rem; font-weight: 700; }
        .contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid #444; border-radius: 0; padding: 14px 15px; background: #1b1b1b; color: #fff; font: inherit; outline: none; }
        .contact-field textarea { min-height: 170px; resize: vertical; }
        .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #d71920; box-shadow: 0 0 0 3px rgba(215,25,32,.2); }
        .contact-privacy { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 11px; color: #ccc; font-weight: 400; line-height: 1.55; }
        .contact-privacy input { width: 18px; height: 18px; margin-top: 3px; accent-color: #d71920; flex: 0 0 auto; }
        .contact-privacy a { color: #fff; text-decoration: underline; }
        .contact-submit-row { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
        .contact-submit { border: 0; cursor: pointer; }
        .contact-form-status { margin: 0; color: #fff; }
        .contact-form-status.is-success { color: #7fe39c; font-weight: 700; }
        .contact-form-status.is-error { color: #ff8a8f; font-weight: 700; }
        .contact-submit:disabled { cursor: wait; opacity: .65; }
        .contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
        .contact-sidebar { display: grid; gap: 22px; }
        .contact-info-card { padding: 30px 27px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.08); }
        .contact-info-card > p { margin: 13px 0 0; color: #555; line-height: 1.65; }
        .contact-email-link { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 14px; background: #f0f0f0; color: #111; font-weight: 700; overflow-wrap: anywhere; }
        .contact-email-link span:first-child { color: #d71920; font-size: 1.35rem; }
        .contact-direct-button { display: block; margin-top: 14px; border: 2px solid #111; padding: 11px 15px; color: #111; font-weight: 700; text-align: center; transition: .2s ease; }
        .contact-direct-button:hover, .contact-direct-button:focus-visible { border-color: #d71920; background: #d71920; color: #fff; }
        .contact-topics { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
        .contact-topics li { padding: 12px 0; border-bottom: 1px solid #ddd; color: #444; }
        .contact-topics li::before { content: "›"; margin-right: 9px; color: #d71920; font-weight: 900; }
        @media (max-width: 1200px) { .contact-hero-content { padding-left: 210px; } }
        @media (max-width: 1050px) { .contact-hero-content { padding-left: 150px; } .contact-title { white-space: normal; } }
        @media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } }
        @media (max-width: 760px) { .contact-hero { min-height: 300px; } .contact-hero::before { background-position: 63% center; } .contact-hero-content { padding-top: 100px; padding-right: 0; padding-bottom: 72px; padding-left: 0; transform: none; } .contact-title { font-size: clamp(2.8rem, 12vw, 4.2rem); } .contact-content { padding: 52px 0 70px; } .contact-form { grid-template-columns: 1fr; } .contact-field-full, .contact-privacy, .contact-submit-row { grid-column: auto; } }
        @media (max-width: 500px) { .contact-form-card { padding: 32px 20px; } .contact-info-card { padding-right: 22px; padding-left: 22px; } }
    

/* Seite: project-full/dev.cappeler-adler.de/impressum.html */

        .contact-page { background: #f3f3f3; color: #171717; }
        .contact-main { min-height: 70vh; }
        .contact-hero { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #111; color: #fff; }
        .contact-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: url("../img/hero-stadion.png") center 42% / cover no-repeat; transform: scale(1.015); }
        .contact-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.28) 67%, rgba(0,0,0,.58) 100%), linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.9) 100%); }
        .contact-hero-content { padding-top: 120px; padding-right: 0; padding-bottom: 72px; padding-left: 250px; transform: translateY(40px); }
        .contact-kicker, .contact-section-kicker { margin: 0 0 10px; color: #d71920; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
        .contact-title { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: .92; text-transform: uppercase; text-shadow: 0 4px 24px #000; white-space: nowrap; }
        .contact-title-red { color: #d71920; }
        .contact-intro { max-width: 780px; margin: 18px 0 0; color: #fff; font-size: 1.08rem; line-height: 1.6; }
        .contact-content { padding: 72px 0 90px; background: #f3f3f3; }
        .contact-heading { margin: 0; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .contact-heading::after { content: ""; display: block; width: 66px; height: 4px; margin-top: 16px; background: #d71920; }
        .contact-lead { max-width: 790px; margin: 20px 0 0; color: #444; line-height: 1.75; }
        .contact-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr); gap: 32px; align-items: start; margin-top: 42px; }
        .contact-form-card { padding: 42px; background: #101010; color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
        .contact-form-card h3, .contact-info-card h3 { margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.9rem; font-weight: 400; text-transform: uppercase; }
        .contact-form-card > p { margin: 10px 0 0; color: #aaa; line-height: 1.65; }
        .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
        .contact-field { display: grid; gap: 8px; }
        .contact-field-full { grid-column: 1 / -1; }
        .contact-field label, .contact-privacy { font-size: .9rem; font-weight: 700; }
        .contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid #444; border-radius: 0; padding: 14px 15px; background: #1b1b1b; color: #fff; font: inherit; outline: none; }
        .contact-field textarea { min-height: 170px; resize: vertical; }
        .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #d71920; box-shadow: 0 0 0 3px rgba(215,25,32,.2); }
        .contact-privacy { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 11px; color: #ccc; font-weight: 400; line-height: 1.55; }
        .contact-privacy input { width: 18px; height: 18px; margin-top: 3px; accent-color: #d71920; flex: 0 0 auto; }
        .contact-privacy a { color: #fff; text-decoration: underline; }
        .contact-submit-row { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
        .contact-submit { border: 0; cursor: pointer; }
        .contact-form-status { margin: 0; color: #fff; }
        .contact-sidebar { display: grid; gap: 22px; }
        .contact-info-card { padding: 30px 27px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.08); }
        .contact-info-card > p { margin: 13px 0 0; color: #555; line-height: 1.65; }
        .contact-email-link { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 14px; background: #f0f0f0; color: #111; font-weight: 700; overflow-wrap: anywhere; }
        .contact-email-link span:first-child { color: #d71920; font-size: 1.35rem; }
        .contact-direct-button { display: block; margin-top: 14px; border: 2px solid #111; padding: 11px 15px; color: #111; font-weight: 700; text-align: center; transition: .2s ease; }
        .contact-direct-button:hover, .contact-direct-button:focus-visible { border-color: #d71920; background: #d71920; color: #fff; }
        .contact-topics { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
        .contact-topics li { padding: 12px 0; border-bottom: 1px solid #ddd; color: #444; }
        .contact-topics li::before { content: "›"; margin-right: 9px; color: #d71920; font-weight: 900; }
        @media (max-width: 1200px) { .contact-hero-content { padding-left: 210px; } }
        @media (max-width: 1050px) { .contact-hero-content { padding-left: 150px; } .contact-title { white-space: normal; } }
        @media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } }
        @media (max-width: 760px) { .contact-hero { min-height: 300px; } .contact-hero::before { background-position: 63% center; } .contact-hero-content { padding-top: 100px; padding-right: 0; padding-bottom: 72px; padding-left: 0; transform: none; } .contact-title { font-size: clamp(2.8rem, 12vw, 4.2rem); } .contact-content { padding: 52px 0 70px; } .contact-form { grid-template-columns: 1fr; } .contact-field-full, .contact-privacy, .contact-submit-row { grid-column: auto; } }
        @media (max-width: 500px) { .contact-form-card { padding: 32px 20px; } .contact-info-card { padding-right: 22px; padding-left: 22px; } }
        .legal-content { padding: 72px 0 90px; background: #f3f3f3; }
        .legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
        .legal-card { padding: 36px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.08); }
        .legal-card h2 { margin: 0 0 22px; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .legal-card p { margin: 0; color: #444; line-height: 1.75; }
        .legal-card p + p { margin-top: 18px; }
        .legal-address { font-style: normal; }
        .legal-label { display: block; margin-bottom: 4px; color: #111; font-weight: 800; }
        .legal-card a { color: #b60017; font-weight: 700; overflow-wrap: anywhere; }
        .legal-note { grid-column: 1 / -1; padding: 30px 36px; border-left: 5px solid #d71920; background: #111; color: #fff; }
        .legal-note h2 { margin: 0 0 16px; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 2rem; font-weight: 400; text-transform: uppercase; }
        .legal-note p { margin: 0; color: #d7d7d7; line-height: 1.7; }
        @media (max-width: 850px) { .legal-grid { grid-template-columns: 1fr; } .legal-note { grid-column: auto; } }
        @media (max-width: 760px) { .legal-content { padding: 52px 0 70px; } }
        @media (max-width: 500px) { .legal-card, .legal-note { padding: 28px 22px; } }
    

/* Seite: project-full/dev.cappeler-adler.de/datenschutz.html */

        .contact-page { background: #f3f3f3; color: #171717; }
        .contact-main { min-height: 70vh; }
        .contact-hero { position: relative; isolation: isolate; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #111; color: #fff; }
        .contact-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: url("../img/hero-stadion.png") center 42% / cover no-repeat; transform: scale(1.015); }
        .contact-hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.75) 35%, rgba(0,0,0,.28) 67%, rgba(0,0,0,.58) 100%), linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.9) 100%); }
        .contact-hero-content { padding-top: 120px; padding-right: 0; padding-bottom: 72px; padding-left: 250px; transform: translateY(40px); }
        .contact-kicker, .contact-section-kicker { margin: 0 0 10px; color: #d71920; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
        .contact-title { margin: 0; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: .92; text-transform: uppercase; text-shadow: 0 4px 24px #000; white-space: nowrap; }
        .contact-title-red { color: #d71920; }
        .contact-intro { max-width: 780px; margin: 18px 0 0; color: #fff; font-size: 1.08rem; line-height: 1.6; }
        .contact-content { padding: 72px 0 90px; background: #f3f3f3; }
        .contact-heading { margin: 0; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .contact-heading::after { content: ""; display: block; width: 66px; height: 4px; margin-top: 16px; background: #d71920; }
        .contact-lead { max-width: 790px; margin: 20px 0 0; color: #444; line-height: 1.75; }
        .contact-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .65fr); gap: 32px; align-items: start; margin-top: 42px; }
        .contact-form-card { padding: 42px; background: #101010; color: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
        .contact-form-card h3, .contact-info-card h3 { margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.9rem; font-weight: 400; text-transform: uppercase; }
        .contact-form-card > p { margin: 10px 0 0; color: #aaa; line-height: 1.65; }
        .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
        .contact-field { display: grid; gap: 8px; }
        .contact-field-full { grid-column: 1 / -1; }
        .contact-field label, .contact-privacy { font-size: .9rem; font-weight: 700; }
        .contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 1px solid #444; border-radius: 0; padding: 14px 15px; background: #1b1b1b; color: #fff; font: inherit; outline: none; }
        .contact-field textarea { min-height: 170px; resize: vertical; }
        .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #d71920; box-shadow: 0 0 0 3px rgba(215,25,32,.2); }
        .contact-privacy { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 11px; color: #ccc; font-weight: 400; line-height: 1.55; }
        .contact-privacy input { width: 18px; height: 18px; margin-top: 3px; accent-color: #d71920; flex: 0 0 auto; }
        .contact-privacy a { color: #fff; text-decoration: underline; }
        .contact-submit-row { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
        .contact-submit { border: 0; cursor: pointer; }
        .contact-form-status { margin: 0; color: #fff; }
        .contact-sidebar { display: grid; gap: 22px; }
        .contact-info-card { padding: 30px 27px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.08); }
        .contact-info-card > p { margin: 13px 0 0; color: #555; line-height: 1.65; }
        .contact-email-link { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 14px; background: #f0f0f0; color: #111; font-weight: 700; overflow-wrap: anywhere; }
        .contact-email-link span:first-child { color: #d71920; font-size: 1.35rem; }
        .contact-direct-button { display: block; margin-top: 14px; border: 2px solid #111; padding: 11px 15px; color: #111; font-weight: 700; text-align: center; transition: .2s ease; }
        .contact-direct-button:hover, .contact-direct-button:focus-visible { border-color: #d71920; background: #d71920; color: #fff; }
        .contact-topics { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
        .contact-topics li { padding: 12px 0; border-bottom: 1px solid #ddd; color: #444; }
        .contact-topics li::before { content: "›"; margin-right: 9px; color: #d71920; font-weight: 900; }
        @media (max-width: 1200px) { .contact-hero-content { padding-left: 210px; } }
        @media (max-width: 1050px) { .contact-hero-content { padding-left: 150px; } .contact-title { white-space: normal; } }
        @media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } }
        @media (max-width: 760px) { .contact-hero { min-height: 300px; } .contact-hero::before { background-position: 63% center; } .contact-hero-content { padding-top: 100px; padding-right: 0; padding-bottom: 72px; padding-left: 0; transform: none; } .contact-title { font-size: clamp(2.8rem, 12vw, 4.2rem); } .contact-content { padding: 52px 0 70px; } .contact-form { grid-template-columns: 1fr; } .contact-field-full, .contact-privacy, .contact-submit-row { grid-column: auto; } }
        @media (max-width: 500px) { .contact-form-card { padding: 32px 20px; } .contact-info-card { padding-right: 22px; padding-left: 22px; } }
        .legal-content { padding: 72px 0 90px; background: #f3f3f3; }
        .legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
        .legal-card { padding: 36px; border-top: 5px solid #d71920; background: #fff; box-shadow: 0 14px 38px rgba(0,0,0,.08); }
        .legal-card h2 { margin: 0 0 22px; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .legal-card p { margin: 0; color: #444; line-height: 1.75; }
        .legal-card p + p { margin-top: 18px; }
        .legal-address { font-style: normal; }
        .legal-label { display: block; margin-bottom: 4px; color: #111; font-weight: 800; }
        .legal-card a { color: #b60017; font-weight: 700; overflow-wrap: anywhere; }
        .legal-note { grid-column: 1 / -1; padding: 30px 36px; border-left: 5px solid #d71920; background: #111; color: #fff; }
        .legal-note h2 { margin: 0 0 16px; color: #fff; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 2rem; font-weight: 400; text-transform: uppercase; }
        .legal-note p { margin: 0; color: #d7d7d7; line-height: 1.7; }
        @media (max-width: 850px) { .legal-grid { grid-template-columns: 1fr; } .legal-note { grid-column: auto; } }
        @media (max-width: 760px) { .legal-content { padding: 52px 0 70px; } }
        @media (max-width: 500px) { .legal-card, .legal-note { padding: 28px 22px; } }
        .privacy-content { padding: 72px 0 90px; background: #f3f3f3; }
        .privacy-layout { display: grid; grid-template-columns: minmax(230px, .32fr) minmax(0, 1fr); gap: 34px; align-items: start; }
        .privacy-toc { position: sticky; top: calc(var(--header-height) + 24px); padding: 28px 25px; border-top: 5px solid #d71920; background: #111; color: #fff; }
        .privacy-toc h2 { margin: 0 0 18px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.8rem; font-weight: 400; text-transform: uppercase; }
        .privacy-toc ol { display: grid; gap: 9px; margin: 0; padding-left: 20px; }
        .privacy-toc a { color: #ddd; line-height: 1.4; }
        .privacy-toc a:hover, .privacy-toc a:focus-visible { color: #fff; text-decoration: underline; }
        .privacy-sections { display: grid; gap: 24px; }
        .privacy-section { scroll-margin-top: calc(var(--header-height) + 24px); padding: 34px 38px; border-top: 4px solid #d71920; background: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.07); }
        .privacy-section h2 { margin: 0 0 18px; color: #111; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(1.75rem, 3vw, 2.35rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
        .privacy-section h3 { margin: 24px 0 10px; color: #222; font-size: 1.05rem; }
        .privacy-section p, .privacy-section li { color: #444; line-height: 1.72; }
        .privacy-section p { margin: 0; }
        .privacy-section p + p { margin-top: 15px; }
        .privacy-section ul { margin: 14px 0 0; padding-left: 22px; }
        .privacy-section a { color: #b60017; font-weight: 700; overflow-wrap: anywhere; }
        .privacy-address { margin-top: 14px; font-style: normal; color: #444; line-height: 1.7; }
        .privacy-section .privacy-status { padding: 22px 26px; border-left: 5px solid #d71920; background: #111; color: #fff; line-height: 1.65; }
        .privacy-section .privacy-status strong { color: #fff; }
        @media (max-width: 950px) { .privacy-layout { grid-template-columns: 1fr; } .privacy-toc { position: static; } }
        @media (max-width: 760px) { .privacy-content { padding: 52px 0 70px; } .privacy-section { padding: 28px 24px; } }
    
/* Einheitlicher Sicherheitsabstand für das vergrößerte Vereinslogo. */
@media (min-width: 1221px) {
    .about-page .about-hero-content,
    .news-page .news-hero-content,
    .schedule-page .schedule-hero-content,
    .gallery-page .gallery-hero-content,
    .membership-page .membership-hero-content,
    .contact-page .contact-hero-content {
        padding-left: 345px;
    }

    .membership-hero-content {
        padding-left: 345px;
    }

    .contact-hero-content {
        padding-left: 345px;
    }
}

/* ==========================================================
   GALERIE-ALBEN – Bildanzahl und Navigation
   ========================================================== */

.gallery-photo-count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    min-width: 54px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .4);
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 52px;
    height: 64px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 4px;
    background: rgba(0, 0, 0, .7);
    color: #fff;
    font-size: 2.8rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.gallery-lightbox-prev { left: 14px; }
.gallery-lightbox-next { right: 14px; }
.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover,
.gallery-lightbox-prev:focus-visible,
.gallery-lightbox-next:focus-visible { background: #df1b2f; }

.gallery-lightbox-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.gallery-lightbox-counter {
    flex: 0 0 auto;
    color: #ddd;
    font-size: .9rem;
    font-weight: 700;
}

@media (max-width: 600px) {
    .gallery-lightbox-prev,
    .gallery-lightbox-next {
        width: 44px;
        height: 54px;
        font-size: 2.25rem;
    }

    .gallery-lightbox-prev { left: 7px; }
    .gallery-lightbox-next { right: 7px; }
}

@media (min-width: 981px) and (max-width: 1220px) {
    .about-page .about-hero-content,
    .news-page .news-hero-content,
    .schedule-page .schedule-hero-content,
    .gallery-page .gallery-hero-content,
    .membership-page .membership-hero-content,
    .contact-page .contact-hero-content {
        padding-left: 290px;
    }

    .membership-hero-content {
        padding-left: 290px;
    }

    .contact-hero-content {
        padding-left: 290px;
    }
}

/* Eigene Seitenüberschrift ist Bestandteil des Beitrags. Eine eventuell von
   Joomla zusätzlich ausgegebene Artikelüberschrift wird hier ausgeblendet. */
.item-page:has(.membership-main) > .page-header,
.com-content-article:has(.membership-main) > .page-header {
    display: none;
}

.item-page:has(.contact-main) > .page-header,
.com-content-article:has(.contact-main) > .page-header {
    display: none;
}

/* Dynamische News-Detailseite */
.news-detail {
    min-height: 70vh;
    background: #f3f3f3;
    color: #171717;
}

.news-detail-hero {
    position: relative;
    isolation: isolate;
    min-height: 390px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #111;
    color: #fff;
}

.news-detail-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background: url("../img/hero-stadion.png") center 42% / cover no-repeat;
    transform: scale(1.015);
}

.news-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.78) 40%, rgba(0,0,0,.34) 72%, rgba(0,0,0,.62) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 55%, rgba(0,0,0,.92) 100%);
}

.news-detail-hero-inner {
    width: min(calc(100% - 48px), var(--page-width));
    margin-right: auto;
    margin-left: auto;
}

.news-detail-hero-content {
    width: 100%;
    max-width: none;
    margin-left: 0;
    padding: 120px 0 72px 345px;
    transform: translateY(40px);
}

.news-detail-kicker {
    margin: 0 0 13px;
    color: #df1b2f;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.news-detail-title {
    width: 100%;
    max-width: 1120px;
    margin: 0;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: clamp(3rem, 5vw, 5.2rem);
    font-weight: 400;
    line-height: .92;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
    text-transform: uppercase;
    text-shadow: 0 4px 24px #000;
}

.news-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    align-items: center;
    margin-top: 22px;
    color: #ededed;
    font-size: .93rem;
}

.news-detail-meta span {
    color: #df1b2f;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.news-detail-meta time::before {
    content: "•";
    margin-right: 22px;
    color: #df1b2f;
}

.news-detail-content-section {
    padding: 72px 0 92px;
    background: #f3f3f3;
}

.news-detail-card {
    width: min(100%, 1050px);
    margin: 0 auto;
    overflow: hidden;
    border-top: 5px solid #df1b2f;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0,0,0,.12);
}

.news-detail-figure {
    margin: 0;
    background: #111;
}

.news-detail-figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.news-detail-figure figcaption {
    padding: 10px 18px;
    background: #171717;
    color: #bbb;
    font-size: .82rem;
    line-height: 1.5;
}

.news-detail-body {
    padding: clamp(30px, 5vw, 62px);
}

.news-detail-copy {
    max-width: 820px;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.08rem);
    line-height: 1.78;
}

.news-detail-copy > *:first-child {
    margin-top: 0;
}

.news-detail-copy > *:last-child {
    margin-bottom: 0;
}

.news-detail-copy p,
.news-detail-copy ul,
.news-detail-copy ol,
.news-detail-copy blockquote {
    margin: 0 0 1.35em;
}

.news-detail-copy h2,
.news-detail-copy h3,
.news-detail-copy h4 {
    margin: 1.35em 0 .55em;
    color: #111;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-weight: 400;
    line-height: 1.08;
    text-transform: uppercase;
}

.news-detail-copy h2 { font-size: clamp(2rem, 4vw, 3rem); }
.news-detail-copy h3 { font-size: clamp(1.55rem, 3vw, 2.15rem); }
.news-detail-copy h4 { font-size: 1.35rem; }
.news-detail-copy ul,
.news-detail-copy ol { padding-left: 1.4em; }
.news-detail-copy img { max-width: 100%; height: auto; }
.news-detail-copy a { color: #b60017; font-weight: 700; text-decoration: underline; }
.news-detail-copy blockquote { padding: 18px 24px; border-left: 5px solid #df1b2f; background: #f3f3f3; }

.news-detail-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
    padding: 14px 20px;
    background: #d71920;
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 10px 25px rgba(215,25,32,.22);
    transition: background-color .2s ease, transform .2s ease;
}

.news-detail-back:hover,
.news-detail-back:focus-visible {
    background: #a90015;
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 1220px) {
    .news-detail-hero-content {
        padding-left: 290px;
    }
}

@media (max-width: 1050px) {
    .news-detail-hero-content {
        padding-left: 150px;
    }
}

@media (max-width: 760px) {
    .news-detail-hero { min-height: 340px; }
    .news-detail-hero::before { background-position: 63% center; }
    .news-detail-hero-content {
        width: 100%;
        margin-left: 0;
        padding: 100px 0 72px;
        transform: none;
    }
    .news-detail-title { max-width: 100%; font-size: clamp(2.65rem, 11vw, 4rem); overflow-wrap: anywhere; }
    .news-detail-meta time::before { display: none; }
    .news-detail-content-section { padding: 46px 0 68px; }
    .news-detail-card { border-top-width: 4px; }
}

@media (max-width: 500px) {
    .news-detail-meta { display: grid; gap: 6px; }
    .news-detail-body { padding: 28px 21px 34px; }
    .news-detail-figure img { max-height: 330px; }
    .news-detail-back { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .news-detail-back { transition: none; }
}

/* ==========================================================
   MOBILE 2026 – moderne Unterseiten
   ========================================================== */

@media (max-width: 700px) {
    .about-page .about-hero,
    .about-page .about-hero-inner,
    .news-page .news-hero,
    .news-page .news-hero-inner,
    .schedule-hero,
    .schedule-hero-inner,
    .gallery-hero,
    .membership-hero,
    .contact-hero,
    .legal-hero,
    .privacy-hero,
    .news-detail-hero {
        min-height: 310px;
    }

    .about-page .about-hero-inner,
    .news-page .news-hero-inner,
    .schedule-hero-inner {
        align-items: center;
        padding: 86px 0 38px;
    }

    .about-page .about-hero-content,
    .news-page .news-hero-content,
    .schedule-hero-content,
    .gallery-hero-content,
    .membership-hero-content,
    .contact-hero-content,
    .legal-hero-content,
    .privacy-hero-content,
    .news-detail-hero-content {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 86px 0 38px;
        transform: none;
    }

    .about-page .about-title,
    .news-page .news-title,
    .schedule-title,
    .gallery-title,
    .membership-title,
    .contact-title,
    .legal-title,
    .privacy-title,
    .news-detail-title {
        max-width: 100%;
        margin-top: 8px;
        font-size: clamp(2.45rem, 12vw, 3.55rem);
        line-height: .98;
        overflow-wrap: normal;
        word-break: normal;
    }

    .about-page .about-kicker,
    .news-page .news-kicker,
    .schedule-kicker,
    .gallery-kicker,
    .membership-kicker,
    .contact-kicker,
    .legal-kicker,
    .privacy-kicker,
    .news-detail-kicker {
        font-size: .82rem;
        letter-spacing: .14em;
    }

    .about-page .about-hero-description,
    .news-page .news-hero-description,
    .schedule-description,
    .gallery-description,
    .membership-description,
    .contact-description,
    .legal-description,
    .privacy-description {
        max-width: 100%;
        font-size: .98rem;
        line-height: 1.55;
    }

    .about-page .about-section,
    .news-page .news-content-section,
    .schedule-content,
    .gallery-content,
    .membership-content,
    .contact-content,
    .legal-content,
    .privacy-content,
    .news-detail-content-section {
        padding-top: 44px;
        padding-bottom: 58px;
    }

    .about-page .about-intro-grid,
    .about-page .values-grid,
    .about-page .facts-grid,
    .about-page .board-grid,
    .news-page .news-grid,
    .news-page .news-sidebar,
    .schedule-layout,
    .schedule-sidebar,
    .benefits-grid,
    .process-grid,
    .application-layout,
    .contact-layout,
    .legal-grid,
    .privacy-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .about-page .about-intro-content h2,
    .news-page .news-content-title,
    .membership-content h2,
    .contact-content h2 {
        font-size: clamp(2rem, 9vw, 2.75rem);
        line-height: 1.05;
    }

    .about-page .about-intro-content p,
    .news-page .news-content-intro,
    .membership-content > .page-container > p,
    .contact-content > .page-container > p,
    .legal-card p,
    .privacy-section p,
    .news-detail-copy p {
        font-size: 1.05rem;
        line-height: 1.7;
    }

    .about-page .about-intro-visual {
        min-height: 240px;
    }

    .about-page .value-card,
    .about-page .board-card,
    .benefit-card,
    .process-step,
    .contact-info-card,
    .legal-card,
    .privacy-section {
        min-width: 0;
        padding: 26px 22px;
    }

    .news-page .news-filter,
    .gallery-filter {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 8px;
        margin-right: -16px;
        padding: 2px 16px 10px 0;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .news-page .news-filter::-webkit-scrollbar,
    .gallery-filter::-webkit-scrollbar {
        display: none;
    }

    .news-page .news-filter-button,
    .gallery-filter-button {
        flex: 0 0 auto;
        min-height: 44px;
        padding: 11px 16px;
        font-size: .86rem;
        white-space: nowrap;
    }

    .news-page .news-card,
    .gallery-card {
        width: 100%;
        min-height: 0;
    }

    .news-page .news-card-image,
    .gallery-image-wrap {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .news-page .news-card-title,
    .gallery-card-title {
        font-size: 1.35rem;
        line-height: 1.15;
    }

    .gallery-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .schedule-tabs {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .schedule-tab {
        min-height: 48px;
        padding: 12px 8px;
        font-size: .9rem;
    }

    .schedule-card {
        border: 0;
        box-shadow: none;
        background: transparent;
    }

    .schedule-card-header {
        gap: 8px;
        padding: 20px 18px;
        background: #fff;
    }

    .schedule-card-header h2,
    .cup-card h2 {
        font-size: 1.75rem;
    }

    .schedule-updated {
        font-size: .78rem;
    }

    .fixture-table tr {
        margin-bottom: 14px;
        padding: 16px;
        border-radius: 6px;
        box-shadow: 0 8px 22px rgba(0,0,0,.08);
    }

    .fixture-table td {
        display: grid;
        grid-template-columns: 88px minmax(0, 1fr);
        align-items: start;
        gap: 8px;
        padding: 6px 0;
        font-size: .94rem;
        line-height: 1.35;
    }

    .fixture-table td:nth-child(4) {
        display: block;
        padding: 12px 0 8px;
    }

    .match-cell span {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    .cup-card {
        padding: 22px 18px;
    }

    .cup-match {
        gap: 10px;
        padding: 18px 16px;
    }

    .benefits-grid,
    .process-grid {
        gap: 16px;
    }

    .benefit-card {
        min-height: 0;
    }

    .benefit-card h3,
    .process-step h3 {
        font-size: 1.55rem;
        overflow-wrap: normal;
        word-break: normal;
    }

    .benefit-card p,
    .process-step p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .contact-layout {
        gap: 20px;
    }

    .contact-form-card {
        padding: 28px 20px;
    }

    .contact-form-card h2,
    .contact-info-card h2 {
        font-size: 1.75rem;
        line-height: 1.1;
    }

    .contact-form {
        grid-template-columns: 1fr;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea {
        min-height: 48px;
        font-size: 16px;
    }

    .contact-privacy {
        align-items: flex-start;
        font-size: .9rem;
        line-height: 1.5;
    }

    .contact-submit,
    .contact-mail-button {
        width: 100%;
        min-height: 50px;
        justify-content: center;
    }

    .news-detail-card {
        width: 100%;
    }

    .news-detail-body {
        padding: 26px 20px 32px;
    }
}

/* ==========================================================
   GALERIE-FILTER – kantiges Erscheinungsbild passend zur Seite
   ========================================================== */

body.gallery-page .gallery-filter {
    gap: 9px;
}

body.gallery-page .gallery-filter-button {
    position: relative;
    min-height: 48px;
    border: 1px solid #c9c9c9;
    border-radius: 2px;
    padding: 12px 20px 13px;
    background: #fff;
    color: #171717;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .035em;
    text-transform: uppercase;
    box-shadow: inset 0 -3px 0 transparent;
    transform: none;
}

body.gallery-page .gallery-filter-button:hover,
body.gallery-page .gallery-filter-button:focus-visible {
    border-color: #171717;
    background: #171717;
    color: #fff;
    box-shadow: inset 0 -3px 0 #df1b2f;
    transform: none;
}

body.gallery-page .gallery-filter-button.active {
    border-color: #df1b2f;
    background: #df1b2f;
    color: #fff;
    box-shadow: inset 0 -3px 0 #a80016;
    transform: none;
}

@media (max-width: 500px) {
    body.gallery-page .gallery-filter-button {
        min-height: 44px;
        padding: 10px 14px 11px;
        font-size: .9rem;
    }
}

/* ==========================================================
   MOBILE NEWS – kein horizontaler Seitenüberlauf
   ========================================================== */

@media (max-width: 700px) {
    body.news-page,
    body.news-page .joomla-main,
    body.news-page .item-page,
    body.news-page .com-content-article,
    body.news-page .com-content-article__body,
    body.news-page .news-main {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
    }

    body.news-page .news-content-section > .page-container,
    body.news-page .news-content-layout,
    body.news-page .news-primary,
    body.news-page .news-content-heading,
    body.news-page .news-grid,
    body.news-page .news-card,
    body.news-page .news-card-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    body.news-page .news-content-layout {
        display: block;
    }

    body.news-page .news-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.news-page .news-filter {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        padding: 2px 0 10px;
        flex-wrap: wrap;
        overflow: visible;
    }

    body.news-page .news-filter-button {
        max-width: 100%;
    }

    body.news-page .news-card-image,
    body.news-page .news-card-image img {
        width: 100%;
        max-width: 100%;
    }

    body.news-page .news-card-title,
    body.news-page .news-card-text,
    body.news-page .news-content-description {
        max-width: 100%;
        overflow-wrap: break-word;
    }
}

/* 1.0.53 – Startseite: dynamische Kachel „Nächstes Spiel“ */
.home-page .next-match-card .next-match-teams-text {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 16px 0 18px;
}
.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: 1.05rem;
    text-align: center;
}
.home-page .next-match-card .team-badge {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 2px solid rgba(255,255,255,.8);
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    color: #fff;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1rem;
    letter-spacing: .04em;
}
.home-page .next-match-card .next-match-type {
    margin: 0 0 6px;
    color: var(--red);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.home-page .countdown-open-note {
    margin: 18px 0 0;
    color: var(--gray-200);
    font-size: .82rem;
    line-height: 1.4;
    text-align: center;
}
@media (max-width: 520px) {
    .home-page .next-match-card .next-match-teams-text { gap: 9px; }
    .home-page .next-match-card .team-badge { width: 52px; height: 52px; }
    .home-page .next-match-card .team-home,
    .home-page .next-match-card .team-away { font-size: .96rem; }
}

/* 1.0.54 – Startseite: „Nächstes Spiel“ gemäß freigegebener Vorschau */
.home-page .dashboard-grid {
    grid-template-columns: 1fr 1.08fr 1.38fr;
    gap: 18px;
}
.home-page .dashboard-card {
    min-height: 360px;
    padding: 24px 26px 22px;
}
.home-page .dashboard-title {
    margin-bottom: 18px;
    font-size: 1.38rem;
}
.home-page .next-match-card {
    display: flex;
    flex-direction: column;
}
.home-page .next-match-card .next-match-teams-text {
    display: grid;
    grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    margin: 8px 0 22px;
}
.home-page .next-match-card .team-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 0;
}
.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away {
    display: block;
    width: 100%;
    font-size: 1.08rem;
    line-height: 1.12;
    text-align: center;
}
.home-page .next-match-card .team-badge {
    width: 82px;
    height: 82px;
    flex: 0 0 82px;
    border: 2px solid rgba(255,255,255,.78);
    border-radius: 50%;
    font-size: 1.28rem;
}
.home-page .next-match-card .next-match-versus {
    align-self: center;
    font-size: 1.75rem;
}
.home-page .next-match-card .next-match-information {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
    margin: auto 0 18px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.home-page .next-match-card .next-match-type {
    grid-column: 1 / -1;
    margin: 0 0 3px;
    font-size: .78rem;
}
.home-page .next-match-card .next-match-date,
.home-page .next-match-card .next-match-location {
    margin: 0;
    padding: 0;
    font-size: .82rem;
    line-height: 1.45;
}
.home-page .next-match-card .dashboard-link {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 0;
    padding: 12px 16px;
    border: 1px solid rgba(215,25,32,.72);
    background: rgba(215,25,32,.10);
    font-size: .92rem;
}
@media (max-width: 900px) {
    .home-page .dashboard-grid { grid-template-columns: 1fr; }
    .home-page .dashboard-card { min-height: 0; }
}
@media (max-width: 520px) {
    .home-page .dashboard-card { padding: 21px 18px 19px; }
    .home-page .dashboard-title { font-size: 1.28rem; }
    .home-page .next-match-card .next-match-teams-text { grid-template-columns: minmax(0,1fr) 38px minmax(0,1fr); gap: 7px; }
    .home-page .next-match-card .team-badge { width: 68px; height: 68px; flex-basis: 68px; font-size: 1.05rem; }
    .home-page .next-match-card .team-home,
    .home-page .next-match-card .team-away { font-size: .98rem; }
    .home-page .next-match-card .next-match-information { grid-template-columns: 1fr; }
}


/* 1.0.55 – Nächstes Spiel bewusst ohne Vereinslogos/Logo-Ersatzgrafiken */
.home-page .next-match-card .team-badge { display: none !important; }
.home-page .next-match-card .team-side { gap: 0; }
.home-page .next-match-card .next-match-teams-text { margin-top: 18px; margin-bottom: 28px; }


/* 1.0.56 – Feinschliff „Nächstes Spiel“ ohne Vereinslogos */
.home-page .next-match-card { padding: 24px 26px 22px; }
.home-page .next-match-card .dashboard-title { margin-bottom: 8px; }
.home-page .next-match-card .next-match-competition {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin: 0 0 14px;
    padding: 4px 11px 3px;
    border: 1px solid rgba(215,25,32,.72);
    border-radius: 999px;
    background: rgba(215,25,32,.12);
    color: #fff;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.home-page .next-match-card .next-match-teams-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    min-height: 108px;
    margin: 0 0 18px;
}
.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away {
    font-size: 1.24rem;
    line-height: 1.08;
}
.home-page .next-match-card .next-match-versus {
    font-size: 1.82rem;
    line-height: .9;
}
.home-page .next-match-card .next-match-information {
    display: grid;
    grid-template-columns: .72fr 1.2fr;
    align-items: start;
    gap: 8px 14px;
    width: 100%;
    margin: auto 0 16px;
    padding: 15px 0 0;
    border-top: 1px solid rgba(255,255,255,.13);
}
.home-page .next-match-card .next-match-type {
    grid-column: 1 / -1;
    justify-self: start;
    margin: 0 0 2px;
    padding: 3px 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: var(--gray-200);
    font-size: .66rem;
    letter-spacing: .07em;
}
.home-page .next-match-card .next-match-date,
.home-page .next-match-card .next-match-location {
    margin: 0;
    padding: 0;
    font-size: .76rem;
    line-height: 1.4;
}
.home-page .next-match-card .next-match-location { text-align: right; }
.home-page .next-match-card .dashboard-link {
    min-height: 43px;
    margin-top: 0;
    border: 1px solid var(--red);
    background: var(--red);
    color: #fff;
    font-size: .86rem;
    letter-spacing: .055em;
}
.home-page .next-match-card .dashboard-link:hover {
    background: #b91319;
    color: #fff;
    transform: none;
}
@media (max-width: 520px) {
    .home-page .next-match-card .next-match-competition { margin-bottom: 12px; }
    .home-page .next-match-card .next-match-teams-text { min-height: 96px; margin-bottom: 16px; }
    .home-page .next-match-card .team-home,
    .home-page .next-match-card .team-away { font-size: 1.12rem; }
    .home-page .next-match-card .next-match-information { grid-template-columns: 1fr; }
    .home-page .next-match-card .next-match-location { text-align: left; }
}

/* 1.0.57 – finaler Desktop-Feinschliff Kachel „Nächstes Spiel“ */
@media (min-width: 901px) {
  .home-page .next-match-card {
    display: flex;
    flex-direction: column;
    padding: 26px 28px 24px !important;
  }
  .home-page .next-match-card .dashboard-title { margin-bottom: 7px !important; }
  .home-page .next-match-card .next-match-competition {
    display: inline-flex !important;
    width: max-content;
    min-height: 25px;
    margin: 0 0 13px !important;
    padding: 5px 11px 4px !important;
    border: 1px solid rgba(215,25,32,.8) !important;
    border-radius: 999px !important;
    background: rgba(215,25,32,.13) !important;
    color: #fff !important;
    font-size: .70rem !important;
    font-weight: 800 !important;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  .home-page .next-match-card .next-match-teams-text {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 118px !important;
    margin: 0 0 15px !important;
    text-align: center;
  }
  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away {
    font-size: 1.30rem !important;
    line-height: 1.08 !important;
  }
  .home-page .next-match-card .next-match-versus {
    font-size: 1.95rem !important;
    line-height: .88 !important;
  }
  .home-page .next-match-card .next-match-information {
    display: grid !important;
    grid-template-columns: .72fr 1fr 1.15fr !important;
    gap: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 0 17px !important;
    padding: 15px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0;
    margin: 0 !important;
    padding: 3px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #f4f4f4 !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: none !important;
  }
  .home-page .next-match-card .next-match-type { grid-column: auto !important; }
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location { border-left: 1px solid rgba(255,255,255,.13) !important; }
  .home-page .next-match-card .dashboard-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    border: 1px solid #d71920 !important;
    border-radius: 3px !important;
    background: #d71920 !important;
    color: #fff !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
    letter-spacing: .055em !important;
    text-align: center !important;
  }
}

/* 1.0.58 – Infobereich „Nächstes Spiel“ ausgewogener und großzügiger */
@media (min-width: 901px) {
  .home-page .next-match-card .next-match-information {
    grid-template-columns: 0.9fr 1.25fr 1.25fr !important;
    min-height: 82px !important;
    padding-top: 14px !important;
    align-items: stretch !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    min-height: 68px !important;
    padding: 7px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
  }
  .home-page .next-match-card .next-match-type {
    font-size: .70rem !important;
  }
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    font-size: .70rem !important;
  }
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    border-left: 1px solid rgba(255,255,255,.16) !important;
  }
}

/* 1.0.59 – Kachel „Nächstes Spiel“ nach freigegebener Zieloptik */
@media (min-width: 901px) {
  .home-page .next-match-card {
    padding: 25px 28px 24px !important;
    border-color: rgba(215,25,32,.82) !important;
  }
  .home-page .next-match-card .dashboard-title {
    margin: 0 0 8px !important;
    font-size: 1.30rem !important;
    line-height: 1 !important;
  }
  .home-page .next-match-card .next-match-competition {
    margin: 0 0 14px !important;
    min-height: 24px !important;
    padding: 5px 12px 4px !important;
  }
  .home-page .next-match-card .next-match-teams-text {
    flex: 0 0 auto !important;
    min-height: 126px !important;
    margin: 0 0 18px !important;
    gap: 8px !important;
    justify-content: center !important;
  }
  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away {
    font-size: 1.28rem !important;
    line-height: 1.08 !important;
  }
  .home-page .next-match-card .next-match-versus {
    font-size: 2.10rem !important;
    line-height: .9 !important;
  }
  .home-page .next-match-card .next-match-information {
    grid-template-columns: .86fr 1.34fr 1.18fr !important;
    min-height: 104px !important;
    margin: 0 0 18px !important;
    padding: 19px 0 0 !important;
    border-top: 1px solid rgba(255,255,255,.22) !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 84px !important;
    padding: 35px 10px 4px !important;
    font-size: .70rem !important;
    line-height: 1.38 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .home-page .next-match-card .next-match-type::before,
  .home-page .next-match-card .next-match-date::before,
  .home-page .next-match-card .next-match-location::before {
    position: absolute;
    top: 2px;
    left: 50%;
    transform: translateX(-50%);
    color: #e31b23;
    font-family: Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1;
  }
  .home-page .next-match-card .next-match-type::before { content: "▣"; }
  .home-page .next-match-card .next-match-date::before { content: "▦"; }
  .home-page .next-match-card .next-match-location::before { content: "⌖"; font-size: 1.65rem; }
  .home-page .next-match-card .next-match-date::after {
    content: "";
  }
  .home-page .next-match-card .dashboard-link {
    min-height: 49px !important;
    margin-top: auto !important;
    font-size: .90rem !important;
  }
}

@media (max-width: 900px) {
  .home-page .next-match-card .next-match-information {
    grid-template-columns: 1fr !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    text-align: center !important;
  }
}

/* 1.0.60 – Proportionen der Kachel „Nächstes Spiel“ vergrößert und ausbalanciert */
@media (min-width: 901px) {
  .home-page .next-match-card {
    padding: 27px 28px 24px !important;
  }
  .home-page .next-match-card .dashboard-title {
    font-size: 1.42rem !important;
    margin-bottom: 9px !important;
  }
  .home-page .next-match-card .next-match-competition {
    font-size: .78rem !important;
    padding: 6px 13px 5px !important;
    margin-bottom: 18px !important;
  }
  .home-page .next-match-card .next-match-teams-text {
    min-height: 142px !important;
    margin-bottom: 21px !important;
    gap: 10px !important;
  }
  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away {
    font-size: 1.42rem !important;
    line-height: 1.12 !important;
  }
  .home-page .next-match-card .next-match-versus {
    font-size: 2.45rem !important;
    line-height: .9 !important;
  }
  .home-page .next-match-card .next-match-information {
    grid-template-columns: 1fr 1.34fr 1.20fr !important;
    min-height: 120px !important;
    margin-bottom: 20px !important;
    padding-top: 20px !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    min-height: 98px !important;
    padding: 43px 11px 5px !important;
    font-size: .80rem !important;
    line-height: 1.38 !important;
    text-align: center !important;
  }
  .home-page .next-match-card .next-match-type {
    white-space: nowrap !important;
  }
  .home-page .next-match-card .next-match-location {
    text-align: center !important;
  }
  .home-page .next-match-card .next-match-type::before,
  .home-page .next-match-card .next-match-date::before,
  .home-page .next-match-card .next-match-location::before {
    top: 3px !important;
    font-size: 1.85rem !important;
  }
  .home-page .next-match-card .next-match-location::before {
    font-size: 2.05rem !important;
  }
  .home-page .next-match-card .dashboard-link {
    min-height: 57px !important;
    font-size: 1rem !important;
  }
}

/* 1.0.61 – Countdown-Kachel nach freigegebener Startseiten-Vorschau */
.home-page .countdown-card {
  padding: 24px 26px 22px;
  overflow: hidden;
}
.home-page .countdown-card .dashboard-title { margin-bottom: 7px; }
.home-page .countdown-card .countdown-competition {
  margin: 0 0 38px;
  color: rgba(255,255,255,.55);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.home-page .countdown-card .countdown-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  width: 100%;
  margin: 44px 0 0;
  padding: 0 4px;
}
.home-page .countdown-card .countdown-grid::before {
  content: "BIS ZUM ANPFIFF";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 22px);
  transform: translateX(-50%);
  white-space: nowrap;
  color: rgba(255,255,255,.86);
  font-family: Arial, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.home-page .countdown-card .countdown-grid::after {
  content: "";
  position: absolute;
  left: 8%; right: 8%;
  bottom: calc(100% + 29px);
  height: 1px;
  z-index: 0;
  background: linear-gradient(to right, rgba(255,255,255,.22) 0 28%, transparent 28% 72%, rgba(255,255,255,.22) 72% 100%);
}
.home-page .countdown-card .countdown-item { min-width: 0; padding: 0 10px; z-index: 1; }
.home-page .countdown-card .countdown-item:not(:last-child)::after {
  top: -8px; right: 0; height: 82px; background: rgba(255,255,255,.16);
}
.home-page .countdown-card .countdown-number { font-size: 3.05rem; line-height: .95; }
.home-page .countdown-card .countdown-label { margin-top: 9px; font-size: .72rem; }
.home-page .countdown-card .countdown-open-note {
  position: relative;
  margin: 48px 0 0;
  padding: 24px 18px 0 48px;
  border-top: 1px dotted rgba(255,255,255,.18);
  color: rgba(255,255,255,.70);
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.55;
}
.home-page .countdown-card .countdown-open-note::before {
  content: "i";
  position: absolute;
  left: 10px; top: 24px;
  display: grid; place-items: center;
  width: 23px; height: 23px;
  border: 1px solid rgba(255,255,255,.55); border-radius: 50%;
  color: rgba(255,255,255,.8); font-family: Arial,sans-serif; font-size: .78rem; font-weight: 700;
}
@media (max-width: 700px) {
  .home-page .countdown-card .countdown-competition { margin-bottom: 30px; }
  .home-page .countdown-card .countdown-grid { margin-top: 40px; }
  .home-page .countdown-card .countdown-number { font-size: 2.55rem; }
  .home-page .countdown-card .countdown-item { padding: 0 5px; }
  .home-page .countdown-card .countdown-grid::before { font-size: .75rem; }
}

/* 1.0.62 – Startseiten-Kacheln kompakter + Infobereich harmonisiert */
@media (min-width: 901px) {
  .home-page .dashboard-grid {
    grid-template-columns: .92fr 1.02fr 1.28fr !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  .home-page .dashboard-card {
    min-height: 350px !important;
    padding: 20px 22px 18px !important;
  }
  .home-page .dashboard-title {
    font-size: 1.28rem !important;
    margin-bottom: 7px !important;
  }

  /* Nächstes Spiel: kompakter, ohne die Datenlogik zu verändern */
  .home-page .next-match-card {
    padding: 20px 22px 18px !important;
  }
  .home-page .next-match-card .next-match-competition {
    margin-bottom: 10px !important;
    padding: 5px 12px 4px !important;
    font-size: .72rem !important;
  }
  .home-page .next-match-card .next-match-teams-text {
    min-height: 92px !important;
    margin: 0 0 13px !important;
    gap: 5px !important;
  }
  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away {
    font-size: 1.12rem !important;
    line-height: 1.08 !important;
  }
  .home-page .next-match-card .next-match-versus {
    font-size: 2rem !important;
  }
  .home-page .next-match-card .next-match-information {
    grid-template-columns: .92fr 1.22fr 1.08fr !important;
    min-height: 82px !important;
    margin: 0 0 13px !important;
    padding-top: 13px !important;
    column-gap: 0 !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    min-height: 68px !important;
    padding: 29px 9px 3px !important;
    font-size: .72rem !important;
    line-height: 1.28 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    border-left: 1px solid rgba(255,255,255,.18) !important;
  }
  .home-page .next-match-card .next-match-type::before,
  .home-page .next-match-card .next-match-date::before,
  .home-page .next-match-card .next-match-location::before {
    top: 1px !important;
    font-size: 1.35rem !important;
  }
  .home-page .next-match-card .next-match-location::before {
    font-size: 1.5rem !important;
  }
  .home-page .next-match-card .dashboard-link {
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: .86rem !important;
  }

  /* Countdown proportional zur kompakteren Kachel */
  .home-page .countdown-card {
    padding: 20px 22px 18px !important;
  }
  .home-page .countdown-card .countdown-competition {
    margin-bottom: 25px !important;
    font-size: .69rem !important;
  }
  .home-page .countdown-card .countdown-grid {
    margin-top: 37px !important;
    padding: 0 !important;
  }
  .home-page .countdown-card .countdown-grid::before {
    bottom: calc(100% + 18px) !important;
    font-size: .77rem !important;
  }
  .home-page .countdown-card .countdown-grid::after {
    bottom: calc(100% + 25px) !important;
  }
  .home-page .countdown-card .countdown-item {
    padding: 0 7px !important;
  }
  .home-page .countdown-card .countdown-item:not(:last-child)::after {
    top: -5px !important;
    height: 68px !important;
  }
  .home-page .countdown-card .countdown-number {
    font-size: 2.65rem !important;
  }
  .home-page .countdown-card .countdown-label {
    margin-top: 7px !important;
    font-size: .68rem !important;
  }
  .home-page .countdown-card .countdown-open-note {
    margin-top: 34px !important;
    padding-top: 18px !important;
    font-size: .80rem !important;
  }
  .home-page .countdown-card .countdown-open-note::before {
    top: 18px !important;
  }
}

/* 1.0.63 – überflüssiges weißes Uhr-/Zeitsymbol unter dem Kalender entfernen */
.home-page .next-match-card .next-match-date::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
}

/* 1.0.64 – weißes Uhr-/Zeitsymbol im Terminblock vollständig entfernen */
.home-page .next-match-card .next-match-date::after,
.home-page .next-match-card .next-match-date > i,
.home-page .next-match-card .next-match-date > svg,
.home-page .next-match-card .next-match-date > img,
.home-page .next-match-card .next-match-date > .icon,
.home-page .next-match-card .next-match-date > [class*="icon-"],
.home-page .next-match-card .next-match-date > [class*="fa-"] {
  display: none !important;
  content: none !important;
}

/* 1.0.74 – separates weißes Uhrsymbol aus dem Datumsfeld entfernen.
   Das dynamisch gepflegte time-Element mit dem Datum bleibt sichtbar. */
.home-page .next-match-card .next-match-date > :not(#match-date) {
  display: none !important;
}

.home-page .next-match-card .next-match-date > #match-date {
  display: inline !important;
}


/* 1.0.66 – Countdown: dynamischer Bereich „Das Spiel im Überblick“ */
.home-page .countdown-card .countdown-match-overview {
  margin-top: 28px;
  padding: 16px 18px 15px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 3px;
  background: rgba(255,255,255,.018);
  color: #fff;
}
.home-page .countdown-card .countdown-overview-heading {
  display: flex; align-items: center; gap: 11px; margin-bottom: 11px;
  font-size: .98rem; line-height: 1.2;
}
.home-page .countdown-card .countdown-overview-icon {
  display: inline-grid; place-items: center; width: 24px; height: 24px;
  color: #e31b23; font-size: 1.25rem; flex: 0 0 24px;
}
.home-page .countdown-card .countdown-overview-list { margin: 0; padding: 0 0 0 35px; }
.home-page .countdown-card .countdown-overview-list > div {
  display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 5px;
  margin: 4px 0; font-size: .78rem; line-height: 1.3;
}
.home-page .countdown-card .countdown-overview-list dt { margin: 0; color: #e31b23; font-weight: 700; }
.home-page .countdown-card .countdown-overview-list dd { margin: 0; color: rgba(255,255,255,.92); }
.home-page .countdown-card .countdown-open-note {
  margin-top: 10px !important; padding: 12px 14px 10px 44px !important;
  border: 1px solid rgba(255,255,255,.16); font-size: .74rem !important;
}
.home-page .countdown-card .countdown-open-note::before { top: 11px !important; left: 14px !important; }
@media (max-width: 700px) {
  .home-page .countdown-card .countdown-match-overview { margin-top: 22px; padding: 14px; }
  .home-page .countdown-card .countdown-overview-list { padding-left: 0; }
  .home-page .countdown-card .countdown-overview-list > div { grid-template-columns: 1fr; gap: 1px; margin: 7px 0; }
}


/* 1.0.67 – kompaktere Startseiten-Kacheln und luftiger Countdown-Überblick */
@media (min-width: 901px) {
  .home-page .dashboard-grid {
    grid-template-columns: .92fr 1.02fr 1.28fr !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  .home-page .dashboard-card {
    min-height: 315px !important;
    height: auto !important;
    padding: 16px 20px 15px !important;
  }
  .home-page .dashboard-title {
    font-size: 1.18rem !important;
    line-height: 1.05 !important;
    margin-bottom: 6px !important;
  }
  .home-page .next-match-card .next-match-competition {
    font-size: .68rem !important;
    margin-bottom: 7px !important;
  }
  .home-page .next-match-card .next-match-teams-text {
    min-height: 78px !important;
    margin-bottom: 8px !important;
  }
  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away { font-size: 1rem !important; }
  .home-page .next-match-card .next-match-versus { font-size: 1.75rem !important; }
  .home-page .next-match-card .next-match-information {
    min-height: 72px !important;
    margin-bottom: 9px !important;
    padding-top: 10px !important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location {
    min-height: 60px !important;
    padding: 25px 7px 2px !important;
    font-size: .66rem !important;
    line-height: 1.22 !important;
  }
  .home-page .next-match-card .next-match-type::before,
  .home-page .next-match-card .next-match-date::before,
  .home-page .next-match-card .next-match-location::before {
    font-size: 1.15rem !important;
  }
  .home-page .next-match-card .dashboard-link {
    min-height: 39px !important;
    padding: 8px 12px !important;
    font-size: .78rem !important;
  }

  .home-page .countdown-card .countdown-competition {
    margin-bottom: 17px !important;
    font-size: .66rem !important;
  }
  .home-page .countdown-card .countdown-grid {
    margin-top: 31px !important;
  }
  .home-page .countdown-card .countdown-grid::before {
    bottom: calc(100% + 14px) !important;
    font-size: .72rem !important;
  }
  .home-page .countdown-card .countdown-grid::after {
    bottom: calc(100% + 21px) !important;
  }
  .home-page .countdown-card .countdown-number { font-size: 2.35rem !important; }
  .home-page .countdown-card .countdown-label { font-size: .64rem !important; margin-top: 5px !important; }
  .home-page .countdown-card .countdown-item:not(:last-child)::after { height: 59px !important; }

  .home-page .countdown-card .countdown-match-overview {
    margin-top: 18px !important;
    padding: 11px 14px 10px !important;
    border-color: rgba(255,255,255,.17) !important;
  }
  .home-page .countdown-card .countdown-overview-heading {
    gap: 8px !important;
    margin-bottom: 8px !important;
    font-size: .86rem !important;
  }
  .home-page .countdown-card .countdown-overview-icon {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px !important;
    font-size: 1.05rem !important;
  }
  .home-page .countdown-card .countdown-overview-list {
    padding-left: 28px !important;
  }
  .home-page .countdown-card .countdown-overview-list > div {
    grid-template-columns: 86px minmax(0,1fr) !important;
    gap: 9px !important;
    margin: 3px 0 !important;
    font-size: .70rem !important;
    line-height: 1.22 !important;
    align-items: baseline !important;
  }
  .home-page .countdown-card .countdown-open-note {
    margin-top: 8px !important;
    padding: 9px 11px 8px 38px !important;
    font-size: .68rem !important;
    line-height: 1.3 !important;
  }
  .home-page .countdown-card .countdown-open-note::before {
    top: 8px !important;
    left: 11px !important;
  }
}

@media (max-width: 900px) {
  .home-page .dashboard-card { min-height: 0 !important; height: auto !important; }
  .home-page .countdown-card .countdown-match-overview { padding: 12px 14px !important; }
  .home-page .countdown-card .countdown-overview-heading { font-size: .9rem !important; }
  .home-page .countdown-card .countdown-overview-list { padding-left: 0 !important; }
  .home-page .countdown-card .countdown-overview-list > div {
    grid-template-columns: 88px minmax(0,1fr) !important;
    gap: 8px !important;
    font-size: .74rem !important;
  }
}

/* 1.0.68 – Startseiten-Kacheln moderat höher, Proportionen aus 1.0.67 beibehalten */
@media (min-width: 901px) {
  .home-page .dashboard-card {
    min-height: 345px !important;
  }
  .home-page .next-match-card .next-match-teams-text {
    min-height: 84px !important;
  }
  .home-page .next-match-card .next-match-information {
    min-height: 78px !important;
  }
  .home-page .countdown-card .countdown-match-overview {
    margin-top: 22px !important;
    padding-top: 13px !important;
    padding-bottom: 12px !important;
  }
}

/* 1.0.69 – Startseite: Kachel 3 „Aktuelle News“ nach freigegebener Vorschau */
@media (min-width: 901px) {
  .home-page .latest-news-card {
    display: flex !important;
    flex-direction: column !important;
  }
  .home-page .latest-news-card .dashboard-title {
    margin-bottom: 12px !important;
  }
  .home-page .latest-news-list {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
  }
  .home-page .latest-news-item {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 15px !important;
    min-height: 76px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  .home-page .latest-news-image {
    width: 92px !important;
    height: 58px !important;
    border-radius: 2px !important;
  }
  .home-page .latest-news-content h3 {
    margin: 0 0 7px !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
  }
  .home-page .latest-news-content time {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: .64rem !important;
    line-height: 1 !important;
  }
  .home-page .latest-news-content time::before {
    content: "▣" !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
  }
  .home-page .latest-news-card .news-overview-link {
    align-self: flex-end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 270px) !important;
    min-height: 42px !important;
    margin-top: auto !important;
    padding: 9px 16px !important;
    border: 1px solid rgba(227,27,35,.85) !important;
    border-radius: 3px !important;
    background: rgba(227,27,35,.025) !important;
    font-size: .78rem !important;
    letter-spacing: .04em !important;
    text-align: center !important;
  }
  .home-page .latest-news-card .news-overview-link:hover {
    background: rgba(227,27,35,.12) !important;
  }
}

@media (max-width: 900px) {
  .home-page .latest-news-item {
    grid-template-columns: 96px minmax(0,1fr) !important;
    gap: 14px !important;
    padding: 12px 0 !important;
  }
  .home-page .latest-news-image {
    width: 96px !important;
    height: 60px !important;
  }
  .home-page .latest-news-content h3 {
    font-size: .92rem !important;
    line-height: 1.28 !important;
  }
  .home-page .latest-news-content time {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: .72rem !important;
  }
  .home-page .latest-news-content time::before {
    content: "▣" !important;
    color: rgba(255,255,255,.72) !important;
    font-size: .72rem !important;
  }
  .home-page .latest-news-card .news-overview-link {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(227,27,35,.85) !important;
    border-radius: 3px !important;
  }
}

/* 1.0.71 – Startseite: Kachel 1 optisch an Kachel 2/3 angleichen */
.home-page .next-match-card .next-match-competition {
  display: block !important;
  align-self: auto !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,.58) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.home-page .next-match-card .dashboard-link {
  background: rgba(227,27,35,.025) !important;
  border: 1px solid rgba(227,27,35,.85) !important;
  border-radius: 3px !important;
  color: var(--red) !important;
}
.home-page .next-match-card .dashboard-link:hover,
.home-page .next-match-card .dashboard-link:focus {
  background: rgba(227,27,35,.025) !important;
  color: var(--red) !important;
  transform: none !important;
}
/* Alle drei Hauptkacheln bleiben bei Hover unverändert. */
.home-page .dashboard-card:hover,
.home-page .dashboard-card:focus-within {
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

/* 1.0.72 – Hauptkacheln und News-Button ohne Hover-Effekte */
.home-page .dashboard-card,
.home-page .dashboard-card:hover,
.home-page .dashboard-card:focus-within {
  border-color: var(--border-color) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,.18)) !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}
.home-page .latest-news-card .news-overview-link,
.home-page .latest-news-card .news-overview-link:hover,
.home-page .latest-news-card .news-overview-link:focus {
  background: rgba(227,27,35,.025) !important;
  border-color: rgba(227,27,35,.85) !important;
  color: var(--red) !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
}

/* 1.0.73 – Einheitliche Typografie der drei Startseiten-Kacheln */
.home-page .dashboard-grid {
  --dashboard-heading-size: 1.18rem;
  --dashboard-heading-line-height: 1.05;
  --dashboard-heading-spacing: .035em;
  --dashboard-label-size: .70rem;
  --dashboard-content-size: .82rem;
  --dashboard-content-line-height: 1.28;
  --dashboard-display-font: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --dashboard-text-font: Arial, Helvetica, sans-serif;
}

/* Alle drei Kachelüberschriften besitzen exakt dieselben Werte. */
.home-page .dashboard-card .dashboard-title,
.home-page .next-match-card .dashboard-title,
.home-page .countdown-card .dashboard-title,
.home-page .latest-news-card .dashboard-title {
  min-height: calc(var(--dashboard-heading-size) * var(--dashboard-heading-line-height)) !important;
  margin: 0 0 10px !important;
  font-family: var(--dashboard-display-font) !important;
  font-size: var(--dashboard-heading-size) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: var(--dashboard-heading-line-height) !important;
  letter-spacing: var(--dashboard-heading-spacing) !important;
  text-transform: uppercase !important;
}

/* Kleine Bereichsbezeichnungen: Bundesliga, DFB-Pokal und Datumszeilen. */
.home-page .next-match-card .next-match-competition,
.home-page .countdown-card .countdown-competition,
.home-page .latest-news-content time {
  font-family: var(--dashboard-text-font) !important;
  font-size: var(--dashboard-label-size) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
}

/* Lauf- und Informationstexte verwenden in allen Kacheln dieselbe Grundschrift. */
.home-page .next-match-card .next-match-type,
.home-page .next-match-card .next-match-date,
.home-page .next-match-card .next-match-location,
.home-page .countdown-card .countdown-open-note,
.home-page .countdown-card .countdown-overview-list,
.home-page .countdown-card .countdown-overview-list dt,
.home-page .countdown-card .countdown-overview-list dd,
.home-page .latest-news-content,
.home-page .latest-news-content h3,
.home-page .latest-news-content h3 a {
  font-family: var(--dashboard-text-font) !important;
  font-style: normal !important;
}

.home-page .latest-news-content h3,
.home-page .latest-news-content h3 a {
  font-size: var(--dashboard-content-size) !important;
  font-weight: 600 !important;
  line-height: var(--dashboard-content-line-height) !important;
  letter-spacing: 0 !important;
}

/* Prägnante Inhalte bleiben in der gemeinsamen Display-Schrift. */
.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away,
.home-page .next-match-card .next-match-versus,
.home-page .countdown-card .countdown-number,
.home-page .countdown-card .countdown-label,
.home-page .dashboard-card .dashboard-link,
.home-page .latest-news-card .news-overview-link {
  font-family: var(--dashboard-display-font) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away {
  font-size: 1rem !important;
  line-height: 1.12 !important;
  letter-spacing: .015em !important;
}

.home-page .dashboard-card .dashboard-link,
.home-page .latest-news-card .news-overview-link {
  font-size: .78rem !important;
  line-height: 1.1 !important;
  letter-spacing: .04em !important;
}

@media (max-width: 900px) {
  .home-page .dashboard-grid {
    --dashboard-heading-size: 1.28rem;
    --dashboard-label-size: .72rem;
    --dashboard-content-size: .92rem;
  }

  .home-page .dashboard-card .dashboard-title,
  .home-page .next-match-card .dashboard-title,
  .home-page .countdown-card .dashboard-title,
  .home-page .latest-news-card .dashboard-title {
    margin-bottom: 12px !important;
  }

  .home-page .next-match-card .team-home,
  .home-page .next-match-card .team-away {
    font-size: 1.02rem !important;
  }

  .home-page .dashboard-card .dashboard-link,
  .home-page .latest-news-card .news-overview-link {
    font-size: .84rem !important;
  }
}

/* 1.0.75 – fließende Desktop-/Laptop-Darstellung
   Verhindert gedrungene Kacheln und Überschneidungen auf kleineren Monitoren. */
.efc-site .header-container,
.efc-site .hero-container,
.efc-site .dashboard-grid,
.efc-site .dashboard-card,
.efc-site .dashboard-card > *,
.efc-site .latest-news-item,
.efc-site .latest-news-content {
  min-width: 0;
}

.efc-site img,
.efc-site svg,
.efc-site video {
  max-width: 100%;
}

.home-page .dashboard-card {
  height: auto !important;
  overflow: hidden;
}

.home-page .next-match-card .team-home,
.home-page .next-match-card .team-away,
.home-page .next-match-card .next-match-location,
.home-page .latest-news-content h3,
.home-page .latest-news-content h3 a {
  overflow-wrap: anywhere;
}

/* Kleiner Desktop und Laptop: zwei statt drei gequetschte Spalten. */
@media (min-width: 901px) and (max-width: 1380px) {
  .home-page .dashboard-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .home-page .latest-news-card {
    grid-column: 1 / -1 !important;
  }

  .home-page .dashboard-card {
    min-height: 0 !important;
  }

  .home-page .latest-news-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .home-page .latest-news-item {
    align-items: center;
    border-bottom: 0 !important;
  }

  .home-page .latest-news-card .news-overview-link {
    margin-top: 18px !important;
  }
}

/* Header und Hero skalieren in dem Bereich, in dem die Desktopnavigation bleibt. */
@media (min-width: 981px) and (max-width: 1280px) {
  .efc-site .header-logo {
    width: clamp(190px, 18vw, 235px) !important;
  }

  .efc-site .main-navigation {
    gap: 12px !important;
    margin-left: clamp(205px, 19vw, 250px) !important;
  }

  .efc-site .navigation-list {
    gap: clamp(10px, 1.25vw, 17px) !important;
  }

  .efc-site .navigation-link {
    font-size: clamp(.68rem, .75vw, .78rem) !important;
  }

  .efc-site .member-login-button {
    padding-inline: 10px !important;
    white-space: nowrap;
  }

  .home-page .hero-content {
    max-width: min(62vw, 690px) !important;
    margin-left: clamp(220px, 22vw, 285px) !important;
  }

  .home-page .hero-title-white {
    font-size: clamp(3.5rem, 6vw, 5.4rem) !important;
  }

  .home-page .hero-title-red {
    font-size: clamp(3rem, 5vw, 4.65rem) !important;
  }
}

/* Auf schmalen Fenstern werden alle drei Kacheln sauber untereinander angeordnet. */
@media (max-width: 900px) {
  .home-page .dashboard-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .home-page .latest-news-card {
    grid-column: auto !important;
  }

  .home-page .latest-news-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* 1.0.80 – dynamische Joomla-Galerie: Navigation innerhalb eines Albums */
body.gallery-page .gallery-lightbox-nav {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 46px;
    height: 58px;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: 2.2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}
body.gallery-page .gallery-lightbox-prev { left: 12px; }
body.gallery-page .gallery-lightbox-next { right: 12px; }
body.gallery-page .gallery-lightbox-nav[hidden] { display: none; }
@media (max-width: 600px) {
    body.gallery-page .gallery-lightbox-nav { width: 40px; height: 50px; }
}

/* 1.0.82 – Galerie-Kacheln: einheitliche Höhe unabhängig von der Titellänge */
.gallery-page .gallery-card {
    display: flex;
    flex-direction: column;
}
.gallery-page .gallery-card-button {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: 100%;
}
.gallery-page .gallery-image-wrap {
    flex: 0 0 auto;
}
.gallery-page .gallery-card-content {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    min-height: 148px;
    padding: 17px 18px 19px;
    text-align: center;
}
.gallery-page .gallery-card-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7em;
    margin: 0;
}
.gallery-page .gallery-card-date {
    margin-top: auto;
    padding-top: 8px;
}


/* 1.0.83 – Galerie: Joomla-Beitragsnavigation ausblenden */
body.gallery-page .pagenavigation,
body.gallery-page .pager,
body.gallery-page .pagination__wrapper,
body.gallery-page .com-content-article__navigation,
body.gallery-page nav[aria-label*="Beitrag"],
body.gallery-page nav[aria-label*="article"] {
    display: none !important;
}


/* 1.0.84: Galerie-Filter robust gegen Layout-/Joomla-CSS */
body.gallery-page .gallery-card.is-filtered-out,
body.gallery-page .gallery-card[hidden] { display: none !important; }

/* ==========================================================
   Mitgliederbereich / Dashboard – Version 1.0.86
   ========================================================== */
.member-page .joomla-main { background:#f3f3f3; min-height:70vh; }
.member-dashboard { color:#151515; }
.member-hero { background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.78)),url('../img/hero-stadion.jpg') center 48%/cover no-repeat; color:#fff; }
.member-hero-inner { width:min(calc(100% - 48px),var(--page-width)); margin:0 auto; padding:132px 0 68px 345px; }
.member-kicker { margin:0 0 10px; color:#ed1b2f; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.member-title { margin:0; font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size:clamp(3rem,5vw,5.2rem); line-height:.92; text-transform:uppercase; }
.member-intro { max-width:760px; margin:18px 0 0; font-size:1.08rem; line-height:1.55; }
.member-content { width:min(calc(100% - 48px),var(--page-width)); margin:0 auto; padding:48px 0 64px; }
.member-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; margin-bottom:28px; background:#fff; border-left:4px solid #ed1b2f; box-shadow:0 12px 32px rgba(0,0,0,.08); }
.member-welcome h2 { margin:0 0 5px; font-size:1.35rem; }
.member-welcome p { margin:0; color:#666; }
.member-badge { flex:0 0 auto; padding:8px 12px; background:#111; color:#fff; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.member-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.member-card { min-height:210px; padding:26px; display:flex; flex-direction:column; background:#111; color:#fff; border-top:4px solid #ed1b2f; box-shadow:0 14px 30px rgba(0,0,0,.12); }
.member-card-icon { font-size:1.7rem; line-height:1; margin-bottom:20px; }
.member-card h3 { margin:0 0 10px; color:#fff; font-size:1.2rem; }
.member-card p { margin:0 0 20px; color:#c7c7c7; line-height:1.5; }
.member-card-note { margin-top:auto; color:#ed1b2f; font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }
.member-card.member-board { background:#25070b; }
@media(max-width:1220px){.member-hero-inner{padding-left:290px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.member-hero-inner{padding-left:150px}}
@media(max-width:760px){.member-hero-inner{width:min(calc(100% - 32px),var(--page-width));padding:104px 0 48px}.member-content{width:min(calc(100% - 32px),var(--page-width));padding:28px 0 44px}.member-grid{grid-template-columns:1fr}.member-welcome{align-items:flex-start;flex-direction:column}.member-card{min-height:185px}}

/* ==========================================================
   Login / Mitgliederbereich – Version 1.0.87
   ========================================================== */
body.login-page .joomla-main{background:#f3f3f3;min-height:calc(100vh - 300px);padding:64px 24px 72px}
.efc-login-wrap{width:min(100%,520px);margin:0 auto}
.efc-login-card{background:#111;color:#fff;border-top:4px solid #ed1b2f;box-shadow:0 18px 45px rgba(0,0,0,.18);padding:34px 38px 30px}
.efc-login-kicker{margin:0 0 8px;color:#ed1b2f;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.13em;text-transform:uppercase;font-size:.88rem}
.efc-login-card h1{margin:0;color:#fff;font-size:2rem;line-height:1.1}.efc-login-intro{margin:12px 0 28px;color:#bbb;line-height:1.5}
.efc-login-card .control-label label{display:block;margin:0 0 7px;color:#fff;font-weight:700}.efc-login-card .control-group{margin-bottom:18px}
.efc-login-card input[type=text],.efc-login-card input[type=password],.efc-login-card input[type=email]{box-sizing:border-box;width:100%;height:48px;padding:0 14px;background:#fff!important;color:#111!important;border:1px solid #d5d5d5!important;border-radius:2px;font-size:1rem}
.efc-login-card .input-group{display:flex;width:100%}.efc-login-card .input-group input{flex:1;min-width:0}.efc-login-card .input-password-toggle{width:48px;border:0;background:#2a2a2a;color:#fff}
.efc-login-card .form-check,.efc-login-card .controls .form-check{display:flex;align-items:center;gap:9px;color:#ddd}.efc-login-card input[type=checkbox]{width:18px;height:18px;accent-color:#ed1b2f}
.efc-login-card .btn-primary,.efc-login-card button[type=submit]{width:100%;min-height:48px;margin-top:5px;border:0;border-radius:2px;background:#ed1b2f!important;color:#fff!important;font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.efc-login-card .btn-primary:hover,.efc-login-card button[type=submit]:hover{background:#c91022!important}
.efc-login-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:20px 0 0;padding:18px 0 0;border-top:1px solid #2d2d2d;list-style:none}.efc-login-links a{color:#c9c9c9;text-decoration:none;font-size:.9rem}.efc-login-links a:hover{color:#fff}
.efc-login-card .mod-login__submit,.efc-login-card .com-users-login__submit{margin-top:8px}.efc-login-card .com-users-login__options{display:none!important}
@media(max-width:600px){body.login-page .joomla-main{padding:34px 16px 48px}.efc-login-card{padding:27px 22px 24px}.efc-login-card h1{font-size:1.7rem}}

/* ==========================================================
   Login – Feinschliff Version 1.0.91
   ========================================================== */
body.login-page .joomla-main{padding:58px 24px 70px}
.efc-login-wrap{width:min(100%,610px)}
.efc-login-card{padding:38px 42px 34px;border-top:5px solid #ed1b2f;box-shadow:0 20px 52px rgba(0,0,0,.20)}
.efc-login-kicker{margin-bottom:7px;font-size:.9rem}
.efc-login-card h1{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.35rem;font-weight:400;letter-spacing:.01em;text-transform:none}
.efc-login-intro{max-width:490px;margin:10px 0 27px;color:#c7c7c7;font-size:.98rem;line-height:1.55}
.efc-login-form fieldset{margin:0;padding:0;border:0}
.efc-login-card .control-group{margin:0 0 17px;padding:0;border:0!important;background:transparent!important}
.efc-login-card .control-label{margin:0 0 7px}
.efc-login-card .control-label label{margin:0;color:#e9e9e9;font-size:.9rem;font-weight:700}
.efc-login-card .controls{position:relative;margin:0;padding:0;border:0!important;background:transparent!important}
.efc-login-card input[type=text],.efc-login-card input[type=password],.efc-login-card input[type=email]{height:50px;padding:0 15px;background:#1b1b1d!important;color:#fff!important;border:1px solid #414146!important;border-radius:4px!important;box-shadow:none!important;outline:0;font-size:.98rem;transition:border-color .15s ease,box-shadow .15s ease}
.efc-login-card input[type=text]:focus,.efc-login-card input[type=password]:focus,.efc-login-card input[type=email]:focus{border-color:#ed1b2f!important;box-shadow:0 0 0 3px rgba(237,27,47,.13)!important}
.efc-login-card .input-group{position:relative;display:flex;width:100%;border:0!important;background:transparent!important}
.efc-login-card .input-group input{padding-right:52px}
.efc-login-card .input-password-toggle{position:absolute;z-index:3;top:1px;right:1px;width:48px;height:48px;padding:0;border:0!important;border-left:1px solid #414146!important;border-radius:0 3px 3px 0!important;background:#232326!important;color:#d9d9d9!important;font-size:0!important;cursor:pointer}
.efc-login-card .input-password-toggle::before{content:"◉";font-size:18px;line-height:1}
.efc-login-card .input-password-toggle:hover{background:#2c2c30!important;color:#fff!important}
.efc-login-card .form-check,.efc-login-card .controls .form-check{min-height:24px;margin-top:3px;color:#cfcfcf;font-size:.9rem}
.efc-login-card .btn-primary,.efc-login-card button[type=submit]{min-height:46px;margin-top:7px;border-radius:3px!important;box-shadow:0 9px 20px rgba(237,27,47,.15);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.075em}
.efc-login-links{margin-top:22px;padding-top:18px;border-top:1px solid #303034}
.efc-login-links a{color:#bdbdc1;font-size:.86rem}.efc-login-links a:hover{color:#ed1b2f}
@media(max-width:600px){body.login-page .joomla-main{padding:30px 14px 44px}.efc-login-card{padding:29px 22px 27px}.efc-login-card h1{font-size:2rem}.efc-login-intro{margin-bottom:23px}.efc-login-links{gap:11px 17px}}

/* === EFC Login 1.0.92 =================================================== */
body.login-page .joomla-main{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:680px;
  padding:72px 24px 78px;
  background:#050505 url('../img/hero-stadion.jpg') center 46%/cover no-repeat;
  overflow:hidden;
}
body.login-page .joomla-main::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.78)),linear-gradient(90deg,rgba(0,0,0,.28),rgba(120,0,10,.12),rgba(0,0,0,.28));
}
body.login-page .efc-login-wrap{width:min(100%,500px);margin:0 auto}
body.login-page .efc-login-card{
  background:rgba(10,10,11,.95);color:#fff;border:1px solid rgba(255,255,255,.30);border-top:0;
  border-radius:4px;box-shadow:0 24px 60px rgba(0,0,0,.62);padding:34px 34px 32px;
  backdrop-filter:blur(3px);
}
body.login-page .efc-login-kicker{display:none}
body.login-page .efc-login-card h1{
  margin:0;text-align:center;color:#fff;text-transform:uppercase;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.1rem;font-weight:400;letter-spacing:.055em;
}
body.login-page .efc-login-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px auto 28px;width:74%}
body.login-page .efc-login-divider::before,body.login-page .efc-login-divider::after{content:"";height:2px;flex:1;background:linear-gradient(90deg,transparent,#ed1b2f)}
body.login-page .efc-login-divider::after{background:linear-gradient(90deg,#ed1b2f,transparent)}
body.login-page .efc-login-divider img{width:25px;height:25px;object-fit:contain}
body.login-page .efc-login-intro{display:none}
body.login-page .efc-login-card fieldset{margin:0;padding:0;border:0}
body.login-page .efc-login-card .control-group{margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important}
body.login-page .efc-login-card .control-label{display:none!important}
body.login-page .efc-login-card .controls{position:relative;margin:0;padding:0;border:0!important;background:transparent!important}
body.login-page .efc-login-card input[type=text],body.login-page .efc-login-card input[type=password],body.login-page .efc-login-card input[type=email]{
  box-sizing:border-box;width:100%;height:48px;padding:0 48px 0 43px;background:#111214!important;color:#fff!important;
  border:1px solid #45464a!important;border-radius:2px!important;box-shadow:none!important;font-size:.93rem;
}
body.login-page .efc-login-card input::placeholder{color:#aaa;opacity:1}
body.login-page .efc-login-card input:focus{border-color:#ed1b2f!important;box-shadow:0 0 0 2px rgba(237,27,47,.14)!important;outline:0}
body.login-page .efc-login-card .efc-field-icon{position:absolute;z-index:4;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#d7d7d7;pointer-events:none}
body.login-page .efc-login-card .input-group{position:relative;display:flex;width:100%;border:0!important;background:transparent!important}
body.login-page .efc-login-card .input-password-toggle{position:absolute;z-index:5;right:2px;top:2px;width:43px;height:44px;border:0!important;border-left:0!important;background:transparent!important;color:#d4d4d4!important;font-size:0!important;cursor:pointer}
body.login-page .efc-login-card .input-password-toggle::before{content:"◉";font-size:15px}
body.login-page .efc-login-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 18px}
body.login-page .efc-login-card .control-group:has(input[type=checkbox]){margin:0!important}
body.login-page .efc-login-card .form-check,body.login-page .efc-login-card .controls .form-check{display:flex;align-items:center;gap:8px;margin:0;color:#ddd;font-size:.82rem}
body.login-page .efc-login-card input[type=checkbox]{width:15px;height:15px;accent-color:#ed1b2f}
body.login-page .efc-forgot{color:#ed1b2f;text-decoration:none;font-size:.82rem;font-weight:600;white-space:nowrap}
body.login-page .efc-forgot:hover{color:#ff4052}
body.login-page .efc-login-card .com-users-login__submit{margin:0!important}
body.login-page .efc-login-card .btn-primary,body.login-page .efc-login-card button[type=submit]{
  width:100%;min-height:48px;margin:0;border:0!important;border-radius:2px!important;background:linear-gradient(90deg,#cf0013,#ed1b2f)!important;color:#fff!important;
  box-shadow:0 9px 24px rgba(237,27,47,.18);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.08rem;font-weight:400;letter-spacing:.095em;text-transform:uppercase;cursor:pointer;
}
body.login-page .efc-login-card .btn-primary:hover,body.login-page .efc-login-card button[type=submit]:hover{background:#ed1b2f!important}
body.login-page .efc-login-links{display:none!important}
@media(max-width:650px){
 body.login-page .joomla-main{min-height:590px;padding:48px 15px 55px;background-position:center center}
 body.login-page .efc-login-card{padding:29px 22px 26px}
 body.login-page .efc-login-card h1{font-size:1.75rem}
 body.login-page .efc-login-divider{width:82%;margin-bottom:24px}
 body.login-page .efc-login-actions{gap:10px}
 body.login-page .efc-forgot,body.login-page .efc-login-card .form-check{font-size:.75rem}
}

/* ==========================================================
   Login – Footer am unteren Fensterrand (Version 1.0.93)
   Der Loginbereich nimmt den verfügbaren Raum zwischen Header
   und Footer ein. Auf kleinen Viewports wächst die Seite normal.
   ========================================================== */
html:has(body.login-page) {
  min-height: 100%;
  background: #000;
}
body.login-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #000;
}
body.login-page .site-header {
  flex: 0 0 auto;
}
body.login-page .joomla-main {
  flex: 1 0 auto;
  width: 100%;
  min-height: 0;
  box-sizing: border-box;
}
body.login-page .site-footer {
  flex: 0 0 var(--footer-height);
  margin-top: auto;
  width: 100%;
}
@media (max-width: 650px) {
  body.login-page .joomla-main {
    min-height: 590px;
  }
  body.login-page .site-footer {
    flex-basis: auto;
  }
}


/* ==========================================================
   Login – Referenzdesign 1.0.94
   Logo oberhalb der Karte + rote Zierlinie unterhalb.
   ========================================================== */
body.login-page .joomla-main{padding-top:34px;padding-bottom:38px;align-items:center}
body.login-page .efc-login-scene{width:min(100%,500px);display:flex;flex-direction:column;align-items:center;margin:auto}
body.login-page .efc-login-top-logo{position:relative;z-index:2;width:150px;height:150px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 10px 18px rgba(0,0,0,.65))}
body.login-page .efc-login-top-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
body.login-page .efc-login-wrap{width:100%;margin:0}
body.login-page .efc-login-card{padding:25px 27px 25px;background:rgba(8,8,9,.96);border:1px solid rgba(255,255,255,.34);box-shadow:0 18px 48px rgba(0,0,0,.62)}
body.login-page .efc-login-card h1{font-size:1.92rem}
body.login-page .efc-login-divider{width:62%;margin:10px auto 22px}
body.login-page .efc-login-divider img{width:22px;height:22px}
body.login-page .efc-login-card input[type=text],body.login-page .efc-login-card input[type=password],body.login-page .efc-login-card input[type=email]{height:45px;background:#0d0e10!important;border-color:#44464a!important}
body.login-page .efc-login-card .input-password-toggle{height:41px}
body.login-page .efc-login-actions{margin:1px 0 15px}
body.login-page .efc-login-card .btn-primary,body.login-page .efc-login-card button[type=submit]{min-height:45px}
body.login-page .efc-login-bottom-mark{display:flex;align-items:center;justify-content:center;gap:11px;width:72%;margin:18px auto 0}
body.login-page .efc-login-bottom-mark span{display:block;flex:1;height:1px;background:linear-gradient(90deg,transparent,#ed1b2f)}
body.login-page .efc-login-bottom-mark span:last-child{background:linear-gradient(90deg,#ed1b2f,transparent)}
body.login-page .efc-login-bottom-mark img{display:block;width:25px;height:25px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(237,27,47,.22))}
@media(max-width:650px){
 body.login-page .joomla-main{padding-top:24px;padding-bottom:30px}
 body.login-page .efc-login-scene{width:min(100%,430px)}
 body.login-page .efc-login-top-logo{width:112px;height:112px;margin-bottom:10px}
 body.login-page .efc-login-card{padding:24px 20px 23px}
 body.login-page .efc-login-card h1{font-size:1.65rem}
 body.login-page .efc-login-bottom-mark{width:78%;margin-top:15px}
}


/* ==========================================================
   Mitgliederbereich – Dashboard 1.0.95
   ========================================================== */
body.member-page .joomla-main{background:#ededed;min-height:70vh}
body.member-page .item-page,body.member-page .com-content-article{margin:0!important;padding:0!important;max-width:none!important}
body.member-page .item-page>.page-header,body.member-page .com-content-article>.page-header{display:none!important}
.member-dashboard{background:#ededed;color:#171717}
.member-hero{position:relative;isolation:isolate;min-height:300px;display:flex;align-items:flex-end;overflow:hidden;background:#080808;color:#fff}
.member-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:url('../img/hero-stadion.jpg') center 48%/cover no-repeat}
.member-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.66) 55%,rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%)}
.member-hero-inner{width:min(calc(100% - 48px),var(--page-width));margin:0 auto;padding:112px 0 54px 250px}
.member-kicker{margin:0 0 9px;color:#ed1b2f;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:.94rem;letter-spacing:.16em;text-transform:uppercase}
.member-title{margin:0;color:#fff;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(3rem,5vw,4.8rem);font-weight:400;line-height:.95;letter-spacing:.015em;text-transform:uppercase;text-shadow:0 4px 24px #000}
.member-intro{max-width:700px;margin:14px 0 0;color:#e4e4e4;font-size:1.03rem;line-height:1.55}
.member-shell{width:min(calc(100% - 48px),var(--page-width));margin:0 auto;padding:34px 0 62px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.member-sidebar{background:#0d0d0f;color:#fff;border-top:4px solid #ed1b2f;box-shadow:0 15px 38px rgba(0,0,0,.13);position:sticky;top:92px}
.member-profile{display:flex;align-items:center;gap:12px;padding:21px 18px;border-bottom:1px solid #29292c}
.member-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#ed1b2f;color:#fff;font-weight:900;font-size:1.05rem}
.member-profile strong{display:block;color:#fff;font-size:.94rem;line-height:1.2}.member-profile span{display:block;margin-top:4px;color:#8f8f94;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
.member-nav{padding:8px 0}.member-nav a{display:flex;align-items:center;gap:12px;padding:12px 18px;color:#cfcfd2;text-decoration:none;font-size:.88rem;border-left:3px solid transparent;transition:.16s ease}.member-nav a span{width:19px;color:#777;text-align:center;font-weight:800}.member-nav a:hover,.member-nav a.is-active{background:#1b1b1e;color:#fff;border-left-color:#ed1b2f}.member-nav a.is-active span,.member-nav a:hover span{color:#ed1b2f}.member-nav .member-logout{margin-top:7px;border-top:1px solid #29292c;color:#ed1b2f}.member-nav .member-logout:hover{color:#fff}
.member-main-panel{min-width:0}
.member-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 24px;padding:25px 28px;background:#fff;border-left:4px solid #ed1b2f;box-shadow:0 9px 25px rgba(0,0,0,.07)}
.member-overline{margin:0 0 4px!important;color:#ed1b2f!important;font-size:.73rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.member-welcome h2{margin:0 0 5px;font-size:1.65rem}.member-welcome p{margin:0;color:#696969;line-height:1.5}.member-badge{flex:0 0 auto;padding:9px 13px;background:#111;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.member-card{min-height:224px;box-sizing:border-box;padding:24px;display:flex;flex-direction:column;background:#111;color:#fff;border-top:3px solid #ed1b2f;box-shadow:0 12px 27px rgba(0,0,0,.11);transition:transform .18s ease,box-shadow .18s ease}.member-card:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(0,0,0,.16)}
.member-card-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:17px;background:#242426;color:#ed1b2f;font-size:1.12rem;font-weight:900}.member-card-label{margin:0 0 5px!important;color:#ed1b2f!important;font-size:.68rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.member-card h3{margin:0 0 9px;color:#fff;font-size:1.12rem}.member-card p{margin:0 0 18px;color:#bcbcc0;font-size:.9rem;line-height:1.5}.member-card-note{margin-top:auto;color:#ed1b2f;font-size:.7rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.member-card.member-board{background:linear-gradient(135deg,#28070c,#111)}
@media(max-width:1200px){.member-hero-inner{padding-left:210px}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.member-hero-inner{padding-left:0}.member-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:780px){.member-hero{min-height:260px}.member-hero-inner{width:min(calc(100% - 32px),var(--page-width));padding:96px 0 40px}.member-shell{width:min(calc(100% - 32px),var(--page-width));grid-template-columns:1fr;padding:24px 0 45px}.member-sidebar{position:static}.member-nav{display:grid;grid-template-columns:1fr 1fr}.member-nav .member-logout{margin-top:0}.member-grid{grid-template-columns:1fr}.member-welcome{align-items:flex-start;flex-direction:column}.member-card{min-height:190px}}
@media(max-width:480px){.member-nav{grid-template-columns:1fr}.member-title{font-size:2.65rem}.member-welcome{padding:21px}.member-card{padding:21px}}

/* 1.0.97: echtes Joomla-Logout als POST-Formular */
.member-logout-form{margin:0;padding:0}.member-logout-form .member-logout{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}


/* =========================================================
   EFC 1.0.100 – Abmeldebestätigung als zentrierter Dialog
   ========================================================= */
.efc-logout-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, .58);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
}
.efc-logout-dialog-overlay.is-visible { opacity: 1; visibility: visible; }
.efc-logout-dialog {
    width: min(430px, calc(100vw - 40px));
    padding: 34px 34px 30px;
    border: 1px solid rgba(255,255,255,.18);
    border-top: 4px solid #ed1b2f;
    border-radius: 3px;
    background: linear-gradient(180deg, #151515 0%, #0b0b0b 100%);
    box-shadow: 0 24px 70px rgba(0,0,0,.65), 0 0 34px rgba(237,27,47,.12);
    color: #fff;
    text-align: center;
    transform: translateY(-10px) scale(.97);
    transition: transform .22s ease;
}
.efc-logout-dialog-overlay.is-visible .efc-logout-dialog { transform: translateY(0) scale(1); }
.efc-logout-dialog__icon {
    display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px;
    border: 2px solid #ed1b2f; border-radius: 50%; color: #fff; background: #ed1b2f;
    font: 800 27px/1 Arial, sans-serif; box-shadow: 0 0 24px rgba(237,27,47,.3);
}
.efc-logout-dialog__eyebrow { margin-bottom: 7px; color: #ed1b2f; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.efc-logout-dialog__title { font-size: clamp(24px, 4vw, 31px); font-weight: 900; line-height: 1.08; text-transform: uppercase; }
.efc-logout-dialog__text { margin-top: 12px; color: #d3d3d3; font-size: 14px; line-height: 1.5; }
@media (max-width: 520px) { .efc-logout-dialog { padding: 28px 22px 25px; } }

/* ==========================================================
   1.0.104 – Mitgliederbereich: Header verwendet unverändert die
   vollständige About-Header-Struktur und deren CSS-Regeln.
   ========================================================== */

/* ==========================================================
   1.0.105 – Mitgliederbereich: Hero-Position exakt wie „Über uns“
   Der Mitglieder-Header darf nicht in einem zentrierten, begrenzten
   Member-Container sitzen. Die About-Struktur spannt wie auf den
   übrigen Unterseiten über die volle Breite; Position und Abstände
   kommen ausschließlich aus den vorhandenen About-Regeln.
   ========================================================== */
body.member-page .member-about-header .about-hero-inner.member-hero-inner {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* ==========================================================
   1.0.106 – Mitgliederbereich: Headerposition wirklich 1:1 wie „Über uns“
   Hebt die älteren member-hero Abstände auf und übernimmt die
   Geometrie des About-Headers auch im Mitgliederbereich.
   ========================================================== */
body.member-page .member-about-header.about-page .about-hero.member-hero {
    min-height: 310px;
    align-items: stretch;
}
body.member-page .member-about-header.about-page .about-hero-inner.member-hero-inner {
    display: flex;
    align-items: center;
    width: min(calc(100% - 48px), var(--page-width));
    max-width: none;
    min-height: 310px;
    margin: 0 auto;
    padding: 34px 0;
}
body.member-page .member-about-header.about-page .about-hero-content {
    width: min(100%, 760px);
    margin-left: 280px;
    padding: 0;
    transform: none;
    text-align: left;
}
@media (max-width: 1200px) {
    body.member-page .member-about-header.about-page .about-hero-content { margin-left: 240px; }
}
@media (max-width: 1050px) {
    body.member-page .member-about-header.about-page .about-hero-content { margin-left: 190px; }
}
@media (max-width: 760px) {
    body.member-page .member-about-header.about-page .about-hero.member-hero,
    body.member-page .member-about-header.about-page .about-hero-inner.member-hero-inner { min-height: 300px; }
    body.member-page .member-about-header.about-page .about-hero-inner.member-hero-inner {
        width: min(calc(100% - 32px), var(--page-width));
        padding: 100px 0 72px;
    }
    body.member-page .member-about-header.about-page .about-hero-content {
        width: 100%;
        margin-left: 0;
    }
}

/* ==========================================================
   1.0.107 – Mitgliederbereich: mehr Abstand zum Logo
   Entspricht der zuletzt bestätigten Vorschau: Textblock weiter
   rechts und etwas tiefer, damit „EFC CAPPELER ADLER · INTERN“
   vollständig sichtbar bleibt.
   ========================================================== */
body.member-page .member-about-header.about-page .about-hero-content {
    width: min(100%, 820px);
    margin-left: 350px;
    padding-top: 22px;
}
@media (max-width: 1300px) {
    body.member-page .member-about-header.about-page .about-hero-content { margin-left: 320px; }
}
@media (max-width: 1200px) {
    body.member-page .member-about-header.about-page .about-hero-content { margin-left: 285px; }
}
@media (max-width: 1050px) {
    body.member-page .member-about-header.about-page .about-hero-content { margin-left: 225px; }
}
@media (max-width: 760px) {
    body.member-page .member-about-header.about-page .about-hero-content {
        width: 100%;
        margin-left: 0;
        padding-top: 0;
    }
}

/* ==========================================================
   1.0.108 – Mitgliederbereich: zusätzlicher oberer Abstand
   Textblock etwas weiter nach unten gemäß bestätigter Ansicht.
   ========================================================== */
body.member-page .member-about-header.about-page .about-hero-content {
    padding-top: 42px;
}
@media (max-width: 760px) {
    body.member-page .member-about-header.about-page .about-hero-content { padding-top: 0; }
}

/* Fahrten & Ausfluege – Version 1.0.109 */
.member-card-link{color:#fff!important;text-decoration:none!important}.member-card-link:hover{color:#fff!important}
.member-trips{margin-top:30px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08);border-top:4px solid #ed1b2f}
.member-trips-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px 20px}.member-trips-head h2{margin:0;font-size:1.7rem;text-transform:uppercase}.member-trips-count{padding:8px 12px;background:#111;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.member-trip-tabs{display:flex;gap:0;padding:0 28px;border-bottom:1px solid #dedede}.member-trip-tab{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;padding:13px 18px 11px;color:#666;font:inherit;font-size:.82rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer}.member-trip-tab:hover,.member-trip-tab.is-active{color:#ed1b2f;border-bottom-color:#ed1b2f}
.member-trip-panel{padding:8px 28px 28px}.member-trip-empty{padding:32px 4px 12px;color:#777}.member-trip-row{display:grid;grid-template-columns:52px minmax(0,1fr) 125px 165px;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid #e3e3e3}.member-trip-row:last-child{border-bottom:0}.member-trip-icon{width:44px;height:44px;display:grid;place-items:center;background:#111;color:#ed1b2f;font-size:1.2rem;font-weight:900}.member-trip-info h3{margin:0 0 7px;font-size:1.05rem}.member-trip-meta{display:flex;flex-wrap:wrap;gap:5px 16px;color:#666;font-size:.86rem}.member-trip-meta span{position:relative}.member-trip-meta span+span:before{content:"·";position:absolute;left:-10px;color:#bbb}.member-trip-price{margin-top:7px;color:#222;font-size:.84rem;font-weight:800}.member-trip-capacity{text-align:center}.member-trip-capacity span{display:block;margin-bottom:4px;color:#888;font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.member-trip-capacity strong{font-size:1.08rem;color:#111}.member-trip-action{text-align:right}.member-trip-button{display:inline-block;border:1px solid #ed1b2f;background:#ed1b2f;color:#fff;padding:10px 14px;font:inherit;font-size:.74rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;cursor:pointer}.member-trip-button:hover{background:#c90f20}.member-trip-button.is-disabled{background:#777;border-color:#777;cursor:default}.member-trip-action small{display:block;margin-top:7px;color:#888;font-size:.68rem}.member-trip-row.is-past{opacity:.72}
@media(max-width:980px){.member-trip-row{grid-template-columns:46px minmax(0,1fr) 120px}.member-trip-action{grid-column:2/-1;text-align:left}.member-trip-action small{display:inline-block;margin:0 0 0 10px}}
@media(max-width:650px){.member-trips-head{align-items:flex-start;flex-direction:column;padding:22px 20px 15px}.member-trip-tabs{padding:0 20px;overflow-x:auto}.member-trip-tab{white-space:nowrap;padding-left:10px;padding-right:10px}.member-trip-panel{padding:6px 20px 22px}.member-trip-row{grid-template-columns:42px minmax(0,1fr);gap:13px}.member-trip-capacity{grid-column:2;text-align:left}.member-trip-action{grid-column:2}.member-trip-meta{display:block}.member-trip-meta span{display:block;margin-top:3px}.member-trip-meta span+span:before{display:none}}

/* 1.0.110: Mitgliederbereich – Fahrten als eigene Ansicht */
.member-dashboard-overview[hidden],.member-trips[hidden]{display:none!important}
.member-trips{margin-top:0}
.member-trips-back{appearance:none;border:0;background:transparent;padding:0 0 12px;color:#666;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.member-trips-back:hover{color:#ed1b2f}


/* 1.0.111: Treffpunktzeit und Fahrtbeschreibung */
.member-trip-description{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.5;max-width:760px}
@media(max-width:760px){.member-trip-description{font-size:.88rem}}
\n\n/* 1.0.113: Fahrtanmeldung – UI-Testphase */\n.member-registration[hidden]{display:none!important}.member-registration{background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08);border-top:4px solid #ed1b2f}.member-registration-head{padding:28px 30px 20px;border-bottom:1px solid #e5e5e5}.member-registration-head h2{margin:0 0 7px;font-size:1.75rem;text-transform:uppercase}.member-registration-trip{margin:0;color:#555;font-weight:800}.member-registration-description{max-width:850px;margin:12px 0 0;color:#666;line-height:1.55}.member-registration-card{padding:0 30px 30px}.member-registration-section{padding:26px 0;border-bottom:1px solid #e5e5e5}.member-registration-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.member-registration-section-head h3{margin:0;font-size:1.2rem}.member-registration-type{background:#111;color:#fff;padding:7px 10px;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.member-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.member-registration-grid label,.member-registration-wide{display:block}.member-registration-grid label>span,.member-registration-wide>span{display:block;margin-bottom:6px;color:#555;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.member-registration-grid input,.member-registration-wide textarea{width:100%;box-sizing:border-box;border:1px solid #ccc;background:#fafafa;padding:11px 12px;font:inherit;color:#111}.member-registration-grid input[readonly]{background:#f0f0f0;color:#555}.member-registration-check{display:flex;align-items:center;gap:9px;margin-top:16px;font-weight:800}.member-registration-check input{width:18px;height:18px;accent-color:#ed1b2f}.member-guest-add{border:0;background:#169b4a;color:#fff;padding:10px 14px;font:inherit;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.member-guest-add span{font-size:1.1rem}.member-registration-hint{margin:-4px 0 16px;color:#777;font-size:.86rem}.member-guest-block{margin-top:15px;padding:18px;border:1px solid #ddd;border-left:4px solid #169b4a;background:#fafafa}.member-guest-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.member-guest-title button{width:30px;height:30px;border:0;background:#222;color:#fff;font-size:1.2rem;cursor:pointer}.member-registration-wide{margin-top:14px}.member-guest-owner{margin:10px 0 0;color:#777;font-size:.78rem;font-weight:800}.member-registration-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;background:#ddd;border:1px solid #ddd}.member-registration-summary>div{background:#111;color:#fff;padding:17px;text-align:center}.member-registration-summary span{display:block;color:#aaa;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.member-registration-summary strong{display:block;margin-top:5px;font-size:1.15rem}.member-registration-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px}.member-registration-actions p{margin:0;max-width:680px;color:#777;font-size:.8rem}.member-registration-submit{border:0;background:#888;color:#fff;padding:12px 17px;font:inherit;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:not-allowed;opacity:.65}.member-registration-submit.is-ready{background:#ed1b2f;cursor:pointer;opacity:1}.member-registration-submit.is-ready:hover{filter:brightness(.92)}\n@media(max-width:700px){.member-registration-head,.member-registration-card{padding-left:20px;padding-right:20px}.member-registration-grid{grid-template-columns:1fr}.member-registration-section-head,.member-registration-actions{align-items:flex-start;flex-direction:column}.member-registration-summary{grid-template-columns:1fr}.member-registration-summary>div{text-align:left}}\n
/* 1.0.118 – Vorstands-Teilnehmerverwaltung */
.member-board-admin{width:100%}.member-board-intro{margin:0 0 24px;color:#626262}.member-board-list{display:grid;gap:18px}.member-board-registration{border:1px solid #d9d9d9;background:#fff}.member-board-registration.is-cancelled{opacity:.68}.member-board-registration-head{display:flex;justify-content:space-between;gap:24px;padding:20px;border-bottom:1px solid #e4e4e4}.member-board-registration-head h3{margin:3px 0 6px}.member-board-registration-head p{margin:0}.member-board-registration-meta{text-align:right;display:flex;flex-direction:column;gap:4px}.member-board-state{font-weight:800;text-transform:uppercase;font-size:.75rem;color:#159447}.is-cancelled .member-board-state{color:#777}.member-board-participants{padding:0 20px}.member-board-participant{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.5fr) auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.member-board-participant>div:first-child{display:flex;flex-direction:column}.member-board-participant span{font-size:.78rem;text-transform:uppercase;font-weight:800;color:#777}.member-board-participant p{grid-column:1/-1;margin:0;color:#666}.member-board-actions{padding:16px 20px;text-align:right}.member-board-cancel{border:0;background:#e51b2b;color:#fff;padding:12px 16px;font-weight:900;text-transform:uppercase;cursor:pointer}.member-board-cancel:disabled{opacity:.55}.member-board-status{min-height:22px;margin-bottom:12px}.member-board-status.is-success{color:#14833b}.member-board-status.is-error{color:#c91f2b}@media(max-width:760px){.member-board-registration-head{flex-direction:column}.member-board-registration-meta{text-align:left}.member-board-participant{grid-template-columns:1fr}.member-board-participant p{grid-column:auto}}


/* ==========================================================
   Passwort vergessen / Passwort zurücksetzen – Version 1.0.135
   ========================================================== */
body.login-page .efc-reset-card .efc-login-intro{margin-bottom:24px}
body.login-page .efc-reset-form fieldset{margin:0;padding:0;border:0}
body.login-page .efc-reset-card .control-group{margin-bottom:17px}
body.login-page .efc-reset-card .control-label label{display:block;margin:0 0 7px;color:#e9e9e9;font-size:.9rem;font-weight:700}
body.login-page .efc-reset-card input[type=text],
body.login-page .efc-reset-card input[type=email],
body.login-page .efc-reset-card input[type=password]{width:100%;box-sizing:border-box}
body.login-page .efc-reset-submit{margin-top:6px}
body.login-page .efc-reset-submit button{width:100%}
body.login-page .efc-reset-back-wrap{margin-top:20px;padding-top:18px;border-top:1px solid #2d2d2d;text-align:center}
body.login-page .efc-reset-back{color:#cfcfd2;font-size:.86rem;text-decoration:none}
body.login-page .efc-reset-back:hover{color:#fff}
body.login-page .efc-reset-card .alert,
body.login-page .efc-reset-card .form-text{color:#bdbdc2}
body.login-page .efc-reset-card .invalid-feedback,
body.login-page .efc-reset-card .form-control-feedback{color:#ff6a77}
@media(max-width:650px){
  body.login-page .efc-reset-card .efc-login-intro{font-size:.92rem}
}


/* ==========================================================
   Passwort-Reset Statusdialog – Version 1.0.136
   ========================================================== */
.efc-reset-status-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(5px);
}
.efc-reset-status-card{
  width:min(100%,620px);
  background:#fff;
  color:#151515;
  border-top:6px solid #ed1b2f;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
  padding:34px 36px 30px;
  text-align:left;
}
.efc-reset-status-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin-bottom:18px;
  background:#1fa24a;
  color:#fff;
  font-size:2rem;
  font-weight:900;
  line-height:1;
}
.efc-reset-status-kicker{
  color:#1fa24a;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:1rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.efc-reset-status-card h2{
  margin:8px 0 16px;
  color:#111;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:2.1rem;
  font-weight:400;
  letter-spacing:.01em;
}
.efc-reset-status-card p{
  margin:0;
  font-size:1rem;
  line-height:1.65;
  color:#2a2a2a;
}
.efc-reset-status-note{
  margin:22px 0 24px;
  padding:14px 16px;
  background:#f5f5f5;
  border-left:4px solid #ed1b2f;
  color:#333;
  font-size:.92rem;
  line-height:1.5;
}
.efc-reset-status-btn{
  display:block;
  width:100%;
  box-sizing:border-box;
  min-height:50px;
  padding:14px 18px;
  background:linear-gradient(90deg,#cf0013,#ed1b2f);
  color:#fff!important;
  text-align:center;
  text-decoration:none!important;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:1.08rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:2px;
}
.efc-reset-status-btn:hover{
  background:#ed1b2f;
  color:#fff!important;
}
@media(max-width:650px){
  .efc-reset-status-overlay{padding:16px}
  .efc-reset-status-card{padding:28px 22px 24px}
  .efc-reset-status-card h2{font-size:1.7rem}
  .efc-reset-status-icon{width:52px;height:52px;font-size:1.7rem}
}


/* ==========================================================
   Logout-Erfolgsdialog – Vereinsheader Version 1.0.137
   ========================================================== */
.efc-logout-dialog-overlay{
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(5px);
}
.efc-logout-dialog{
    width:min(840px,calc(100vw - 40px));
    padding:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.24);
    border-top:5px solid #ed1b2f;
    border-radius:4px;
    background:linear-gradient(180deg,#111214 0%,#090909 100%);
    box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.11);
}
.efc-logout-dialog__brand{
    padding:22px 34px 24px;
    border-bottom:1px solid rgba(255,255,255,.16);
    text-align:center;
}
.efc-logout-dialog__logo{
    display:block;
    width:92px;
    max-width:24vw;
    height:auto;
    margin:0 auto 13px;
    object-fit:contain;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
}
.efc-logout-dialog__eyebrow{
    margin:0;
    color:#ed1b2f;
    font-size:14px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.efc-logout-dialog__slogan{
    margin-top:8px;
    color:#fff;
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(25px,4vw,37px);
    line-height:1.05;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.efc-logout-dialog__divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:min(420px,72%);
    margin:16px auto 0;
}
.efc-logout-dialog__divider span{
    display:block;
    flex:1;
    height:1px;
    background:linear-gradient(90deg,transparent,#ed1b2f);
}
.efc-logout-dialog__divider span:last-child{
    background:linear-gradient(90deg,#ed1b2f,transparent);
}
.efc-logout-dialog__divider img{
    width:25px;
    height:25px;
    object-fit:contain;
}
.efc-logout-dialog__content{
    padding:30px 38px 34px;
    text-align:center;
}
.efc-logout-dialog__content .efc-logout-dialog__icon{
    width:62px;
    height:62px;
    margin:0 auto 20px;
    font-size:31px;
}
.efc-logout-dialog__content .efc-logout-dialog__title{
    font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
    font-size:clamp(30px,4.5vw,46px);
    letter-spacing:.025em;
}
.efc-logout-dialog__content .efc-logout-dialog__text{
    margin-top:14px;
    color:#ddd;
    font-size:16px;
    line-height:1.55;
}
@media(max-width:650px){
    .efc-logout-dialog{width:min(94vw,520px)}
    .efc-logout-dialog__brand{padding:20px 20px 21px}
    .efc-logout-dialog__logo{width:76px;margin-bottom:11px}
    .efc-logout-dialog__eyebrow{font-size:12px}
    .efc-logout-dialog__slogan{font-size:1.55rem}
    .efc-logout-dialog__divider{width:80%;margin-top:13px}
    .efc-logout-dialog__content{padding:25px 22px 27px}
    .efc-logout-dialog__content .efc-logout-dialog__icon{width:56px;height:56px;font-size:28px}
    .efc-logout-dialog__content .efc-logout-dialog__title{font-size:2rem}
    .efc-logout-dialog__content .efc-logout-dialog__text{font-size:14px}
}


/* ==========================================================
   Mitglieder-Login im Stil des Abmeldefensters – 1.0.139
   ========================================================== */
body.login-page .efc-login-card--logout-style{
  width:min(760px,calc(100vw - 40px));
  max-width:760px;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.26);
  border-top:5px solid #ed1b2f;
  border-radius:4px;
  background:linear-gradient(180deg,#111214 0%,#090909 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.10);
}
body.login-page .efc-login-brand-head{
  padding:0 38px 24px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.login-page .efc-login-brand-logo{
  display:block;
  width:112px;
  max-width:25vw;
  height:auto;
  margin:-3px auto 17px;
  object-fit:contain;
  filter:drop-shadow(0 9px 20px rgba(0,0,0,.55));
}
body.login-page .efc-login-brand-head h1{
  margin:0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(31px,4vw,45px);
  font-weight:400;
  line-height:1;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.login-page .efc-login-brand-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:min(430px,76%);
  margin:17px auto 0;
}
body.login-page .efc-login-brand-divider span{
  display:block;flex:1;height:1px;background:linear-gradient(90deg,transparent,#ed1b2f);
}
body.login-page .efc-login-brand-divider span:last-child{
  background:linear-gradient(90deg,#ed1b2f,transparent);
}
body.login-page .efc-login-brand-divider img{width:25px;height:25px;object-fit:contain}
body.login-page .efc-login-brand-name{
  margin-top:14px;color:#ed1b2f;font-size:18px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;
}
body.login-page .efc-login-brand-slogan{
  margin-top:8px;color:#fff;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(25px,3.2vw,35px);line-height:1.08;letter-spacing:.025em;text-transform:uppercase;
}
body.login-page .efc-login-brand-divider--lower{margin-top:17px}
body.login-page .efc-login-form-body{padding:27px 38px 30px}
body.login-page .efc-login-card--logout-style .efc-login-form fieldset{margin:0;padding:0;border:0}
body.login-page .efc-login-card--logout-style .control-group{margin-bottom:17px}
body.login-page .efc-login-card--logout-style .efc-login-actions{margin-top:-1px;margin-bottom:17px}
body.login-page .efc-login-card--logout-style .efc-forgot{color:#ed1b2f!important;font-weight:700}
body.login-page .efc-login-card--logout-style .com-users-login__submit{margin-top:0}
body.login-page .efc-login-card--logout-style .com-users-login__submit button{
  min-height:54px;font-size:1.18rem;letter-spacing:.10em;
}
body.login-page .efc-login-members-note{
  margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.25);
  color:#e0e0e0;text-align:center;font-size:15px;
}
@media(max-width:650px){
  body.login-page .efc-login-card--logout-style{width:min(94vw,520px)}
  body.login-page .efc-login-brand-head{padding:0 21px 20px}
  body.login-page .efc-login-brand-logo{width:86px;margin-bottom:13px}
  body.login-page .efc-login-brand-head h1{font-size:2rem}
  body.login-page .efc-login-brand-name{font-size:14px}
  body.login-page .efc-login-brand-slogan{font-size:1.55rem}
  body.login-page .efc-login-brand-divider{width:82%;margin-top:13px}
  body.login-page .efc-login-form-body{padding:22px 22px 24px}
  body.login-page .efc-login-members-note{font-size:13px}
}


/* ==========================================================
   Passwort-Reset Statusmeldung unter Bestätigungsbereich – 1.0.140
   ========================================================== */
body.login-page .efc-reset-scene{
  width:min(100%,760px);
}
body.login-page .efc-reset-inline-status{
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:22px;
  margin:18px auto 0;
  padding:23px 28px;
  background:rgba(8,10,9,.94);
  border:1px solid #1fa24a;
  border-radius:3px;
  box-shadow:0 16px 42px rgba(0,0,0,.40);
  color:#fff;
}
body.login-page .efc-reset-inline-status__icon{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1fa24a;
  color:#fff;
  font-size:30px;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 20px rgba(31,162,74,.22);
}
body.login-page .efc-reset-inline-status__content{
  min-width:0;
}
body.login-page .efc-reset-inline-status__title{
  margin:0 0 6px;
  color:#25b952;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:1.34rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.login-page .efc-reset-inline-status p{
  margin:0;
  color:#f0f0f0;
  font-size:.96rem;
  line-height:1.55;
}
@media(max-width:650px){
  body.login-page .efc-reset-scene{
    width:min(100%,430px);
  }
  body.login-page .efc-reset-inline-status{
    gap:15px;
    padding:18px 17px;
    align-items:flex-start;
  }
  body.login-page .efc-reset-inline-status__icon{
    width:48px;
    height:48px;
    flex-basis:48px;
    font-size:25px;
  }
  body.login-page .efc-reset-inline-status__title{
    font-size:1.1rem;
  }
  body.login-page .efc-reset-inline-status p{
    font-size:.86rem;
  }
}


/* Passwort-Neuvergabe im Login/Logout-Stil + Status darunter – 1.0.144 */
body.login-page .efc-complete-scene{width:min(100%,820px)}
body.login-page .efc-complete-card{width:min(760px,calc(100vw - 40px));max-width:760px;padding:0!important;overflow:hidden;border-top:5px solid #ed1b2f}
body.login-page .efc-complete-card .efc-login-brand-head{padding:0 38px 24px}
body.login-page .efc-complete-card .efc-login-form-body{padding:27px 38px 30px}
body.login-page .efc-password-rule{margin:0 0 8px;color:#fff;font-size:16px}
body.login-page .efc-complete-status-stack{width:min(760px,calc(100vw - 40px));margin:18px auto 0;display:grid;gap:14px}
body.login-page .efc-complete-status{display:flex;align-items:center;gap:20px;box-sizing:border-box;padding:20px 24px;border-radius:4px;box-shadow:0 14px 38px rgba(0,0,0,.35)}
body.login-page .efc-complete-status__icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:28px;font-weight:900}
body.login-page .efc-complete-status__title{margin-bottom:5px;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.22rem;letter-spacing:.05em;text-transform:uppercase}
body.login-page .efc-complete-status__text{font-size:.98rem;line-height:1.5}
body.login-page .efc-complete-status.is-warning{background:#ffe8e9;border:1px solid #ed1b2f;color:#351417}
body.login-page .efc-complete-status.is-warning .efc-complete-status__icon{background:#d80820}
body.login-page .efc-complete-status.is-warning .efc-complete-status__title{color:#d80820}
body.login-page .efc-complete-status.is-info{background:#def6fb;border:1px solid #1384ad;color:#17333d}
body.login-page .efc-complete-status.is-info .efc-complete-status__icon{background:#0873a2}
body.login-page .efc-complete-status.is-info .efc-complete-status__title{color:#0873a2}
@media(max-width:650px){
 body.login-page .efc-complete-scene{width:min(100%,430px)}
 body.login-page .efc-complete-card,body.login-page .efc-complete-status-stack{width:min(94vw,520px)}
 body.login-page .efc-complete-card .efc-login-brand-head{padding:0 21px 20px}
 body.login-page .efc-complete-card .efc-login-form-body{padding:22px}
 body.login-page .efc-complete-status{gap:14px;padding:17px}
 body.login-page .efc-complete-status__icon{width:46px;height:46px;flex-basis:46px;font-size:24px}
 body.login-page .efc-complete-status__text{font-size:.88rem}
}


/* ==========================================================
   Passwort-Neuvergabe wie Abmeldefenster + kompakte Monitore – 1.0.145
   ========================================================== */
body.login-page .efc-complete-scene{
  width:min(100%,860px);
  padding-top:12px;
  padding-bottom:12px;
}
body.login-page .efc-complete-card{
  width:min(840px,calc(100vw - 40px));
  max-width:840px;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-top:5px solid #ed1b2f;
  border-radius:4px;
  background:linear-gradient(180deg,#111214 0%,#090909 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.10);
}
body.login-page .efc-complete-brand{
  padding:20px 34px 22px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.15);
}
body.login-page .efc-complete-brand__logo{
  display:block;
  width:92px;
  max-width:22vw;
  height:auto;
  margin:0 auto 12px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
}
body.login-page .efc-complete-brand__name{
  color:#ed1b2f;
  font-size:16px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.login-page .efc-complete-brand__slogan{
  margin-top:7px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(26px,3.7vw,39px);
  line-height:1.04;
  letter-spacing:.02em;
  text-transform:uppercase;
}
body.login-page .efc-complete-brand__divider,
body.login-page .efc-complete-body__divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:min(430px,72%);
  margin:14px auto 0;
}
body.login-page .efc-complete-brand__divider span,
body.login-page .efc-complete-body__divider span{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#ed1b2f);
}
body.login-page .efc-complete-brand__divider span:last-child,
body.login-page .efc-complete-body__divider span:last-child{
  background:linear-gradient(90deg,#ed1b2f,transparent);
}
body.login-page .efc-complete-brand__divider img,
body.login-page .efc-complete-body__divider img{
  width:24px;
  height:24px;
  object-fit:contain;
}
body.login-page .efc-complete-body{
  padding:24px 38px 30px;
  text-align:center;
}
body.login-page .efc-complete-body__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 15px;
  border-radius:50%;
  background:#ed1b2f;
  color:#fff;
  font-size:28px;
  box-shadow:0 0 22px rgba(237,27,47,.24);
}
body.login-page .efc-complete-body h1{
  margin:0;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(30px,4.2vw,46px);
  font-weight:400;
  line-height:1;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.login-page .efc-complete-body__divider{
  margin-top:14px;
  margin-bottom:18px;
}
body.login-page .efc-complete-body .efc-password-rule{
  margin:0 0 8px;
  color:#fff;
  text-align:left;
  font-size:16px;
}
body.login-page .efc-complete-body .control-group{
  margin-bottom:15px;
}
body.login-page .efc-complete-body input[type=password]{
  height:48px;
}
body.login-page .efc-complete-body .efc-reset-submit button{
  min-height:50px;
}
body.login-page .efc-complete-status-stack{
  width:min(840px,calc(100vw - 40px));
}

/* kleinere Monitore: alles sichtbar halten, ohne horizontales Scrollen */
@media(max-height:820px) and (min-width:651px){
  body.login-page .joomla-main{
    padding-top:12px!important;
    padding-bottom:12px!important;
    align-items:flex-start!important;
  }
  body.login-page .efc-complete-scene{
    margin:0 auto;
    padding-top:0;
    padding-bottom:0;
  }
  body.login-page .efc-complete-brand{
    padding:13px 28px 14px;
  }
  body.login-page .efc-complete-brand__logo{
    width:64px;
    margin-bottom:7px;
  }
  body.login-page .efc-complete-brand__name{
    font-size:13px;
  }
  body.login-page .efc-complete-brand__slogan{
    margin-top:4px;
    font-size:28px;
  }
  body.login-page .efc-complete-brand__divider{
    margin-top:8px;
  }
  body.login-page .efc-complete-brand__divider img,
  body.login-page .efc-complete-body__divider img{
    width:19px;
    height:19px;
  }
  body.login-page .efc-complete-body{
    padding:15px 32px 18px;
  }
  body.login-page .efc-complete-body__icon{
    width:44px;
    height:44px;
    margin-bottom:8px;
    font-size:21px;
  }
  body.login-page .efc-complete-body h1{
    font-size:34px;
  }
  body.login-page .efc-complete-body__divider{
    margin-top:8px;
    margin-bottom:10px;
  }
  body.login-page .efc-complete-body .efc-password-rule{
    font-size:14px;
    margin-bottom:5px;
  }
  body.login-page .efc-complete-body .control-group{
    margin-bottom:10px;
  }
  body.login-page .efc-complete-body input[type=password]{
    height:42px;
  }
  body.login-page .efc-complete-body .efc-reset-submit button{
    min-height:44px;
  }
  body.login-page .efc-complete-status-stack{
    margin-top:10px;
    gap:8px;
  }
  body.login-page .efc-complete-status{
    padding:12px 16px;
  }
  body.login-page .efc-complete-status__icon{
    width:40px;
    height:40px;
    flex-basis:40px;
    font-size:21px;
  }
  body.login-page .efc-complete-status__title{
    font-size:1rem;
  }
  body.login-page .efc-complete-status__text{
    font-size:.85rem;
  }
}

@media(max-width:650px){
  body.login-page .efc-complete-scene{
    width:min(100%,430px);
    padding-top:0;
  }
  body.login-page .efc-complete-card,
  body.login-page .efc-complete-status-stack{
    width:min(94vw,520px);
  }
  body.login-page .efc-complete-brand{
    padding:15px 18px 16px;
  }
  body.login-page .efc-complete-brand__logo{
    width:70px;
    margin-bottom:8px;
  }
  body.login-page .efc-complete-brand__name{
    font-size:12px;
  }
  body.login-page .efc-complete-brand__slogan{
    font-size:1.55rem;
  }
  body.login-page .efc-complete-brand__divider,
  body.login-page .efc-complete-body__divider{
    width:82%;
    margin-top:9px;
  }
  body.login-page .efc-complete-body{
    padding:18px 18px 20px;
  }
  body.login-page .efc-complete-body__icon{
    width:48px;
    height:48px;
    margin-bottom:10px;
    font-size:23px;
  }
  body.login-page .efc-complete-body h1{
    font-size:2rem;
  }
  body.login-page .efc-complete-body__divider{
    margin-bottom:13px;
  }
  body.login-page .efc-complete-body .efc-password-rule{
    font-size:14px;
  }
}


/* ==========================================================
   Passwort-Neuvergabe – kompakte Bildschirmansicht 1.0.146
   ========================================================== */
body.login-page .efc-complete-scene{
  width:min(100%,700px)!important;
  padding:6px 0!important;
}
body.login-page .efc-complete-card{
  width:min(680px,calc(100vw - 32px))!important;
  max-width:680px!important;
}
body.login-page .efc-complete-brand{
  padding:11px 24px 12px!important;
}
body.login-page .efc-complete-brand__logo{
  width:58px!important;
  margin:0 auto 6px!important;
}
body.login-page .efc-complete-brand__name{
  font-size:12px!important;
  letter-spacing:.13em!important;
}
body.login-page .efc-complete-brand__slogan{
  margin-top:3px!important;
  font-size:27px!important;
  line-height:1!important;
}
body.login-page .efc-complete-brand__divider{
  width:360px!important;
  max-width:72%!important;
  margin-top:7px!important;
}
body.login-page .efc-complete-brand__divider img,
body.login-page .efc-complete-body__divider img{
  width:18px!important;
  height:18px!important;
}
body.login-page .efc-complete-body{
  padding:13px 30px 17px!important;
}
body.login-page .efc-complete-body__icon{
  width:40px!important;
  height:40px!important;
  margin:0 auto 7px!important;
  font-size:19px!important;
}
body.login-page .efc-complete-body h1{
  font-size:31px!important;
  line-height:1!important;
}
body.login-page .efc-complete-body__divider{
  width:340px!important;
  max-width:68%!important;
  margin-top:7px!important;
  margin-bottom:9px!important;
}
body.login-page .efc-complete-body .efc-password-rule{
  margin:0 0 5px!important;
  font-size:13px!important;
  line-height:1.3!important;
  text-align:left!important;
}
body.login-page .efc-complete-body .control-group{
  margin-bottom:9px!important;
}
body.login-page .efc-complete-body input[type=password]{
  height:40px!important;
  min-height:40px!important;
}
body.login-page .efc-complete-body .efc-reset-submit button{
  min-height:42px!important;
  padding:9px 16px!important;
  font-size:1rem!important;
}
body.login-page .efc-complete-status-stack{
  width:min(680px,calc(100vw - 32px))!important;
  margin-top:8px!important;
  gap:7px!important;
}
body.login-page .efc-complete-status{
  padding:10px 14px!important;
}
body.login-page .efc-login-bottom-mark{
  margin-top:8px!important;
}

/* Noch kompakter bei niedrigen Desktop-/Notebook-Bildschirmen */
@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-complete-card{
    width:min(630px,calc(100vw - 28px))!important;
  }
  body.login-page .efc-complete-brand{
    padding:7px 20px 8px!important;
  }
  body.login-page .efc-complete-brand__logo{
    width:46px!important;
    margin-bottom:4px!important;
  }
  body.login-page .efc-complete-brand__name{
    font-size:10px!important;
  }
  body.login-page .efc-complete-brand__slogan{
    font-size:22px!important;
  }
  body.login-page .efc-complete-brand__divider{
    margin-top:5px!important;
  }
  body.login-page .efc-complete-body{
    padding:9px 25px 12px!important;
  }
  body.login-page .efc-complete-body__icon{
    width:34px!important;
    height:34px!important;
    margin-bottom:5px!important;
    font-size:16px!important;
  }
  body.login-page .efc-complete-body h1{
    font-size:26px!important;
  }
  body.login-page .efc-complete-body__divider{
    margin-top:5px!important;
    margin-bottom:6px!important;
  }
  body.login-page .efc-complete-body input[type=password]{
    height:36px!important;
    min-height:36px!important;
  }
  body.login-page .efc-complete-body .control-group{
    margin-bottom:7px!important;
  }
  body.login-page .efc-complete-body .efc-reset-submit button{
    min-height:38px!important;
    padding:7px 14px!important;
  }
  body.login-page .efc-complete-status-stack{
    width:min(630px,calc(100vw - 28px))!important;
  }
}

/* Sehr niedrige Bildschirme */
@media(max-height:650px) and (min-width:651px){
  body.login-page .efc-complete-brand__logo{width:38px!important}
  body.login-page .efc-complete-brand__slogan{font-size:19px!important}
  body.login-page .efc-complete-brand__divider{display:none!important}
  body.login-page .efc-complete-body__icon{width:30px!important;height:30px!important;font-size:14px!important}
  body.login-page .efc-complete-body h1{font-size:23px!important}
  body.login-page .efc-complete-body__divider{display:none!important}
  body.login-page .efc-complete-body{padding-top:7px!important}
}


/* ==========================================================
   Passwort erfolgreich zurückgesetzt – Dialog 1.0.147
   ========================================================== */
.efc-password-success-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(5px);
  opacity:0;
  transition:opacity .26s ease;
}
.efc-password-success-overlay.is-visible{opacity:1}

.efc-password-success-dialog{
  width:min(720px,calc(100vw - 36px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-top:5px solid #ed1b2f;
  border-radius:4px;
  background:linear-gradient(180deg,#111214 0%,#090909 100%);
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.10);
  color:#fff;
}

.efc-password-success-dialog__brand{
  padding:18px 28px 20px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.efc-password-success-dialog__logo{
  display:block;
  width:76px;
  height:auto;
  margin:0 auto 9px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));
}
.efc-password-success-dialog__club{
  color:#ed1b2f;
  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.efc-password-success-dialog__slogan{
  margin-top:5px;
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(25px,3.4vw,35px);
  line-height:1.04;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.efc-password-success-dialog__divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  width:min(390px,72%);
  margin:12px auto 0;
}
.efc-password-success-dialog__divider span{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#ed1b2f);
}
.efc-password-success-dialog__divider span:last-child{
  background:linear-gradient(90deg,#ed1b2f,transparent);
}
.efc-password-success-dialog__divider img{
  width:22px;
  height:22px;
  object-fit:contain;
}

.efc-password-success-dialog__body{
  padding:25px 34px 27px;
  text-align:center;
}
.efc-password-success-dialog__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  border-radius:50%;
  background:#1fa24a;
  color:#fff;
  font-size:30px;
  font-weight:900;
  box-shadow:0 0 22px rgba(31,162,74,.22);
}
.efc-password-success-dialog__title{
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(28px,4vw,42px);
  line-height:1.05;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.efc-password-success-dialog__text{
  margin-top:13px;
  color:#ddd;
  font-size:16px;
  line-height:1.55;
}

.efc-password-success-dialog__footer{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:18px 26px;
  border-top:4px solid #ed1b2f;
  background:#0d0d0f;
  color:#ddd;
  font-size:13px;
  line-height:1.65;
}
.efc-password-success-dialog__footer strong{color:#fff}
.efc-password-success-dialog__footer a{
  color:#fff!important;
  text-decoration:none!important;
}
.efc-password-success-dialog__social{
  text-align:right;
  color:#aaa;
}
.efc-password-success-dialog__social span{padding:0 5px}

@media(max-height:720px) and (min-width:651px){
  .efc-password-success-dialog{width:min(640px,calc(100vw - 32px))}
  .efc-password-success-dialog__brand{padding:12px 24px 13px}
  .efc-password-success-dialog__logo{width:54px;margin-bottom:6px}
  .efc-password-success-dialog__club{font-size:11px}
  .efc-password-success-dialog__slogan{font-size:26px}
  .efc-password-success-dialog__divider{margin-top:7px}
  .efc-password-success-dialog__divider img{width:18px;height:18px}
  .efc-password-success-dialog__body{padding:16px 28px 18px}
  .efc-password-success-dialog__icon{width:44px;height:44px;margin-bottom:10px;font-size:23px}
  .efc-password-success-dialog__title{font-size:31px}
  .efc-password-success-dialog__text{margin-top:9px;font-size:14px}
  .efc-password-success-dialog__footer{padding:12px 22px;font-size:11px}
}

@media(max-width:650px){
  .efc-password-success-overlay{padding:14px}
  .efc-password-success-dialog{width:min(94vw,520px)}
  .efc-password-success-dialog__brand{padding:14px 18px 15px}
  .efc-password-success-dialog__logo{width:58px}
  .efc-password-success-dialog__slogan{font-size:1.5rem}
  .efc-password-success-dialog__body{padding:20px 18px 22px}
  .efc-password-success-dialog__icon{width:50px;height:50px;font-size:25px}
  .efc-password-success-dialog__title{font-size:1.9rem}
  .efc-password-success-dialog__text{font-size:14px}
  .efc-password-success-dialog__footer{
    flex-direction:column;
    gap:9px;
    padding:15px 18px;
  }
  .efc-password-success-dialog__social{text-align:left}
}


/* Passwort-Erfolgsdialog – freigegebene Ansicht 1.0.148 */
.efc-password-success-dialog{
  width:min(820px,calc(100vw - 44px))!important;
  max-width:820px!important;
  border-top:5px solid #ed1b2f!important;
}
.efc-password-success-dialog__brand{
  padding:24px 34px 25px!important;
}
.efc-password-success-dialog__logo{
  width:78px!important;
  margin:0 auto 14px!important;
}
.efc-password-success-dialog__club{
  font-size:14px!important;
  letter-spacing:.15em!important;
}
.efc-password-success-dialog__slogan{
  margin-top:8px!important;
  font-size:36px!important;
}
.efc-password-success-dialog__divider{
  width:min(410px,72%)!important;
  margin-top:16px!important;
}
.efc-password-success-dialog__body{
  padding:26px 34px 32px!important;
}
.efc-password-success-dialog__icon{
  width:66px!important;
  height:66px!important;
  margin:0 auto 18px!important;
  background:#16c84a!important;
  font-size:38px!important;
}
.efc-password-success-dialog__title{
  font-size:39px!important;
  line-height:1.05!important;
}
.efc-password-success-dialog__text{
  margin-top:18px!important;
  font-size:18px!important;
  line-height:1.55!important;
}
.efc-password-success-dialog__footer{display:none!important}

/* Auf kleineren Monitoren bleibt der komplette Dialog sichtbar. */
@media(max-height:760px) and (min-width:651px){
  .efc-password-success-dialog{
    width:min(700px,calc(100vw - 34px))!important;
  }
  .efc-password-success-dialog__brand{
    padding:14px 28px 15px!important;
  }
  .efc-password-success-dialog__logo{
    width:55px!important;
    margin-bottom:7px!important;
  }
  .efc-password-success-dialog__club{font-size:11px!important}
  .efc-password-success-dialog__slogan{
    margin-top:4px!important;
    font-size:27px!important;
  }
  .efc-password-success-dialog__divider{
    margin-top:8px!important;
  }
  .efc-password-success-dialog__body{
    padding:16px 28px 19px!important;
  }
  .efc-password-success-dialog__icon{
    width:48px!important;
    height:48px!important;
    margin-bottom:10px!important;
    font-size:28px!important;
  }
  .efc-password-success-dialog__title{
    font-size:31px!important;
  }
  .efc-password-success-dialog__text{
    margin-top:10px!important;
    font-size:14px!important;
  }
}
@media(max-width:650px){
  .efc-password-success-dialog{
    width:min(94vw,520px)!important;
  }
  .efc-password-success-dialog__brand{
    padding:15px 18px 16px!important;
  }
  .efc-password-success-dialog__logo{
    width:58px!important;
    margin-bottom:8px!important;
  }
  .efc-password-success-dialog__club{font-size:11px!important}
  .efc-password-success-dialog__slogan{
    font-size:24px!important;
  }
  .efc-password-success-dialog__body{
    padding:20px 18px 23px!important;
  }
  .efc-password-success-dialog__icon{
    width:52px!important;
    height:52px!important;
    margin-bottom:12px!important;
    font-size:30px!important;
  }
  .efc-password-success-dialog__title{
    font-size:28px!important;
  }
  .efc-password-success-dialog__text{
    font-size:14px!important;
  }
}

/* 1.0.149 – Mitglieder-Login: freigegebene kompakte Kopfansicht */
.efc-login-brand-head--compact{
  padding-top:34px!important;
  padding-bottom:28px!important;
}
.efc-login-brand-head--compact #efc-login-title{
  margin-top:0!important;
  margin-bottom:18px!important;
}
.efc-login-brand-head--compact .efc-login-brand-divider{
  margin-top:0!important;
  margin-bottom:0!important;
}
@media(max-height:760px){
  .efc-login-brand-head--compact{
    padding-top:22px!important;
    padding-bottom:20px!important;
  }
}
@media(max-width:650px){
  .efc-login-brand-head--compact{
    padding:24px 18px 20px!important;
  }
}


/* ==========================================================
   Abmeldung wie Mitglieder-Login – 1.0.150
   ========================================================== */
.efc-logout-dialog--compact{
  width:min(720px,calc(100vw - 40px))!important;
  max-width:720px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-top:0!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#111214 0%,#090909 100%)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.08)!important;
}
.efc-logout-dialog__content--compact{
  padding:38px 34px 34px!important;
  text-align:center!important;
}
.efc-logout-dialog__content--compact .efc-logout-dialog__title{
  margin:0!important;
  color:#fff!important;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;
  font-size:clamp(34px,4.6vw,48px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
}
.efc-logout-dialog__divider{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:min(390px,72%)!important;
  margin:20px auto 25px!important;
}
.efc-logout-dialog__divider span{
  flex:1!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,#ed1b2f)!important;
}
.efc-logout-dialog__divider span:last-child{
  background:linear-gradient(90deg,#ed1b2f,transparent)!important;
}
.efc-logout-dialog__divider img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
}
.efc-logout-dialog__content--compact .efc-logout-dialog__icon{
  width:64px!important;
  height:64px!important;
  margin:0 auto 22px!important;
  background:#ed1b2f!important;
  color:#fff!important;
  font-size:34px!important;
  box-shadow:0 0 22px rgba(237,27,47,.26)!important;
}
.efc-logout-dialog__content--compact .efc-logout-dialog__text{
  margin:0!important;
  color:#ddd!important;
  font-size:16px!important;
  line-height:1.55!important;
}
@media(max-height:760px) and (min-width:651px){
  .efc-logout-dialog--compact{width:min(620px,calc(100vw - 32px))!important}
  .efc-logout-dialog__content--compact{padding:26px 28px 25px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__title{font-size:36px!important}
  .efc-logout-dialog__divider{margin:13px auto 16px!important}
  .efc-logout-dialog__divider img{width:20px!important;height:20px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__icon{width:52px!important;height:52px!important;margin-bottom:14px!important;font-size:28px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__text{font-size:14px!important}
}
@media(max-width:650px){
  .efc-logout-dialog--compact{width:min(94vw,520px)!important}
  .efc-logout-dialog__content--compact{padding:28px 20px 26px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__title{font-size:2rem!important}
  .efc-logout-dialog__divider{width:80%!important;margin:14px auto 18px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__icon{width:54px!important;height:54px!important;font-size:29px!important}
  .efc-logout-dialog__content--compact .efc-logout-dialog__text{font-size:14px!important}
}


/* ==========================================================
   Passwort vergessen? – kompakt wie Login/Abmeldung – 1.0.151
   ========================================================== */
body.login-page .efc-reset-request-scene{
  width:min(100%,720px)!important;
  padding:6px 0!important;
}
body.login-page .efc-reset-request-card{
  width:min(700px,calc(100vw - 36px))!important;
  max-width:700px!important;
  padding:32px 28px 28px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#111214 0%,#090909 100%)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 40px rgba(237,27,47,.08)!important;
}
body.login-page .efc-reset-request-card .efc-login-kicker{
  display:none!important;
}
body.login-page .efc-reset-request-card #efc-reset-title{
  margin:0!important;
  color:#fff!important;
  text-align:center!important;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;
  font-size:clamp(34px,4.6vw,46px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
}
body.login-page .efc-reset-request-card .efc-login-divider{
  margin:18px auto 24px!important;
}
body.login-page .efc-reset-request-card .efc-login-intro{
  display:none!important;
}
body.login-page .efc-reset-request-card .control-group{
  margin-bottom:14px!important;
}
body.login-page .efc-reset-request-card input[type=email],
body.login-page .efc-reset-request-card input[type=text]{
  height:46px!important;
  min-height:46px!important;
}
body.login-page .efc-reset-request-card .efc-reset-submit{
  margin-top:0!important;
}
body.login-page .efc-reset-request-card .efc-reset-submit button{
  min-height:46px!important;
  padding:10px 16px!important;
  font-size:1.05rem!important;
}
body.login-page .efc-reset-request-card .efc-reset-back-wrap{
  margin-top:20px!important;
  padding-top:18px!important;
}
body.login-page .efc-reset-request-card .efc-reset-back{
  font-size:.92rem!important;
}

@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-reset-request-card{
    width:min(620px,calc(100vw - 32px))!important;
    padding:24px 24px 22px!important;
  }
  body.login-page .efc-reset-request-card #efc-reset-title{
    font-size:36px!important;
  }
  body.login-page .efc-reset-request-card .efc-login-divider{
    margin:14px auto 18px!important;
  }
  body.login-page .efc-reset-request-card input[type=email],
  body.login-page .efc-reset-request-card input[type=text]{
    height:40px!important;
    min-height:40px!important;
  }
  body.login-page .efc-reset-request-card .efc-reset-submit button{
    min-height:42px!important;
    padding:8px 14px!important;
  }
  body.login-page .efc-reset-request-card .efc-reset-back-wrap{
    margin-top:16px!important;
    padding-top:14px!important;
  }
}

@media(max-width:650px){
  body.login-page .efc-reset-request-card{
    width:min(94vw,520px)!important;
    padding:26px 18px 24px!important;
  }
  body.login-page .efc-reset-request-card #efc-reset-title{
    font-size:2rem!important;
  }
  body.login-page .efc-reset-request-card .efc-login-divider{
    margin:14px auto 18px!important;
  }
}


/* ==========================================================
   Passwort vergessen – Statusmeldungen unterhalb – 1.0.152
   ========================================================== */
body.login-page .efc-reset-request-status-stack{
  width:min(700px,calc(100vw - 36px));
  margin:16px auto 0;
  display:grid;
  gap:12px;
}
body.login-page .efc-reset-request-status{
  position:relative;
  display:flex;
  align-items:center;
  gap:20px;
  box-sizing:border-box;
  padding:18px 22px;
  border-radius:4px;
  background:rgba(12,8,8,.96);
  box-shadow:0 14px 38px rgba(0,0,0,.34);
}
body.login-page .efc-reset-request-status__icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:40px;
  font-weight:300;
  line-height:1;
}
body.login-page .efc-reset-request-status__title{
  margin:0 0 5px;
  color:#fff;
  font-size:1.05rem;
  font-weight:800;
}
body.login-page .efc-reset-request-status__text{
  color:#f2f2f2;
  font-size:.95rem;
  line-height:1.5;
}

body.login-page .efc-reset-request-status.is-error{
  border:1px solid #ed1b2f;
  background:linear-gradient(90deg,rgba(53,4,8,.96),rgba(12,8,8,.97));
}
body.login-page .efc-reset-request-status.is-error .efc-reset-request-status__icon{
  background:#ed1b2f;
  box-shadow:0 0 20px rgba(237,27,47,.28);
}
body.login-page .efc-reset-request-status.is-error .efc-reset-request-status__title{
  color:#fff;
}

body.login-page .efc-reset-request-status.is-info{
  border:1px solid #1384ad;
  background:linear-gradient(90deg,rgba(4,34,45,.96),rgba(8,10,12,.97));
}
body.login-page .efc-reset-request-status.is-info .efc-reset-request-status__icon{
  background:#0873a2;
}

@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-reset-request-status-stack{
    width:min(620px,calc(100vw - 32px));
    margin-top:10px;
  }
  body.login-page .efc-reset-request-status{
    gap:14px;
    padding:12px 16px;
  }
  body.login-page .efc-reset-request-status__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:32px;
  }
  body.login-page .efc-reset-request-status__title{
    font-size:.95rem;
  }
  body.login-page .efc-reset-request-status__text{
    font-size:.84rem;
  }
}

@media(max-width:650px){
  body.login-page .efc-reset-request-status-stack{
    width:min(94vw,520px);
    margin-top:10px;
  }
  body.login-page .efc-reset-request-status{
    align-items:flex-start;
    gap:13px;
    padding:15px;
  }
  body.login-page .efc-reset-request-status__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:32px;
  }
  body.login-page .efc-reset-request-status__text{
    font-size:.86rem;
  }
}


/* ==========================================================
   Passwort vergessen: Joomla-Fehler zuverlässig unter Formular
   Version 1.0.154
   ========================================================== */
body.login-page .efc-reset-message-target{
  width:min(700px,calc(100vw - 36px));
  margin:14px auto 0;
  position:relative;
  z-index:20;
}
body.login-page .efc-reset-message-target:empty{
  display:none;
}
body.login-page .efc-reset-relocated-message{
  box-sizing:border-box;
  width:100%;
  display:flex;
  align-items:center;
  gap:20px;
  padding:18px 22px;
  border-radius:4px;
  color:#fff;
  background:linear-gradient(90deg,rgba(55,3,8,.98),rgba(15,5,7,.98));
  border:1px solid #ed1b2f;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
body.login-page .efc-reset-relocated-message__icon{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ed1b2f;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:42px;
  font-weight:300;
  line-height:1;
  box-shadow:0 0 20px rgba(237,27,47,.3);
}
body.login-page .efc-reset-relocated-message__body{
  min-width:0;
  flex:1 1 auto;
}
body.login-page .efc-reset-relocated-message__title{
  margin:0 0 5px;
  color:#fff;
  font-size:1.05rem;
  line-height:1.2;
  font-weight:800;
}
body.login-page .efc-reset-relocated-message__text{
  color:#f4f4f4;
  font-size:.94rem;
  line-height:1.48;
}

/* Auf der Passwort-vergessen-Seite darf die ursprüngliche Joomla-Box
   nach dem Verschieben keinen Platz mehr belegen. */
body.login-page #system-message-container[aria-hidden="true"],
body.login-page .system-message-container[aria-hidden="true"]{
  display:none !important;
}

@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-reset-message-target{
    width:min(620px,calc(100vw - 32px));
    margin-top:9px;
  }
  body.login-page .efc-reset-relocated-message{
    gap:14px;
    padding:12px 16px;
  }
  body.login-page .efc-reset-relocated-message__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:33px;
  }
  body.login-page .efc-reset-relocated-message__title{font-size:.94rem;}
  body.login-page .efc-reset-relocated-message__text{font-size:.83rem;}
}
@media(max-width:650px){
  body.login-page .efc-reset-message-target{
    width:min(94vw,520px);
    margin-top:10px;
  }
  body.login-page .efc-reset-relocated-message{
    align-items:flex-start;
    gap:13px;
    padding:14px;
  }
  body.login-page .efc-reset-relocated-message__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:33px;
  }
  body.login-page .efc-reset-relocated-message__text{font-size:.85rem;}
}


/* ==========================================================
   Passwort vergessen – Status exakt unter Dialog 1.0.155
   ========================================================== */
body.login-page .efc-reset-request-scene{
  width:min(100%,720px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.login-page .efc-reset-request-card{
  width:min(700px,calc(100vw - 36px))!important;
  max-width:700px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.login-page .efc-reset-message-target{
  width:min(700px,calc(100vw - 36px))!important;
  max-width:700px!important;
  margin:14px auto 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
body.login-page .efc-reset-relocated-message{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* verhindert, dass alte Layoutregeln die Meldung seitlich versetzen */
body.login-page .efc-reset-request-scene .efc-reset-message-target,
body.login-page .efc-reset-request-scene .efc-reset-relocated-message{
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-reset-request-card,
  body.login-page .efc-reset-message-target{
    width:min(620px,calc(100vw - 32px))!important;
    max-width:620px!important;
  }
}
@media(max-width:650px){
  body.login-page .efc-reset-request-card,
  body.login-page .efc-reset-message-target{
    width:min(94vw,520px)!important;
    max-width:520px!important;
  }
}


/* ==========================================================
   Zurücksetzen bestätigen – Fehlerstatus unter Dialog – 1.0.157
   ========================================================== */
body.login-page .efc-reset-scene .efc-reset-request-status-stack{
  width:min(760px,calc(100vw - 36px));
  margin:16px auto 0;
}
@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-reset-scene .efc-reset-request-status-stack{
    width:min(760px,calc(100vw - 32px));
  }
}
@media(max-width:650px){
  body.login-page .efc-reset-scene .efc-reset-request-status-stack{
    width:min(94vw,520px);
  }
}


/* ==========================================================
   Zurücksetzen bestätigen – Fehler exakt unter Dialog 1.0.158
   ========================================================== */
body.login-page .efc-confirm-message-target{
  width:min(760px,calc(100vw - 40px));
  max-width:760px;
  margin:14px auto 0;
  padding:0;
  box-sizing:border-box;
  position:relative;
  z-index:30;
}
body.login-page .efc-confirm-message-target:empty{
  display:none;
}
body.login-page .efc-confirm-relocated-message{
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:20px;
  padding:18px 22px;
  margin:0;
  border:1px solid #ed1b2f;
  border-radius:4px;
  background:linear-gradient(90deg,rgba(55,3,8,.98),rgba(15,5,7,.98));
  color:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
body.login-page .efc-confirm-relocated-message__icon{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ed1b2f;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:42px;
  font-weight:300;
  line-height:1;
  box-shadow:0 0 20px rgba(237,27,47,.3);
}
body.login-page .efc-confirm-relocated-message__body{
  min-width:0;
  flex:1 1 auto;
}
body.login-page .efc-confirm-relocated-message__title{
  margin:0 0 5px;
  color:#fff;
  font-size:1.05rem;
  line-height:1.2;
  font-weight:800;
}
body.login-page .efc-confirm-relocated-message__text{
  color:#f4f4f4;
  font-size:.94rem;
  line-height:1.48;
}
body.login-page .efc-field-error{
  border-color:#ed1b2f!important;
  box-shadow:0 0 0 1px rgba(237,27,47,.28)!important;
}
body.login-page #system-message-container[aria-hidden="true"],
body.login-page .system-message-container[aria-hidden="true"]{
  display:none!important;
}

/* force same horizontal axis as confirm dialog */
body.login-page .efc-reset-scene,
body.login-page .efc-reset-scene .efc-login-wrap,
body.login-page .efc-confirm-message-target{
  margin-left:auto!important;
  margin-right:auto!important;
}
body.login-page .efc-confirm-message-target,
body.login-page .efc-confirm-relocated-message{
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

@media(max-height:760px) and (min-width:651px){
  body.login-page .efc-confirm-message-target{
    width:min(700px,calc(100vw - 34px));
    max-width:700px;
    margin-top:10px;
  }
  body.login-page .efc-confirm-relocated-message{
    gap:14px;
    padding:12px 16px;
  }
  body.login-page .efc-confirm-relocated-message__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:33px;
  }
  body.login-page .efc-confirm-relocated-message__title{font-size:.94rem;}
  body.login-page .efc-confirm-relocated-message__text{font-size:.83rem;}
}
@media(max-width:650px){
  body.login-page .efc-confirm-message-target{
    width:min(94vw,520px);
    max-width:520px;
    margin-top:10px;
  }
  body.login-page .efc-confirm-relocated-message{
    align-items:flex-start;
    gap:13px;
    padding:14px;
  }
  body.login-page .efc-confirm-relocated-message__icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:33px;
  }
  body.login-page .efc-confirm-relocated-message__text{font-size:.85rem;}
}


/* v1.0.160 – Reset-confirm status: only custom message below dialog */
body.efc-auth-page .joomla-alert--danger,
body.efc-auth-page .alert-danger,
body.efc-auth-page #system-message-container > .alert,
body.efc-auth-page #system-message-container .joomla-alert {
    display: none !important;
}

/* Custom EFC status box */
.efc-status-message,
.efc-auth-status,
.efc-reset-status,
.efc-inline-status {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 14px auto 0 !important;
    background: #070707 !important;
    color: #fff !important;
    border: 1px solid #ed1b2f !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
.efc-status-message.efc-error,
.efc-auth-status.efc-error,
.efc-reset-status.efc-error,
.efc-inline-status.efc-error {
    background: #070707 !important;
    border-color: #ed1b2f !important;
}


/* ==========================================================
   1.0.161 – Fehlerboxen bei Passwort vergessen + Confirm
   exakt schwarzer Hintergrund, roter Rahmen
   ========================================================== */
body.login-page .efc-reset-request-status.is-error,
body.login-page .efc-reset-relocated-message,
body.login-page .efc-reset-relocated-message.is-error,
body.login-page .efc-confirm-relocated-message,
body.login-page .efc-confirm-relocated-message.is-error,
body.login-page .efc-reset-message-target .is-error,
body.login-page .efc-confirm-message-target .is-error {
  background:#070707 !important;
  background-image:none !important;
  border:1px solid #ed1b2f !important;
  color:#fff !important;
  box-shadow:0 12px 32px rgba(0,0,0,.35) !important;
}

body.login-page .efc-reset-request-status.is-error .efc-reset-request-status__title,
body.login-page .efc-reset-request-status.is-error .efc-reset-request-status__text,
body.login-page .efc-reset-relocated-message__title,
body.login-page .efc-reset-relocated-message__text,
body.login-page .efc-confirm-relocated-message__title,
body.login-page .efc-confirm-relocated-message__text {
  color:#fff !important;
}

/* X-Kreis bleibt rot */
body.login-page .efc-reset-request-status.is-error .efc-reset-request-status__icon,
body.login-page .efc-reset-relocated-message__icon,
body.login-page .efc-confirm-relocated-message__icon {
  background:#ed1b2f !important;
  color:#fff !important;
}
\n\n/* ==========================================================\n   1.0.162 – Neues Passwort: exakt wie die übrigen Auth-Dialoge\n   ohne Branding-Header/Icon; Status zentriert darunter\n   ========================================================== */\nbody.login-page .efc-complete-scene{\n  width:100%!important;\n  max-width:none!important;\n  padding:0!important;\n}\nbody.login-page .efc-complete-card{\n  width:min(760px,calc(100vw - 36px))!important;\n  max-width:760px!important;\n  border-top:4px solid #ed1b2f!important;\n}\nbody.login-page .efc-complete-body{\n  padding:28px 38px 30px!important;\n}\nbody.login-page .efc-complete-body h1{\n  margin:0!important;\n  font-size:clamp(30px,3.2vw,46px)!important;\n  line-height:1.05!important;\n  text-align:center!important;\n}\nbody.login-page .efc-complete-body__divider{\n  width:430px!important;\n  max-width:72%!important;\n  margin:18px auto 22px!important;\n}\nbody.login-page .efc-complete-body .efc-password-rule{\n  text-align:center!important;\n  margin:0 0 8px!important;\n  font-size:15px!important;\n}\nbody.login-page .efc-complete-body input[type=password]{\n  height:46px!important;\n  min-height:46px!important;\n}\nbody.login-page .efc-complete-body .efc-reset-submit button{\n  min-height:46px!important;\n}\nbody.login-page .efc-complete-status-stack{\n  width:min(760px,calc(100vw - 36px))!important;\n  max-width:760px!important;\n  margin:14px auto 0!important;\n  gap:10px!important;\n}\nbody.login-page .efc-complete-status{\n  display:flex!important;\n  align-items:center!important;\n  gap:20px!important;\n  width:100%!important;\n  box-sizing:border-box!important;\n  padding:18px 22px!important;\n  background:#070707!important;\n  background-image:none!important;\n  color:#fff!important;\n  border:1px solid #ed1b2f!important;\n  border-radius:4px!important;\n  box-shadow:0 12px 32px rgba(0,0,0,.35)!important;\n}\nbody.login-page .efc-complete-status__icon{\n  display:flex!important;align-items:center!important;justify-content:center!important;\n  flex:0 0 56px!important;width:56px!important;height:56px!important;\n  border-radius:50%!important;background:#ed1b2f!important;color:#fff!important;\n  font-size:42px!important;line-height:1!important;font-weight:300!important;\n}\nbody.login-page .efc-complete-status__title{\n  color:#fff!important;font-size:1.05rem!important;font-weight:800!important;\n}\nbody.login-page .efc-complete-status__text{\n  color:#fff!important;font-size:.92rem!important;line-height:1.45!important;\n}\nbody.login-page .efc-complete-status.is-info{border-color:#159447!important}\nbody.login-page .efc-complete-status.is-info .efc-complete-status__icon{background:#18b957!important}\n@media(max-height:760px) and (min-width:651px){\n  body.login-page .efc-complete-card,body.login-page .efc-complete-status-stack{width:min(700px,calc(100vw - 32px))!important;max-width:700px!important}\n  body.login-page .efc-complete-body{padding:20px 30px 22px!important}\n  body.login-page .efc-complete-body h1{font-size:34px!important}\n  body.login-page .efc-complete-body__divider{margin:12px auto 14px!important}\n}\n@media(max-width:650px){\n  body.login-page .efc-complete-card,body.login-page .efc-complete-status-stack{width:min(94vw,560px)!important;max-width:560px!important}\n  body.login-page .efc-complete-body{padding:22px 18px 24px!important}\n  body.login-page .efc-complete-body h1{font-size:30px!important}\n  body.login-page .efc-complete-body__divider{max-width:86%!important;margin:14px auto 18px!important}\n  body.login-page .efc-complete-status{gap:14px!important;padding:14px!important;align-items:flex-start!important}\n  body.login-page .efc-complete-status__icon{flex-basis:46px!important;width:46px!important;height:46px!important;font-size:34px!important}\n}\n

/* 1.0.163: Erfolgsdialog ohne Vereins-Header; kleiner Adler unter der Überschrift bleibt */
.efc-password-success-dialog__body{
  padding:34px 34px 31px;
}
.efc-password-success-dialog__body .efc-password-success-dialog__divider{
  margin:17px auto 20px;
}
.efc-password-success-dialog__body .efc-password-success-dialog__icon{
  margin:0 auto 16px;
}
@media(max-height:720px) and (min-width:651px){
  .efc-password-success-dialog__body{padding:23px 28px 22px}
  .efc-password-success-dialog__body .efc-password-success-dialog__divider{margin:10px auto 13px}
}
@media(max-width:650px){
  .efc-password-success-dialog__body{padding:27px 20px 25px}
  .efc-password-success-dialog__body .efc-password-success-dialog__divider{width:min(330px,88%);margin:13px auto 16px}
}


/* ==========================================================
   Fahrt-Check-in Verwaltung – 1.0.173
   ========================================================== */
.member-board-checkin-panel{
  margin:22px 0 26px;
  padding:20px;
  border:1px solid rgba(255,255,255,.14);
  background:#0b0b0d;
}
.member-board-checkin-head h3{margin:4px 0 8px}
.member-board-checkin-head p:last-child{margin:0;color:#bbb}
.member-board-checkin-list{display:grid;gap:12px;margin-top:18px}
.member-board-checkin-item{
  padding:16px;
  border:1px solid rgba(255,255,255,.12);
  background:#121216;
}
.member-board-checkin-copy{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  flex-wrap:wrap;
}
.member-board-checkin-copy strong{color:#fff}
.member-board-checkin-copy span{color:#aaa;font-size:.9rem}
.member-board-checkin-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.member-board-checkin-state{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:3px;
  font-size:.9rem;
  font-weight:800;
}
.member-board-checkin-state.is-open{
  background:rgba(34,197,94,.12);
  border:1px solid rgba(34,197,94,.65);
  color:#9ff3b8;
}
.member-board-checkin-state.is-closed{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);
  color:#ccc;
}
.member-board-checkin-toggle{
  min-height:40px;
  padding:9px 14px;
  border:0;
  border-radius:3px;
  background:#e3182d;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.member-board-checkin-toggle:disabled{opacity:.55;cursor:wait}
.member-board-checkin-url{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.1);
}
.member-board-checkin-url span{
  display:block;
  margin-bottom:6px;
  color:#aaa;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.member-board-checkin-url code{
  display:block;
  overflow-wrap:anywhere;
  color:#fff;
  font-size:.84rem;
}
.member-board-participant-checkin{
  display:inline-block;
  margin-top:5px;
  font-size:.82rem;
  font-weight:700;
}
.member-board-participant-checkin.is-checked-in{color:#7fe89c}
.member-board-participant-checkin.is-pending{color:#aaa}

@media(max-width:650px){
  .member-board-checkin-panel{padding:15px}
  .member-board-checkin-copy{display:block}
  .member-board-checkin-copy span{display:block;margin-top:4px}
  .member-board-checkin-actions{align-items:stretch}
  .member-board-checkin-toggle{width:100%}
  .member-board-checkin-state{width:100%;justify-content:center}
}

.member-trip-checkin-button{text-decoration:none;text-align:center;background:#111;border-left:4px solid #e3182d}.member-trip-checkin-button:hover{background:#1b1b1b}

.member-board-qr-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.member-board-qr-wrap img{display:block;background:#fff;padding:8px;border-radius:4px;max-width:220px;height:auto}
.member-board-qr-wrap code{flex:1;min-width:220px}
.member-board-person-checkin{display:block;margin-top:8px;min-height:34px;padding:7px 10px;border:1px solid #e3182d;background:#111;color:#fff;font-weight:700;font-size:.78rem;cursor:pointer}
.member-board-person-checkin:hover{background:#e3182d}
.member-board-person-checkin:disabled{opacity:.55;cursor:wait}
@media(max-width:650px){.member-board-qr-wrap{display:block}.member-board-qr-wrap img{margin:0 auto 12px}.member-board-qr-wrap code{min-width:0}}

.member-board-qr-download{display:flex;flex-direction:column;align-items:center;gap:10px}
.member-board-pdf-button{display:inline-flex;align-items:center;justify-content:center;width:220px;min-height:42px;padding:10px 12px;background:#e3182d;color:#fff!important;text-decoration:none!important;text-align:center;text-transform:uppercase;font-size:.76rem;font-weight:800;line-height:1.2}
.member-board-pdf-button:hover{background:#c91326;color:#fff!important}

/* 1.0.306 – kompakte tabellarische Teilnehmerverwaltung */
.member-board-table-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:28px 0 12px}
.member-board-table-toolbar h3{margin:0 0 4px}.member-board-table-toolbar p{margin:0;color:#777}
.member-board-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.member-board-export{display:inline-flex;align-items:center;justify-content:center;background:#151515;color:#fff!important;border:1px solid #e3182d;padding:10px 14px;text-decoration:none!important;font-weight:800;font-size:13px}
.member-board-export:hover{background:#e3182d}
.member-board-table-wrap{width:100%;overflow-x:auto;border:1px solid #ddd;background:#fff}
.member-board-table{width:100%;min-width:1180px;border-collapse:collapse;font-size:13px;color:#555}
.member-board-table th{background:#151515;color:#fff;text-align:left;padding:11px 10px;white-space:nowrap;border-right:1px solid #333}
.member-board-table td{padding:10px;vertical-align:top;border-bottom:1px solid #e5e5e5}
.member-board-table tbody tr:hover{background:#fafafa}
.member-board-table tr.is-cancelled{opacity:.58;background:#f4f4f4}
.member-board-table td strong{display:block;color:#555}.member-board-table td small{display:block;margin-top:4px;color:#999;font-size:11px;line-height:1.35}
.member-board-table .member-board-participant-checkin{display:inline-block;font-size:12px;font-weight:800}
.member-board-table .member-board-participant-checkin.is-checked-in{color:#5bcf84}.member-board-table .member-board-participant-checkin.is-pending{color:#999}
.member-board-table-actions{min-width:180px}.member-board-table-actions button{display:block;width:100%;margin:0 0 6px;padding:8px 9px;font-size:11px}
@media(max-width:760px){.member-board-table-toolbar{align-items:stretch;flex-direction:column}.member-board-export-actions{width:100%}.member-board-export{flex:1}.member-board-table-wrap{margin-left:-4px;margin-right:-4px;width:calc(100% + 8px)}}

/* 1.0.306 – aktive und stornierte Anmeldungen getrennt */
.member-board-table-toolbar-cancelled{margin-top:38px;padding-top:24px;border-top:2px solid #e5e5e5}
.member-board-table-wrap-cancelled{margin-bottom:10px}
.member-board-table-cancelled tbody tr{background:#f7f7f7}
.member-board-table-cancelled tbody tr:hover{background:#f2f2f2}

/* 1.0.306 – getrennte Zähler für aktive und stornierte Anmeldungen */
.member-board-counts{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.member-board-count{display:inline-flex;align-items:center;justify-content:center;background:#111;padding:10px 13px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.15px;white-space:nowrap}
.member-board-count-active{color:#62d98b}
.member-board-count-cancelled{color:#ff4d5f}
@media(max-width:760px){.member-board-counts{justify-content:flex-start;width:100%}.member-board-count{flex:1 1 auto}}

/* 1.0.306 – Mitgliederübersicht in aktive und kommende Bereiche getrennt */
.member-overview-group{margin-top:28px}
.member-overview-group:first-of-type{margin-top:22px}
.member-overview-group-head{margin:0 0 12px}
.member-overview-group-head .member-overline{margin-bottom:4px}
.member-overview-group-head h3{margin:0;font-size:22px;color:#111}
.member-grid-active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.member-grid-soon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.member-overview-group-soon{padding-top:24px;border-top:1px solid #d7d7d7}
@media(max-width:1050px){.member-grid-soon{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.member-grid-active,.member-grid-soon{grid-template-columns:1fr}.member-overview-group-head h3{font-size:20px}}

/* 1.0.306 – vier kommende Bereiche nebeneinander */
@media(min-width:1051px){
  .member-grid-soon .member-card{min-width:0}
  .member-grid-soon .member-card h3{font-size:18px}
  .member-grid-soon .member-card p{overflow-wrap:anywhere}
}

/* 1.0.306 – linkes Menü nach aktiven und kommenden Bereichen gruppiert */
.member-nav-group{margin:0}
.member-nav-group + .member-nav-group{margin-top:10px;padding-top:10px;border-top:1px solid #28282b}
.member-nav-group-title{padding:5px 8px 7px;color:#f3203d;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.member-nav-group .member-nav-disabled{display:flex;align-items:center;gap:12px;padding:11px 8px;color:#777;font-size:14px;cursor:default;user-select:none}
.member-nav-group .member-nav-disabled>span{width:20px;text-align:center;color:#5f5f62;font-size:12px}
.member-nav-group-active a{color:#f4f4f4}
.member-nav-group-active a>span{color:#f3203d}
.member-nav-group-soon .member-nav-disabled::after{content:"BALD";margin-left:auto;color:#555;font-size:8px;font-weight:900;letter-spacing:.6px}

/* 1.0.306 – Abmelden direkt unter dem angemeldeten Benutzer */
.member-sidebar-logout{padding:8px 8px;border-top:1px solid #28282b;border-bottom:1px solid #28282b}
.member-sidebar-logout form{margin:0}
.member-sidebar-logout-button{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;color:#f3203d;text-align:left;padding:10px 8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.member-sidebar-logout-button:hover,.member-sidebar-logout-button:focus{background:#19191b;color:#ff4058;outline:none}
.member-sidebar-logout-button::before{content:"↪";display:inline-block;width:20px;margin-right:4px;color:#f3203d}

/* 1.0.306 – Busfahrten kompakter, weniger Leerraum unter Anmeldeschluss */
.member-trip-card,
.member-trip-item,
.member-trips-list article{
  min-height:0!important;
  height:auto!important;
}
.member-trip-card{
  padding-bottom:22px!important;
}
.member-trip-card-body,
.member-trip-content{
  min-height:0!important;
  padding-bottom:0!important;
}
.member-trip-card .member-trip-actions,
.member-trip-card .member-trip-meta-actions,
.member-trip-card .member-trip-registration{
  margin-bottom:0!important;
}
@media(min-width:761px){
  .member-trip-card{
    padding-top:28px!important;
    padding-bottom:24px!important;
  }
}

/* 1.0.306 – tatsächliche Busfahrten-Container kompakt */
.member-main-panel>.member-trips{align-self:start!important;height:auto!important;min-height:0!important}
.member-trips .member-trip-panel{height:auto!important;min-height:0!important;padding-bottom:14px!important}
.member-trips .member-trip-row{height:auto!important;min-height:0!important;padding-top:18px!important;padding-bottom:18px!important;align-self:start!important}
.member-trips .member-trip-row:last-child{margin-bottom:0!important}
@media(min-width:651px){.member-trips .member-trip-panel{padding-bottom:14px!important}}

/* 1.0.306 – Busfahrten wirklich auf Inhaltshöhe begrenzen.
   Ursache: der rechte Bereich wurde innerhalb des Mitglieder-Grid auf die
   Höhe der linken Navigation gestreckt. Deshalb muss bereits der
   member-main-panel selbst oben/intrinsisch ausgerichtet werden. */
.member-shell{
  align-items:start!important;
}
.member-main-panel{
  align-self:start!important;
  height:fit-content!important;
  min-height:0!important;
}
.member-main-panel>.member-trips{
  align-self:start!important;
  height:fit-content!important;
  min-height:0!important;
  max-height:none!important;
}
.member-trips .member-trip-panel.is-active{
  display:block!important;
  height:fit-content!important;
  min-height:0!important;
  padding-bottom:18px!important;
}
.member-trips .member-trip-row{
  height:fit-content!important;
  min-height:0!important;
  align-items:center!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
}
.member-trips .member-trip-row:last-child{
  border-bottom:0!important;
}

/* 1.0.306 – Teilnehmerliste für aktive Fahrtanmeldungen */
.member-trip-action{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
.member-trip-participants-button{border:0;background:#111;color:#fff;padding:11px 15px;min-width:158px;font:inherit;font-size:12px;font-weight:900;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.member-trip-participants-button:hover,.member-trip-participants-button:focus{background:#29292b;outline:none}
.member-trip-participants-button span{display:block;margin-top:3px;color:#aaa;font-size:9px;letter-spacing:.4px}
.member-participants-dialog{width:min(680px,calc(100% - 28px));max-height:82vh;padding:0;border:0;background:transparent;color:#222}
.member-participants-dialog::backdrop{background:rgba(0,0,0,.72)}
.member-participants-dialog-card{background:#fff;border-top:4px solid #f3203d;box-shadow:0 22px 70px rgba(0,0,0,.35)}
.member-participants-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #ddd}
.member-participants-dialog-head h3{margin:4px 0 5px;font-size:22px;color:#111}
.member-participants-dialog-head p:last-child{margin:0;color:#777;font-size:13px}
.member-participants-dialog-close{border:0;background:#111;color:#fff;width:38px;height:38px;font-size:25px;line-height:1;cursor:pointer}
.member-participants-dialog-body{padding:18px 24px;max-height:52vh;overflow:auto}
.member-participants-table-wrap{overflow-x:auto;border:1px solid #ddd}
.member-participants-table{width:100%;border-collapse:collapse;font-size:14px}
.member-participants-table th{background:#111;color:#fff;text-align:left;padding:11px 12px}
.member-participants-table td{padding:11px 12px;border-bottom:1px solid #e5e5e5}
.member-participants-table tbody tr:last-child td{border-bottom:0}
.member-participants-table td:first-child{width:58px;color:#999}
.member-participants-table td:last-child{width:120px}
.member-participants-empty{padding:24px;background:#f5f5f5;text-align:center;color:#666}
.member-participants-dialog-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 24px;border-top:1px solid #ddd;background:#f7f7f7}
.member-participants-dialog-foot span{color:#777;font-size:12px}
.member-participants-dialog-foot button{border:0;background:#111;color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}
@media(max-width:640px){.member-participants-dialog-head{padding:18px}.member-participants-dialog-body{padding:14px 18px}.member-participants-dialog-foot{padding:14px 18px;align-items:stretch;flex-direction:column}.member-participants-dialog-foot button{width:100%}}

/* 1.0.306 – Teilnehmer- und Anmeldebutton exakt gleich breit */
.member-trip-action{
  width:190px!important;
  min-width:190px!important;
}
.member-trip-participants-button,
.member-trip-action .member-trip-register,
.member-trip-action .member-trip-register-button,
.member-trip-action>a,
.member-trip-action>button{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.member-trip-participants-button{
  padding-left:10px!important;
  padding-right:10px!important;
  font-size:12px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.member-trip-participants-button span{
  white-space:nowrap!important;
}
@media(max-width:640px){
  .member-trip-action{width:100%!important;min-width:0!important}
}

/* 1.0.306 – nur „Teilnehmer ansehen“ nach oben auf Höhe der Begegnung setzen.
   Der rote Anmeldebutton und der Anmeldeschluss bleiben unverändert. */
@media(min-width:641px){
  .member-trip-participants-button{
    transform:translateY(-88px)!important;
  }
}
@media(max-width:640px){
  .member-trip-participants-button{
    transform:none!important;
  }
}

/* 1.0.306 – Ansichten wieder strikt getrennt.
   [hidden] darf nicht durch Layout-CSS überschrieben werden. */
.member-main-panel [data-member-view][hidden]{
  display:none!important;
}

/* 1.0.306 – „Teilnehmer ansehen“ sauber auf Höhe der Begegnung ausrichten */
@media(min-width:641px){
  .member-trip-participants-button{
    transform:translateY(-50px)!important;
  }
}

/* 1.0.306 – Ticket-Auswahl pro Mitglied/Gast */
.member-ticket-choice{margin:14px 0 0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.member-ticket-choice legend{width:100%;margin:0 0 3px;color:#555;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.member-ticket-choice label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;color:#111}
.member-ticket-choice input[type="radio"]{width:18px;height:18px;margin:0;accent-color:#f3203d}
.member-ticket-choice.is-disabled{opacity:.45}
.member-guest-ticket-choice{margin:16px 0 4px;padding:14px 0;border-top:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2}
@media(max-width:640px){.member-ticket-choice{flex-direction:column;gap:10px}}

/* 1.0.306 – Teilnehmerverwaltung: Tabellen auf Desktop vollständig anzeigen.
   Keine horizontale Scrollleiste; Spalten verteilen sich auf die verfügbare Breite. */
@media(min-width:901px){
  .board-participant-table-wrap,
  .board-registration-table-wrap,
  .board-table-wrap,
  .member-board-table-wrap{
    overflow-x:visible!important;
    width:100%!important;
    max-width:100%!important;
  }

  .board-participant-table,
  .board-registration-table,
  .board-table,
  .member-board-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }

  .board-participant-table th,
  .board-participant-table td,
  .board-registration-table th,
  .board-registration-table td,
  .board-table th,
  .board-table td,
  .member-board-table th,
  .member-board-table td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

/* Auch generische Tabellencontainer der Teilnehmerverwaltung dürfen auf
   großen Bildschirmen keine eigene horizontale Scrollfläche erzwingen. */
@media(min-width:901px){
  [data-board-participants] .table-responsive,
  [data-board-participants] [class*="table-wrap"],
  [data-participant-management] .table-responsive,
  [data-participant-management] [class*="table-wrap"]{
    overflow-x:visible!important;
    max-width:100%!important;
  }

  [data-board-participants] table,
  [data-participant-management] table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }

  [data-board-participants] th,
  [data-board-participants] td,
  [data-participant-management] th,
  [data-participant-management] td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* 1.0.306 – Ticketübersicht direkt unter den Anmeldungszählern */
.member-board-summary{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.member-board-ticket-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.member-board-ticket-count{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;background:#111;font-size:10px;font-weight:900;text-transform:uppercase;white-space:nowrap}
.member-board-ticket-have{color:#43e58a}
.member-board-ticket-need{color:#f3203d}
@media(max-width:760px){
  .member-board-summary{align-items:stretch;width:100%}
  .member-board-ticket-counts{justify-content:flex-start}
}

/* 1.0.306 – Basis 1.0.306 + breitere Teilnehmerverwaltung auf Desktop */
@media(min-width:1100px){
  .member-board-management,
  [data-board-participants],
  [data-participant-management]{
    width:calc(100% + 180px)!important;
    max-width:none!important;
    margin-left:-90px!important;
    margin-right:-90px!important;
  }

  .member-board-management table,
  [data-board-participants] table,
  [data-participant-management] table{
    width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
  }

  .member-board-management th,
  .member-board-management td,
  [data-board-participants] th,
  [data-board-participants] td,
  [data-participant-management] th,
  [data-participant-management] td{
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .member-board-management th,
  [data-board-participants] th,
  [data-participant-management] th{
    white-space:nowrap!important;
  }
}

@media(min-width:1450px){
  .member-board-management,
  [data-board-participants],
  [data-participant-management]{
    width:calc(100% + 260px)!important;
    margin-left:-130px!important;
    margin-right:-130px!important;
  }
}

/* 1.0.306 – kompakte Joomla-Passwortänderung beim ersten Login */
.efc-force-password-card{max-width:620px!important;margin:34px auto!important}
.efc-force-password-intro{margin:12px 0 0;color:#d7d7d7;font-size:14px;line-height:1.55;text-align:center}
.efc-force-user{display:flex;flex-direction:column;gap:3px;margin:0 0 22px;padding:14px 16px;background:#171717;border-left:3px solid #f31937;color:#fff}
.efc-force-user strong{font-size:16px}
.efc-force-user span{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.6px}
.efc-force-password-form .control-group{margin:0 0 18px}
.efc-force-password-form label{display:block;margin:0 0 7px;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.efc-force-password-form input[type="password"]{box-sizing:border-box;width:100%;min-height:48px;padding:11px 13px;background:#fff;color:#111;border:1px solid #ccc}
.efc-force-password-form .password-group,
.efc-force-password-form .input-password-toggle{width:100%}
.efc-force-password-form .btn-secondary{background:#262626!important;color:#fff!important;border-color:#3b3b3b!important}
.efc-force-password-actions{margin-top:8px}
.efc-force-password-actions .btn-primary{width:100%;min-height:48px;background:#f31937!important;border:0!important;color:#fff!important;font-weight:900!important;text-transform:uppercase}
.efc-profile-fieldset{margin:0 0 18px;padding:15px;border:1px solid #333}
.efc-profile-fieldset legend{padding:0 7px;color:#fff;font-weight:800}
@media(max-width:680px){
  .efc-force-password-card{margin:18px 12px!important}
}

/* 1.0.306 – Joomla-Infohinweis bei erzwungener Passwortänderung ausblenden.
   Fehler-/Warnmeldungen bleiben weiterhin sichtbar. */
body.login-page .joomla-alert[type="info"],
body.login-page .alert-info,
body.login-page .message-info,
body.login-page #system-message-container .alert-info,
body.login-page #system-message-container [type="info"]{
  display:none!important;
}

/* 1.0.306 – Teilnehmerverwaltung kompakter:
   Fahrt-Spalte entfernt, Anmelder in Spalte 1, Ticketbedarf als eigene Spalte. */
.member-board-registrant{
  margin-top:4px!important;
}
.member-board-ticket-needed{
  display:inline-block;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.member-board-ticket-needed.is-yes{
  color:#129b3d;
}
.member-board-ticket-needed.is-no{
  color:#ed1b2f;
}
.member-board-table th:nth-child(5),
.member-board-table td:nth-child(5){
  text-align:center;
  white-space:nowrap;
}

/* 1.0.306 – Check-in direkt vor der rechten Aktionsspalte */
.member-board-table th:nth-child(8),
.member-board-table td:nth-child(8){white-space:nowrap}

/* 1.0.306 – Ticketstatus-Farben:
   "Ja" = Ticket wird benötigt = rot
   "Nein" = kein Ticket benötigt / Ticket vorhanden = grün */
.member-board-ticket-needed.is-yes{
  color:#ed1b2f!important;
}
.member-board-ticket-needed.is-no{
  color:#129b3d!important;
}

/* Ticketzahlen direkt in der Tabellenüberschrift.
   Reihenfolge: benötigt (rot) / nicht benötigt (grün). */
.member-board-ticket-head-counts{
  display:inline-block;
  margin-left:3px;
  font-weight:900;
}
.member-board-ticket-head-counts .is-yes{
  color:#ff4055;
}
.member-board-ticket-head-counts .is-no{
  color:#62d98b;
}

/* Teilnehmer und Kontakt erhalten bewusst den meisten Platz.
   Die übrigen Spalten werden kompakter verteilt. */
@media(min-width:901px){
  .member-board-table{
    table-layout:fixed!important;
  }
  .member-board-table th:nth-child(1),
  .member-board-table td:nth-child(1){width:13%!important}
  .member-board-table th:nth-child(2),
  .member-board-table td:nth-child(2){width:17%!important}
  .member-board-table th:nth-child(3),
  .member-board-table td:nth-child(3){width:19%!important}
  .member-board-table th:nth-child(4),
  .member-board-table td:nth-child(4){width:6%!important}
  .member-board-table th:nth-child(5),
  .member-board-table td:nth-child(5){width:11%!important}
  .member-board-table th:nth-child(6),
  .member-board-table td:nth-child(6){width:7%!important}
  .member-board-table th:nth-child(7),
  .member-board-table td:nth-child(7){width:9%!important}
  .member-board-table th:nth-child(8),
  .member-board-table td:nth-child(8){width:8%!important}
  .member-board-table th:nth-child(9),
  .member-board-table td:nth-child(9){width:10%!important}

  .member-board-table th:nth-child(2),
  .member-board-table td:nth-child(2),
  .member-board-table th:nth-child(3),
  .member-board-table td:nth-child(3){
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .member-board-table th:nth-child(4),
  .member-board-table td:nth-child(4),
  .member-board-table th:nth-child(6),
  .member-board-table td:nth-child(6),
  .member-board-table th:nth-child(7),
  .member-board-table td:nth-child(7),
  .member-board-table th:nth-child(8),
  .member-board-table td:nth-child(8){
    padding-left:7px!important;
    padding-right:7px!important;
  }

  .member-board-table-actions{
    min-width:0!important;
  }
  .member-board-table-actions button{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* 1.0.306 – öffentliche Fahrtanmeldung */
.member-board-public-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.member-board-public-actions label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase}
.member-board-public-actions input{width:110px;padding:9px;border:1px solid #bbb;background:#fff;color:#111}
.efc-public-page{min-height:70vh;background:#ededed;padding:42px 18px}
.efc-public-wrap{max-width:1050px;margin:auto;background:#fff;border-top:4px solid #ed1b2f;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.efc-public-wrap h1{margin:4px 0 8px;font-size:30px}.efc-public-lead{color:#666;margin-bottom:25px}
.efc-public-trip-card{display:flex;justify-content:space-between;gap:25px;align-items:center;border:1px solid #ddd;padding:22px;margin:12px 0}
.efc-public-trip-card h2{font-size:20px;margin:0 0 8px}.efc-public-trip-card p{margin:3px 0;color:#666}
.efc-public-trip-side{display:flex;flex-direction:column;gap:10px;min-width:180px;text-align:center}.efc-public-trip-side strong{color:#159447}.efc-public-trip-side a,.efc-public-submit,.efc-public-link{display:inline-block;background:#ed1b2f;color:#fff!important;padding:13px 18px;text-decoration:none;font-weight:900;text-transform:uppercase;border:0;cursor:pointer;text-align:center}
.efc-public-trip-summary{display:flex;justify-content:space-between;gap:15px;padding:16px;background:#f4f4f4;border-left:4px solid #ed1b2f;margin:20px 0}.efc-public-trip-summary strong{color:#159447}
.efc-public-person{border:1px solid #ddd;padding:18px;margin:14px 0}.efc-public-person-head{display:flex;justify-content:space-between;margin-bottom:14px}.efc-public-person-head button{border:0;background:#111;color:#fff;padding:6px 9px}
.efc-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.efc-public-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:12px;text-transform:uppercase}.efc-public-grid input{padding:11px;border:1px solid #ccc;font-size:15px}
.efc-public-person fieldset{border:0;padding:12px 0 0;margin:0}.efc-public-person legend{font-weight:900;margin-bottom:8px}.efc-public-person fieldset label{margin-right:18px}
.efc-public-add{background:#111;color:#fff;border:0;padding:11px 14px;font-weight:800}.efc-public-terms{display:block;margin:22px 0}.efc-public-note{font-size:12px;color:#666}.efc-hp{position:absolute!important;left:-9999px!important}
.efc-public-message{padding:16px;margin:15px 0;background:#f3f3f3;border-left:4px solid #888}.efc-public-message.is-success{border-color:#159447}.efc-public-message.is-error{border-color:#ed1b2f}.efc-public-cancel-form{margin-top:24px;border-top:1px solid #ddd;padding-top:18px}.efc-public-cancel-form button{background:#111;color:#fff;border:1px solid #ed1b2f;padding:11px 15px;font-weight:800}
.efc-public-home-card{position:relative;border-top-color:#ed1b2f!important}.efc-public-home-badge{position:absolute;right:18px;top:18px;background:#ed1b2f;color:#fff;padding:5px 8px;font-size:10px;font-weight:900}.efc-public-home-meta{color:#bbb}.efc-public-home-free{display:block;color:#62d98b;margin:12px 0}
@media(max-width:700px){.efc-public-grid{grid-template-columns:1fr}.efc-public-trip-card,.efc-public-trip-summary{flex-direction:column;align-items:flex-start}.efc-public-trip-side{width:100%}.efc-public-wrap{padding:20px}}


/* 1.0.306 – Öffentliche Busfahrt-Leiste unterhalb der drei Startseitenbereiche */
.efc-public-home-card {
  display: none !important;
}

.efc-public-home-strip {
  width: 100%;
  box-sizing: border-box;
  margin: 18px 0 0;
  padding: 18px 20px;
  border: 1px solid #2a2a2a;
  border-top: 3px solid #ed1b2f;
  background: #080808;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.efc-public-strip-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 18px;
  row-gap: 5px;
  align-items: baseline;
}

.efc-public-strip-label {
  grid-column: 1 / -1;
  color: #ed1b2f;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
}

.efc-public-strip-title {
  color: #fff;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
}

.efc-public-strip-meta {
  color: #bcbcbc;
  font-size: 13px;
  line-height: 1.35;
}

.efc-public-strip-action {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
}

.efc-public-strip-free {
  color: #56dd87;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.efc-public-strip-action a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #ed1b2f;
  color: #ed1b2f !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease;
}

.efc-public-strip-action a:hover,
.efc-public-strip-action a:focus {
  background: #ed1b2f;
  color: #fff !important;
}

@media (max-width: 760px) {
  .efc-public-home-strip {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
    padding: 18px;
  }

  .efc-public-strip-copy {
    grid-template-columns: 1fr;
    row-gap: 7px;
  }

  .efc-public-strip-action {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .efc-public-strip-action a {
    width: 100%;
    box-sizing: border-box;
  }
}


/* 1.0.306 – öffentliche Busfahrt im mittleren Hero-Bereich */
.efc-public-home-strip,
.efc-public-home-card {
  display: none !important;
}

.efc-public-hero-host {
  position: relative !important;
}

.efc-public-hero-trip {
  position: absolute;
  z-index: 8;
  right: clamp(24px, 5vw, 78px);
  top: 50%;
  transform: translateY(-50%);
  width: min(330px, 31vw);
  box-sizing: border-box;
  padding: 17px 19px 16px;
  background: rgba(7,7,7,.91);
  border: 1px solid rgba(255,255,255,.18);
  border-top: 3px solid #ed1b2f;
  box-shadow: 0 12px 30px rgba(0,0,0,.30);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.efc-public-hero-kicker {
  color: #ed1b2f;
  font-size: 10px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .1em;
}

.efc-public-hero-title {
  max-width: 100%;
  color: #fff;
  font-size: clamp(15px, 1.2vw, 19px);
  line-height: 1.22;
  font-weight: 900;
}

.efc-public-hero-meta {
  color: #c4c4c4;
  font-size: 12px;
  line-height: 1.3;
}

.efc-public-hero-free {
  margin-top: 4px;
  color: #55df88;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}

.efc-public-hero-link {
  margin-top: 3px;
  display: inline-flex;
  min-height: 35px;
  padding: 0 13px;
  align-items: center;
  justify-content: center;
  border: 1px solid #ed1b2f;
  color: #ed1b2f !important;
  text-decoration: none !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  transition: background .18s ease, color .18s ease;
}

.efc-public-hero-link:hover,
.efc-public-hero-link:focus {
  background: #ed1b2f;
  color: #fff !important;
}

/* Bei mittleren Breiten etwas kompakter, damit der Claim links frei bleibt. */
@media (max-width: 1100px) and (min-width: 761px) {
  .efc-public-hero-trip {
    right: 22px;
    width: min(300px, 34vw);
    padding: 14px 16px;
  }
}

/* Mobil nicht über den Claim legen, sondern direkt darunter in denselben Hero-Bereich. */
@media (max-width: 760px) {
  .efc-public-hero-host {
    display: flex !important;
    flex-direction: column;
  }

  .efc-public-hero-trip {
    position: relative;
    inset: auto;
    transform: none;
    width: calc(100% - 32px);
    margin: 16px;
    order: 99;
    padding: 16px;
  }

  .efc-public-hero-link {
    width: 100%;
    box-sizing: border-box;
  }
}


/* 1.0.306 – präzise Ausrichtung der öffentlichen Fahrtbox */
@media (min-width: 761px) {
  .efc-public-hero-trip {
    margin: 0 !important;
    z-index: 40;
  }
}


/* 1.0.306 – vollständiges EFC-Layout für die öffentliche Fahrtanmeldung */
.efc-public-registration-page{background:#ededed}
.efc-public-registration-page .efc-public-site-header{position:relative;z-index:20}
.efc-public-registration-page .efc-public-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.efc-public-registration-page .efc-public-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:13px}
.efc-public-registration-page .efc-public-nav a:hover{color:#ed1b2f}
.efc-public-registration-page .efc-public-page{padding:48px 18px 64px;min-height:65vh;background:#ededed}
.efc-public-registration-page .efc-public-wrap{max-width:1160px;margin:0 auto;padding:34px 38px 40px;background:#fff;border-top:4px solid #ed1b2f;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.efc-public-back{display:inline-block;margin-bottom:20px;color:#555!important;text-decoration:none!important;font-size:12px;font-weight:900;letter-spacing:.04em}
.efc-public-registration-page .member-overline{margin:0 0 8px;color:#ed1b2f;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.efc-public-registration-page .efc-public-wrap h1{margin:0;font-size:34px;line-height:1.15;color:#111}
.efc-public-registration-page .efc-public-trip-summary{margin:24px 0 30px;padding:18px 20px;background:#f4f4f4;border-left:5px solid #ed1b2f;display:flex;justify-content:space-between;align-items:center;gap:20px}
.efc-public-registration-page .efc-public-trip-summary strong{color:#159447;font-size:15px}
.efc-public-registration-page .efc-public-trip-summary span{color:#555;font-size:14px}
.efc-public-registration-page .efc-public-form{margin-top:6px}
.efc-public-registration-page .efc-public-person{margin:0 0 18px;padding:22px;border:1px solid #ddd;background:#fafafa}
.efc-public-registration-page .efc-public-person-head{margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #ddd}
.efc-public-registration-page .efc-public-person-head strong{font-size:17px;color:#111}
.efc-public-registration-page .efc-public-person-head button{background:#111;color:#fff;border:1px solid #ed1b2f;padding:7px 11px;font-weight:800;cursor:pointer}
.efc-public-registration-page .efc-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.efc-public-registration-page .efc-public-grid label{color:#444;font-size:11px;letter-spacing:.04em}
.efc-public-registration-page .efc-public-grid input{width:100%;box-sizing:border-box;background:#fff;border:1px solid #cfcfcf;padding:13px 12px;color:#111;outline:none}
.efc-public-registration-page .efc-public-grid input:focus{border-color:#ed1b2f;box-shadow:0 0 0 2px rgba(237,27,47,.10)}
.efc-public-registration-page .efc-public-person fieldset{margin-top:18px;padding:16px 0 0;border-top:1px solid #ddd}
.efc-public-registration-page .efc-public-person legend{padding:0;color:#111;font-size:13px}
.efc-public-registration-page .efc-public-person fieldset label{display:inline-flex;align-items:center;gap:7px;margin-right:25px;color:#333;font-weight:800}
.efc-public-registration-page .efc-public-person input[type=radio],
.efc-public-registration-page .efc-public-terms input{accent-color:#ed1b2f}
.efc-public-registration-page .efc-public-add{margin:2px 0 8px;background:#159447;color:#fff;border:1px solid #0d7837;padding:12px 16px;font-weight:900;text-transform:uppercase;cursor:pointer}
.efc-public-registration-page .efc-public-terms{margin:24px 0 18px;padding:16px 18px;background:#f4f4f4;border-left:4px solid #111;color:#444;line-height:1.45}
.efc-public-registration-page .efc-public-submit{min-height:48px;padding:14px 22px;background:#ed1b2f;color:#fff!important;border:1px solid #ed1b2f;font-weight:900;text-transform:uppercase;cursor:pointer}
.efc-public-registration-page .efc-public-submit:hover{background:#c91427}
.efc-public-registration-page .efc-public-note{margin:13px 0 0;color:#777;line-height:1.5}
.efc-public-registration-page .efc-public-message{margin:22px 0;padding:17px 19px;background:#f4f4f4;border-left:5px solid #888;color:#222}
.efc-public-registration-page .efc-public-message.is-success{border-color:#159447}
.efc-public-registration-page .efc-public-message.is-error{border-color:#ed1b2f}
@media(max-width:760px){
 .efc-public-registration-page .efc-public-nav{gap:14px}
 .efc-public-registration-page .efc-public-nav a{font-size:10px}
 .efc-public-registration-page .efc-public-page{padding:22px 10px 40px}
 .efc-public-registration-page .efc-public-wrap{padding:24px 18px 30px}
 .efc-public-registration-page .efc-public-wrap h1{font-size:26px}
 .efc-public-registration-page .efc-public-trip-summary{flex-direction:column;align-items:flex-start}
 .efc-public-registration-page .efc-public-grid{grid-template-columns:1fr}
 .efc-public-registration-page .efc-public-submit,.efc-public-registration-page .efc-public-add{width:100%}
}


/* 1.0.306 – öffentliche Fahrtanmeldung auf Basis der Startseite */
body.efc-public-home-layout{min-height:100vh;background:#030303;overflow-x:hidden}
.efc-public-home-layout .efc-public-home-main{margin-top:var(--header-height);min-height:calc(100vh - var(--header-height))}
.efc-public-home-layout .efc-public-form-hero{position:relative;min-height:calc(100vh - var(--header-height));padding:52px 0 68px;overflow:hidden;isolation:isolate}
.efc-public-home-layout .efc-public-form-hero>.hero-background{position:absolute;inset:0;z-index:-5;background-image:url("../img/hero-stadion.png");background-position:center 42%;background-repeat:no-repeat;background-size:cover;transform:scale(1.015)}
.efc-public-home-layout .efc-public-form-hero>.hero-overlay{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 35%,rgba(0,0,0,.48) 68%,rgba(0,0,0,.72) 100%),linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.9) 100%)}
.efc-public-home-layout .efc-public-form-hero>.hero-texture{position:absolute;inset:0;z-index:-3;opacity:.08;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 3px);pointer-events:none}
.efc-public-home-layout .efc-public-form-stage{display:flex;justify-content:center;align-items:flex-start}
.efc-public-home-layout .efc-public-wrap{width:min(100%,980px);margin:0 auto;padding:27px 31px 31px;box-sizing:border-box;background:rgba(250,250,250,.97);border-top:4px solid #ed1b2f;box-shadow:0 20px 55px rgba(0,0,0,.44);color:#111}
.efc-public-home-layout .efc-public-back{display:inline-block;margin-bottom:13px;color:#555!important;text-decoration:none!important;font-size:12px;font-weight:900;letter-spacing:.04em}
.efc-public-home-layout .member-overline{margin:0 0 6px;color:#ed1b2f}
.efc-public-home-layout .efc-public-wrap h1{margin:0;font-size:clamp(25px,2.1vw,32px);line-height:1.12}
.efc-public-home-layout .efc-public-trip-summary{margin:18px 0 22px;padding:13px 16px}
.efc-public-home-layout .efc-public-person{margin-bottom:14px;padding:17px 18px;background:rgba(255,255,255,.84)}
.efc-public-home-layout .efc-public-person-head{margin-bottom:13px;padding-bottom:10px}
.efc-public-home-layout .efc-public-grid{gap:12px 16px}
.efc-public-home-layout .efc-public-grid input{min-height:40px;padding:9px 11px}
.efc-public-home-layout .efc-public-person fieldset{margin-top:12px;padding-top:11px}
.efc-public-home-layout .efc-public-add{padding:10px 15px}
.efc-public-home-layout .efc-public-terms{margin:18px 0 14px;padding:12px 15px}
.efc-public-home-layout .efc-public-submit{min-height:44px;padding:12px 20px}
.efc-public-home-layout .site-footer{position:relative;z-index:3}
@media(max-width:760px){
 .efc-public-home-layout .efc-public-form-hero{padding:24px 0 40px}
 .efc-public-home-layout .efc-public-wrap{width:calc(100% - 20px);padding:21px 16px 25px}
 .efc-public-home-layout .efc-public-trip-summary{flex-direction:column;align-items:flex-start;gap:5px}
 .efc-public-home-layout .efc-public-grid{grid-template-columns:1fr}
 .efc-public-home-layout .efc-public-add,.efc-public-home-layout .efc-public-submit{width:100%}
}


/* 1.0.306 – Formular im freien Bereich zwischen Logo und rechtem Menürand zentrieren */
@media (min-width: 1100px) {
  .efc-public-home-layout .efc-public-form-stage {
    /* Das Startseitenlogo belegt links optisch einen eigenen Bereich.
       Durch den Versatz wird die Formularkarte im verbleibenden sichtbaren
       Bereich bis zum rechten Rand der Navigation (ANMELDEN) zentriert. */
    transform: translateX(125px);
  }
}
@media (max-width: 1099px) {
  .efc-public-home-layout .efc-public-form-stage {
    transform: none;
  }
}


/* 1.0.306 – vollständige Fahrtinformationen in der öffentlichen Anmeldung */
.efc-public-home-layout .efc-public-trip-info{
    margin:18px 0 18px;
    border:1px solid #d8d8d8;
    background:rgba(255,255,255,.78);
}
.efc-public-home-layout .efc-public-trip-info-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 18px;
    border-left:4px solid #ed1b2f;
    border-bottom:1px solid #dedede;
}
.efc-public-home-layout .efc-public-info-overline{
    margin:0 0 3px;
    color:#ed1b2f;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.efc-public-home-layout .efc-public-trip-info-head h2{
    margin:0;
    font-size:18px;
    line-height:1.2;
}
.efc-public-home-layout .efc-public-free-badge{
    flex:0 0 auto;
    padding:8px 11px;
    background:#111;
    color:#62e99a;
    font-size:12px;
    text-transform:uppercase;
}
.efc-public-home-layout .efc-public-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding:5px 18px 8px;
}
.efc-public-home-layout .efc-public-fact{
    min-width:0;
    padding:11px 14px 10px 0;
}
.efc-public-home-layout .efc-public-fact span,
.efc-public-home-layout .efc-public-description>span{
    display:block;
    margin-bottom:3px;
    color:#777;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.efc-public-home-layout .efc-public-fact strong{
    display:block;
    color:#111;
    font-size:14px;
    line-height:1.35;
}
.efc-public-home-layout .efc-public-fact-wide{
    grid-column:span 2;
}
.efc-public-home-layout .efc-public-description{
    margin:0 18px 16px;
    padding:13px 15px;
    border-left:3px solid #111;
    background:#f2f2f2;
}
.efc-public-home-layout .efc-public-description p{
    margin:0;
    color:#333;
    font-size:14px;
    line-height:1.55;
}
.efc-public-home-layout .efc-public-trip-summary-compact{
    margin:0 0 18px;
}
.efc-public-home-layout .efc-public-person-head{
    display:flex;
    align-items:center;
    gap:12px;
}
.efc-public-home-layout .efc-public-person-price{
    margin-left:auto;
    color:#159447;
    font-size:12px;
    font-weight:900;
}
.efc-public-home-layout .efc-public-person-head [data-remove]{
    margin-left:0;
}
@media(max-width:760px){
    .efc-public-home-layout .efc-public-trip-info-head{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .efc-public-home-layout .efc-public-facts{
        grid-template-columns:1fr 1fr;
    }
    .efc-public-home-layout .efc-public-fact-wide{
        grid-column:1/-1;
    }
    .efc-public-home-layout .efc-public-person-head{
        flex-wrap:wrap;
    }
    .efc-public-home-layout .efc-public-person-price{
        order:3;
        width:100%;
        margin-left:0;
    }
}
@media(max-width:480px){
    .efc-public-home-layout .efc-public-facts{
        grid-template-columns:1fr;
    }
    .efc-public-home-layout .efc-public-fact-wide{
        grid-column:auto;
    }
}

/* 1.0.306 – separater Bestätigungsdialog */
body.efc-public-modal-open{overflow:hidden}
.efc-public-success-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.efc-public-success-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.efc-public-success-dialog{position:relative;z-index:1;width:min(590px,100%);padding:30px 32px 26px;background:#fff;border-top:5px solid #1d9b50;box-shadow:0 22px 70px rgba(0,0,0,.45);text-align:center;animation:efcPublicModalIn .22s ease-out}
.efc-public-success-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:-4px auto 14px;border-radius:50%;background:#1d9b50;color:#fff;font-size:30px;font-weight:900}
.efc-public-success-dialog h2{margin:0 0 14px;color:#111;font-size:25px}
.efc-public-success-message{padding:16px 18px;border-left:4px solid #1d9b50;background:#f4f4f4;color:#111;text-align:left;font-size:15px;line-height:1.55}
.efc-public-success-message strong{display:block;margin-top:3px;font-size:16px}
.efc-public-success-close{margin-top:20px;min-width:170px;padding:12px 22px;border:0;background:#111;color:#fff;font-weight:900;text-transform:uppercase;cursor:pointer}
.efc-public-success-close:hover,.efc-public-success-close:focus{background:#ed1b2f}
.efc-public-success-modal.is-closing{opacity:0;transition:opacity .18s ease}
@keyframes efcPublicModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.efc-public-success-modal{padding:16px}.efc-public-success-dialog{padding:24px 20px 22px}.efc-public-success-dialog h2{font-size:21px}}


/* 1.0.306 – Erfolgsdialog exakt mittig im sichtbaren Browserfenster */
.efc-public-success-modal{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    height:100vh !important;
    margin:0 !important;
    padding:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    transform:none !important;
}
.efc-public-success-dialog{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:0 !important;
    transform:none;
}
@media(max-width:600px){
    .efc-public-success-modal{padding:16px !important}
}

/* 1.0.306 – eigenständige öffentliche Stornierungsanfrage */
.efc-public-cancel-wrap{max-width:760px;margin:42px auto;padding:34px;background:#fff;color:#111;border-top:4px solid #ed1b2f;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.efc-public-cancel-wrap h1{margin:4px 0 22px;font-size:34px}
.efc-public-cancel-trip{display:grid;grid-template-columns:150px 1fr;gap:7px 16px;padding:16px 18px;background:#f2f2f2;margin-bottom:18px}
.efc-public-cancel-trip span,.efc-public-cancel-participants>span{font-size:11px;font-weight:900;text-transform:uppercase;color:#777;letter-spacing:.05em}
.efc-public-cancel-warning{padding:17px 19px;border-left:4px solid #ed1b2f;background:#fff2f3;margin:18px 0;line-height:1.55}.efc-public-cancel-warning strong{display:block;margin-bottom:5px}.efc-public-cancel-warning p{margin:0}
.efc-public-cancel-participants{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:14px 0 18px;border-bottom:1px solid #ddd}.efc-public-cancel-participants>span{width:100%}.efc-public-cancel-participants strong{padding:7px 10px;background:#eee;font-size:13px}
.efc-public-cancel-request{margin-top:20px}.efc-public-cancel-request>label:first-child{display:block;font-weight:900;text-transform:uppercase;font-size:12px;margin-bottom:7px}.efc-public-cancel-request label small{font-weight:400;text-transform:none;color:#777}
.efc-public-cancel-request textarea{width:100%;resize:vertical;border:1px solid #bbb;padding:12px;font:inherit;min-height:110px}
.efc-public-cancel-confirm{display:flex;gap:10px;align-items:flex-start;margin:16px 0;font-size:13px;line-height:1.45}.efc-public-cancel-confirm input{margin-top:3px}
.efc-public-cancel-submit{border:0;background:#ed1b2f;color:#fff;padding:14px 20px;font-weight:900;text-transform:uppercase;cursor:pointer}.efc-public-cancel-submit:hover{background:#111}
.efc-public-cancel-success{padding:22px;border-left:4px solid #1d9b50;background:#f1f7f3;line-height:1.55}.efc-public-cancel-success strong{font-size:20px}.efc-public-cancel-success a{display:inline-block;margin-top:10px;background:#111;color:#fff;padding:11px 16px;text-decoration:none;font-weight:900;text-transform:uppercase}
.member-board-cancel-reason{display:block;margin-top:5px;max-width:180px;white-space:normal;line-height:1.3;color:#555}
@media(max-width:700px){.efc-public-cancel-wrap{margin:18px 12px;padding:24px 18px}.efc-public-cancel-wrap h1{font-size:27px}.efc-public-cancel-trip{grid-template-columns:1fr;gap:3px}.efc-public-cancel-trip strong{margin-bottom:8px}}


/* 1.0.306 – öffentliche Stornierungsseite im vollständigen Seitenlayout */
.efc-public-home-layout .efc-public-cancel-wrap{
  width:min(760px,100%);
  max-width:760px;
  margin:42px auto;
  padding:34px;
  background:#fff;
  color:#111;
  border-top:4px solid #ed1b2f;
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}
@media (min-width:1100px){
  .efc-public-home-layout .efc-public-form-stage .efc-public-cancel-wrap{
    transform:none;
  }
}
@media(max-width:700px){
  .efc-public-home-layout .efc-public-cancel-wrap{margin:18px auto;padding:24px 18px}
}


/* 1.0.306 – Vorstands-Tabelle: Stornierungsstatus vollständig lesbar */
.member-board-table th:nth-child(7),
.member-board-table td:nth-child(7){
  width:120px;
  min-width:120px;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.member-board-table .member-board-state.is-cancel-requested{
  display:inline-block;
  color:#e3182d !important;
  font-weight:800;
  line-height:1.35;
  white-space:normal;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}


/* 1.0.306 – Vorstands-Tabelle: Check-in vollständig lesbar */
.member-board-table th:nth-child(8),
.member-board-table td:nth-child(8){
  width:108px;
  min-width:108px;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.member-board-table .member-board-participant-checkin{
  display:inline-block;
  white-space:normal;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  line-height:1.35;
}
.member-board-table .member-board-participant-checkin small{
  display:block;
  white-space:nowrap;
  margin-top:3px;
}


/* 1.0.306 – Vorstandsbereich: Kontrast auf dunklen Verwaltungsboxen */
.member-board-public-release h2,
.member-board-public-release h3,
.member-board-checkin h2,
.member-board-checkin h3,
.member-board-checkin-admin h2,
.member-board-checkin-admin h3{
  color:#fff !important;
}
.member-board-public-release label,
.member-board-public-release .member-board-label,
.member-board-public-release small,
.member-board-checkin label,
.member-board-checkin .member-board-label,
.member-board-checkin small,
.member-board-checkin-admin label,
.member-board-checkin-admin .member-board-label,
.member-board-checkin-admin small{
  color:#d8d8d8 !important;
}

.member-board-checkin-head{color:#fff !important;}

.member-board-checkin-head{color:#fff !important;}

.member-board-public-actions{color:#fff !important;}


/* 1.0.306 – Öffentliches Kontingent gut lesbar */
.member-board-public-quota-label,
.member-board-public-quota label,
.member-board-public-release .member-board-field-label{
  color:#fff !important;
}

/* Phase 7 – Über uns / Wer wir sind – Vorschau umgesetzt */
.about-page .about-intro-grid{gap:72px}
.about-page .about-intro-content{max-width:720px}
.about-page .about-v2-kicker{margin:0 0 10px;color:#e31b23;font-weight:900;letter-spacing:1.7px;font-size:14px}
.about-page .about-intro-content .about-v2-title-line{display:block;width:120px;height:4px;background:#e31b23;margin:16px 0 24px}
.about-page .about-intro-content .about-v2-claim{font-weight:800;color:#111;margin-top:20px}
.about-page .about-intro-visual{min-height:0;aspect-ratio:16/9}
.about-page .about-v2-values{max-width:1540px;margin:38px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.about-page .about-v2-card{min-height:138px;background:#fff;border:1px solid #e3e3e3;padding:22px 20px;display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.about-page .about-v2-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e31b23;color:#fff;font-size:23px;font-weight:900}
.about-page .about-v2-card h3{margin:4px 0 8px;color:#111;font-size:18px;line-height:1.05}
.about-page .about-v2-card p{margin:0;color:#333;font-size:14px;line-height:1.45}
@media(max-width:1100px){
 .about-page .about-v2-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .about-page .about-v2-values{grid-template-columns:1fr}
 .about-page .about-v2-card{min-height:0}
}

/* Phase 7 – Über uns / Unsere Geschichte */
.about-history-v2{position:relative;padding:68px clamp(24px,5vw,82px) 76px;background:radial-gradient(circle at 70% 20%,#21090b 0,#0b0b0d 38%,#050506 78%);color:#fff;overflow:hidden}
.about-history-v2:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.02),transparent 42%);pointer-events:none}
.about-history-v2-head{position:relative;max-width:900px;margin:0 auto 50px;text-align:center}
.about-history-v2-kicker{color:#ed1b2f;font-weight:900;letter-spacing:2px;font-size:14px}
.about-history-v2-head h2{margin:8px 0 0;color:#fff;font-size:clamp(42px,4vw,64px);line-height:1;text-transform:uppercase}
.about-history-v2-line{display:block;width:235px;height:4px;background:#ed1b2f;margin:16px auto 18px}
.about-history-v2-head p{max-width:790px;margin:auto;color:#e5e5e5;font-size:16px;line-height:1.55}
.about-history-v2-timeline{position:relative;max-width:1420px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 76px}
.about-history-v2-timeline:before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1px;background:linear-gradient(#ed1b2f,#4b4b4b 12%,#4b4b4b 88%,#ed1b2f);transform:translateX(-50%)}
.about-history-v2-item{position:relative;display:flex;min-width:0}
.about-history-v2-item:nth-child(odd){justify-content:flex-end;padding-right:22px}
.about-history-v2-item:nth-child(even){justify-content:flex-start;padding-left:22px;transform:translateY(52px)}
.about-history-v2-dot{position:absolute;z-index:2;top:24px;width:48px;height:48px;border:5px solid #080809;border-radius:50%;display:grid;place-items:center;background:#ed1b2f;color:#fff;font-weight:900;box-shadow:0 0 0 1px rgba(237,27,47,.25)}
.about-history-v2-item:nth-child(odd) .about-history-v2-dot{right:-62px}
.about-history-v2-item:nth-child(even) .about-history-v2-dot{left:-62px}
.about-history-v2-card{width:min(100%,590px);padding:25px 28px;background:linear-gradient(145deg,#171719,#0e0e10);border:1px solid #333;border-top:3px solid #ed1b2f;box-shadow:0 16px 34px rgba(0,0,0,.3)}
.about-history-v2-date{margin-bottom:8px;color:#ed1b2f;font-weight:900;letter-spacing:.8px;font-size:19px}
.about-history-v2-card h3{margin:0 0 12px;color:#fff;font-size:22px;line-height:1.12}
.about-history-v2-card p{margin:0;color:#ddd;font-size:15px;line-height:1.58}
.about-history-v2-quote{margin-top:18px;padding:12px 14px;border-left:3px solid #ed1b2f;background:#080809;color:#fff;font-weight:800;font-size:14px}
.about-history-v2-feature .about-history-v2-card{border-color:#5b2024}
@media(max-width:900px){
 .about-history-v2-timeline{display:block;padding-left:44px}
 .about-history-v2-timeline:before{left:20px;transform:none}
 .about-history-v2-item,.about-history-v2-item:nth-child(odd),.about-history-v2-item:nth-child(even){display:block;padding:0;margin:0 0 24px;transform:none}
 .about-history-v2-item .about-history-v2-dot,.about-history-v2-item:nth-child(odd) .about-history-v2-dot,.about-history-v2-item:nth-child(even) .about-history-v2-dot{left:-48px;right:auto;top:20px;width:40px;height:40px;border-width:4px}
 .about-history-v2-card{width:100%}
}
@media(max-width:600px){
 .about-history-v2{padding:48px 18px 52px}
 .about-history-v2-head{margin-bottom:36px}
 .about-history-v2-line{width:150px}
 .about-history-v2-timeline{padding-left:34px}
 .about-history-v2-item .about-history-v2-dot,.about-history-v2-item:nth-child(odd) .about-history-v2-dot,.about-history-v2-item:nth-child(even) .about-history-v2-dot{left:-38px;width:34px;height:34px;font-size:12px}
 .about-history-v2-timeline:before{left:12px}
 .about-history-v2-card{padding:21px 19px}
 .about-history-v2-date{font-size:17px}
 .about-history-v2-card h3{font-size:19px}
}

/* Phase 7 – Über uns: Farbfolge nach "Unsere Geschichte"
   Chronik dunkel -> Fanclub in Zahlen hell -> Vorstand dunkel */
.about-page .about-numbers-light-v2{
  background:#f4f4f4 !important;
  color:#111 !important;
  border-top:0 !important;
}
.about-page .about-numbers-light-v2 h2,
.about-page .about-numbers-light-v2 h3,
.about-page .about-numbers-light-v2 p,
.about-page .about-numbers-light-v2 span,
.about-page .about-numbers-light-v2 strong{
  color:#111;
}
.about-page .about-numbers-light-v2 [class*="kicker"],
.about-page .about-numbers-light-v2 [class*="overline"]{
  color:#e31b23 !important;
}
.about-page .about-numbers-light-v2 [class*="card"],
.about-page .about-numbers-light-v2 [class*="item"],
.about-page .about-numbers-light-v2 [class*="stat"]{
  background:#fff;
}
.about-page .about-numbers-light-v2 [class*="number"],
.about-page .about-numbers-light-v2 [class*="value"]{
  color:#e31b23 !important;
}

.about-page .about-board-dark-v2{
  background:radial-gradient(circle at 72% 18%,#21090b 0,#0b0b0d 38%,#050506 78%) !important;
  color:#fff !important;
}
.about-page .about-board-dark-v2 > *{position:relative}
.about-page .about-board-dark-v2 h2{color:#fff !important}
.about-page .about-board-dark-v2 [class*="kicker"],
.about-page .about-board-dark-v2 [class*="overline"]{
  color:#ed1b2f !important;
}
/* Vorstandskarten bleiben bewusst hell für Portraits und gute Lesbarkeit. */
.about-page .about-board-dark-v2 [class*="board-card"],
.about-page .about-board-dark-v2 [class*="vorstand-card"],
.about-page .about-board-dark-v2 [class*="person-card"]{
  background:#fff !important;
  color:#111 !important;
}
.about-page .about-board-dark-v2 [class*="board-card"] h3,
.about-page .about-board-dark-v2 [class*="board-card"] p,
.about-page .about-board-dark-v2 [class*="vorstand-card"] h3,
.about-page .about-board-dark-v2 [class*="vorstand-card"] p,
.about-page .about-board-dark-v2 [class*="person-card"] h3,
.about-page .about-board-dark-v2 [class*="person-card"] p{
  color:#111 !important;
}

/* Phase 7 – Über uns / Fanclub in Zahlen */
.about-page .about-numbers-v2{padding:64px clamp(24px,5vw,82px) 70px!important;background:#f4f4f4!important;color:#111!important}
.about-numbers-v2-head{max-width:850px;margin:0 auto 42px;text-align:center}
.about-numbers-v2-kicker{color:#e31b23!important;font-size:14px;font-weight:900;letter-spacing:2px}
.about-numbers-v2-head h2{margin:8px 0 0!important;color:#111!important;font-size:clamp(42px,4vw,62px);line-height:1;text-transform:uppercase}
.about-numbers-v2-line{display:block;width:205px;height:4px;background:#e31b23;margin:16px auto 17px}
.about-numbers-v2-head p{margin:0!important;color:#555!important;font-size:16px}
.about-numbers-v2-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e0e0e0;box-shadow:0 14px 34px rgba(0,0,0,.08)}
.about-numbers-v2-stat{position:relative;min-height:205px;padding:38px 28px 32px;text-align:center;background:#fff!important}
.about-numbers-v2-stat:not(:last-child):after{content:"";position:absolute;right:0;top:34px;bottom:34px;width:1px;background:#ddd}
.about-numbers-v2-value{min-height:55px;display:flex;align-items:center;justify-content:center;color:#e31b23!important;font-size:clamp(40px,3.2vw,58px);font-weight:900;line-height:.95}
.about-numbers-v2-home .about-numbers-v2-value{font-size:clamp(24px,2.15vw,38px);letter-spacing:.5px}
.about-numbers-v2-stat h3{margin:18px 0 8px!important;color:#111!important;font-size:19px;line-height:1.1}
.about-numbers-v2-stat p{margin:0!important;color:#555!important;font-size:14px;line-height:1.45}
@media(max-width:1050px){
 .about-numbers-v2-grid{grid-template-columns:repeat(2,1fr)}
 .about-numbers-v2-stat:nth-child(2):after{display:none}
 .about-numbers-v2-stat:nth-child(-n+2){border-bottom:1px solid #ddd}
}
@media(max-width:600px){
 .about-page .about-numbers-v2{padding:48px 18px 52px!important}
 .about-numbers-v2-grid{grid-template-columns:1fr}
 .about-numbers-v2-stat{min-height:0;padding:30px 20px}
 .about-numbers-v2-stat:not(:last-child):after{display:none}
 .about-numbers-v2-stat:not(:last-child){border-bottom:1px solid #ddd}
}


/* ============================================================
   Phase 7 – Vorstand & Ansprechpartner / Variante C
   4 Karten oben, 2 Karten mittig unten
   ============================================================ */
.about-page .about-board-dark-v2 .board-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:20px !important;
    align-items:stretch;
}
.about-page .about-board-dark-v2 .board-card{
    position:relative;
    overflow:hidden;
    padding:0 0 20px !important;
    min-width:0;
    background:#fff !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:3px;
    box-shadow:0 14px 34px rgba(0,0,0,.30) !important;
    text-align:center;
}
.about-page .about-board-dark-v2 .board-card:nth-child(5){
    grid-column:2 !important;
}
.about-page .about-board-dark-v2 .board-card:nth-child(6){
    grid-column:3 !important;
}

/* Große, hochauflösende Portraitdarstellung statt kleinem Kreisbild */
.about-page .about-board-dark-v2 .board-avatar{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1.22 / 1 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background-color:#222 !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;
    box-shadow:none !important;
}

/* Individueller Ausschnitt der vorhandenen Originalfotos */
.about-page .about-board-dark-v2 .board-card:nth-child(1) .board-avatar{background-position:center 25% !important}
.about-page .about-board-dark-v2 .board-card:nth-child(2) .board-avatar{background-position:center 24% !important}
.about-page .about-board-dark-v2 .board-card:nth-child(3) .board-avatar{background-position:center 23% !important}
.about-page .about-board-dark-v2 .board-card:nth-child(4) .board-avatar{background-position:center 23% !important}
.about-page .about-board-dark-v2 .board-card:nth-child(5) .board-avatar{background-position:center 22% !important}
.about-page .about-board-dark-v2 .board-card:nth-child(6) .board-avatar{background-position:center 24% !important}

/* Rotes Funktionsband wie Variante C */
.about-page .about-board-dark-v2 .board-role{
    position:relative;
    z-index:2;
    display:flex !important;
    align-items:center;
    justify-content:center;
    min-height:54px;
    margin:-1px 0 15px !important;
    padding:11px 14px !important;
    color:#fff !important;
    background:#e31b23 !important;
    font-size:1rem !important;
    line-height:1.1 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase;
}
.about-page .about-board-dark-v2 .board-role::before{
    content:"";
    width:22px;
    height:22px;
    margin-right:10px;
    flex:0 0 22px;
    border:2px solid #fff;
    border-radius:50%;
    box-sizing:border-box;
    background:
      radial-gradient(circle at 50% 35%,#fff 0 3px,transparent 3.5px),
      radial-gradient(ellipse at 50% 78%,#fff 0 6px,transparent 6.5px);
}
.about-page .about-board-dark-v2 .board-name{
    margin:0 !important;
    padding:0 12px;
    color:#111 !important;
    font-size:1rem !important;
    line-height:1.3;
}

/* Tablet: 2 Spalten; Smartphone: 1 Spalte */
@media(max-width:980px){
    .about-page .about-board-dark-v2 .board-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .about-page .about-board-dark-v2 .board-card:nth-child(5),
    .about-page .about-board-dark-v2 .board-card:nth-child(6){
        grid-column:auto !important;
    }
}
@media(max-width:560px){
    .about-page .about-board-dark-v2 .board-grid{
        grid-template-columns:1fr !important;
    }
    .about-page .about-board-dark-v2 .board-avatar{
        aspect-ratio:1.32 / 1 !important;
    }
}


/* Phase 7 – Vorstand: rollenspezifische Icons wie Variante C */
.about-page .about-board-dark-v2 .board-role::before{
    border:0 !important;
    border-radius:0 !important;
    background:none !important;
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    margin-right:11px !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
}

/* Vorsitzende + Beisitzer: Personen/Team */
.about-page .about-board-dark-v2 .board-card:nth-child(1) .board-role::before,
.about-page .about-board-dark-v2 .board-card:nth-child(2) .board-role::before,
.about-page .about-board-dark-v2 .board-card:nth-child(5) .board-role::before,
.about-page .about-board-dark-v2 .board-card:nth-child(6) .board-role::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='24' cy='20' r='10'/%3E%3Ccircle cx='44' cy='23' r='8'/%3E%3Cpath d='M5 54c0-13 8-21 19-21s19 8 19 21H5z'/%3E%3Cpath d='M37 54c0-8-2-14-7-19 4-3 8-4 13-4 10 0 16 8 16 20v3H37z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

/* Kassenwart: Münzen */
.about-page .about-board-dark-v2 .board-card:nth-child(3) .board-role::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='5'%3E%3Cellipse cx='22' cy='15' rx='15' ry='7'/%3E%3Cpath d='M7 15v12c0 4 7 7 15 7 4 0 8-1 11-2M7 27v12c0 4 7 7 15 7 4 0 7-1 10-2M7 39v10c0 4 7 7 15 7 5 0 9-1 12-3'/%3E%3Cellipse cx='44' cy='34' rx='13' ry='6'/%3E%3Cpath d='M31 34v11c0 4 6 6 13 6s13-2 13-6V34M31 45v8c0 4 6 6 13 6s13-2 13-6v-8'/%3E%3C/g%3E%3C/svg%3E") !important;
}

/* Schriftführer: Dokument */
.about-page .about-board-dark-v2 .board-card:nth-child(4) .board-role::before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff' d='M12 5h27l13 13v41H12V5zm27 5v13h13L39 10z'/%3E%3Cpath stroke='%23e31b23' stroke-width='4' d='M21 31h23M21 40h23M21 49h17'/%3E%3C/svg%3E") !important;
}


/* Phase 7 – Fanclub in Zahlen: Typografie/Formen an "Unsere Geschichte" angleichen */
.about-page .about-numbers-v2-head{
    max-width:900px !important;
    margin:0 auto 50px !important;
    text-align:center !important;
}
.about-page .about-numbers-v2-kicker{
    color:#ed1b2f !important;
    font-weight:900 !important;
    letter-spacing:2px !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
}
.about-page .about-numbers-v2-head h2{
    margin:8px 0 0 !important;
    color:#111 !important;
    font-size:clamp(42px,4vw,64px) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
}
.about-page .about-numbers-v2-line{
    display:block !important;
    width:235px !important;
    height:4px !important;
    background:#ed1b2f !important;
    margin:16px auto 18px !important;
    border-radius:0 !important;
}
.about-page .about-numbers-v2-head p{
    max-width:790px !important;
    margin:0 auto !important;
    color:#444 !important;
    font-size:16px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
}

/* Karten ebenfalls etwas kantiger/geradliniger wie die Chronik-Karten */
.about-page .about-numbers-v2-grid{
    border-radius:0 !important;
}
.about-page .about-numbers-v2-stat{
    border-radius:0 !important;
}
.about-page .about-numbers-v2-value{
    font-weight:900 !important;
    letter-spacing:0 !important;
}
.about-page .about-numbers-v2-stat h3{
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
}
@media(max-width:600px){
    .about-page .about-numbers-v2-head{
        margin-bottom:36px !important;
    }
    .about-page .about-numbers-v2-line{
        width:150px !important;
    }
}


/* ============================================================
   Startseite – Aktuelle News / Variante E
   Größere Vorschaubilder, Gesamthöhe der Kachel bleibt erhalten.
   ============================================================ */

/* Die Newszeilen selbst werden nicht höher; Innenabstände werden kompakter. */
.home-news-card .news-item,
.news-card .news-item,
.latest-news-card .news-item,
.home-news .news-item,
.home-news-list .news-item,
.news-list .news-item{
    min-height:0 !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    gap:20px !important;
}

/* Variante E: deutlich breiteres 16:9-Vorschaubild. */
.home-news-card .news-item img,
.news-card .news-item img,
.latest-news-card .news-item img,
.home-news .news-item img,
.home-news-list .news-item img,
.news-list .news-item img,
.home-news-card .news-thumb,
.news-card .news-thumb,
.latest-news-card .news-thumb,
.home-news .news-thumb,
.home-news-list .news-thumb,
.news-list .news-thumb{
    width:165px !important;
    height:78px !important;
    min-width:165px !important;
    max-width:165px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:2px !important;
}

/* Text bleibt mittig neben dem größeren Bild und nutzt den vorhandenen Raum. */
.home-news-card .news-item > :not(img),
.news-card .news-item > :not(img),
.latest-news-card .news-item > :not(img),
.home-news .news-item > :not(img),
.home-news-list .news-item > :not(img),
.news-list .news-item > :not(img){
    min-width:0;
}

/* Buttonbereich etwas kompakter, damit die Gesamtkachel nicht höher wird. */
.home-news-card .news-footer,
.news-card .news-footer,
.latest-news-card .news-footer,
.home-news .news-footer,
.home-news-list .news-footer,
.news-list .news-footer{
    margin-top:4px !important;
}

/* Mobile: Bilder bleiben größer als bisher, ohne den Text zu verdrängen. */
@media(max-width:650px){
    .home-news-card .news-item img,
    .news-card .news-item img,
    .latest-news-card .news-item img,
    .home-news .news-item img,
    .home-news-list .news-item img,
    .news-list .news-item img,
    .home-news-card .news-thumb,
    .news-card .news-thumb,
    .latest-news-card .news-thumb,
    .home-news .news-thumb,
    .home-news-list .news-thumb,
    .news-list .news-thumb{
        width:125px !important;
        min-width:125px !important;
        max-width:125px !important;
        height:68px !important;
    }
}


/* 1.0.306 – Startseite / Aktuelle News – Variante E
   Korrektur: tatsächliche Selektoren .latest-news-item / .latest-news-image */
@media (min-width: 901px) {
  .home-page .latest-news-item {
    grid-template-columns: 150px minmax(0,1fr) !important;
    gap: 16px !important;
    min-height: 76px !important;
    height: 76px !important;
    padding: 3px 0 !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  .home-page .latest-news-image {
    display: block !important;
    width: 150px !important;
    height: 70px !important;
    min-width: 150px !important;
    border-radius: 2px !important;
    overflow: hidden !important;
  }

  .home-page .latest-news-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .home-page .latest-news-content h3 {
    margin: 0 0 5px !important;
  }

  /* Die bisherige Gesamthöhe der News-Kachel bleibt bestehen. */
  .home-page .latest-news-list {
    flex: 0 0 auto !important;
  }
}

/* Bei der zweispaltigen Laptop-Ansicht bleibt die News-Kachel kompakt;
   die drei Beiträge werden wieder untereinander gezeigt, damit Variante E
   nicht in drei schmale Mini-Spalten gepresst wird. */
@media (min-width: 901px) and (max-width: 1380px) {
  .home-page .latest-news-list {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
  }

  .home-page .latest-news-card .news-overview-link {
    margin-top: auto !important;
  }
}

@media (max-width: 900px) {
  .home-page .latest-news-item {
    grid-template-columns: 130px minmax(0,1fr) !important;
    gap: 14px !important;
  }

  .home-page .latest-news-image {
    width: 130px !important;
    height: 68px !important;
    min-width: 130px !important;
    overflow: hidden !important;
  }

  .home-page .latest-news-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}


/* 1.0.306 – News-Detail: Mehrfachbild-Galerie + Lightbox */
.news-gallery{margin-top:54px;padding-top:42px;border-top:1px solid #ddd}
.news-gallery-heading{text-align:center;margin:0 auto 28px}
.news-gallery-heading p{margin:0 0 7px!important;color:#e31b23!important;font-size:13px!important;font-weight:900!important;letter-spacing:2px!important}
.news-gallery-heading h2{margin:0!important;color:#111!important;font-size:clamp(2rem,4vw,3.25rem)!important;line-height:1!important;text-transform:uppercase}
.news-gallery-heading>span{display:block;width:180px;height:4px;background:#e31b23;margin:15px auto 0}
.news-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.news-gallery-thumb{display:block;position:relative;aspect-ratio:4/3;padding:0;border:0;background:#111;overflow:hidden;cursor:pointer}
.news-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease,opacity .22s ease}
.news-gallery-thumb:after{content:"+";position:absolute;right:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;background:#e31b23;color:#fff;font-size:24px;font-weight:800;line-height:1}
.news-gallery-thumb:hover img,.news-gallery-thumb:focus-visible img{transform:scale(1.045);opacity:.88}
.news-gallery-thumb:focus-visible{outline:3px solid #e31b23;outline-offset:3px}

.news-lightbox[hidden]{display:none!important}
.news-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:28px}
.news-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92)}
.news-lightbox-dialog{position:relative;z-index:1;width:min(1200px,calc(100vw - 56px));height:min(820px,calc(100vh - 56px));display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center}
.news-lightbox-dialog figure{margin:0;min-width:0;max-height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center}
.news-lightbox-dialog figure img{display:block;max-width:100%;max-height:calc(100vh - 125px);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 55px rgba(0,0,0,.55)}
.news-lightbox-dialog figcaption{padding-top:14px;color:#fff;font-weight:800;letter-spacing:.08em}
.news-lightbox-close{position:absolute;right:0;top:0;z-index:3;width:48px;height:48px;border:1px solid #e31b23;background:#080808;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.news-lightbox-nav{width:54px;height:70px;border:1px solid #e31b23;background:#080808;color:#fff;font-size:48px;line-height:1;cursor:pointer}
.news-lightbox-nav:hover,.news-lightbox-close:hover{background:#e31b23}
.news-lightbox-prev{justify-self:start}.news-lightbox-next{justify-self:end}
body.news-lightbox-open{overflow:hidden}

@media(max-width:900px){.news-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){
 .news-gallery{margin-top:40px;padding-top:34px}
 .news-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
 .news-lightbox{padding:12px}
 .news-lightbox-dialog{width:100%;height:calc(100vh - 24px);grid-template-columns:46px minmax(0,1fr) 46px}
 .news-lightbox-nav{width:42px;height:58px;font-size:38px}
 .news-lightbox-close{width:44px;height:44px}
 .news-lightbox-dialog figure img{max-height:calc(100vh - 100px)}
}


/* 1.0.306 – Galerie ersetzt auf News-Detailseiten das große Hauptbild */
.news-gallery-primary{
    margin-top:0 !important;
    padding-top:38px !important;
    padding-bottom:38px !important;
    border-top:0 !important;
    border-bottom:1px solid #e1e1e1;
}
.news-gallery-primary .news-gallery-heading{margin-bottom:30px !important}
.news-gallery-primary .news-gallery-heading h2{
    max-width:1100px;
    margin-left:auto !important;
    margin-right:auto !important;
}
.news-gallery-primary .news-gallery-grid{max-width:1280px;margin:0 auto}
.news-gallery-primary .news-gallery-thumb{aspect-ratio:16/10}
.news-gallery-primary .news-gallery-grid:has(.news-gallery-thumb:first-child:nth-last-child(1)){
    grid-template-columns:minmax(0,820px);justify-content:center
}
.news-gallery-primary .news-gallery-grid:has(.news-gallery-thumb:first-child:nth-last-child(2)){
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.news-gallery-primary .news-gallery-grid:has(.news-gallery-thumb:first-child:nth-last-child(3)){
    grid-template-columns:repeat(3,minmax(0,1fr))
}
.news-gallery-primary + .news-lightbox + .news-detail-copy,
.news-gallery-primary + .news-detail-copy{padding-top:42px}
@media(max-width:650px){
 .news-gallery-primary{padding-top:30px !important;padding-bottom:30px !important}
 .news-gallery-primary .news-gallery-grid,
 .news-gallery-primary .news-gallery-grid:has(.news-gallery-thumb:first-child:nth-last-child(2)),
 .news-gallery-primary .news-gallery-grid:has(.news-gallery-thumb:first-child:nth-last-child(3)){grid-template-columns:1fr}
}


/* ============================================================
   1.0.306 – Einheitlicher EFC-News-Cover-Look (Variante B)
   Das normale Joomla-Vorschaubild wird automatisch gestaltet.
   Kein KI-Bild und kein zusätzlicher Redaktionsschritt nötig.
   ============================================================ */

/* Bildcontainer */
.home-page .latest-news-image{
    position:relative !important;
    isolation:isolate;
    background:#090909 !important;
    border:1px solid rgba(255,255,255,.08);
    overflow:hidden !important;
}

/* Einheitlicher Schwarz/Weiß-Look mit kräftigem Kontrast */
.home-page .latest-news-image img{
    filter:grayscale(1) contrast(1.18) brightness(.78) !important;
    transform:scale(1.035);
    transition:filter .22s ease,transform .22s ease !important;
}

/* Variante-B-Akzent: diagonaler roter Licht-/Pinselcharakter */
.home-page .latest-news-image::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
      linear-gradient(118deg,
        rgba(227,27,35,.72) 0%,
        rgba(227,27,35,.30) 19%,
        rgba(227,27,35,.04) 42%,
        rgba(227,27,35,0) 62%);
    mix-blend-mode:screen;
    opacity:.72;
}

/* Dunkle Vignette sorgt bei sehr hellen/uneinheitlichen Fotos für denselben Charakter */
.home-page .latest-news-image::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    box-shadow:
      inset 0 0 28px rgba(0,0,0,.72),
      inset 0 -18px 24px rgba(0,0,0,.38);
    background:
      linear-gradient(90deg,rgba(0,0,0,.20),transparent 32%,transparent 74%,rgba(0,0,0,.18));
}

/* Dezenter Effekt beim Überfahren – weiterhin im selben EFC-Look */
.home-page .latest-news-image:hover img,
.home-page .latest-news-image:focus-visible img{
    filter:grayscale(1) contrast(1.22) brightness(.88) !important;
    transform:scale(1.075);
}

/* Auch das statische Fallback der Startseite erhält denselben Stil,
   falls die AJAX-News einmal nicht geladen werden. */
.home-page .latest-news-item .latest-news-image{
    border-left:3px solid #e31b23;
}

/* Auf kleinen Displays etwas weniger Abdunklung, damit Motive erkennbar bleiben. */
@media(max-width:650px){
    .home-page .latest-news-image img{
        filter:grayscale(1) contrast(1.14) brightness(.84) !important;
    }
    .home-page .latest-news-image::before{
        opacity:.62;
    }
}


/* ============================================================
   1.0.306 – Aktuelle News: größere Vorschaubilder
   Variante-B-Look aus 1.0.306 bleibt vollständig erhalten.
   ============================================================ */
@media (min-width: 901px) {
    .home-page .latest-news-item {
        grid-template-columns: 190px minmax(0,1fr) !important;
        gap: 18px !important;
        min-height: 96px !important;
        height: 96px !important;
        padding: 3px 0 !important;
        align-items: center !important;
    }

    .home-page .latest-news-image {
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
        height: 90px !important;
    }

    .home-page .latest-news-image img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}

/* Auf kleineren Displays weiterhin gut lesbar und proportional. */
@media (max-width: 900px) {
    .home-page .latest-news-item {
        grid-template-columns: 145px minmax(0,1fr) !important;
        gap: 14px !important;
    }

    .home-page .latest-news-image {
        width: 145px !important;
        min-width: 145px !important;
        max-width: 145px !important;
        height: 76px !important;
    }
}


/* ============================================================
   1.0.306 – Globaler Header / Variante A
   Großes Logo am Seitenanfang, beim Scrollen kompakt innerhalb
   der schwarzen Navigationsleiste. Gilt für alle normalen Seiten.
   ============================================================ */
@media (min-width: 981px) {
    .efc-site .site-header .header-logo {
        transform-origin: top left;
        transition:
            width .28s ease,
            top .28s ease,
            transform .28s ease,
            filter .28s ease !important;
    }

    /* Sobald gescrollt wurde, bleibt das Logo vollständig im Header. */
    .efc-site .site-header.scrolled .header-logo {
        top: 8px !important;
        width: 72px !important;
        transform: none !important;
        filter: drop-shadow(0 5px 10px rgba(0,0,0,.42)) !important;
    }

    .efc-site .site-header.scrolled .header-logo img {
        width: 100% !important;
        height: auto !important;
        max-height: calc(var(--header-height) - 16px) !important;
        object-fit: contain !important;
    }

    /* Navigation nutzt im kompakten Zustand den frei gewordenen Platz. */
    .efc-site .site-header.scrolled .main-navigation {
        margin-left: 92px !important;
        transition: margin-left .28s ease !important;
    }
}

/* Tablet/Mobil: vorhandene kompakte Navigation bleibt unangetastet. */


/* ============================================================
   1.0.306 – Logo-Korrektur
   Ausgangsgröße auf allen Desktop-Seiten wie "Über uns".
   ============================================================ */
@media (min-width:981px){
  .efc-site .site-header:not(.scrolled) .header-logo{
    width:280px !important;
    max-width:280px !important;
    height:auto !important;
    transform:none !important;
  }
  .efc-site .site-header:not(.scrolled) .header-logo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
  }
  .efc-site .site-header.scrolled .header-logo{
    width:72px !important;
    max-width:72px !important;
    top:8px !important;
    transform:none !important;
  }
}


/* ============================================================
   1.0.306 – Über uns / Wer wir sind
   Neues Hintergrundmotiv ohne großes mittiges EFC-Cappeler-Adler-Logo.
   ============================================================ */
.about-page .about-intro-visual::before{
    background-image:url("../img/ueber-uns-wer-wir-sind-hintergrund.png") !important;
    background-position:center center !important;
    background-size:cover !important;
    opacity:.82 !important;
}
.about-page .about-intro-visual::after{
    background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(0,0,0,.42)) !important;
}
/* Das bisher zusätzlich darübergelegte große Logo wird ausgeblendet. */
.about-page .about-intro-logo{
    display:none !important;
}


/* 1.0.306 – Galerie-Filter optisch wie News-Filter */
.gallery-page .gallery-filters,
.gallery-page .galerie-filters,
.gallery-page .gallery-filter,
.gallery-page .galerie-filter,
.gallery-page .filter-buttons,
.gallery-page .category-filters{
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;
 justify-content:flex-start!important;gap:9px!important;
}
.gallery-page .gallery-filters button,
.gallery-page .galerie-filters button,
.gallery-page .gallery-filter button,
.gallery-page .galerie-filter button,
.gallery-page .filter-buttons button,
.gallery-page .category-filters button,
.gallery-page [data-gallery-filter]{
 appearance:none!important;height:38px!important;min-height:38px!important;
 padding:0 16px!important;margin:0!important;border:1px solid #c8c8c8!important;
 border-radius:0!important;background:#f7f7f7!important;color:#111!important;
 box-shadow:none!important;font:700 12px/36px "Oswald","Arial Narrow",Arial,sans-serif!important;
 letter-spacing:.02em!important;text-transform:uppercase!important;cursor:pointer!important;
 transition:background .18s ease,color .18s ease,border-color .18s ease!important;
}
.gallery-page .gallery-filters button.active,
.gallery-page .gallery-filters button.is-active,
.gallery-page .galerie-filters button.active,
.gallery-page .galerie-filters button.is-active,
.gallery-page .gallery-filter button.active,
.gallery-page .galerie-filter button.active,
.gallery-page .filter-buttons button.active,
.gallery-page .category-filters button.active,
.gallery-page [data-gallery-filter].active,
.gallery-page [data-gallery-filter][aria-pressed="true"]{
 background:#ed1b24!important;border-color:#ed1b24!important;color:#fff!important;
 box-shadow:none!important;transform:none!important;
}
.gallery-page .gallery-filters button:not(.active):hover,
.gallery-page .galerie-filters button:not(.active):hover,
.gallery-page .gallery-filter button:not(.active):hover,
.gallery-page .galerie-filter button:not(.active):hover,
.gallery-page .filter-buttons button:not(.active):hover,
.gallery-page .category-filters button:not(.active):hover,
.gallery-page [data-gallery-filter]:not(.active):hover{
 border-color:#ed1b24!important;color:#ed1b24!important;background:#fff!important;
}
@media(max-width:700px){
 .gallery-page .gallery-filters,.gallery-page .galerie-filters,
 .gallery-page .gallery-filter,.gallery-page .galerie-filter,
 .gallery-page .filter-buttons,.gallery-page .category-filters{gap:7px!important}
 .gallery-page [data-gallery-filter],.gallery-page .gallery-filters button,
 .gallery-page .galerie-filters button{height:36px!important;min-height:36px!important;
 padding:0 12px!important;font-size:11px!important;line-height:34px!important}
}


/* ============================================================
   1.0.306 – Galerieübersicht analog zur Newsübersicht
   ============================================================ */

/* Inhaltsbreite / Filterleiste wie News */
.gallery-page .gallery-content,
.gallery-page .galerie-content,
.gallery-page .gallery-list-wrap,
.gallery-page .galerie-list-wrap,
.gallery-page .gallery-grid-wrap{
    width:min(1120px,calc(100% - 64px))!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Kartenraster: zwei gleich große Spalten wie auf News */
.gallery-page .gallery-grid,
.gallery-page .galerie-grid,
.gallery-page .gallery-items,
.gallery-page .galerie-items{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:stretch!important;
    width:100%!important;
}

/* Galerie-Karten nicht mehr als kleine zentrierte Hochformat-Kacheln */
.gallery-page .gallery-card,
.gallery-page .galerie-card,
.gallery-page .gallery-item,
.gallery-page .galerie-item{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    background:#090909!important;
    color:#fff!important;
    border:1px solid #222!important;
    border-radius:0!important;
    overflow:hidden!important;
    box-shadow:0 12px 30px rgba(0,0,0,.12)!important;
}

/* Bildfläche analog News */
.gallery-page .gallery-card img,
.gallery-page .galerie-card img,
.gallery-page .gallery-item img,
.gallery-page .galerie-item img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/7!important;
    object-fit:cover!important;
    border-radius:0!important;
}

/* Textbereich */
.gallery-page .gallery-card-body,
.gallery-page .galerie-card-body,
.gallery-page .gallery-item-body,
.gallery-page .galerie-item-body,
.gallery-page .gallery-card-content,
.gallery-page .galerie-card-content{
    position:relative!important;
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
    padding:20px 23px 22px!important;
    background:#090909!important;
}

/* Kategorie als rotes Label am Übergang Bild/Text, sofern eigenes Element vorhanden */
.gallery-page .gallery-category,
.gallery-page .galerie-category,
.gallery-page .gallery-card-category,
.gallery-page .galerie-card-category{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:100%!important;
    padding:8px 12px!important;
    margin:-20px 0 17px!important;
    background:#ed1b24!important;
    color:#fff!important;
    font-weight:800!important;
    font-size:11px!important;
    line-height:1!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
}

/* Datum wie News */
.gallery-page .gallery-date,
.gallery-page .galerie-date,
.gallery-page .gallery-card-date,
.gallery-page .galerie-card-date,
.gallery-page time{
    order:1!important;
    margin:0 0 9px!important;
    color:#ed1b24!important;
    font-size:12px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.035em!important;
}

/* Titel wie News */
.gallery-page .gallery-card h2,
.gallery-page .gallery-card h3,
.gallery-page .galerie-card h2,
.gallery-page .galerie-card h3,
.gallery-page .gallery-item h2,
.gallery-page .gallery-item h3,
.gallery-page .galerie-item h2,
.gallery-page .galerie-item h3{
    order:2!important;
    width:100%!important;
    margin:0 0 10px!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1.08!important;
    text-align:left!important;
    text-transform:uppercase!important;
}

/* Beschreibung/Einleitung – sofern im Galerieeintrag ausgegeben */
.gallery-page .gallery-excerpt,
.gallery-page .galerie-excerpt,
.gallery-page .gallery-card p,
.gallery-page .galerie-card p{
    order:3!important;
    margin:0 0 18px!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1.55!important;
    text-align:left!important;
}

/* Weiterlesen/Link wie News und am Kartenboden */
.gallery-page .gallery-card a.gallery-readmore,
.gallery-page .galerie-card a.galerie-readmore,
.gallery-page .gallery-readmore,
.gallery-page .galerie-readmore{
    order:4!important;
    margin-top:auto!important;
    padding-top:24px!important;
    color:#ed1b24!important;
    font-weight:800!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
}

/* Filterleiste auf dieselbe Inhaltsbreite ziehen */
.gallery-page .gallery-filters,
.gallery-page .galerie-filters,
.gallery-page .gallery-filter,
.gallery-page .galerie-filter,
.gallery-page .filter-buttons,
.gallery-page .category-filters{
    width:min(1120px,calc(100% - 64px))!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:24px!important;
}

@media(max-width:820px){
    .gallery-page .gallery-grid,
    .gallery-page .galerie-grid,
    .gallery-page .gallery-items,
    .gallery-page .galerie-items{
        grid-template-columns:1fr!important;
    }
}
@media(max-width:600px){
    .gallery-page .gallery-content,
    .gallery-page .galerie-content,
    .gallery-page .gallery-list-wrap,
    .gallery-page .galerie-list-wrap,
    .gallery-page .gallery-grid-wrap,
    .gallery-page .gallery-filters,
    .gallery-page .galerie-filters,
    .gallery-page .gallery-filter,
    .gallery-page .galerie-filter,
    .gallery-page .filter-buttons,
    .gallery-page .category-filters{
        width:calc(100% - 28px)!important;
    }
    .gallery-page .gallery-card h2,
    .gallery-page .gallery-card h3,
    .gallery-page .galerie-card h2,
    .gallery-page .galerie-card h3{
        font-size:20px!important;
    }
}


/* ============================================================
   1.0.306 – Galerie-Karten strukturell 1:1 im News-Stil
   ============================================================ */
body.gallery-page .gallery-content{
    background:#f3f3f3;
}
body.gallery-page .gallery-content .page-container{
    width:min(1120px,calc(100% - 64px));
    max-width:1120px;
    margin-inline:auto;
}
body.gallery-page .gallery-filter{
    justify-content:flex-start!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 24px!important;
}
body.gallery-page .gallery-filter-button{
    height:38px!important;
    min-height:38px!important;
    padding:0 16px!important;
    border:1px solid #c8c8c8!important;
    border-radius:0!important;
    background:#f7f7f7!important;
    color:#111!important;
    box-shadow:none!important;
    transform:none!important;
    font:700 12px/36px "Oswald","Arial Narrow",Arial,sans-serif!important;
    text-transform:uppercase!important;
}
body.gallery-page .gallery-filter-button.active{
    border-color:#ed1b24!important;
    background:#ed1b24!important;
    color:#fff!important;
}
body.gallery-page .gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
}
body.gallery-page .gallery-card.news-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    border:1px solid #222!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#090909!important;
    color:#fff!important;
    box-shadow:0 12px 30px rgba(0,0,0,.12)!important;
}
body.gallery-page .gallery-card .news-card-image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:auto!important;
    border:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#111!important;
    color:inherit!important;
    cursor:pointer!important;
    text-align:left!important;
}
body.gallery-page .gallery-card .news-card-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:700/300!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
}
body.gallery-page .gallery-card .news-category{
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    display:inline-flex!important;
    width:auto!important;
    margin:0!important;
    padding:10px 13px!important;
    background:#ed1b24!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
}
body.gallery-page .gallery-card .news-card-content{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:276px!important;
    padding:22px 23px 24px!important;
    background:#090909!important;
    text-align:left!important;
}
body.gallery-page .gallery-card .news-card-date{
    display:block!important;
    margin:0 0 11px!important;
    color:#ed1b24!important;
    font-size:12px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
}
body.gallery-page .gallery-card .news-card-title{
    margin:0 0 10px!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1.08!important;
    text-align:left!important;
    text-transform:uppercase!important;
}
body.gallery-page .gallery-title-action{
    display:block;
    width:100%;
    border:0;
    padding:0;
    background:none;
    color:inherit;
    font:inherit;
    line-height:inherit;
    text-align:left;
    text-transform:inherit;
    cursor:pointer;
}
body.gallery-page .gallery-card .news-card-text{
    margin:0 0 18px!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1.55!important;
    text-align:left!important;
}
body.gallery-page .gallery-card .news-card-link{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    width:auto!important;
    margin-top:auto!important;
    border:0!important;
    padding:24px 0 0!important;
    background:none!important;
    color:#ed1b24!important;
    font:800 12px/1.2 "Oswald","Arial Narrow",Arial,sans-serif!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
}
body.gallery-page .gallery-card .news-card-link:hover,
body.gallery-page .gallery-title-action:hover{
    color:#ed1b24!important;
}
@media(max-width:820px){
    body.gallery-page .gallery-grid{grid-template-columns:1fr!important}
}
@media(max-width:600px){
    body.gallery-page .gallery-content .page-container{
        width:calc(100% - 28px)!important;
    }
    body.gallery-page .gallery-card .news-card-title{font-size:20px!important}
}


/* ============================================================
   1.0.306 – Galerie kompakt: Bild + Datum + Titel + Kategorie
   ============================================================ */

/* Der bisherige dunkle Zwischenraum zwischen Bild und Inhalt entfällt vollständig. */
body.gallery-page .gallery-card .news-card-image{
    aspect-ratio:auto!important;
    height:auto!important;
    min-height:0!important;
}
body.gallery-page .gallery-card .news-card-image img{
    aspect-ratio:700/300!important;
    height:auto!important;
    min-height:0!important;
    object-fit:cover!important;
}

/* Kompakter Inhaltsbereich direkt unter dem Bild. */
body.gallery-page .gallery-card .news-card-content{
    min-height:0!important;
    height:auto!important;
    flex:0 0 auto!important;
    padding:27px 23px 28px!important;
    justify-content:flex-start!important;
}

/* Datum und Überschrift bleiben die zentralen Informationen. */
body.gallery-page .gallery-card .news-card-date{
    margin:0 0 25px!important;
}
body.gallery-page .gallery-card .news-card-title{
    margin:0 0 28px!important;
}

/* Kategorie bleibt als rotes Label unter der Überschrift. */
body.gallery-page .gallery-card .news-card-content .news-category{
    position:static!important;
    display:inline-flex!important;
    align-self:flex-start!important;
    width:auto!important;
    margin:0!important;
    padding:12px 13px!important;
    background:#ed1b24!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    text-transform:uppercase!important;
}

/* In der Galerie werden bewusst kein Anrisstext und kein Weiterlesen-Link ausgegeben. */
body.gallery-page .gallery-card .news-card-text,
body.gallery-page .gallery-card .news-card-link,
body.gallery-page .gallery-card .gallery-card-text,
body.gallery-page .gallery-card .gallery-card-link,
body.gallery-page .gallery-card .gallery-readmore,
body.gallery-page .gallery-card .galerie-readmore{
    display:none!important;
}

@media(max-width:600px){
    body.gallery-page .gallery-card .news-card-content{
        padding:22px 18px 24px!important;
    }
    body.gallery-page .gallery-card .news-card-date{
        margin-bottom:18px!important;
    }
    body.gallery-page .gallery-card .news-card-title{
        margin-bottom:22px!important;
    }
}


/* ============================================================
   1.0.306 – Galerie: restlichen Medien-Zwischenraum entfernen
   ============================================================ */

/* Medienbereich darf keinerlei feste/reservierte Höhe mehr besitzen. */
body.gallery-page .gallery-card > .gallery-card-button,
body.gallery-page .gallery-card > .news-card-image,
body.gallery-page .gallery-card .gallery-card-button.news-card-image,
body.gallery-page .gallery-card .gallery-card-button,
body.gallery-page .gallery-card .gallery-card-image,
body.gallery-page .gallery-card .gallery-image-wrap,
body.gallery-page .gallery-card .gallery-media,
body.gallery-page .gallery-card figure{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    line-height:0!important;
    overflow:hidden!important;
    background:transparent!important;
}

/* Das Bild selbst bestimmt jetzt die komplette Höhe des Medienbereichs. */
body.gallery-page .gallery-card > .gallery-card-button > img,
body.gallery-page .gallery-card .news-card-image > img,
body.gallery-page .gallery-card .gallery-image,
body.gallery-page .gallery-card img.gallery-image{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    margin:0!important;
    padding:0!important;
}

/* Inhaltsblock schließt ohne Lücke unmittelbar an das Bild an. */
body.gallery-page .gallery-card > .gallery-card-content,
body.gallery-page .gallery-card > .news-card-content,
body.gallery-page .gallery-card .gallery-card-content.news-card-content{
    margin:0!important;
    min-height:0!important;
    height:auto!important;
    flex:0 0 auto!important;
}

/* Keine Pseudo-Elemente dürfen im Medienbereich Platz reservieren. */
body.gallery-page .gallery-card .gallery-card-button::before,
body.gallery-page .gallery-card .gallery-card-button::after,
body.gallery-page .gallery-card .news-card-image::before,
body.gallery-page .gallery-card .news-card-image::after{
    content:none!important;
    display:none!important;
}


/* ============================================================
   1.0.306 – Einheitliche Galerie-Vorschaubilder
   ============================================================ */

/* Jede Galerie-Kachel erhält denselben kompakten 16:9-Bildbereich. */
body.gallery-page .gallery-card > .gallery-card-button,
body.gallery-page .gallery-card > .news-card-image,
body.gallery-page .gallery-card .gallery-card-button.news-card-image{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#111!important;
}

/* Hoch- und Querformat werden nur in der Vorschau sauber zugeschnitten. */
body.gallery-page .gallery-card > .gallery-card-button > img,
body.gallery-page .gallery-card .news-card-image > img,
body.gallery-page .gallery-card .gallery-image,
body.gallery-page .gallery-card img.gallery-image{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
}

/* Karten bleiben im Raster optisch gleichmäßig. */
body.gallery-page .gallery-grid{
    align-items:stretch!important;
}
body.gallery-page .gallery-card.news-card{
    height:100%!important;
}
body.gallery-page .gallery-card .news-card-content{
    flex:1 1 auto!important;
}

/* Auf sehr kleinen Displays bleibt das Verhältnis erhalten. */
@media(max-width:600px){
    body.gallery-page .gallery-card > .gallery-card-button,
    body.gallery-page .gallery-card > .news-card-image,
    body.gallery-page .gallery-card .gallery-card-button.news-card-image{
        aspect-ratio:16/9!important;
    }
}


/* ============================================================
   1.0.306 – Galerie-Karten ca. 50/50: Bild / schwarzer Infobereich
   ============================================================ */

/* Feste, sichtbare Vorschaufläche – ungefähr so hoch wie der schwarze Textbereich. */
body.gallery-page .gallery-card > .gallery-card-button,
body.gallery-page .gallery-card > .news-card-image,
body.gallery-page .gallery-card .gallery-card-button.news-card-image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:230px!important;
    min-height:230px!important;
    max-height:230px!important;
    aspect-ratio:auto!important;
    flex:0 0 230px!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    background:#111!important;
}

/* Das Bild füllt die Vorschaufläche vollständig, ohne Verzerrung. */
body.gallery-page .gallery-card > .gallery-card-button > img,
body.gallery-page .gallery-card .news-card-image > img,
body.gallery-page .gallery-card .gallery-image,
body.gallery-page .gallery-card img.gallery-image{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
    margin:0!important;
    padding:0!important;
}

/* Der schwarze Informationsbereich bleibt kompakt und bildet optisch die zweite Hälfte. */
body.gallery-page .gallery-card > .news-card-content,
body.gallery-page .gallery-card > .gallery-card-content,
body.gallery-page .gallery-card .gallery-card-content.news-card-content{
    min-height:210px!important;
    height:auto!important;
    flex:1 1 210px!important;
    box-sizing:border-box!important;
}

/* Tablet / Smartphone proportional etwas kompakter. */
@media(max-width:820px){
    body.gallery-page .gallery-card > .gallery-card-button,
    body.gallery-page .gallery-card > .news-card-image,
    body.gallery-page .gallery-card .gallery-card-button.news-card-image{
        height:220px!important;
        min-height:220px!important;
        max-height:220px!important;
        flex-basis:220px!important;
    }
}
@media(max-width:600px){
    body.gallery-page .gallery-card > .gallery-card-button,
    body.gallery-page .gallery-card > .news-card-image,
    body.gallery-page .gallery-card .gallery-card-button.news-card-image{
        height:190px!important;
        min-height:190px!important;
        max-height:190px!important;
        flex-basis:190px!important;
    }
}


/* ============================================================
   1.0.306 – Galerie-Vorschaubild robust als eigener Medienblock
   ============================================================ */

/*
 * Der Vorschaubereich verwendet bewusst background-image statt eines absolut
 * positionierten <img>. Damit können ältere Galerie-/News-Bildregeln die
 * Darstellung nicht mehr auf Höhe 0 setzen oder ausblenden.
 */
body.gallery-page .gallery-card > .gallery-preview,
body.gallery-page .gallery-card > button.gallery-preview,
body.gallery-page .gallery-card .gallery-card-button.gallery-preview{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
    flex:0 0 220px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    background-color:#111!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:cover!important;
    line-height:0!important;
    cursor:pointer!important;
    opacity:1!important;
    visibility:visible!important;
}

/* Der bestehende schwarze Infobereich bleibt unverändert kompakt. */
body.gallery-page .gallery-card > .news-card-content{
    min-height:210px!important;
    flex:1 1 210px!important;
}

/* Falls Browser/Cache noch ein altes img-Markup führt, beeinflusst es das Layout nicht. */
body.gallery-page .gallery-card > .gallery-preview > img{
    display:none!important;
}

@media(max-width:820px){
    body.gallery-page .gallery-card > .gallery-preview,
    body.gallery-page .gallery-card > button.gallery-preview{
        height:210px!important;
        min-height:210px!important;
        max-height:210px!important;
        flex-basis:210px!important;
    }
}
@media(max-width:600px){
    body.gallery-page .gallery-card > .gallery-preview,
    body.gallery-page .gallery-card > button.gallery-preview{
        height:190px!important;
        min-height:190px!important;
        max-height:190px!important;
        flex-basis:190px!important;
    }
}


/* ============================================================
   1.0.306 – Leerer Galerie-Zustand
   ============================================================ */

/* Solange noch keine echten Galeriebeiträge vorhanden sind, verschwinden
   Demo-Kacheln, Filter und „Mehr Bilder laden“. Stattdessen erscheint
   ein ruhiger, mittig platzierter Hinweis zwischen Header und Footer. */
body.gallery-page .gallery-empty-state{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:430px!important;
    padding:70px 24px!important;
    box-sizing:border-box!important;
    text-align:center!important;
    background:#f4f4f4!important;
}

body.gallery-page .gallery-empty-state[hidden]{
    display:none!important;
}

body.gallery-page .gallery-empty-state-inner{
    width:min(760px,100%)!important;
    margin:auto!important;
}

body.gallery-page .gallery-empty-kicker{
    display:block!important;
    margin:0 0 10px!important;
    color:#ed1b24!important;
    font-family:var(--font-display,Impact,"Arial Narrow",sans-serif)!important;
    font-size:14px!important;
    font-weight:700!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
}

body.gallery-page .gallery-empty-state h2{
    margin:0!important;
    color:#111!important;
    font-family:var(--font-display,Impact,"Arial Narrow",sans-serif)!important;
    font-size:clamp(34px,5vw,58px)!important;
    line-height:1!important;
    font-weight:800!important;
    text-transform:uppercase!important;
}

body.gallery-page .gallery-empty-line{
    display:block!important;
    width:92px!important;
    height:4px!important;
    margin:22px auto 20px!important;
    background:#ed1b24!important;
}

body.gallery-page .gallery-empty-state p{
    margin:0!important;
    color:#333!important;
    font-size:17px!important;
    line-height:1.65!important;
}

@media(max-width:600px){
    body.gallery-page .gallery-empty-state{
        min-height:340px!important;
        padding:55px 20px!important;
    }
    body.gallery-page .gallery-empty-state p{
        font-size:15px!important;
    }
}


/* ============================================================
   1.0.306 – Freundlichere News-Vorschaubilder auf der Startseite
   ============================================================ */

/* Mehr Originalfarbe, etwas heller und weiterhin einheitlich. */
.home-news-card img,
.home-news-item img,
.news-preview img,
.latest-news img,
.efc-news-list img,
.efc-home-news img{
    filter: grayscale(18%) saturate(88%) brightness(1.08) contrast(1.04)!important;
    transition: filter .25s ease, transform .25s ease!important;
}

/* Beim Überfahren wird das Originalbild lebendiger sichtbar. */
.home-news-card:hover img,
.home-news-item:hover img,
.news-preview:hover img,
.latest-news a:hover img,
.efc-news-list a:hover img,
.efc-home-news a:hover img{
    filter: grayscale(0%) saturate(100%) brightness(1.06) contrast(1.03)!important;
}

/* Eventuelle bisherige dunkle Farbüberlagerungen im News-Vorschaubereich abschwächen. */
.home-news-card .news-image::after,
.home-news-item .news-image::after,
.news-preview::after,
.latest-news .news-image::after,
.efc-news-list .news-image::after,
.efc-home-news .news-image::after{
    opacity:.08!important;
}


/* ============================================================
   1.0.306 – Startseite: tatsächlichen Latest-News-Renderer korrigiert
   Freundlicher EFC-Look mit überwiegend sichtbaren Originalfarben.
   ============================================================ */

.home-page .latest-news-image img{
    filter:grayscale(.12) saturate(1.02) brightness(1.08) contrast(1.04) !important;
    transform:scale(1.02) !important;
    opacity:1 !important;
    transition:filter .25s ease,transform .25s ease !important;
}

/* Den bisherigen kräftigen roten Schleier nur noch sehr dezent verwenden. */
.home-page .latest-news-image::before{
    background:
      linear-gradient(118deg,
        rgba(227,27,35,.16) 0%,
        rgba(227,27,35,.07) 22%,
        rgba(227,27,35,.015) 43%,
        rgba(227,27,35,0) 62%) !important;
    mix-blend-mode:normal !important;
    opacity:.45 !important;
}

/* Starke Trauer-/Vignettenwirkung entfernen; nur minimale Tiefenzeichnung bleibt. */
.home-page .latest-news-image::after{
    box-shadow:
      inset 0 0 12px rgba(0,0,0,.16),
      inset 0 -8px 12px rgba(0,0,0,.10) !important;
    background:linear-gradient(
      90deg,
      rgba(0,0,0,.04),
      transparent 26%,
      transparent 78%,
      rgba(0,0,0,.03)
    ) !important;
    opacity:1 !important;
}

/* Hover: praktisch volle Originalfarbe. */
.home-page .latest-news-image:hover img,
.home-page .latest-news-image:focus-visible img{
    filter:grayscale(0) saturate(1.08) brightness(1.08) contrast(1.03) !important;
    transform:scale(1.055) !important;
}

/* Mobile darf nicht auf die alte Schwarz-Weiß-Regel zurückfallen. */
@media(max-width:650px){
    .home-page .latest-news-image img{
        filter:grayscale(.12) saturate(1.02) brightness(1.08) contrast(1.04) !important;
    }
    .home-page .latest-news-image::before{
        opacity:.40 !important;
    }
}


/* ============================================================
   1.0.306 – News-Vorschaubilder: 70 % Farberhalt
   ============================================================ */
.home-page .latest-news-image img{
    filter:grayscale(.30) saturate(.96) brightness(1.08) contrast(1.04) !important;
}
.home-page .latest-news-image:hover img,
.home-page .latest-news-image:focus-visible img{
    filter:grayscale(0) saturate(1.06) brightness(1.08) contrast(1.03) !important;
}
@media(max-width:650px){
    .home-page .latest-news-image img{
        filter:grayscale(.30) saturate(.96) brightness(1.08) contrast(1.04) !important;
    }
}


/* 1.0.306 – kompaktere, gleich hohe Startseiten-Kacheln auf Desktop */
@media (min-width:1381px){
  .home-page .dashboard-grid{align-items:stretch!important}
  .home-page .dashboard-card{
    height:315px!important;min-height:315px!important;max-height:315px!important;
    padding:15px 20px 14px!important;box-sizing:border-box!important
  }
  .home-page .dashboard-title{margin-bottom:6px!important}

  .home-page .next-match-card .next-match-competition{margin-bottom:5px!important}
  .home-page .next-match-card .next-match-teams-text{
    min-height:66px!important;margin:4px 0 7px!important
  }
  .home-page .next-match-card .next-match-information{
    min-height:62px!important;margin:0 0 8px!important;padding-top:8px!important
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location{
    min-height:54px!important;padding-top:22px!important
  }
  .home-page .next-match-card .dashboard-link{
    margin-top:auto!important;min-height:36px!important;padding:7px 12px!important
  }

  .home-page .countdown-card .countdown-competition{margin-bottom:12px!important}
  .home-page .countdown-card .countdown-grid{margin-top:27px!important}
  .home-page .countdown-card .countdown-number{font-size:2.18rem!important}
  .home-page .countdown-card .countdown-item:not(:last-child)::after{height:52px!important}
  .home-page .countdown-card .countdown-match-overview{
    margin-top:13px!important;padding:9px 13px 8px!important
  }
  .home-page .countdown-card .countdown-overview-heading{margin-bottom:5px!important}
  .home-page .countdown-card .countdown-overview-list > div{
    margin:2px 0!important;line-height:1.2!important
  }

  .home-page .latest-news-card{display:flex!important;flex-direction:column!important}
  .home-page .latest-news-list{flex:1 1 auto!important;min-height:0!important}
  .home-page .latest-news-item{min-height:61px!important;padding:4px 0!important}
  .home-page .latest-news-image{
    width:132px!important;height:58px!important;min-height:58px!important
  }
  .home-page .latest-news-content h3,
  .home-page .latest-news-content h3 a{font-size:.78rem!important;line-height:1.18!important}
  .home-page .latest-news-content time{font-size:.64rem!important}
  .home-page .latest-news-card .news-overview-link{
    margin-top:7px!important;min-height:36px!important;padding:7px 12px!important
  }
}


/* ============================================================
   1.0.306 – Aktuelle News bei 315px Kachelhöhe sauber verdichtet
   ============================================================ */
@media (min-width:1381px){
  .home-page .latest-news-card{
    height:315px!important;
    min-height:315px!important;
    max-height:315px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  /* Fester Inhaltsbereich für genau drei Meldungen. */
  .home-page .latest-news-list{
    flex:0 0 205px!important;
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
    overflow:hidden!important;
  }

  .home-page .latest-news-item{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    padding:3px 0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .home-page .latest-news-item + .latest-news-item{
    border-top:1px solid rgba(255,255,255,.13)!important;
  }

  .home-page .latest-news-image{
    flex:0 0 126px!important;
    width:126px!important;
    height:61px!important;
    min-height:61px!important;
    max-height:61px!important;
    margin-right:14px!important;
    overflow:hidden!important;
  }

  .home-page .latest-news-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .home-page .latest-news-content{
    min-width:0!important;
    padding:1px 0!important;
  }

  .home-page .latest-news-content h3{
    margin:0 0 4px!important;
  }

  .home-page .latest-news-content h3,
  .home-page .latest-news-content h3 a{
    font-size:.75rem!important;
    line-height:1.14!important;
  }

  .home-page .latest-news-content time{
    font-size:.61rem!important;
    line-height:1!important;
  }

  /* Eigener reservierter Fußbereich: Button kann keine Meldung überlagern. */
  .home-page .latest-news-card .news-overview-link{
    position:static!important;
    flex:0 0 36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:7px 0 0 auto!important;
    padding:7px 12px!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
  }
}

/* ============================================================
   1.0.306 – Dynamische Startseiten-Kacheln nach Viewportgröße
   Die drei Karten bleiben gleich hoch und skalieren fließend.
   ============================================================ */
@media (min-width:1381px){
  .home-page{
    --efc-dashboard-height:clamp(288px, 32vh, 350px);
    --efc-dashboard-pad-y:clamp(12px, 1.45vh, 18px);
    --efc-dashboard-pad-x:clamp(16px, 1.35vw, 22px);
  }

  .home-page .dashboard-grid{align-items:stretch!important}
  .home-page .dashboard-card,
  .home-page .latest-news-card{
    height:var(--efc-dashboard-height)!important;
    min-height:var(--efc-dashboard-height)!important;
    max-height:var(--efc-dashboard-height)!important;
    padding:var(--efc-dashboard-pad-y) var(--efc-dashboard-pad-x)!important;
    box-sizing:border-box!important;
  }

  .home-page .dashboard-title{
    margin-bottom:clamp(4px,.65vh,8px)!important;
  }

  /* Nächstes Spiel passt seine vertikalen Abstände fließend an. */
  .home-page .next-match-card .next-match-competition{margin-bottom:clamp(3px,.55vh,7px)!important}
  .home-page .next-match-card .next-match-teams-text{
    min-height:clamp(58px,7.1vh,72px)!important;
    margin:clamp(2px,.45vh,5px) 0 clamp(5px,.7vh,9px)!important
  }
  .home-page .next-match-card .next-match-information{
    min-height:clamp(55px,6.7vh,68px)!important;
    margin:0 0 clamp(5px,.7vh,9px)!important;
    padding-top:clamp(5px,.75vh,9px)!important
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location{
    min-height:clamp(48px,5.8vh,58px)!important;
    padding-top:clamp(18px,2.3vh,24px)!important
  }
  .home-page .next-match-card .dashboard-link{
    margin-top:auto!important;
    min-height:clamp(34px,3.8vh,39px)!important;
    padding:clamp(6px,.75vh,8px) 12px!important
  }

  /* Countdown skaliert ebenfalls nach verfügbarer Höhe. */
  .home-page .countdown-card .countdown-competition{margin-bottom:clamp(7px,1.1vh,13px)!important}
  .home-page .countdown-card .countdown-grid{margin-top:clamp(18px,2.8vh,30px)!important}
  .home-page .countdown-card .countdown-number{font-size:clamp(1.9rem,2.25vw,2.35rem)!important}
  .home-page .countdown-card .countdown-item:not(:last-child)::after{height:clamp(44px,5.5vh,55px)!important}
  .home-page .countdown-card .countdown-match-overview{
    margin-top:clamp(8px,1.35vh,14px)!important;
    padding:clamp(7px,.9vh,10px) 13px!important
  }
  .home-page .countdown-card .countdown-overview-heading{margin-bottom:clamp(3px,.55vh,6px)!important}
  .home-page .countdown-card .countdown-overview-list > div{margin:clamp(1px,.22vh,3px) 0!important;line-height:1.18!important}

  /* News: freier Platz wird auf drei Meldungen verteilt; Button hat eigenen Fußbereich. */
  .home-page .latest-news-card{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .home-page .latest-news-list{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important
  }
  .home-page .latest-news-item{
    flex:1 1 0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:clamp(2px,.35vh,4px) 0!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important
  }
  .home-page .latest-news-image{
    flex:0 0 clamp(112px,8.4vw,138px)!important;
    width:clamp(112px,8.4vw,138px)!important;
    height:clamp(52px,6.4vh,67px)!important;
    min-height:clamp(52px,6.4vh,67px)!important;
    max-height:clamp(52px,6.4vh,67px)!important;
    margin-right:clamp(10px,.85vw,15px)!important
  }
  .home-page .latest-news-content h3,
  .home-page .latest-news-content h3 a{
    font-size:clamp(.70rem,.68vw,.80rem)!important;
    line-height:1.14!important
  }
  .home-page .latest-news-content time{font-size:clamp(.57rem,.55vw,.64rem)!important}
  .home-page .latest-news-card .news-overview-link{
    position:static!important;
    flex:0 0 clamp(34px,3.8vh,39px)!important;
    height:clamp(34px,3.8vh,39px)!important;
    min-height:clamp(34px,3.8vh,39px)!important;
    margin:clamp(5px,.7vh,8px) 0 0 auto!important;
    padding:clamp(6px,.75vh,8px) 12px!important;
    box-sizing:border-box!important;
    align-self:stretch!important
  }
}

/* Bei niedrigen Desktop-Viewports zusätzlich kompakter, ohne die Breite zu ändern. */
@media (min-width:1381px) and (max-height:760px){
  .home-page{--efc-dashboard-height:clamp(276px, 38vh, 300px)}
  .home-page .countdown-card .countdown-match-overview{font-size:.72rem!important}
  .home-page .latest-news-content h3,
  .home-page .latest-news-content h3 a{font-size:.70rem!important}
}


/* ============================================================
   1.0.306 – Dashboard proportional zur realen Viewportgröße
   22"-ähnliche Viewports bleiben kompakt; große Desktopflächen
   erhalten mehr Höhe, Schrift, Bildfläche und Innenabstand.
   ============================================================ */
@media (min-width:1381px){
  .home-page{
    --efc-dash-h: clamp(300px, 28.5vh, 350px);
    --efc-dash-pad-x: clamp(18px, 1.35vw, 26px);
    --efc-dash-pad-y: clamp(14px, 1.25vh, 19px);
    --efc-dash-title: clamp(1.02rem, .82vw, 1.22rem);
    --efc-dash-body: clamp(.69rem, .56vw, .82rem);
    --efc-news-img-w: clamp(126px, 9.7vw, 154px);
    --efc-news-row-h: clamp(63px, 6.15vh, 75px);
    --efc-button-h: clamp(36px, 3.7vh, 42px);
  }

  .home-page .dashboard-grid{align-items:stretch!important}

  .home-page .dashboard-card{
    height:var(--efc-dash-h)!important;
    min-height:var(--efc-dash-h)!important;
    max-height:var(--efc-dash-h)!important;
    padding:var(--efc-dash-pad-y) var(--efc-dash-pad-x)!important;
  }

  .home-page .dashboard-title{
    font-size:var(--efc-dash-title)!important;
    line-height:1.05!important;
  }

  /* Nächstes Spiel skaliert mit, ohne die 22"-Ansicht aufzublähen. */
  .home-page .next-match-card .next-match-teams-text{
    min-height:clamp(62px, 6.5vh, 78px)!important;
  }
  .home-page .next-match-card .next-match-information{
    min-height:clamp(58px, 6vh, 72px)!important;
  }
  .home-page .next-match-card .next-match-type,
  .home-page .next-match-card .next-match-date,
  .home-page .next-match-card .next-match-location{
    font-size:var(--efc-dash-body)!important;
  }
  .home-page .next-match-card .dashboard-link{
    min-height:var(--efc-button-h)!important;
  }

  /* Countdown auf größeren Viewports etwas großzügiger. */
  .home-page .countdown-card .countdown-number{
    font-size:clamp(2.05rem, 2.15vw, 2.65rem)!important;
  }
  .home-page .countdown-card .countdown-grid{
    margin-top:clamp(20px, 2.3vh, 29px)!important;
  }
  .home-page .countdown-card .countdown-match-overview{
    margin-top:clamp(10px, 1.35vh, 16px)!important;
    padding:clamp(8px, .9vh, 11px) clamp(12px, .9vw, 16px)!important;
  }
  .home-page .countdown-card .countdown-overview-list > div{
    font-size:var(--efc-dash-body)!important;
  }

  /* News: drei Reihen + eigener Buttonbereich skalieren gemeinsam. */
  .home-page .latest-news-card{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .home-page .latest-news-list{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .home-page .latest-news-item{
    height:var(--efc-news-row-h)!important;
    min-height:var(--efc-news-row-h)!important;
    max-height:var(--efc-news-row-h)!important;
    padding:3px 0!important;
  }
  .home-page .latest-news-image{
    flex:0 0 var(--efc-news-img-w)!important;
    width:var(--efc-news-img-w)!important;
    height:calc(var(--efc-news-row-h) - 7px)!important;
    min-height:calc(var(--efc-news-row-h) - 7px)!important;
    max-height:calc(var(--efc-news-row-h) - 7px)!important;
  }
  .home-page .latest-news-content h3,
  .home-page .latest-news-content h3 a{
    font-size:clamp(.74rem, .62vw, .88rem)!important;
    line-height:1.16!important;
  }
  .home-page .latest-news-content time{
    font-size:clamp(.60rem, .48vw, .70rem)!important;
  }
  .home-page .latest-news-card .news-overview-link{
    position:static!important;
    flex:0 0 var(--efc-button-h)!important;
    height:var(--efc-button-h)!important;
    min-height:var(--efc-button-h)!important;
    margin:clamp(6px,.8vh,10px) 0 0 auto!important;
  }
}

/* Breite, aber niedrige Desktopfenster: kompakt bleiben. */
@media (min-width:1381px) and (max-height:820px){
  .home-page{
    --efc-dash-h: 300px;
    --efc-news-row-h: 61px;
    --efc-button-h: 35px;
  }
}

/* Große Desktop-Viewports: vorhandene Fläche bewusst besser nutzen. */
@media (min-width:1800px) and (min-height:900px){
  .home-page{
    --efc-dash-h: clamp(325px, 30vh, 355px);
    --efc-news-img-w: clamp(145px, 9.2vw, 165px);
    --efc-news-row-h: clamp(69px, 6.6vh, 78px);
  }
}

/* 1.0.306 – Feinschliff große Desktopansicht */
@media (min-width:1800px) and (min-height:900px){
 .home-page .next-match-card .next-match-information{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;width:100%!important
 }
 .home-page .next-match-card .next-match-type,
 .home-page .next-match-card .next-match-date,
 .home-page .next-match-card .next-match-location{
  width:auto!important;min-width:0!important;height:100%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;text-align:center!important;box-sizing:border-box!important;
  padding-left:10px!important;padding-right:10px!important
 }
 .home-page .next-match-card .next-match-type *,
 .home-page .next-match-card .next-match-date *,
 .home-page .next-match-card .next-match-location *{text-align:center!important}
 .home-page{--efc-news-img-w:132px}
 .home-page .latest-news-image{
  flex-basis:132px!important;width:132px!important;max-width:132px!important;margin-right:14px!important
 }
 .home-page .latest-news-content{flex:1 1 auto!important;min-width:0!important;width:auto!important}
 .home-page .latest-news-content h3,
 .home-page .latest-news-content h3 a{
  font-size:.76rem!important;line-height:1.15!important;max-width:none!important
 }
}


/* ============================================================
   1.0.306 – Fahrtanmeldung kompakt
   Entfernt den durch die verschobene Teilnehmer-Schaltfläche
   entstandenen Leerraum und bündelt alle Fahrtdaten sauber.
   ============================================================ */
@media (min-width:981px){
  .member-trips .member-trip-row{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 110px 190px!important;
    gap:14px!important;
    align-items:center!important;
    height:auto!important;
    min-height:0!important;
    padding:14px 0!important;
  }

  .member-trips .member-trip-icon{
    align-self:center!important;
    margin:0!important;
  }

  .member-trips .member-trip-info{
    align-self:center!important;
    min-width:0!important;
  }

  .member-trips .member-trip-info h3{
    margin-bottom:5px!important;
  }

  .member-trips .member-trip-meta{
    gap:4px 14px!important;
    line-height:1.35!important;
  }

  .member-trips .member-trip-price{
    margin-top:5px!important;
  }

  .member-trips .member-trip-capacity{
    align-self:center!important;
    margin:0!important;
    padding:0!important;
  }

  .member-trips .member-trip-action{
    align-self:center!important;
    width:190px!important;
    min-width:190px!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
  }

  /* Wichtig: keine optische Verschiebung mehr – sie war die Ursache
     des großen freien Mittelbereichs. */
  .member-trips .member-trip-participants-button{
    transform:none!important;
    margin:0!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }

  .member-trips .member-trip-button{
    margin:0!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  .member-trips .member-trip-action small{
    margin:1px 0 0!important;
    line-height:1.25!important;
    text-align:right!important;
  }
}

/* Mittlere Breiten: weiterhin kompakt, Aktionen unter den Fahrtdaten. */
@media (min-width:651px) and (max-width:980px){
  .member-trips .member-trip-row{
    padding-top:14px!important;
    padding-bottom:14px!important;
    gap:12px!important;
  }
  .member-trips .member-trip-participants-button{
    transform:none!important;
  }
  .member-trips .member-trip-action{
    gap:6px!important;
    margin-top:2px!important;
  }
}

/* Mobil ebenfalls keine alte Verschiebung übernehmen. */
@media (max-width:650px){
  .member-trips .member-trip-row{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
  .member-trips .member-trip-participants-button{
    transform:none!important;
  }
}


/* ============================================================
   1.0.306 – Busfahrt wirklich kompakt
   Die Fahrtbeschreibung war in der Übersicht weiterhin vorhanden
   und beanspruchte trotz kaum sichtbarer Darstellung viel Höhe.
   In der kompakten Fahrtenliste werden nur die relevanten Eckdaten
   gezeigt; Beschreibung bleibt für Anmeldung/Detaildaten erhalten.
   ============================================================ */
.member-trips .member-trip-row .member-trip-description{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
}

@media (min-width:981px){
  .member-trips .member-trip-row{
    grid-template-columns:44px minmax(0,1fr) 110px 190px!important;
    align-items:center!important;
    padding:14px 0!important;
    min-height:0!important;
    height:auto!important;
  }
  .member-trips .member-trip-icon,
  .member-trips .member-trip-info,
  .member-trips .member-trip-capacity,
  .member-trips .member-trip-action{
    align-self:center!important;
  }
  .member-trips .member-trip-action{
    justify-content:center!important;
  }
}


/* 1.0.306 – Zeilenumbrüche/Absätze in Fahrtbeschreibungen erhalten */
.efc-trip-description,
.trip-description,
.public-trip-description,
.efc-public-description,
[data-trip-description]{
  white-space:pre-line;
}


/* 1.0.306 – Fahrtbeschreibung in der eigentlichen Anmeldemaske:
   Zeilenumbrüche und Leerzeilen aus dem Joomla-Textarea sichtbar erhalten. */
.member-registration-description{
  white-space:pre-wrap!important;
}


/* ============================================================
   1.0.306 – Fahrtbeschreibung über die volle verfügbare Breite
   Bewusste Absätze bleiben erhalten; automatische Umbrüche
   erfolgen erst an der tatsächlichen Containergrenze.
   ============================================================ */
.member-registration-description{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  white-space:pre-wrap!important;
}

/* Falls die Beschreibung innerhalb eines Grid-/Flex-Bereichs liegt,
   darf sie die komplette Zeile der Anmeldemaske belegen. */
.member-registration-description{
  grid-column:1 / -1!important;
  flex:0 0 100%!important;
}


/* ============================================================
   1.0.306 – Öffentliche Fahrtbeschreibung kompakter
   Die öffentlichen Fahrtdetails behalten ihre Absätze, erhalten
   aber keine übergroßen vertikalen Zwischenräume.
   ============================================================ */
.efc-public-description,
.public-trip-description{
  white-space:pre-line!important;
  line-height:1.55!important;
  margin-top:12px!important;
  margin-bottom:12px!important;
}

/* Falls die öffentliche Beschreibung in einzelne Absätze gerendert wird */
.efc-public-description p,
.public-trip-description p{
  margin:0 0 10px!important;
  line-height:1.55!important;
}
.efc-public-description p:last-child,
.public-trip-description p:last-child{
  margin-bottom:0!important;
}

/* 1.0.306 – öffentliche Fahrtbeschreibung: echte kompakte Absätze */
.efc-public-description{white-space:normal!important}
.efc-public-description-text{margin-top:12px!important}
.efc-public-description-text p{margin:0 0 12px!important;padding:0!important;line-height:1.55!important}
.efc-public-description-text p:last-child{margin-bottom:0!important}

/* 1.0.306 – Joomla Beitragsnavigation global ausblenden */
.pagenavigation,
.pager,
.pagination__wrapper,
nav[aria-label="Beitragsnavigation"],
nav[aria-label="Article navigation"] {
  display: none !important;
}
\n/* 1.0.312 – Mitglieder-Zugangsmails im Vorstandsbereich */
.member-invite-panel{margin-top:22px}.member-invite-table-wrap{overflow-x:auto;margin-top:16px}.member-invite-table{width:100%;border-collapse:collapse}.member-invite-table th,.member-invite-table td{padding:12px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.12)}.member-invite-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.member-invite-table td small{display:block;opacity:.65;margin-top:3px}.member-invite-table td:nth-child(1){min-width:170px}.member-invite-table td:nth-child(3){min-width:210px}.member-invite-table td:nth-child(4){min-width:175px}.member-invite-table td:last-child{width:150px}.member-invite-panel .member-board-checkin-head{align-items:center;gap:20px}.member-invite-panel .member-board-checkin-head>button{flex:0 0 auto}@media(max-width:760px){.member-invite-panel .member-board-checkin-head{align-items:flex-start;flex-direction:column}.member-invite-table{min-width:760px}}\n
.member-card.member-invites-card{background:linear-gradient(135deg,#101010,#171717);}
.member-invite-admin>.member-invite-panel{margin-top:18px;}

/* 1.0.312 – Mitglieder & Zugänge: Tabellenüberschriften vollständig/einzeilig */
.member-invite-table th{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.member-invite-table th:nth-child(1){width:20%;min-width:150px}
.member-invite-table th:nth-child(2){width:26%;min-width:190px}
.member-invite-table th:nth-child(3){width:29%;min-width:220px}
.member-invite-table th:nth-child(4){width:13%;min-width:125px}
.member-invite-table th:nth-child(5){width:12%;min-width:135px}
@media(max-width:760px){.member-invite-table{min-width:900px}}

/* 1.0.313 – Vorstand: Statistik & Auswertungen */
.member-grid-active{grid-template-columns:repeat(3,minmax(0,1fr))}
.member-statistics-card .member-card-icon{color:#ff263d}
.efc-statistics{width:100%;min-width:0}.efc-statistics-head{align-items:flex-start}.efc-stats-period{border:1px solid #333d45;background:#0d1216;border-radius:8px;padding:10px 16px;display:flex;flex-direction:column;gap:2px;min-width:155px}.efc-stats-period span{font-size:11px;text-transform:uppercase;color:#87919a}.efc-stats-period strong{font-size:14px;color:#fff}.efc-stats-notice{margin:0 0 16px;padding:12px 15px;border:1px solid rgba(237,28,47,.3);border-left:3px solid #ed1c2f;background:#11171b;border-radius:6px;color:#c8d0d6;font-size:13px}.efc-stats-notice strong{color:#fff}
.efc-stats-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 14px}.efc-stats-kpis article{background:linear-gradient(145deg,#141b20,#0d1216);border:1px solid #273139;border-radius:8px;padding:15px;min-height:108px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.efc-kpi-icon{grid-row:1/3;color:#ed1c2f;font-size:23px;font-weight:800}.efc-stats-kpis strong{font-size:24px;line-height:1;color:#fff}.efc-stats-kpis small{color:#aeb7bd;font-size:12px}
.efc-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.efc-stats-grid-top{grid-template-columns:2fr 1fr}.efc-stat-panel{background:linear-gradient(145deg,#11181d,#0b1014);border:1px solid #2b353d;border-radius:8px;overflow:hidden;padding:0 14px 15px;min-width:0}.efc-stat-panel-head{margin:0 -14px 14px;padding:10px 14px;background:#182128;border-bottom:1px solid #303b43;display:flex;align-items:center;justify-content:space-between;gap:12px}.efc-stat-panel-head h3{margin:0;color:#fff;font-size:16px}.efc-stat-panel-head span{font-size:11px;color:#c1c8cd;border:1px solid #3a464e;border-radius:5px;padding:5px 8px}.efc-stat-panel h4{font-size:12px;color:#c8d0d6;margin:15px 0 7px}.efc-stat-empty{margin:auto;color:#7f8a92;font-size:13px}
.efc-daily-bars{height:190px;display:flex;align-items:flex-end;gap:4px;padding:15px 4px 4px;border-left:1px solid #293239;border-bottom:1px solid #293239;background:repeating-linear-gradient(to top,transparent 0,transparent 46px,rgba(255,255,255,.045) 47px)}.efc-daily-bars i{display:block;flex:1;min-width:3px;max-width:18px;background:linear-gradient(to top,#9c1421,#f3263b);border-radius:2px 2px 0 0}
.efc-device-chart{min-height:190px;display:flex;align-items:center;justify-content:center;gap:25px}.efc-device-donut{width:130px;height:130px;border-radius:50%;background:conic-gradient(#ed1c2f 0 var(--mobile),#aeb8c1 var(--mobile) calc(var(--mobile) + var(--desktop)),#f4f6f7 calc(var(--mobile) + var(--desktop)) 100%);display:grid;place-items:center;position:relative}.efc-device-donut:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:#0e1418}.efc-device-donut span{z-index:1;color:#d7dde1;font-size:28px}.efc-device-chart ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}.efc-device-chart li{color:#d3d9dd;font-size:13px}.efc-device-chart li:before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:#ed1c2f;margin-right:8px}.efc-device-chart li:nth-child(2):before{background:#aeb8c1}.efc-device-chart li:nth-child(3):before{background:#f4f6f7}.efc-device-chart b{color:#fff;font-size:17px;margin-right:5px}
.efc-stat-table{display:grid}.efc-stat-row{display:grid;grid-template-columns:28px minmax(120px,1fr) 60px 110px;gap:8px;align-items:center;min-height:31px;border-bottom:1px solid #222c32;color:#cbd2d6;font-size:12px}.efc-stat-row-head{font-size:10px;text-transform:uppercase;color:#8e99a1}.efc-stat-row strong{color:#fff}.efc-mini-bar{height:7px;background:#1c252b;border-radius:1px;overflow:hidden}.efc-mini-bar i{height:100%;display:block;background:#ed1c2f}
.efc-member-stat{display:flex;align-items:center;gap:30px;padding:7px 0}.efc-member-number{width:115px;height:115px;border-radius:50%;border:18px solid #ed1c2f;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#11181c}.efc-member-number strong{font-size:27px;color:#fff}.efc-member-number span{font-size:10px;color:#aeb7bd}.efc-member-role p{margin:8px 0;color:#bbc3c8}.efc-member-role b{color:#fff;font-size:18px;display:inline-block;width:35px}.efc-month-bars{height:90px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #2c353b}.efc-month-bars span{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.efc-month-bars i{width:65%;background:#ed1c2f;display:block}.efc-month-bars small{font-size:8px;color:#8d989f;margin-top:4px}
.efc-trip-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.efc-trip-kpis div{border:1px solid #263139;background:#0d1317;padding:10px 7px;border-radius:5px}.efc-trip-kpis strong{display:block;color:#fff;font-size:20px}.efc-trip-kpis span{font-size:9px;color:#aab3b9}.efc-checkin-progress{margin-top:16px}.efc-checkin-progress>div{display:flex;justify-content:space-between;color:#cbd2d6}.efc-checkin-progress strong{color:#fff}.efc-checkin-progress progress{width:100%;height:9px;accent-color:#ed1c2f}.efc-checkin-progress small{color:#7f8a92}
.efc-category-list{display:grid;gap:9px}.efc-category-list>div{display:grid;grid-template-columns:minmax(100px,1fr) 45px 45%;gap:8px;align-items:center;color:#cbd2d6;font-size:12px}.efc-category-list strong{color:#fff}.efc-category-list i{height:8px;background:#1d262c}.efc-category-list b{height:100%;display:block;background:#ed1c2f}.efc-export-panel p{color:#adb6bc;line-height:1.5}.efc-export-actions{display:flex;gap:10px;margin:18px 0}.efc-export-actions button{border:0;border-radius:5px;padding:11px 16px;font-weight:700;cursor:pointer;background:#ed1c2f;color:#fff}.efc-export-actions button:first-child{background:#f4f5f6;color:#101418}.efc-export-panel>small{color:#7f8990}
@media(max-width:1100px){.member-grid-active{grid-template-columns:repeat(2,minmax(0,1fr))}.efc-stats-kpis{grid-template-columns:repeat(3,1fr)}.efc-stats-grid-top{grid-template-columns:1fr}.efc-stat-row{grid-template-columns:25px minmax(100px,1fr) 55px 90px}}
@media(max-width:720px){.member-grid-active,.efc-stats-grid,.efc-stats-kpis{grid-template-columns:1fr}.efc-statistics-head{flex-direction:column}.efc-stats-period{width:100%}.efc-stats-kpis article{min-height:82px}.efc-device-chart{flex-direction:column;padding:10px}.efc-stat-row{grid-template-columns:22px minmax(90px,1fr) 48px 70px;font-size:10px}.efc-trip-kpis{grid-template-columns:repeat(2,1fr)}.efc-member-stat{gap:15px}.efc-member-number{width:95px;height:95px;border-width:14px}.efc-category-list>div{grid-template-columns:minmax(90px,1fr) 38px 35%}}
@media print{body *{visibility:hidden!important}.efc-statistics,.efc-statistics *{visibility:visible!important}.efc-statistics{position:absolute;left:0;top:0;width:100%;background:#fff!important;color:#111!important}.member-trips-back,.efc-export-actions{display:none!important}.efc-stat-panel,.efc-stats-kpis article{break-inside:avoid}}

/* 1.0.314 – kompakte Standort-/Browserauswertung anstelle der Mitglieder-Statistik */
.efc-origin-browser-panel{overflow:hidden}.efc-origin-browser-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:2px 0 4px}.efc-compact-stat{min-width:0}.efc-compact-stat h4{margin:0 0 9px;color:#fff;font-size:13px}.efc-compact-row{display:grid;grid-template-columns:18px minmax(86px,1fr) 36px 34px 72px;gap:6px;align-items:center;min-height:25px;border-bottom:1px solid rgba(255,255,255,.07);font-size:10px;color:#dce2e6}.efc-compact-row:last-child{border-bottom:0}.efc-compact-rank{color:#89949b}.efc-compact-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efc-compact-row strong{color:#fff;text-align:right}.efc-compact-row small{color:#aeb7bd;text-align:right}.efc-compact-row i{height:7px;background:#1c252b;overflow:hidden}.efc-compact-row i b{display:block;height:100%;background:#f31d36}.efc-origin-note{display:block;margin-top:7px;color:#7f8a91;font-size:9px}.efc-origin-browser-panel .efc-stat-empty{font-size:10px;margin:8px 0;color:#8e999f}@media(max-width:720px){.efc-origin-browser-grid{grid-template-columns:1fr}.efc-compact-row{grid-template-columns:18px minmax(90px,1fr) 36px 34px 64px}}

/* 1.0.316 – Seitenaufrufe und Besuchszeiten nebeneinander */
.efc-stats-grid-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.efc-stats-grid-top .efc-traffic-panel{grid-column:auto!important;min-width:0}
.efc-traffic-summary{display:flex;align-items:baseline;gap:10px;margin:2px 4px 6px}.efc-traffic-summary strong{font-size:22px;color:#fff}.efc-traffic-summary small,.efc-hourly-subtitle{color:#aeb7bd;font-size:12px}.efc-hourly-subtitle{margin:2px 4px 6px}
.efc-hourly-bars{height:190px;display:flex;align-items:flex-end;gap:3px;padding:15px 4px 22px;border-left:1px solid #293239;border-bottom:1px solid #293239;background:repeating-linear-gradient(to top,transparent 0,transparent 46px,rgba(255,255,255,.045) 47px)}
.efc-hour-col{height:100%;flex:1;min-width:3px;position:relative;display:flex;align-items:flex-end}.efc-hour-col i{width:100%;display:block;background:linear-gradient(to top,#9c1421,#f3263b);border-radius:2px 2px 0 0}.efc-hour-col small{position:absolute;left:50%;bottom:-19px;transform:translateX(-50%);font-size:8px;color:#87939a}.efc-hour-axis{text-align:center;color:#aeb7bd;font-size:11px;margin-top:6px}
@media(max-width:900px){.efc-stats-grid-top{grid-template-columns:1fr!important}.efc-daily-bars,.efc-hourly-bars{height:165px}}

/* 1.0.316 – Seitenaufrufe und Besuchszeiten als ein kompakter Statistikbereich */
.efc-stats-grid-top{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)!important}
.efc-traffic-combined-panel{grid-column:auto!important;min-width:0}
.efc-traffic-combined-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:2px 0 4px}
.efc-traffic-half{min-width:0}.efc-traffic-half h4{margin:0 0 7px;color:#fff;font-size:13px}
.efc-traffic-combined-panel .efc-traffic-summary{margin:0 0 4px}.efc-traffic-combined-panel .efc-traffic-summary strong{font-size:19px}.efc-traffic-combined-panel .efc-traffic-summary small{font-size:10px}
.efc-traffic-combined-panel .efc-daily-bars,.efc-traffic-combined-panel .efc-hourly-bars{height:112px;padding-top:8px;background:repeating-linear-gradient(to top,transparent 0,transparent 35px,rgba(255,255,255,.04) 36px)}
.efc-traffic-combined-panel .efc-hourly-bars{padding-bottom:19px}.efc-traffic-combined-panel .efc-hourly-subtitle{font-size:10px;margin:0 0 4px}.efc-traffic-combined-panel .efc-hour-axis{font-size:9px;margin-top:4px}
@media(max-width:900px){.efc-stats-grid-top{grid-template-columns:1fr!important}.efc-traffic-combined-grid{grid-template-columns:1fr}.efc-traffic-combined-panel .efc-daily-bars,.efc-traffic-combined-panel .efc-hourly-bars{height:135px}}

/* 1.0.317 – Exportbereich über die gesamte Statistikbreite */
.efc-stats-grid > .efc-export-panel{grid-column:1 / -1;width:100%;}

/* 1.0.319 – dynamische Termine im News-Bereich */
.news-sidebar .event-content h3 a{color:inherit;text-decoration:none}
.news-sidebar .event-content h3 a:hover{color:#e30613}
.news-sidebar .event-empty{margin:0;color:#6d7278;font-size:.92rem;line-height:1.55}


/* 1.0.321 – Termine: lokale Datumsanzeige und vertikale Textausrichtung */
.news-page .event-item{align-items:center;}
.news-page .event-content{align-self:center;}
.news-page .event-content h3:first-child{margin-top:0;}

/* 1.0.322 – pflegbarer Dokumentbereich */
.member-documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.member-document-card{position:relative;display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid rgba(255,255,255,.12);border-top:3px solid #ed1b2f;background:#111;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.16)}
.member-document-card.is-board{border-top-color:#fff}
.member-document-icon{display:grid;place-items:center;width:42px;height:36px;margin-bottom:18px;background:#202226;color:#ed1b2f;font-size:20px;font-weight:800}
.member-document-meta{margin-bottom:7px;color:#ed1b2f;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.member-document-card.is-board .member-document-meta{color:#fff}
.member-document-copy h3{margin:0 0 9px;color:#fff;font-size:22px;line-height:1.15}
.member-document-copy p{margin:0;color:#b8bcc2;font-size:14px;line-height:1.55}
.member-document-open,.member-document-missing{margin-top:auto;padding-top:24px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.member-document-open{color:#ed1b2f;text-decoration:none}.member-document-open:hover{color:#fff}
.member-document-missing{color:#777}
@media(max-width:760px){.member-documents-grid{grid-template-columns:1fr}.member-document-card{min-height:0}.member-document-open,.member-document-missing{margin-top:20px}}

/* 1.0.323 – vier aktive Vorstandskacheln in einer Reihe */
.member-grid-active{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media(max-width:1100px){.member-grid-active{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.member-grid-active{grid-template-columns:1fr}}

/* 1.0.325 – Mitgliederbereich: mobile Hero-Überschrift vollständig sichtbar */
@media (max-width:760px){
  body.member-page #member-dashboard-title.about-title{
    font-size:clamp(2.15rem,9.2vw,3.35rem)!important;
    line-height:.96!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
    max-width:100%!important;
  }
}
@media (max-width:380px){
  body.member-page #member-dashboard-title.about-title{
    font-size:clamp(1.95rem,8.9vw,2.5rem)!important;
  }
}

/* 1.0.326 – Vorstand: neue Fotobox-Kachel */
.member-photobox-card .member-card-icon{color:#ed1b2f}
.member-photobox-placeholder{margin-top:22px;display:flex;align-items:flex-start;gap:20px;padding:28px;border:1px solid rgba(255,255,255,.12);border-top:3px solid #ed1b2f;background:#111;color:#fff}
.member-photobox-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:46px;background:#202226;color:#ed1b2f;font-size:24px;font-weight:800}
.member-photobox-placeholder h3{margin:2px 0 10px;color:#fff;font-size:24px}.member-photobox-placeholder p:last-child{margin:0;max-width:760px;color:#b8bcc2;line-height:1.55}
@media(min-width:1450px){.member-grid-active{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1101px) and (max-width:1449px){.member-grid-active{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.member-photobox-placeholder{padding:20px;gap:14px}.member-photobox-icon{flex-basis:42px;width:42px;height:38px}}

/* 1.0.327 – Fotobox Grundfunktion */
.efc-photobox-app{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(420px,1.18fr);gap:22px;margin-top:22px}.efc-photobox-tools{display:grid;gap:14px}.efc-photobox-step,.efc-photobox-preview-wrap{border:1px solid rgba(255,255,255,.12);border-top:3px solid #ed1b2f;background:#101112;color:#fff}.efc-photobox-step{padding:20px}.efc-photobox-step h3,.efc-photobox-preview-head h3{margin:2px 0 8px;color:#fff}.efc-photobox-step>p:last-of-type{color:#b8bcc2;line-height:1.5}.efc-photobox-actions,.efc-photobox-export{display:flex;gap:10px;flex-wrap:wrap}.efc-photo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid #42464b;background:#1c1e20;color:#fff;font:inherit;font-weight:800;cursor:pointer}.efc-photo-btn.is-primary{border-color:#ed1b2f;background:#ed1b2f}.efc-photo-btn:disabled{opacity:.42;cursor:not-allowed}.efc-bg-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.efc-bg-option{padding:6px;border:1px solid #3c4145;background:#17191b;color:#fff;cursor:pointer}.efc-bg-option.is-active{border:2px solid #ed1b2f;padding:5px}.efc-bg-option b{display:block;margin-top:5px;font-size:11px}.efc-bg-thumb{display:block;height:68px;background-position:center;background-size:cover;background-image:url('../img/photobox-logo-original.jpg')}.efc-bg-thumb.bg-dark{background-color:#090a0b;background-blend-mode:multiply}.efc-bg-thumb.bg-light{opacity:.72}.efc-bg-thumb.bg-red{background-color:#a30e1c;background-blend-mode:multiply}.efc-bg-thumb.bg-mono{filter:grayscale(1);opacity:.45}.efc-photo-range{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;margin:12px 0;color:#d7dade}.efc-photo-range input{accent-color:#ed1b2f}.efc-photo-check{display:flex;gap:9px;align-items:flex-start;margin-top:14px;color:#b8bcc2;font-size:13px;line-height:1.4}.efc-photo-check input{margin-top:3px;accent-color:#ed1b2f}.efc-photobox-preview-wrap{padding:18px}.efc-photobox-preview-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.efc-photobox-preview-head>span{padding:5px 8px;border:1px solid #394047;color:#aeb6bc;font-size:11px}.efc-photobox-canvas-shell{position:relative;max-width:520px;margin:0 auto;background:#070809;box-shadow:0 12px 32px rgba(0,0,0,.3)}.efc-photobox-canvas-shell canvas{display:block;width:100%;height:auto;aspect-ratio:4/5}.efc-photo-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:rgba(7,8,9,.86);color:#fff}.efc-photo-empty[hidden]{display:none}.efc-photo-empty span{max-width:320px;margin-top:8px;color:#aeb6bc;font-size:13px;line-height:1.5}.efc-photobox-note{margin:12px 0;color:#8e989f;font-size:11px;text-align:center}.efc-photobox-export{justify-content:center}.efc-photobox-export .efc-photo-btn{min-width:160px}@media(max-width:1000px){.efc-photobox-app{grid-template-columns:1fr}.efc-bg-options{grid-template-columns:repeat(4,1fr)}}@media(max-width:560px){.efc-photobox-step,.efc-photobox-preview-wrap{padding:15px}.efc-bg-options{grid-template-columns:repeat(2,1fr)}.efc-photobox-actions,.efc-photobox-export{display:grid;grid-template-columns:1fr}.efc-photo-btn{width:100%}.efc-photobox-canvas-shell{max-width:100%}}

/* 1.0.328 – Fotobox: automatische Personenfreistellung */
.efc-photo-cutout{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.efc-photo-cutout-status{grid-column:1/-1;margin:0;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.45}.efc-photo-cutout .efc-photo-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:620px){.efc-photo-cutout{grid-template-columns:1fr}}

/* 1.0.329 – Fotobox-Freistellung vollständig lokal; keine externen CDN-/API-Abhängigkeiten. */

/* 1.0.330 – Fotobox ohne Freistellung: Live-Kamera mit EFC-Design-Overlay. */
.efc-camera-status{margin:12px 0 0!important;color:#aeb6bc!important;font-size:12px;line-height:1.45}.efc-photobox-canvas-shell video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transform:scaleX(-1);background:#070809}.efc-photobox-canvas-shell video[hidden]{display:none}.efc-live-design,.efc-photo-guide{position:absolute;inset:0;pointer-events:none}.efc-live-design{overflow:hidden;border:3px solid rgba(255,255,255,.34);box-sizing:border-box}.efc-live-design img{position:absolute;right:4%;top:3%;width:30%;height:auto;opacity:.78}.efc-live-design span{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.68) 100%)}.efc-live-design.is-light{border-color:rgba(25,25,25,.32);background:rgba(255,255,255,.10)}.efc-live-design.is-light img{opacity:.58}.efc-live-design.is-light span{background:linear-gradient(to bottom,transparent 62%,rgba(255,255,255,.42) 100%)}.efc-live-design.is-red{border-color:rgba(255,255,255,.4);background:linear-gradient(135deg,rgba(125,0,12,.06),rgba(125,0,12,.55))}.efc-live-design.is-red:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.5%;background:#ed1b2f}.efc-live-design.is-mono{background:rgba(0,0,0,.16)}.efc-live-design.is-mono img{filter:grayscale(1);opacity:.18}.efc-photo-guide{display:flex;align-items:center;justify-content:center}.efc-photo-guide>span{width:48%;height:66%;border:2px dashed rgba(255,255,255,.55);border-radius:48% 48% 38% 38%/32% 32% 25% 25%;box-shadow:0 0 0 999px rgba(0,0,0,.06)}.efc-photo-guide small{position:absolute;left:10%;right:10%;bottom:5%;padding:7px 10px;background:rgba(0,0,0,.58);color:#fff;text-align:center;font-size:11px}.efc-photo-guide[hidden],.efc-live-design[hidden]{display:none}.efc-photobox-canvas-shell:has(video:not([hidden])) canvas{position:absolute;inset:0;pointer-events:none}.efc-photobox-step>p{color:#b8bcc2;line-height:1.5}
\n\n/* 1.0.331 – Fotobox: Portrait, Einzelfoto und Gruppenfoto */
.efc-shot-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 20px}.efc-shot-option{min-height:68px;padding:10px 8px;border:1px solid #3c4145;background:#17191b;color:#fff;cursor:pointer;text-align:left}.efc-shot-option.is-active{border:2px solid #ed1b2f;padding:9px 7px}.efc-shot-option b,.efc-shot-option span{display:block}.efc-shot-option b{font-size:13px}.efc-shot-option span{margin-top:4px;color:#aeb6bc;font-size:10px;line-height:1.25}.efc-camera-overline{margin-top:4px!important}.efc-photobox-canvas-shell{aspect-ratio:var(--photo-ratio,4/5)}.efc-photobox-canvas-shell canvas,.efc-photobox-canvas-shell video{aspect-ratio:var(--photo-ratio,4/5)}.efc-photo-guide.is-single>span{width:55%;height:82%;border-radius:42% 42% 28% 28%/22% 22% 18% 18%}.efc-photo-guide.is-group>span{width:88%;height:72%;border-radius:18px}.efc-photo-guide.is-group small{bottom:4%}@media(max-width:560px){.efc-shot-options{grid-template-columns:1fr}.efc-shot-option{min-height:0;text-align:center}}


/* 1.0.332 – Portrait mit weiter Kameraansicht und großem Oberkörper-Rahmen */
.efc-photo-guide.is-portrait>span{width:76%;height:84%;border-radius:42% 42% 30% 30%/24% 24% 18% 18%}.efc-photobox-canvas-shell.is-portrait-camera video{object-fit:contain!important;background:#070809}


/* 1.0.333 – Mobile Fotobox: Kamerafläche nutzt den Viewport, Auslöser bleibt greifbar */
@media (max-width: 760px) {
  .efc-photobox-preview-wrap:has(video:not([hidden])) {
    padding: 8px;
  }
  .efc-photobox-preview-wrap:has(video:not([hidden])) .efc-photobox-preview-head {
    margin-bottom: 6px;
  }
  .efc-photobox-canvas-shell:has(video:not([hidden])) {
    width: 100%;
    max-width: none;
    height: min(72dvh, 760px);
    min-height: 430px;
    aspect-ratio: auto !important;
    overflow: hidden;
  }
  .efc-photobox-canvas-shell:has(video:not([hidden])) video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
  .efc-photobox-canvas-shell:has(video:not([hidden])) .efc-live-design,
  .efc-photobox-canvas-shell:has(video:not([hidden])) .efc-photo-guide {
    inset: 0;
  }
  .efc-photobox:has(video:not([hidden])) [data-camera-shot] {
    position: fixed;
    left: 50%;
    bottom: max(14px, env(safe-area-inset-bottom));
    z-index: 10050;
    width: min(82vw, 360px);
    min-height: 58px;
    transform: translateX(-50%);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 8px 28px rgba(0,0,0,.5);
    font-size: 16px;
  }
  .efc-photobox:has(video:not([hidden])) .efc-photobox-preview-wrap {
    margin-bottom: calc(82px + env(safe-area-inset-bottom));
  }
  .efc-photo-guide small { bottom: 3%; }
}
@media (max-width: 760px) and (max-height: 700px) {
  .efc-photobox-canvas-shell:has(video:not([hidden])) { height: 66dvh; min-height: 360px; }
}

/* 1.0.334 – Fotobox: einheitliche Aufnahmearten, Kamerasteuerung unter dem Bild, neue EFC-Rahmen */
.efc-shot-options{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch}
.efc-shot-option{height:100%;min-height:82px!important;text-align:center!important;display:flex;flex-direction:column;justify-content:center}
.efc-frame-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.efc-frame-options .efc-bg-option{min-height:112px;display:flex;flex-direction:column;text-align:center}
.efc-frame-options .efc-bg-option small{display:block;margin-top:2px;color:#90979d;font-size:9px}
.efc-bg-thumb{position:relative;overflow:hidden;background-image:url('../img/photobox-logo-original.png')!important;background-repeat:no-repeat;background-color:#090a0b;background-size:38%;background-position:86% 10%;border:1px solid rgba(255,255,255,.12)}
.frame-full{border:6px solid #111;box-shadow:inset 0 0 0 2px #ed1b2f}.frame-skyline{background-position:90% 8%;box-shadow:inset 0 -18px 0 #111;border-bottom:4px solid #ed1b2f}.frame-diagonal{background-color:#191a1c;background-image:linear-gradient(150deg,#ed1b2f 0 18%,transparent 18% 78%,#050607 78%),url('../img/photobox-logo-original.png')!important;background-size:100%,34%;background-position:center,88% 82%}.frame-minimal{background-color:#17191b;background-size:25%;opacity:.82}.frame-polaroid{background-color:#fff;border:7px solid #fff;border-bottom-width:18px;background-size:25%;background-position:92% 8%}.frame-comic{border:5px solid #ed1b2f;box-shadow:inset 0 0 0 3px #050607}.frame-festival{background-image:linear-gradient(165deg,#ed1b2f 0 16%,transparent 16% 78%,#050607 78%),url('../img/photobox-logo-original.png')!important;background-size:100%,32%;background-position:center,88% 10%}
.efc-camera-hint{margin:10px 0 0!important;color:#aeb6bc!important;font-size:12px}
.efc-camera-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px;max-width:620px;margin:14px auto 0;padding:10px;border:1px solid #34383d;border-top:3px solid #ed1b2f;background:#0b0c0d}
.efc-camera-control{min-height:74px;border:1px solid #3c4145;background:#17191b;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:inherit}
.efc-camera-control>span{font-size:26px;line-height:1;color:#fff}.efc-camera-control b{font-size:12px}.efc-camera-control.is-shutter{border-color:#ed1b2f}.efc-camera-control.is-shutter>span{display:grid;place-items:center;width:46px;height:46px;border:5px solid #fff;border-radius:50%;background:#ed1b2f;color:#fff;font-size:0;box-shadow:0 0 0 3px #ed1b2f}.efc-camera-control.is-shutter>span:after{content:"";width:22px;height:22px;border-radius:50%;background:#fff}.efc-camera-control:disabled{opacity:.4;cursor:not-allowed}.efc-camera-secondary{display:flex;justify-content:center;margin-top:10px}.efc-camera-status{text-align:center}
.efc-live-design img{content:url('../img/photobox-logo-original.png');background:transparent!important}
@media(max-width:760px){.efc-frame-options{grid-template-columns:repeat(2,minmax(0,1fr))}.efc-shot-options{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px}.efc-shot-option{padding:8px 4px!important;min-height:78px!important}.efc-shot-option b{font-size:11px}.efc-shot-option span{font-size:8px}.efc-camera-controls{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:10040;margin-top:8px;box-shadow:0 8px 28px rgba(0,0,0,.55)}.efc-camera-control{min-height:68px;padding:4px}.efc-camera-control b{font-size:10px}.efc-photobox:has(video:not([hidden])) [data-camera-shot]{position:static!important;transform:none!important;width:auto!important;min-height:68px!important;border-radius:0!important;box-shadow:none!important;font-size:inherit!important}.efc-photobox:has(video:not([hidden])) .efc-photobox-preview-wrap{margin-bottom:0!important}}

/* 1.0.335 – Fotobox UI & echte Rahmenangleichung */
.efc-shot-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;width:100%;margin:16px 0 22px!important}
.efc-shot-option{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:96px!important;padding:16px 12px!important;border:1px solid #343a40!important;border-radius:10px!important;background:linear-gradient(180deg,#171a1d,#101214)!important;text-align:center!important;align-items:center!important;box-shadow:0 5px 18px rgba(0,0,0,.16);transition:.18s ease}
.efc-shot-option:hover{transform:translateY(-2px);border-color:#70777d!important}.efc-shot-option.is-active{padding:15px 11px!important;border:2px solid #ed1b2f!important;background:linear-gradient(180deg,rgba(237,27,47,.13),#111315)!important;box-shadow:0 0 0 1px rgba(237,27,47,.12),0 8px 22px rgba(0,0,0,.24)}
.efc-shot-option b{font-size:15px!important}.efc-shot-option span{font-size:10px!important;margin-top:7px!important;line-height:1.35!important}
.efc-photobox-preview-head h3{margin:2px 0 0!important;font-size:20px!important}
/* Live-Overlay entspricht nun den exportierten Canvas-Rahmen wesentlich genauer. */
.efc-live-design{border:0!important;background:transparent!important;box-sizing:border-box}.efc-live-design span{background:none!important}.efc-live-design:before,.efc-live-design:after{content:"";position:absolute;pointer-events:none;box-sizing:border-box}.efc-live-design img{content:url('../img/photobox-logo-original.png');position:absolute;z-index:4;height:auto;background:transparent!important;filter:none!important}
.efc-live-design.is-classic{box-shadow:inset 0 0 0 3px rgba(255,255,255,.78),inset 0 -8vh 0 rgba(0,0,0,.55)}.efc-live-design.is-classic img{right:3%;top:2%;width:28%;opacity:.96}
.efc-live-design.is-full{box-shadow:inset 0 0 0 22px rgba(5,6,7,.94),inset 0 0 0 28px #ed1b2f}.efc-live-design.is-full img{right:4%;bottom:3%;top:auto;width:24%;opacity:1}
.efc-live-design.is-skyline:before{left:0;right:0;bottom:0;height:16%;background:repeating-linear-gradient(90deg,#050607 0 4%,transparent 4% 5.2%),linear-gradient(0deg,#050607 0 58%,transparent 58%)}.efc-live-design.is-skyline:after{left:0;right:0;bottom:0;height:10px;background:#ed1b2f}.efc-live-design.is-skyline img{right:2%;top:2%;width:24%;opacity:.96}
.efc-live-design.is-diagonal:before{inset:0;background:linear-gradient(155deg,rgba(237,27,47,.92) 0 10%,transparent 10% 82%,rgba(5,6,7,.94) 82%)}.efc-live-design.is-diagonal img{right:2%;bottom:2%;top:auto;width:23%;opacity:.98}
.efc-live-design.is-minimal{box-shadow:inset 0 0 0 2px rgba(255,255,255,.38)}.efc-live-design.is-minimal img{right:3%;top:2%;width:18%;opacity:.72}
.efc-live-design.is-polaroid{box-shadow:inset 0 0 0 18px #fff,inset 0 -76px 0 #fff}.efc-live-design.is-polaroid:after{content:"EFC Cappeler Adler";left:28px;right:120px;bottom:22px;color:#111;font-weight:800;font-size:clamp(14px,3vw,24px);font-style:italic}.efc-live-design.is-polaroid img{right:24px;bottom:12px;top:auto;width:15%;opacity:1}
.efc-live-design.is-comic{box-shadow:inset 0 0 0 10px #ed1b2f,inset 0 0 0 15px #050607}.efc-live-design.is-comic:before{left:4%;top:6%;width:28%;height:13%;background:#fff;clip-path:polygon(0 20%,100% 0,82% 100%,18% 82%)}.efc-live-design.is-comic:after{content:"EFC!";left:9%;top:8%;color:#ed1b2f;font-weight:1000;font-size:clamp(18px,5vw,42px);transform:rotate(-5deg)}.efc-live-design.is-comic img{right:2%;bottom:2%;top:auto;width:25%;opacity:1}
.efc-live-design.is-festival:before{inset:0;background:linear-gradient(165deg,rgba(237,27,47,.9) 0 9%,transparent 9% 82%,rgba(5,6,7,.95) 82%),linear-gradient(15deg,rgba(237,27,47,.88) 0 7%,transparent 7%)}.efc-live-design.is-festival:after{content:"EFC CAPPELER ADLER";left:5%;bottom:2.5%;color:#fff;font-weight:900;letter-spacing:.04em;font-size:clamp(13px,3vw,25px)}.efc-live-design.is-festival img{right:2%;top:2%;width:22%;opacity:1}
@media(max-width:760px){.efc-shot-options{gap:7px!important}.efc-shot-option{min-height:88px!important;padding:11px 5px!important;border-radius:8px!important}.efc-shot-option.is-active{padding:10px 4px!important}.efc-shot-option b{font-size:12px!important}.efc-shot-option span{font-size:8px!important}.efc-live-design.is-full{box-shadow:inset 0 0 0 14px rgba(5,6,7,.94),inset 0 0 0 19px #ed1b2f}.efc-live-design.is-polaroid{box-shadow:inset 0 0 0 12px #fff,inset 0 -58px 0 #fff}}

/* 1.0.336 – Fotobox: echte transparente Overlay-Dateien; Vorschau, Livebild und Export nutzen dasselbe Design. */
.efc-bg-thumb{background-color:#090a0b!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important}
.frame-classic{background-image:url('../img/photobox-frames/classic.png')!important}.frame-full{background-image:url('../img/photobox-frames/full.png')!important}.frame-minimal{background-image:url('../img/photobox-frames/minimal.png')!important}.frame-modern{background-image:url('../img/photobox-frames/modern.png')!important}.frame-funny1{background-image:url('../img/photobox-frames/funny1.png')!important}.frame-funny2{background-image:url('../img/photobox-frames/funny2.png')!important}.frame-polaroid{background-image:url('../img/photobox-frames/polaroid.png')!important}.frame-festival{background-image:url('../img/photobox-frames/festival.png')!important}
.efc-live-design.is-overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.efc-live-design.is-overlay:before,.efc-live-design.is-overlay:after,.efc-live-design.is-overlay span{display:none!important}.efc-live-design.is-overlay .efc-frame-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;opacity:1!important;transform:none!important}

/* 1.0.337 – Fotobox: Positionierungshilfe entfernt; Overlay-Bild darf nicht mehr durch ältere Logo-Regeln ersetzt werden. */
.efc-live-design.is-overlay .efc-frame-overlay{
    content:normal!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:fill!important;
    opacity:1!important;
    transform:none!important;
}
.efc-photo-guide{display:none!important}

/* 1.0.338 – Fotobox: ratio-spezifische Overlays ohne Doppel-Logo oder Verzerrung. */
.efc-live-design.is-overlay{background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important}
.efc-live-design.is-overlay img,.efc-live-design.is-overlay .efc-frame-overlay{display:none!important;content:none!important}
/* 1.0.340 Fotobox: formatgerechte Original-Overlays + schwarzer Bereich außerhalb der Bildöffnung */
.efc-live-design.is-overlay{background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;border:0!important;background-color:#000!important}
.efc-bg-thumb{background-color:#000!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;opacity:1!important;filter:none!important}
.efc-bg-thumb.frame-classic{background-image:url('../img/photobox-frames/portrait/classic.png')!important}.efc-bg-thumb.frame-full{background-image:url('../img/photobox-frames/portrait/full.png')!important}.efc-bg-thumb.frame-minimal{background-image:url('../img/photobox-frames/portrait/minimal.png')!important}.efc-bg-thumb.frame-modern{background-image:url('../img/photobox-frames/portrait/modern.png')!important}.efc-bg-thumb.frame-funny1{background-image:url('../img/photobox-frames/portrait/funny1.png')!important}.efc-bg-thumb.frame-funny2{background-image:url('../img/photobox-frames/portrait/funny2.png')!important}.efc-bg-thumb.frame-polaroid{background-image:url('../img/photobox-frames/portrait/polaroid.png')!important}.efc-bg-thumb.frame-festival{background-image:url('../img/photobox-frames/portrait/festival.png')!important}

/* 1.0.342 – Fotobox: Live-Kamerabild bleibt unter dem transparenten Rahmen sichtbar. */
.efc-photobox-canvas-shell{background:#000!important;overflow:hidden}
.efc-photobox-canvas-shell video{position:relative;z-index:1;background:#000!important}
.efc-live-design.is-overlay{
  z-index:4!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}

/* 1.0.342 – Fotobox: acht neu aufgebaute Rahmen nach freigegebener Vorschau; formatgetrennte Overlays, schwarze Außenbereiche. */

/* 1.0.343 – Fotobox: controls + adjustments directly below camera */
.efc-camera-adjustments{display:grid;grid-template-columns:1fr 1fr 180px;gap:10px;max-width:620px;margin:10px auto 0;padding:12px;border:1px solid #34383d;background:#101214}
.efc-camera-adjustments .efc-photo-range{grid-template-columns:54px 1fr 48px;margin:0;min-height:54px}.efc-camera-adjustments output{font-size:11px;color:#c6cbd0;text-align:right}
.efc-camera-switch{min-height:54px;border:1px solid #42484e;background:#1a1d20;color:#fff;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;padding:8px 10px;cursor:pointer}.efc-camera-switch>span{grid-row:1/3;font-size:24px}.efc-camera-switch b{font-size:11px}.efc-camera-switch small{color:#aeb6bc;font-size:9px}
@media(max-width:620px){.efc-camera-adjustments{grid-template-columns:1fr 1fr}.efc-camera-switch{grid-column:1/-1}.efc-camera-adjustments .efc-photo-range{grid-template-columns:42px 1fr 42px}.efc-camera-adjustments{position:relative;z-index:2}}

/* 1.0.345 – Fotobox: Live-Overlay immer über Kamerabild; Spiegelung nur Frontkamera per JS. */
.efc-photobox-canvas-shell{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#000!important}
.efc-photobox-canvas-shell video{position:relative!important;z-index:1!important;transform:none;object-fit:cover!important}
.efc-photobox-canvas-shell canvas{z-index:0!important}
.efc-live-design.is-overlay{position:absolute!important;inset:0!important;z-index:20!important;pointer-events:none!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important}
.efc-live-design.is-overlay[hidden]{display:none!important}

/* 1.0.345 – Fotobox als echte Smartphone-Oberfläche; Live-Rahmen als eigene Bildebene. */
.efc-photobox-desktop-note{display:flex;gap:14px;align-items:center;padding:18px 20px;border:1px solid #34383d;border-left:4px solid #ed1b2f;background:#101214;color:#fff}.efc-photobox-desktop-note strong{white-space:nowrap}.efc-photobox-desktop-note span{color:#c5cbd0}.efc-photobox-app{display:none}
.efc-photobox-mobile-camera-head{display:none}
.efc-live-design.is-overlay{background-image:none!important;background-color:transparent!important}
.efc-live-design.is-overlay .efc-live-frame-image{display:block!important;content:normal!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;opacity:1!important;transform:none!important;z-index:30!important;pointer-events:none!important}
@media(max-width:820px){
  .efc-photobox-desktop-note{display:none}.efc-photobox-app{display:block;width:100%;max-width:100%;overflow:hidden}.member-photobox{overflow:hidden}.member-photobox .member-trips-head{padding-left:0;padding-right:0}
  .efc-photobox-tools{display:block!important}.efc-photobox-step{padding:14px 0!important}.efc-photobox-step>p:not(.member-overline):not(.efc-camera-hint),.efc-camera-hint,.efc-camera-overline+.efc-photobox-step h3{font-size:12px}
  .efc-shot-options{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px!important;padding:2px 0 8px!important;margin:10px 0!important}.efc-shot-option{flex:0 0 116px!important;min-height:68px!important;scroll-snap-align:start;padding:8px!important}.efc-shot-option b{font-size:11px!important}.efc-shot-option span{font-size:7px!important}
  .efc-frame-options{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px!important;padding:2px 0 8px!important}.efc-frame-options .efc-bg-option{flex:0 0 92px;min-height:96px;scroll-snap-align:start;padding:6px!important}.efc-bg-thumb{height:58px!important;min-height:58px!important}.efc-frame-options b{font-size:10px}.efc-frame-options small{font-size:7px!important}
  .efc-photobox-preview-wrap{width:100%;max-width:100%;margin:0!important;padding:0!important}.efc-photobox-preview-head{padding:8px 0}.efc-photobox-preview-head h3{font-size:15px!important}.efc-photobox-canvas-shell{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:var(--photo-ratio)!important;max-height:62dvh!important;margin:0 auto!important}.efc-photobox-canvas-shell video,.efc-photobox-canvas-shell canvas{width:100%!important;height:100%!important;object-fit:cover!important}
  .efc-camera-controls{position:static!important;width:100%;max-width:none;margin:8px 0 0!important;padding:6px!important;gap:6px}.efc-camera-control{min-height:56px!important}.efc-camera-control>span{font-size:20px}.efc-camera-adjustments{width:100%;max-width:none;margin:6px 0 0;padding:8px;gap:6px}.efc-camera-adjustments .efc-photo-range{min-height:46px}.efc-camera-switch{min-height:46px}.efc-camera-secondary,.efc-camera-status,.efc-photobox-note,.efc-photobox-export{font-size:11px}
  .efc-photobox-app.is-camera-active{position:fixed!important;inset:0!important;z-index:100000!important;background:#000!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important}
  .efc-photobox-app.is-camera-active .efc-photobox-tools,.efc-photobox-app.is-camera-active .efc-photobox-preview-head,.efc-photobox-app.is-camera-active .efc-camera-secondary,.efc-photobox-app.is-camera-active .efc-camera-status,.efc-photobox-app.is-camera-active .efc-photobox-note,.efc-photobox-app.is-camera-active .efc-photobox-export{display:none!important}
  .efc-photobox-app.is-camera-active .efc-photobox-preview-wrap{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto auto!important;height:100%;min-height:0}
  .efc-photobox-app.is-camera-active .efc-photobox-mobile-camera-head{display:flex!important;justify-content:space-between;align-items:center;min-height:34px;padding:3px 4px;color:#fff;font-size:11px}.efc-photobox-app.is-camera-active .efc-photobox-mobile-camera-head b{color:#fff}.efc-photobox-app.is-camera-active .efc-photobox-mobile-camera-head span{color:#b8bec4}
  .efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{align-self:center;width:min(100%,calc((100dvh - 190px) * var(--photo-ratio)))!important;height:auto!important;max-height:calc(100dvh - 190px)!important;aspect-ratio:var(--photo-ratio)!important;background:#000!important}
  .efc-photobox-app.is-camera-active .efc-photobox-canvas-shell video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:1!important}
  .efc-photobox-app.is-camera-active .efc-live-design.is-overlay{display:block!important;position:absolute!important;inset:0!important;z-index:20!important}
  .efc-photobox-app.is-camera-active .efc-camera-controls{display:grid!important;grid-template-columns:1fr 1.15fr 1fr!important;margin:5px 0 0!important;padding:4px!important}.efc-photobox-app.is-camera-active .efc-camera-control{min-height:50px!important}.efc-photobox-app.is-camera-active .efc-camera-control b{font-size:9px!important}
  .efc-photobox-app.is-camera-active .efc-camera-adjustments{display:grid!important;grid-template-columns:1fr 1fr 118px!important;margin:4px 0 0!important;padding:4px!important}.efc-photobox-app.is-camera-active .efc-camera-switch{grid-column:auto!important;min-height:42px!important;padding:4px 6px!important}.efc-photobox-app.is-camera-active .efc-camera-switch b{font-size:9px}.efc-photobox-app.is-camera-active .efc-camera-switch small{font-size:7px}.efc-photobox-app.is-camera-active .efc-camera-adjustments .efc-photo-range{grid-template-columns:38px 1fr 35px!important;min-height:42px!important;font-size:9px!important;padding:0!important}.efc-photobox-app.is-camera-active .efc-camera-adjustments output{font-size:8px!important}
}
@media(max-width:420px){.efc-photobox-app.is-camera-active .efc-camera-adjustments{grid-template-columns:1fr 1fr!important}.efc-photobox-app.is-camera-active .efc-camera-switch{grid-column:1/-1!important}.efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{max-height:calc(100dvh - 230px)!important}}

/* 1.0.346 – Fotobox: manueller Zoom + X/Y-Positionierung, mobile Regler ohne Überlauf. */
.efc-camera-adjustments{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;box-sizing:border-box}
.efc-camera-adjustments .efc-photo-range{min-width:0;grid-template-columns:minmax(62px,auto) minmax(70px,1fr) 42px;gap:6px;box-sizing:border-box}
.efc-camera-adjustments .efc-photo-range input[type="range"]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.efc-camera-adjustments .efc-camera-switch{grid-column:1/-1}
@media(max-width:820px){
  .efc-camera-adjustments{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;padding:7px!important}
  .efc-camera-adjustments .efc-photo-range{width:100%!important;max-width:100%!important;grid-template-columns:76px minmax(0,1fr) 40px!important;gap:5px!important;padding:0 2px!important;box-sizing:border-box!important}
  .efc-camera-adjustments .efc-photo-range>span{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .efc-camera-adjustments .efc-photo-range input[type="range"]{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .efc-camera-switch{grid-column:1/-1!important;width:100%!important;box-sizing:border-box!important}
  .efc-photobox-app.is-camera-active .efc-photobox-preview-wrap{grid-template-rows:auto minmax(0,1fr) auto auto!important}
  .efc-photobox-app.is-camera-active .efc-camera-adjustments{grid-template-columns:1fr!important;max-height:174px!important;overflow-y:auto!important;overscroll-behavior:contain;padding:4px!important}
  .efc-photobox-app.is-camera-active .efc-camera-adjustments .efc-photo-range{grid-template-columns:72px minmax(0,1fr) 36px!important;min-height:34px!important}
  .efc-photobox-app.is-camera-active .efc-camera-switch{min-height:38px!important}
  .efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{max-height:calc(100dvh - 285px)!important}
}
@media(max-width:420px){.efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{max-height:calc(100dvh - 300px)!important}}

/* 1.0.347 – universelle Fotobox: automatische Hoch-/Querformat-Anpassung */
@media(max-width:900px) and (orientation:landscape){
 .efc-photobox-app.is-camera-active{padding:max(4px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;grid-template-rows:minmax(0,1fr)!important}
 .efc-photobox-app.is-camera-active .efc-photobox-preview-wrap{grid-template-columns:minmax(0,1fr) minmax(250px,34vw)!important;grid-template-rows:auto minmax(0,1fr) auto!important;column-gap:8px!important;height:100%!important}
 .efc-photobox-app.is-camera-active .efc-photobox-mobile-camera-head{grid-column:1/2;grid-row:1!important}
 .efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{grid-column:1/2;grid-row:2/4!important;width:auto!important;height:min(100%,calc(100dvh - 42px))!important;max-width:100%!important;max-height:calc(100dvh - 42px)!important;aspect-ratio:4/3!important;justify-self:center!important;align-self:center!important}
 .efc-photobox-app.is-camera-active .efc-camera-controls{grid-column:2/3;grid-row:1/2!important;align-self:start!important;grid-template-columns:repeat(3,1fr)!important;margin:0!important}
 .efc-photobox-app.is-camera-active .efc-camera-adjustments{grid-column:2/3;grid-row:2/4!important;align-self:start!important;display:grid!important;grid-template-columns:1fr!important;max-height:calc(100dvh - 70px)!important;overflow-y:auto!important;margin:4px 0 0!important}
 .efc-photobox-app.is-camera-active .efc-camera-switch{grid-column:1!important}
}
@media(max-width:900px) and (orientation:portrait){
 .efc-photobox-app.is-camera-active .efc-photobox-canvas-shell{aspect-ratio:3/4!important;width:auto!important;max-width:100%!important;max-height:calc(100dvh - 285px)!important}
}


/* 1.0.362 – Fotobox 2.0: kompletter mobiler Neuaufbau */
.efc-pb2-view{margin:0!important;padding:0!important}.efc-pb2{background:#08090a;color:#fff}.efc-pb2-mobile{display:none}.efc-pb2-desktop-block{max-width:620px;margin:60px auto;padding:42px 28px;text-align:center;background:#111316;border-top:4px solid #ed1b2f}.efc-pb2-desktop-block img{width:110px;max-height:130px;object-fit:contain}.efc-pb2-desktop-block h2{font-size:34px;margin:12px 0}.efc-pb2-desktop-block p{color:#c4c7ca}.efc-pb2-desktop-block button{margin-top:18px;padding:12px 18px;border:1px solid #444;background:#1b1d20;color:#fff;font-weight:800}
.efc-pb2.is-phone .efc-pb2-desktop-block{display:none}.efc-pb2.is-phone .efc-pb2-mobile{display:block;position:fixed;inset:0;z-index:200000;background:#08090a;overflow:auto;overscroll-behavior:contain}.efc-pb2-head{height:62px;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:0 8px;background:#08090a;border-bottom:2px solid #ed1b2f}.efc-pb2-head button{width:42px;height:42px;border:0;background:transparent;color:#fff;font-size:26px}.efc-pb2-head div{text-align:center;line-height:1}.efc-pb2-head b{display:block;font-size:10px;letter-spacing:.13em;color:#c9c9c9}.efc-pb2-head strong{display:block;margin-top:4px;font-size:19px;letter-spacing:.04em}.efc-pb2-head em{font-style:normal;color:#ed1b2f}.efc-pb2-head>span{font-size:10px;text-align:center;color:#aaa}.efc-pb2-stage{padding:8px 10px calc(18px + env(safe-area-inset-bottom))}.efc-pb2-viewfinder{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#000;border:1px solid #303237}.efc-pb2-viewfinder video,.efc-pb2-viewfinder canvas,.efc-pb2-viewfinder>img[data-pb2-frame]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.efc-pb2-viewfinder video{z-index:1}.efc-pb2-viewfinder canvas{z-index:2;touch-action:none}.efc-pb2-viewfinder>img[data-pb2-frame]{z-index:3;object-fit:fill;pointer-events:none}.efc-pb2-empty{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#1c1e22,#070809 70%);text-align:center}.efc-pb2-empty img{width:27%;max-height:32%;object-fit:contain}.efc-pb2-empty b{margin-top:10px;font-size:22px}.efc-pb2-empty span{margin-top:5px;color:#aaa;font-size:12px}.efc-pb2-countdown{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:rgba(0,0,0,.25);font-size:110px;font-weight:900;text-shadow:0 4px 20px #000}.efc-pb2-zoom{display:flex;justify-content:center;gap:3px;margin:-17px auto 6px;position:relative;z-index:8}.efc-pb2-zoom button{min-width:48px;height:30px;border:1px solid #444;background:#0c0d0f;color:#ddd;font-weight:800;font-size:11px}.efc-pb2-zoom button.is-active{background:#fff;color:#111}.efc-pb2-actions{display:grid;grid-template-columns:1fr 1.15fr 1fr;border-top:1px solid #2d3034;border-bottom:1px solid #2d3034;background:#0b0c0e}.efc-pb2-actions button{min-height:76px;border:0;border-right:1px solid #2d3034;background:transparent;color:#fff}.efc-pb2-actions button:last-child{border-right:0}.efc-pb2-actions span{display:block;font-size:24px}.efc-pb2-actions b{display:block;margin-top:3px;font-size:10px;line-height:1.15}.efc-pb2-actions button:disabled{opacity:.3}.efc-pb2-actions .is-shutter span{width:46px;height:46px;margin:auto;border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #ed1b2f inset}.efc-pb2-actions .is-shutter:not(:disabled){background:rgba(237,27,47,.07)}.efc-pb2-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.efc-pb2-tools>*{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #34373b;background:#15171a;color:#fff;font-size:11px;font-weight:800}.efc-pb2-tools .is-active{border-color:#ed1b2f;background:#2b1015}.efc-pb2-section-title{display:flex;justify-content:space-between;align-items:end;margin:9px 2px 5px}.efc-pb2-section-title b{font-size:12px}.efc-pb2-section-title span{font-size:9px;color:#8f9499}.efc-pb2-frame-strip{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.efc-pb2-frame-strip::-webkit-scrollbar{display:none}.efc-pb2-frame-strip button{flex:0 0 78px;padding:4px;border:1px solid #35383c;background:#121416;color:#fff}.efc-pb2-frame-strip button.is-active{border:2px solid #ed1b2f;padding:3px}.efc-pb2-frame-strip i{display:block;height:76px;background-position:center;background-size:contain;background-repeat:no-repeat;background-color:#050607}.efc-pb2-frame-strip b{display:block;margin-top:4px;font-size:9px;white-space:nowrap}.efc-pb2-edit{margin-top:8px;padding:8px;background:#101215;border:1px solid #303338}.efc-pb2-edit p{margin:0 0 7px;text-align:center;color:#aaa;font-size:9px}.efc-pb2-edit div{display:grid;grid-template-columns:1fr 1.2fr;gap:6px}.efc-pb2-edit button{min-height:42px;border:1px solid #3b3e43;background:#1a1c1f;color:#fff;font-weight:800}.efc-pb2-edit button.is-primary{border-color:#ed1b2f;background:#ed1b2f}.efc-pb2-status{margin:7px 0 0;text-align:center;color:#8e9499;font-size:9px}
@media (orientation:landscape) and (max-height:600px){.efc-pb2-head{height:42px;grid-template-columns:40px 1fr 40px}.efc-pb2-head strong{font-size:15px}.efc-pb2-head b{display:none}.efc-pb2-stage{height:calc(100dvh - 42px);display:grid;grid-template-columns:minmax(0,62%) minmax(250px,38%);grid-template-rows:auto auto auto 1fr auto;gap:5px 8px;padding:5px 8px}.efc-pb2-viewfinder{grid-column:1;grid-row:1/-1;height:100%;width:auto;max-width:100%;aspect-ratio:4/3;justify-self:center}.efc-pb2-zoom{grid-column:2;grid-row:1;margin:0}.efc-pb2-actions{grid-column:2;grid-row:2}.efc-pb2-actions button{min-height:54px}.efc-pb2-actions .is-shutter span{width:34px;height:34px}.efc-pb2-tools{grid-column:2;grid-row:3;margin:0}.efc-pb2-frames{grid-column:2;grid-row:4;min-height:0;align-self:end}.efc-pb2-frame-strip button{flex-basis:58px}.efc-pb2-frame-strip i{height:47px}.efc-pb2-edit{grid-column:2;grid-row:5;margin:0}.efc-pb2-status{display:none}}
@media (min-width:901px) and (pointer:fine){.efc-pb2-mobile{display:none!important}.efc-pb2-desktop-block{display:block!important}}

/* 1.0.363 – Fotobox 2.0: Live-Kamera-Layer Fix
   Explizit [hidden] erzwingen, da die Komponenten eigene display-Werte besitzen. */
.efc-pb2 [hidden] { display: none !important; }
.efc-pb2-viewfinder video:not([hidden]) { display: block !important; visibility: visible !important; opacity: 1 !important; }
.efc-pb2-viewfinder { isolation: isolate; }
.efc-pb2-viewfinder video { background: #000; }

/* 1.0.364 – Fotobox 2.0: Foto-Clipping pro Rahmen. */


/* 1.0.365 – Gruppen-Selfie: optionaler Timer + Livebild als Auslöser */
.efc-pb2-timer-select{display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-height:38px;border:1px solid #34373b;background:#15171a;padding:3px 5px;box-sizing:border-box}
.efc-pb2-timer-select>span{font-size:9px;font-weight:800;color:#aeb2b6;margin-right:2px}
.efc-pb2-timer-select button{min-width:34px;height:28px;padding:0 6px;border:1px solid #3c4045;background:#0d0f11;color:#fff;font-size:9px;font-weight:900}
.efc-pb2-timer-select button.is-active{background:#ed1b2f;border-color:#ed1b2f;color:#fff}
.efc-pb2-viewfinder video:not([hidden]),.efc-pb2-viewfinder>img[data-pb2-frame]:not([hidden]){cursor:pointer}
.efc-pb2-countdown{cursor:pointer;user-select:none}
@media (orientation:landscape) and (max-height:600px){
 .efc-pb2-timer-select{min-height:34px;padding:2px 4px}
 .efc-pb2-timer-select button{height:25px;min-width:30px;padding:0 4px}
}

/* 1.0.370 – erweiterte Rahmenbibliothek */
.efc-pb2-frame-filters{display:flex;gap:5px;overflow-x:auto;padding:3px 0 8px;scrollbar-width:none}
.efc-pb2-frame-filters::-webkit-scrollbar{display:none}
.efc-pb2-frame-filters button{flex:0 0 auto;border:1px solid #383c41;background:#15171a;color:#fff;border-radius:16px;padding:6px 10px;font-size:10px;font-weight:800}
.efc-pb2-frame-filters button.is-active{background:#ed1b2f;border-color:#ed1b2f}
.efc-pb2-frame-strip button[hidden]{display:none!important}

/* 1.0.371 */
.efc-pb2-frame-filters{position:relative;z-index:20;pointer-events:auto}.efc-pb2-frame-filters button{pointer-events:auto;touch-action:manipulation}.efc-pb2-viewfinder>img[data-pb2-frame]{object-fit:contain!important}
/* 1.0.372 – stabile Foto-Bearbeitung / Zoom-Füllung */
.efc-pb2-viewfinder canvas{touch-action:none!important;will-change:contents;transform:translateZ(0);backface-visibility:hidden}
.efc-pb2-viewfinder video{object-fit:cover!important;width:100%!important;height:100%!important;will-change:transform;backface-visibility:hidden}

/* 1.0.375 – Rahmen originalgetreu, niemals verzerren oder beschneiden */
.efc-pb2-viewfinder > img[data-pb2-frame]{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.efc-pb2-viewfinder video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* 1.0.377 – Fotobox ausschließlich Hochformat */
.efc-pb2.is-landscape-blocked .efc-pb2-viewfinder:after{content:"Bitte Handy ins Hochformat drehen";position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:#090a0c;color:#fff;font-weight:900;font-size:18px;letter-spacing:.02em}
.efc-pb2.is-landscape-blocked [data-pb2-shot],.efc-pb2.is-landscape-blocked [data-pb2-start]{pointer-events:none;opacity:.45}

/* 1.0.378 – Portrait-Rahmenbibliothek bereinigt; Kamera-/Zoomlogik unverändert. */

/* 1.0.380 – Fotobox-Rahmenbibliothek vollständig zurückgesetzt. */

/* 1.0.382 – vier Test-Rahmen korrekt im vorhandenen frame-strip registriert. */

/* 1.0.383 – vier Portrait-Rahmen grafisch neu aufgebaut, Integration unverändert. */

/* 1.0.385 – Auswärtsfahrt: vollflächiger Portrait-Rahmen + designgeführte Alphaöffnung. */

/* 1.0.386 – Sicherheit: Rate-Limit und Mindest-Ausfuellzeit fuer oeffentliche Fahrtanmeldung. */

/* 1.0.408: Browserstatistik an Schriftgroesse der Seitenstatistik angleichen */
.efc-origin-browser-panel .efc-compact-row{font-size:12px;min-height:31px;grid-template-columns:28px minmax(86px,1fr) 42px 40px 72px;gap:8px}
.efc-origin-browser-panel .efc-compact-row small{font-size:12px}
@media(max-width:720px){.efc-origin-browser-panel .efc-compact-row{grid-template-columns:22px minmax(72px,1fr) 35px 35px 60px;gap:5px}}

/* 1.0.410 – stable alignment of traffic charts only */
.efc-traffic-combined-panel .efc-traffic-combined-grid{align-items:stretch;}
.efc-traffic-combined-panel .efc-traffic-half{display:grid;grid-template-rows:24px 42px 132px 18px;align-content:start;min-width:0;}
.efc-traffic-combined-panel .efc-traffic-half h4{grid-row:1;margin:0;align-self:start;}
.efc-traffic-combined-panel .efc-traffic-summary,.efc-traffic-combined-panel .efc-hourly-subtitle{grid-row:2;align-self:start;margin:0;padding-top:2px;}
.efc-traffic-combined-panel .efc-daily-bars,.efc-traffic-combined-panel .efc-hourly-bars{grid-row:3;box-sizing:border-box;height:132px;min-height:0;max-height:132px;margin:0;padding:8px 4px 4px;overflow:visible;}
.efc-traffic-combined-panel .efc-hourly-bars{padding-bottom:21px;}
.efc-traffic-combined-panel .efc-daily-bars i{max-height:100%;}
.efc-traffic-combined-panel .efc-hour-col{min-width:0;}
.efc-traffic-combined-panel .efc-hour-col i{max-height:100%;}
.efc-traffic-combined-panel .efc-hour-axis{grid-row:4;margin:3px 0 0;align-self:start;}
@media(max-width:900px){.efc-traffic-combined-panel .efc-traffic-half{grid-template-rows:24px 42px 145px 18px;}.efc-traffic-combined-panel .efc-daily-bars,.efc-traffic-combined-panel .efc-hourly-bars{height:145px;max-height:145px;}}

/* 1.0.411 – Tagesdatum unter jedem Balken, auch bei wachsender Statistik */
.efc-traffic-combined-panel .efc-daily-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#46545d transparent}
.efc-traffic-combined-panel .efc-daily-bars-dated{min-width:100%;width:max-content;box-sizing:border-box;gap:4px;padding:8px 4px 0;align-items:stretch;overflow:visible}
.efc-traffic-combined-panel .efc-daily-col{position:relative;flex:0 0 38px;height:100%;min-width:38px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.efc-traffic-combined-panel .efc-daily-col i{flex:none;width:65%;min-width:5px;max-width:18px;background:linear-gradient(to top,#9c1421,#f3263b);border-radius:2px 2px 0 0}
.efc-traffic-combined-panel .efc-daily-col small{display:block;flex:none;height:20px;line-height:20px;white-space:nowrap;font-size:9px;color:#aeb7bd;text-align:center}
.efc-traffic-combined-panel .efc-daily-bars-dated{height:140px!important}
@media(max-width:900px){.efc-traffic-combined-panel .efc-daily-bars-dated{height:160px!important}}
