@font-face {
    font-family: 'Antropos';
    src: url('data:font/woff2;base64,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') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../Fonts/OpenSans-VariableFont_wdth,wght.ttf') format('truetype');
    font-style: normal;
    /* Gewichts-/Breitenbereich der variablen Schrift angeben – sonst nimmt Safari
       nur die Grundstärke und Fett/Halbfett wirken zu dünn */
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans Italic';
    src: url('../Fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: url('../Fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
    font-style: italic;
    font-weight: 100 900;
    font-stretch: 75% 100%;
    font-display: swap;
}
:root {
    --white: #f5f5f5;
    --hover-light: #1e1e1e;
    --red: #C14730;
    --text: #464646;
    --verlauf: linear-gradient(225deg, #8EB6B3 0%, #9FC9C6 45%, #7EA82C 100%);
    --footer-verlauf: linear-gradient(195deg,#5A789E 0%,#4A8890 25%,#4A8878 75%,#7EA82C 100%);
    --desktop-footer-verlauf: linear-gradient(135deg, #4E95B8 0%, #4A8890 25%, #4A8878 55%, #6A9860 100%);
}
.pid-5, .uid-5{
    --verlauf: linear-gradient(225deg, #42A7BE 0%, #BCB897 55%, #FF6000 100%);
    --footer-verlauf:linear-gradient(195deg, #1E9FAD 0%, #1E9FAD 15%, #C9A586 67%, #FF6000 100%);
    --desktop-footer-verlauf: linear-gradient(245deg, #1E9FAD 0%, #1E9FAD 15%, #C9A586 67%, #FF6000 100%);
}
.pid-2, .uid-2{
    --verlauf: linear-gradient(225deg, #FF579E 0%, #E67C62 55%, #FFD9BE 100%);
    --footer-verlauf: linear-gradient(5deg, #FF579E 0%, #E67C62 35%, #C9A586 67%, #F0BE9B 100%);
    --desktop-footer-verlauf: linear-gradient(245deg, #FF579E 0%, #E67C62 15%, #C9A586 67%, #E7B38D 100%);
}
.pid-4, .uid-4{
    --verlauf: linear-gradient(225deg, #D62522 0%, #992926 55%, #DC8A87 100%);
    --footer-verlauf: linear-gradient(5deg,#D2403E 0%, #992926 50%, #DC8A87 100%);
    --desktop-footer-verlauf: linear-gradient(135deg, #DC8A87 0%, #992926 25%, #D62522 100%);
}
/* Schule & Kindergarten: gemalte Verläufe aus der Gestaltung (Review vom 25.09.2026), in CSS nachgebaut */
.pid-64, .uid-64{
    --verlauf:
        radial-gradient(ellipse 65% 40% at 62% 0%, #E77C3A 0%, rgba(231,124,58,.75) 35%, rgba(231,124,58,0) 80%),
        radial-gradient(ellipse 50% 45% at 0% 100%, #E6EFE3 0%, rgba(230,239,227,0) 80%),
        linear-gradient(152deg, #F8D6B6 0%, #EECAA3 28%, #D4C9A6 45%, #BFCDBA 58%, #97C6D3 72%, #7BBFD9 88%, #79BDD8 100%);
    --footer-verlauf: var(--verlauf);
    --desktop-footer-verlauf: var(--verlauf);
}
/* Header ist nur ein schmaler Streifen: Schul-Verlauf strecken und nur den oberen (orangen) Teil zeigen, wie im Entwurf */
.pid-64 #header::after, .uid-64 #header::after{
    background-size: 100% 500%;
    background-position: center top;
}
/* Slider-Untertitel ist nur ein schmaler Streifen: dort statt der gemalten Ellipsen ein linearer Verlauf wie bei den anderen Seiten */
:is(.pid-64, .uid-64) .slider-element .description{
    background: linear-gradient(225deg, #79BDD8 0%, #D4C9A6 55%, #E77C3A 100%);
}
:is(.pid-3, .uid-3) .slider-element .description{
    background: linear-gradient(225deg, #FDB6B3 0%, #FF8E86 55%, #FF8A55 100%);
}
.pid-3, .uid-3{
    --verlauf:
        radial-gradient(ellipse 45% 55% at 82% 92%, #FF8A55 0%, rgba(255,138,85,.75) 40%, rgba(255,138,85,0) 100%),
        radial-gradient(ellipse 40% 45% at 60% 62%, #FF7F72 0%, rgba(255,127,114,0) 100%),
        radial-gradient(ellipse 45% 40% at 8% 5%, #FDC3BF 0%, rgba(253,195,191,0) 100%),
        linear-gradient(315deg, #FF9868 0%, #FF8E86 35%, #FFA3A0 65%, #FDB6B3 100%);
    --footer-verlauf: var(--verlauf);
    --desktop-footer-verlauf: var(--verlauf);
}
*, ::after, ::before {
    box-sizing: border-box;
}
body {
    background: var(--white);
    min-height: 100vh;
    font-weight: normal;
    overflow-x: hidden;
    font-family: "Open Sans", sans-serif;
    margin: 0;
    font-size: 20px;
    color: var(--text);
}
section{
    margin: 0;
    padding: 4rem 0;
}
section h2{
    margin-bottom: 2rem;
}
section.slider-element{
    margin: 5rem 0;
}
.frame-layout-1 figure{
    display: flex;
    flex-direction: column;
}
.frame-layout-1 figure.image img, .frame-layout-1 figure.image .image-caption{
    width: 75%;
    margin-left: auto;
    margin-right: auto;
}
/* ── FRAME-ABSTÄNDE (Layout: Abstand davor/dahinter) ── */
.frame-space-before-extra-small{
    margin-top: 20px;
}
.frame-space-after-extra-small{
    margin-bottom: 20px;
}
.frame-space-before-small{
    margin-top: 40px;
}
.frame-space-after-small{
    margin-bottom: 40px;
}
.frame-space-before-medium{
    margin-top: 80px;
}
.frame-space-after-medium{
    margin-bottom: 80px;
}
.frame-space-before-large{
    margin-top: 170px;
}
.frame-space-after-large{
    margin-bottom: 170px;
}
.frame-space-before-extra-large{
    margin-top: 220px;
}
.frame-space-after-extra-large{
    margin-bottom: 220px;
}
@media (max-width: 767px) {
    .frame-space-before-extra-small{
        margin-top: 15px;
    }
    .frame-space-after-extra-small{
        margin-bottom: 15px;
    }
    .frame-space-before-small{
        margin-top: 30px;
    }
    .frame-space-after-small{
        margin-bottom: 30px;
    }
    .frame-space-before-medium{
        margin-top: 60px;
    }
    .frame-space-after-medium{
        margin-bottom: 60px;
    }
    .frame-space-before-large{
        margin-top: 100px;
    }
    .frame-space-after-large{
        margin-bottom: 100px;
    }
    .frame-space-before-extra-large{
        margin-top: 130px;
    }
    .frame-space-after-extra-large{
        margin-bottom: 130px;
    }
}
hr.ce-div{
    margin: 4rem 0;
    border-color: var(--red);
}
/* ── FONT DEFINITION ── */
h1, h2, .h1, .h2{
    font-family: 'Open Sans', sans-serif;
    font-size: 2.5rem;
    color: var(--red);
    font-weight: 700;
    word-break: break-word;
}
.ce-headline-center{
    text-align: center;
}
.ce-bodytext .text-center{
    text-align: center;
}
.ce-bodytext .text-right{
    text-align: right;
}
.ce-gallery{
    margin-top: 2rem;
}
.ce-gallery .ce-column {
    margin-right: 20px;
}
h1, .h1{
    margin-bottom: 2rem;
}
p{
    margin-bottom: 0;
}
a{
    color: var(--red);
}
a.more{
    text-decoration: none;
    font-weight: 600;
}
a.more:hover{
    text-decoration: underline;
}
b, strong {
    font-weight: 650;
}
@media (min-width: 768px){
    h1, h2, .h1, .h2{
        font-size: 3.5rem;
    }
}
img{
    width: 100%;
    height: auto;
}
iframe{
    width: 100%;
}
#Content{
    min-height: 100vh;
    margin-top: 130px;
}
/* ── HEADER ── */
#header {
    color: var(--white);
    nav{
        position: relative;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        .container{
            align-items: flex-start;
        }
    }
    .navbar-brand{
        width: 60%;
        display: flex;
        flex-direction: row;
        align-items: center;
        transform: translateY(-7.5px);
        img{
            width: 220px;
            transition: width 1s ease-in-out, transform 1s ease-in-out;
            margin-top: 15px;
        }
        p{
            font-family: 'Antropos', sans-serif;
            font-size: 1rem;
            padding: 0;
            margin: 0;
            color: var(--white);
        }
    }
    .navbar-toggler{
        margin-top: 3%;
        padding: 0;
        border: 0;
    }
    .navbar-toggler:focus{
        box-shadow: none;
    }
    .nav-item a span{
        border-bottom: 2px solid transparent;
    }
    .nav-item a:hover span{
        color: var(--white);
        background: transparent;
        border-bottom: 2px solid var(--white);
    }
    .small-nav li.nav-item a.nav-link{
        font-size: 0.9rem;
    }
}
.pid-1{
    .zoomHeader #accessibilityDropdown:hover svg, .zoomHeader #accessibilityDropdown.show svg{
        color: var(--hover-light);
        fill: var(--hover-light) !important;
    }
    #header button.search .navbar-toggler-icon, #header button.search:hover .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231e1e1e' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
    }
}
.pid-4{
    .zoomHeader #accessibilityDropdown:hover svg, .zoomHeader #accessibilityDropdown.show svg{
        color: var(--hover-light);
        fill: var(--hover-light) !important;
    }
    #header button.search .navbar-toggler-icon, #header button.search:hover .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231e1e1e' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
    }
}
#header::after {
    content: "";
    position: absolute;
    top: -25%;
    left: -30%;
    width: 170%;
    height: 145%;
    z-index: -1;
    background: var(--verlauf);
    transform: rotate(2deg);
    transition: all 1s ease-in-out;
    transform-origin: center;
}
#header.scrolled::after {
    transform: rotate(0deg);
    height: 120%;
    top: -20%;
}
/*#header.scrolled .navbar-brand img {*/
/*    width: 220px;*/
/*    transform: translateY(-7.5px);*/
/*}*/
#header.open{
    height: fit-content;
    transition: all 1s ease-in-out;
    clip-path: none;
}
#navbarNavDropdown{
    .nav-link {
        color: var(--white);
    }
    .nav-link span{
        border-bottom: 2px solid transparent;
    }
    .nav-link.is-active span{
        border-bottom: 2px solid var(--white);
    }
    .parent > .nav-link {
        text-transform: uppercase;
        font-weight: 600;
        font-size: 1.2rem;
        display: flex;
        align-items: center;
    }
    .dropdown-toggle::after {
        display: none !important;
    }
    .dropdown-menu li.child a.nav-link:hover{
        color: var(--white);
        text-decoration: underline solid 2px var(--white);
    }
}
/* ── SEARCH ── */
form#form_kesearch_pi1{
    .kesearchbox{
        display: flex;
        align-items: center;
        margin-bottom: 0;
        gap: 5px;
        width: 100%;
        flex-direction: column;
    }
    #ke_search_sword, #ke_search_searchfield_sword{
        background: var(--white) !important;
        border-radius: 0 !important;
        border-width: 2px !important;
        margin-bottom: 0 !important;
    }
    #ke_search_searchfield_sword{
        border-color: var(--white) !important;
    }
    #ke_search_sword:focus-visible, #ke_search_searchfield_sword:focus-visible, #ke_search_searchfield_sword:focus{
        outline: none !important;
        border-color: var(--red) !important;
        box-shadow: none !important;
    }
    #ke_search_sword:focus-visible, #ke_search_searchfield_sword:focus-visible, #ke_search_searchfield_sword:focus{
        outline: none !important;
        border-color: var(--red) !important;
        box-shadow: none !important;
    }
    #ke_search_searchfield_submit{
        background: var(--white);
        border-radius: 0;
        min-height: 40px;
        svg{
            margin-bottom: 4px;
        }
    }
    #ke_search_searchfield_submit:hover{
        color: var(--red)
    }
    .resetButton, .submitButton {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px;
        cursor: pointer;
        user-select: none;
        background: #f5f5f5;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 2px;
        color: var(--red);
        text-align: center;
        text-decoration: none;
        svg{
            width: 20px;
            height: 20px;
        }
    }
}
/* ── KE_SEARCH LIVE-SUGGEST DROPDOWN ── */
.kesearch-input-wrap {
    position: relative;
    flex: 1;
}
#kesearch-suggest-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--white);
    border: 2px solid var(--red);
    border-top: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
#kesearch-suggest-list.is-open {
    display: block;
}
#kesearch-suggest-list li {
    font-size: 0.95rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    transition: background 0.15s ease;
}
#kesearch-suggest-list li a {
    display: block;
    padding: 0.6rem 1rem;
    color: var(--red);
    text-decoration: none;
}
#kesearch-suggest-list li:hover a,
#kesearch-suggest-list li.is-active a {
    color: var(--white);
}
#kesearch-suggest-list li:last-child {
    border-bottom: none;
}
#kesearch-suggest-list li:hover,
#kesearch-suggest-list li.is-active {
    background: var(--red);
    color: var(--white);
}
#kesearch-suggest-list li mark {
    background: transparent;
    font-weight: 700;
    color: inherit;
    padding: 0;
}
a.kesGreyButt, span.resetbutt a, span.submitbutt button {
    margin: 0 !important;
    display: block;
    cursor: pointer;
    user-select: none;
    background: #f5f5f5;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 2px;
    color: #444;
    text-align: center;
    text-decoration: none;
}
span.resetbutt{
    width: auto;
    margin-right: 5px !important;
    a span{
        display: inherit;
    }
}
span.submitbutt button{
    height: 100%;
    background-color: var(--white);
}
span.resetbutt a, span.submitbutt button{
    width: auto;
    min-height: 48px;
    min-width: 48px;
}
#header{
    a.search{
        margin-top: 3%;
        padding: 0;
        border: 0;
    }
    a.search .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23f5f5f5' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
        width: 30px;
        height: 30px;
    }
}
#kesearch_num_results{
    margin-top: 1rem;
}
/* ── SUCHERGEBNISSE ANZAHL PAGINATOR ── */
#kesearch_pagebrowser_bottom{
    margin-top: 5rem;
    .result_txt{
        margin-bottom: 1rem;
    }
    .kesearch_pagebrowser{
        ul.pagination{
            li:first-of-type{
                margin-right: 0.5rem;
            }
            li:last-of-type{
                margin-left: 0.5rem;
            }
            .page-link{
                border: none;
                background-color: transparent;
                color: var(--red);
            }
            .disabled > .page-link, .page-link.disabled {
                color: var(--text);
            }
            .active > .page-link, .page-link.active {
                font-weight: 700;
                text-decoration: underline;
            }
            .page-link:focus{
                box-shadow: none;
            }
        }
    }
}
#kesearch_pagebrowser_top .pages_total, #kesearch_pagebrowser_bottom .pages_total {
    padding: 1.5em 0 !important;
    border-top-width: 2px !important;
    border-bottom-width: 2px !important;
}
.news-pagination ul.pagination {
    .page-link {
        border: none;
        background-color: transparent;
        color: var(--red);
    }
    .disabled > .page-link {
        color: var(--text);
        opacity: 0.4;
    }
    .active > .page-link {
        background-color: var(--red);
        color: var(--white);
        border-radius: 0;
    }
    .page-link:hover:not(.disabled) {
        background-color: var(--red);
        color: var(--white);
    }
    .page-link:focus {
        box-shadow: none;
    }
}
/* ── FOOTER ── */
footer {
    background: var(--verlauf);
    clip-path: polygon(0 2%, 100% 0, 100% 100%, 0 100%);
    padding-top: 30px;
    color: var(--white);
    text-align: center;
    margin-top: 7rem;
    img{
        margin: 1em auto 3em auto;
    }
    ul{
        list-style: none;
        padding-left: 0;
    }
    a{
        text-decoration: none;
        color: var(--white);
        transition: 0.3s all ease-in-out;
    }
    a:hover{
        color: var(--hover-light) !important;
        transition: 0.3s all ease-in-out;
    }
    .footer-adresse a{
        text-decoration: underline;
    }
    .mainNav a{
        text-transform: uppercase;
        font-weight: 650;
    }
    .legal{
        ul{
            margin: 0;
            align-items: end;
            justify-content: flex-end;
            li{
                margin: 0 10px;
            }
        }
    }
}
/* ── NEWS LISTE ── */
.news{
    .footer{
        color: var(--text);
        margin-top: 2rem;
        span.info{
            padding-left: 0.85rem;
            padding-right: 0.45rem;
            position: relative;
        }
        span.info::before{
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1.5px;
            height: 16px;
            background-color: var(--text);
            opacity: 1;
        }
        span.info:first-of-type{
            padding-left: 0;
        }
        span.info:first-of-type::before{
            content: none;
        }
        span.info:last-of-type{
            padding-right: 0;
        }
    }
    .btn-more{
        color: var(--red);
        background: var(--white);
        border: 2px solid var(--red);
        border-radius: 0;
        padding: 0.75rem 1.5rem;
        margin-top: 2rem;
        margin-bottom: 5rem;
        text-decoration: none;
        font-weight: 600;
    }
    .btn-more:hover{
        color: var(--white);
        background: var(--red);
    }
}
.news .col-12.aktuelles:nth-child(2n) .footer, .news .col-12.aktuelles:nth-child(2n) .teaser-text a.more {
    display: flex;
    justify-content: flex-end;
}

.news .col-12.aktuelles:nth-child(2n) .header h3, .news .col-12.aktuelles:nth-child(2n) .teaser-text {
    text-align: right;
}
/* ── AKTUELLES NEWS IMAGE AFTER ELEMENT── */
.news-img-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
    margin-bottom: 35px;
    margin-top: 5px;
}
.news-img-wrap a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    z-index: 2;
    padding-left: 25px;
}
.news-img-wrap::after {
    content: '';
    position: absolute;
    width: 95%;
    height: 95%;
    z-index: 1;
    top: 25px;
    transition: all 0.3s ease;
}
.news .col-12:nth-child(3n) .news-img-wrap{
    margin-top: 25px;
}
.news .col-12:nth-child(3n) .news-img-wrap::after {
    top: unset;
    bottom: 25px;
}
.news .col-12:nth-child(3n) .news-img-wrap {
    margin-bottom: 20px;
}
.news-img-wrap::after {
    background: linear-gradient(135deg, #d96f5d 0%, #e2b14c 100%);
}
.news-img-wrap.schule::after {
    background: linear-gradient(135deg, #e59f6b 0%, #76b1b8 100%);
}
.news-img-wrap.veranstaltungen::after {
    background: linear-gradient(135deg, #53989e 0%, #9bc3bd 100%);
}
.news-img-wrap.stellen::after {
    background: linear-gradient(135deg, #a890b1 0%, #ddd3e0 100%);
}
/* ── NEWS: Videos in der Detailansicht volle Breite ── */
.detail .mediaelement-video video{
    display: block;
    width: 100%;
    height: auto;
}
/* ── NEWS: Redaktions-Werkzeuge über der Liste (nur für eingeloggte Redakteure) ── */
.news-create-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0.75rem 1.25rem;
    margin: 1rem 0 2rem;
}
.news-drafts{
    position: relative;
    margin-right: auto;
}
.news-drafts summary{
    cursor: pointer;
    padding: 0.6rem 0;
    font-weight: 600;
    color: var(--red);
}
.news-drafts ul{
    position: absolute;
    z-index: 20;
    min-width: min(28rem, 90vw);
    margin: 0;
    padding: 0.5rem 0;
    list-style: none;
    background: #fff;
    border: 2px solid var(--red);
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.news-drafts li a{
    display: block;
    padding: 0.4rem 1rem;
    color: var(--text);
    text-decoration: none;
}
.news-drafts li a:is(:hover, :focus-visible){
    background: var(--red);
    color: var(--white);
}
.news-drafts-empty{
    margin-right: auto;
    padding: 0.6rem 0;
    color: #777;
}
.news-backend-link{
    padding: 0.6rem 0;
    color: var(--red);
    font-weight: 600;
}
.news-create-btn{
    color: var(--red);
    background: var(--white);
    border: 2px solid var(--red);
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    text-decoration: none;
}
.news-create-btn:is(:hover, :focus-visible){
    color: var(--white);
    background: var(--red);
}
/* ── AKTUELLS NEWS CONFIGURATION ── */
.aktuelles{
    margin-top: 6rem;
    margin-bottom: 6rem;
    .footer p{
        margin-bottom: 0.4rem;
    }
    .news-list-category{
        color: var(--red);
    }
    .header h3 a{
        color: var(--text);
        text-decoration: none;
        font-weight: 600;
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }
    img{
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }
    .news-img-wrap.portrait{
        width: auto;
        max-width: 100%;
    }
    /* Bild-Spalte ist auf Desktop ein Flex-Container (d-md-flex) - schmales
       Hochformat-Bild an den Rand neben dem Text schieben. Bei den normal
       alternierenden Reihen liegt das Bild links, der Text rechts, also Bild
       nach rechts schieben; bei umgedrehter Reihenfolge (flex-md-row-reverse)
       liegt das Bild rechts vom Text, also nach links schieben. */
    .col-12.col-md-6.d-md-flex .news-img-wrap.portrait{
        margin-left: auto;
    }
    .row.flex-md-row-reverse .col-12.col-md-6.d-md-flex .news-img-wrap.portrait{
        margin-left: 0;
        margin-right: auto;
    }
    .news-img-wrap.portrait a{
        width: auto;
        display: inline-block;
    }
    .news-img-wrap.portrait img{
        aspect-ratio: auto;
        object-fit: initial;
        width: auto;
        height: auto;
        max-height: 480px;
        max-width: 100%;
        display: block;
    }
    /* Mobile Kopie des Hochformat-Bilds (d-md-none) liegt in einer vollbreiten
       Spalte ohne Flex-Ausrichtung - Box (inkl. ::after-Verzierung) mittig
       ausrichten statt links kleben zu lassen. */
    .news-img-wrap.d-md-none.portrait{
        display: block;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
    .news-img-wrap.d-md-none.portrait::after{
        left: 0;
        right: auto;
    }
}
/* ── NEWS DETAIL: HOCHFORMAT-BILD LAYOUT ── */
.detail-media-row.portrait-media-row {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
    margin-bottom: 2rem;
}
.detail-media-row.portrait-media-row .news-img-wrap {
    flex: 0 0 auto;
    max-width: 40%;
    margin: 0;
    text-align: right;
}
.detail-media-row.portrait-media-row .news-img-wrap img {
    width: auto;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: initial;
}
.detail-media-row.portrait-media-row .news-text-wrap {
    flex: 1 1 0;
}
@media (max-width: 767px) {
    .detail-media-row.portrait-media-row {
        display: block;
    }
    .detail-media-row.portrait-media-row .news-img-wrap {
        max-width: 100%;
        text-align: left;
    }
}
.news .aktuelles .footer{
    margin-top: 0;
}
/* ── TERMINE NEWS CONFIGURATION ── */
.termine{
    width: 100%;
    padding: 2rem 0;
    background-image: radial-gradient(circle, #333 20%, transparent 25%);
    background-size: 13px 4px;
    background-repeat: repeat-x;
    background-position: bottom;
    .footer{
        margin-top: 0;
    }
    .header h3 a{
        font-size: 1.5rem;
        color: var(--red);
        font-weight: 600;
        text-decoration: underline;
        text-decoration-thickness: 2px;
    }
}
.news .termine:first-of-type{
    margin-top: 2rem;
}
.news .termine:last-of-type{
    margin-bottom: 5rem;
}
/* ── NEWS KATEGORIE FILTER ── */
.category-filter{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1rem;
    padding-left: 0;
    margin: 4rem 0 1.5rem;
    justify-content: center;
    li{
        margin: 0;
        a{
            display: inline-block;
            padding: .75rem 1.5rem;
            border: 2px solid var(--red);
            text-decoration: none;
            color: var(--red);
            font-weight: 600;
            transition: all .2s ease-in-out;
        }
        a:hover, a.active, a.btn-reset.active{
            color: var(--white);
            background-color: var(--red);
        }
    }
}
/* ── NEWS DETAIL── */
.news-single{
    margin-top: 1rem;
    .news-backlink-wrap a{
        text-decoration: none;
        font-weight: 500;
        color: var(--red);
        padding: 0;
        font-size: 18px;
        svg{
            margin-top: -4px;
        }
    }
    .news-backlink-wrap a:hover{
        cursor: pointer;
        text-decoration: underline;
    }
    .news-backlink-wrap:active{
        border: none;
    }
    .footer{
        text-align: center;
    }
    .header h1{
        margin-top: 0.5rem;
        margin-left: -0.2rem;
        margin-bottom: 3rem;
        text-align: center;
    }
    .news-list-category{
        padding-left: 0;
    }
    .news-img-wrap{
        margin-top: 3rem;
        margin-bottom: 3rem;
        a{
            padding-left: 0;
        }
    }
    .news-img-wrap::after{
        content: none;
    }
    .news-img-caption{
        font-style: italic;
    }
}
/* ── CONTENT BLOCKS FULLIMAGE ── */
.fullimage {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: -70px;
    margin-bottom: 0;
    .image-wrapper {
        position: relative;
        z-index: 1;
        width: 100%;
        img {
            width: 100%;
            height: auto;
            object-fit: cover;
        }
    }
    .image-content{
        position: relative;
        z-index: 2;
        width: 100%;
        display: flex;
        box-sizing: border-box;
        margin-top: -30px;
        padding-top: 80px;
        padding-bottom: 2rem;
        background: var(--verlauf);
        clip-path: polygon(0 0, 100% 20px, 100% 100%, 0 100%);
        .text-card {
            width: 100%;
            color: var(--white);
            background: transparent;
            h1{
                color: var(--white);
                text-align: unset;
                margin-bottom: 2rem;
                font-family: 'Antropos', sans-serif;
                font-size: 2.5rem;
                font-weight: lighter;
                text-shadow: 1px 0 20px rgba(70,70,70,0.3);
            }
        }
        .element-text{
            font-style: italic;
            text-shadow: 1px 0 20px rgba(70,70,70,0.3);
        }
    }
    h2{
        font-family: 'Antropos', sans-serif;
        font-weight: normal;
        font-size: 2.3rem;
    }
}
/* Review: larger introductory text on the three photographic page headers. */
:is(.uid-1, .uid-5, .uid-64) .fullimage .image-content .element-text {
    font-size: clamp(1.375rem, 1.7vw, 1.625rem);
    line-height: 1.5;
}

/* ── CONTENT BLOCKS ACCORDION ALLGEMEIN ── */
.accordion-item{
    background: var(--white);
    color: var(--text);
    border: none;
}
.accordion-button, .accordion-button:not(.collapsed){
    background: var(--white);
    color: var(--text);
    box-shadow: none;
    font-size: 1.1rem;
}
.accordion-button h3, .accordion-button header{
    font-size: 1.5rem;
    font-weight: 600;
}
.accordion-button:focus {
    box-shadow: none;
}
/* Alle Expander: Titel bei Hover im Schul-Rot (Review 25.09.2026).
   Bei Text-Expander und Bild-Akkordeon liegt der Inhalt im Button → der bleibt normal. */
.accordion-button {
    transition: color .15s;
}
.accordion .accordion-button:is(:hover, :focus-visible),
.accordion .accordion-button:is(:hover, :focus-visible) :is(h2, h3, h4, .header) {
    color: var(--red);
}
.accordion .accordion-button:is(:hover, :focus-visible) .accordion-collapse,
.imageaccordion-element .accordion .accordion-button:is(:hover, :focus-visible) > p {
    color: var(--text);
}
.accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cstyle%3E.st0%7Bfill:%23C14730%7D%3C/style%3E%3Crect id='first' class='st0' x='6.7' y='.3' width='2.6' height='15.5'/%3E%3Crect id='second' class='st0' x='.2' y='6.7' width='15.6' height='2.6'/%3E%3C/svg%3E");
    transition: transform 0.2s ease-in-out;
    background-size: 32px 32px;
    background-repeat: no-repeat;
    background-position: center;
    width: 32px;
    height: 32px;
}
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cstyle%3E.st0%7Bfill:%23C14730%7D%23first%7Bdisplay:none%7D%3C/style%3E%3Crect id='first' class='st0' x='6.7' y='.3' width='2.6' height='15.5'/%3E%3Crect id='second' class='st0' x='.2' y='6.7' width='15.6' height='2.6'/%3E%3C/svg%3E");
}
/* ── CONTENT BLOCKS ACCORDION ── */
.accordion-element{
    background: var(--white);
    .accordion-item{
        margin-bottom: 1.5rem;
        padding: 0 0 2.5rem 0;
        margin-top: 0;
        background-image: radial-gradient(circle, #333 20%, transparent 25%);
        background-size: 13px 4px;
        background-repeat: repeat-x;
        background-position: bottom;
    }
    h3 .accordion-button{
        font-weight: 600;
        font-size: 1.83rem;
        padding-left: 0;
        padding-right: 0;
    }
    .teaser{
        margin-bottom: 0;
    }
    .accordion-body{
        .link-list {
            ul{
                padding-left: 0;
            }
            li::marker{
                content: none;
            }
        }
    }
    img{
        width: 150px;
        height: 150px;
        object-fit: cover;
    }
}
/* ── CONTENT BLOCKS EXPANDER ── */
.expander-element{
    background: var(--white);
    .accordion-button{
        background: var(--white);
        font-size: 1.1rem;
        line-height: 1.7rem;
        color: var(--text);
        box-shadow: none;
        text-align: center;
        display: flex;
        flex-direction: column;
    }
    .accordion-button.collapsed::after, .accordion-button::after {
        position: absolute;
        bottom: -40px;
        left: 50%;
    }
    .accordion-body .bodytext{
        text-align: center;
    }
}
/* ── CONTENT BLOCKS DREISPALTEN ── */
.dreispalten-element{
    .smallcontent{
        margin-bottom: 5rem;
    }
    img{
        margin-bottom: 1rem;
    }
    .spalte{
        margin-bottom: 6rem;
    }
    h3{
        color: var(--text);
        font-weight: 600;
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }
    p{
        margin-bottom: 1rem;
    }
    a.more{
        text-decoration: none;
        font-weight: 600;
    }
    a.more:hover{
        text-decoration: underline;
    }
}
/* ── CONTENT BLOCKS IMAGE ACCORDION ── */
.imageaccordion-element{
    .teaser{
        margin-bottom: 5rem;
    }
    .accordion-item{
        margin: 7rem 0;
    }
    .accordion-header button{
        display: flex;
        flex-direction: column;
        padding: 0 0 3rem 0;
    }
    .accordion-body{
        padding: 0;
        margin-top: 1.5rem;
    }
    .accordion-button.collapsed::after, .accordion-button::after {
        position: absolute;
        bottom: 0;
        left: 49%;
    }
    h3{
        width: 100%;
    }
    .teaser{
        margin-bottom: 5rem;
    }
    img{
        width: 100%;
        height: auto;
        object-fit: cover;
        max-width: 300px;
    }
}
.imageaccordion-element .accordion-item:nth-of-type(2n) .col-12{
    display: flex;
    justify-content: flex-end;
}
/* ── CONTENT ELEMENT SLIDER ── */
.slider-element{
    .slick-track{
        overflow-y: visible !important;
        padding-bottom: 40px;
    }
    .slick-slide{
        position: relative;
        overflow-y: visible !important;
    }
    .video-wrapper{
        max-height: 464px;
    }
    button{
        z-index: 2;
    }
    button.slick-prev{
        left: 0;
    }
    button.slick-next{
        right: 0;
    }
    .description{
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding: 0.5rem 1rem;
        position: absolute;
        background: var(--verlauf);
        color: var(--white);
        font-weight: 650;
        transform: scale(-1);
        display: flex;
        justify-content: flex-end;
        left: 0;
        right: 0;
        bottom: -35px;
        z-index: 3;
        .text{
            transform: scale(-1);
        }
    }
}
.slick-prev::before,
.slick-next::before {
    content: '' !important; /* Entfernt den Standard-Pfeil text */
    display: block;
    width: 30px;  /* Breite deines Pfeils */
    height: 30px; /* Höhe deines Pfeils */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
}
.slick-next::before {
    background-image: url('../Images/arrow-right.svg');
}
.slick-prev::before {
    background-image: url('../Images/arrow-left.svg');
}
.slick-arrow {
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    z-index: 10;
}
/* ── CONTENT ELEMENT HIGHLIGHTBOX ── */
.highlightbox {
    padding: 7rem 10rem;
    margin: 5rem 0;
    background: var(--verlauf);
    color: var(--white);
    .link-list{
        margin-top: 4rem;
    }
    a{
        color: var(--white);
        border: 2px solid var(--white);
        padding: 0.9rem 1.4rem;
        transition: all 0.3s ease-in-out;
        background: transparent;
    }
    a:hover{
        background: var(--white);
        color: var(--red);
        transition: all 0.3s ease-in-out;
        text-decoration: none;
    }
}
form button, .btn, .btn-primary{
    padding: 0.75rem 1.5rem;
}
@media (max-width: 991px) {
    .highlightbox {
        padding: 4rem 3rem;
        margin: 3rem 0;
    }
}
@media (max-width: 575px) {
    .highlightbox {
        padding: 3rem 1.5rem;
        margin: 2rem 0;
    }
}
/* ── JOB ACCORDION ── */
#jobAccordion{
    font-family: "Open Sans", sans-serif !important;
    .accordion-item{
        width: 100%;
        padding: 2rem 0;
        background-image: radial-gradient(circle, #333 20%, transparent 25%);
        background-size: 13px 4px;
        background-repeat: repeat-x;
        background-position: bottom;
        box-shadow: none !important;
    }
    h2 .accordion-button{
        font-weight: 600;
        font-size: 1.5rem;
        background-color: transparent !important;
        padding: 0.5rem 1.25rem !important;
    }
    .accordion-body {
        padding-top: 0;
        .info{
            margin-bottom: 1rem;
        }
        .info span.mb-1 {
            padding-left: 0.85rem;
            padding-right: 0.45rem;
            position: relative;
        }
        .info span.mb-1:first-of-type {
            padding-left: 0;
        }
        .info span.mb-1::before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1.5px;
            height: 16px;
            background-color: var(--text);
            opacity: 1;
        }
        .info span.mb-1:first-of-type::before {
            content: none;
        }
        .jobDescription{
            margin-bottom: 1.5rem;
        }
    }
}
.jobman-job-detail{
    font-family: 'Open Sans', sans-serif !important;
    .jobman-job-detail__back a{
        text-decoration: none;
        font-weight: 500;
        color: var(--red);
        padding: 0;
        font-size: 18px;
        background: transparent;
        box-shadow: none;
        svg{
            margin-top: -4px;
        }
    }
    .jobman-job-detail__back a:hover{
        cursor: pointer;
        text-decoration: underline;
    }
    .jobman-job-detail__back:active{
        border: none;
    }
    .jobman-job-detail__header, .jobman-job-detail__content{
        background: transparent;
        box-shadow: none;
        margin: 0;
        padding-left: 0;
        padding-right: 0;
    }
    header{
        .jobman-job-detail__meta{
            font-size: 18px;
            color: var(--text);
            gap: unset;
            justify-content: center;
            li{
                position: relative;
                padding-left: 0.85rem;
                padding-right: 0.85rem;
            }
            li:first-of-type{
                padding-left: 0;
            }
            li:not(:first-of-type) span::before {
                content: "";
                position: absolute;
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                width: 1.5px;
                height: 16px;
                background-color: var(--text);
                opacity: 1;
            }
        }
    }
    .jobman-job-detail__content{
        padding: 0;
        blockquote{
            font-family: 'Antropos';
            font-size: 200%;
            color: var(--red);
        }
        .apply_link{
            padding: 0;
            border-radius: 0;
            font-size: 18px;
            background: transparent;
            color: var(--red);
            box-shadow: none;
        }
        .apply_link:hover{
            text-decoration: underline;
        }
    }
    .jobman_contactbox{
        background-color: transparent;
        border: none;
        background-image:
            radial-gradient(circle, #333 20%, transparent 25%),
            radial-gradient(circle, #333 20%, transparent 25%);
        background-size: 13px 8px, 13px 8px;
        background-repeat: repeat-x, repeat-x;
        background-position: top, bottom;
    }
}
/* ── BEWERBUNGSFORMULAR (jobman) FLAT STYLING ── */
.jobman-form {
    max-width: 700px;
    margin: 2rem auto;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Open Sans', sans-serif !important;
}
.jobman-form__group {
    margin-bottom: 1.8rem;
    display: flex;
    flex-direction: column;
}
.jobman-form__label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text) !important;
}
.jobman-form__input,
.jobman-form__textarea,
.jobman-form__file {
    padding: 0.75rem 1rem;
    border-radius: 0 !important;
    border: 1px solid #ccc !important;
    font-size: 1rem;
    font-family: 'Open Sans', sans-serif !important;
    background: #fff !important;
    color: var(--text);
    transition: border-color 0.2s ease;
}
.jobman-form__textarea {
    resize: vertical;
    min-height: 120px;
}
.jobman-form__input:focus,
.jobman-form__textarea:focus,
.jobman-form__file:focus {
    outline: none;
    border-color: var(--red) !important;
    background: #fff !important;
    box-shadow: none !important;
}
.jobman-form__hint {
    font-size: 0.85rem;
    color: var(--text) !important;
    opacity: 0.75;
    margin-top: 0.4rem;
}
.jobman-form__actions {
    margin-top: 2rem;
    text-align: right;
}
.jobman-form__button {
    background: transparent !important;
    color: var(--red) !important;
    border: 2px solid var(--red) !important;
    border-radius: 0 !important;
    padding: 0.75rem 1.75rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.jobman-form__button:hover {
    background: var(--red) !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}
.jobman-form__button:active {
    transform: none !important;
    box-shadow: none !important;
}
@media (max-width: 640px) {
    .jobman-form {
        padding: 0 !important;
    }
    .jobman-form__actions {
        text-align: center;
    }
    .jobman-form__button {
        width: 100%;
    }
}
/* ── COOKIE BOX STYLING ── */
section.waconcookiemanagement{
    z-index: 100000;
    margin-top: 0 !important;
    position: relative !important;
}
#CookieBox .box-cookie-management {
    height: fit-content !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}
#CookieBox {
    left: 27% !important;
    width: 50% !important;
    overflow-y: scroll;
    overflow-x: hidden;
}
#CookieBox .text-center{
    text-align: left !important;
}
#CookieBox .cookie-btn {
    background: var(--red) !important;
    font-weight: normal !important;
    letter-spacing: 0.2px;
    text-align: center !important;
    padding: 0.75rem 1rem !important;
}
#CookieBox .text-back-right .cookie-btn, #CookieBox #data-cookie-individual.cookie-btn, #CookieBox #data-cookie-refuse.cookie-btn {
    background: white !important;
    border: 2px solid var(--red);
    color: var(--red) !important;
}
#CookieBox .cookie-fix .cookie-refuse, #CookieBox #data-cookie-refuse.cookie-btn {
   white-space: normal !important;
}
#CookieBox .box-cookie-management-in > p {
    text-align: center !important;
}
.frame-type-waconcookiemanagement_script{
    margin-top: 73px;
}
#CookieBox .cookieclose{
    background-color: transparent !important;
    border-color: transparent !important;
}
#CookieBox .cookieclose::before, #CookieBox .cookieclose::after{
    background-color: var(--red) !important;
}
.cookie-set{
    transition: color .15s ease-in-out;
}
.cookie-set:hover{
    color: var(--hover-light);
    transition: color .15s ease-in-out;
}
/* ── CORE STYLING ── */
.image .image-caption{
    font-style: italic;
    text-align: center;
}
/* File Download Links*/
ul.ce-uploads{
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-left: 0;
    margin-top: 3rem;
    li{
        list-style: none;
        .ce-uploads-preview{
            width: 100%;
            border: 2px solid var(--red);
            border-bottom: none;
            overflow: hidden;
        }
        a.ce-uploads-preview--pdf{
            display: block;
            border: none;
            margin-top: 0;
        }
        a.ce-uploads-preview--pdf:hover{
            opacity: .85;
        }
        .ce-uploads-preview--pdf .ce-uploads-preview__clip{
            overflow: hidden;
            height: 280px;
        }
        .ce-uploads-preview--pdf iframe{
            display: block;
            width: 108%;
            height: 340px;
            border: none;
            margin-top: -37px;
            margin-left: -20px;
            pointer-events: none;
        }
        .ce-uploads-preview--image a{
            display: block;
            margin-top: 0;
            border: none;
        }
        .ce-uploads-preview--image a:hover{
            background: none;
        }
        .ce-uploads-preview--image img{
            display: block;
            width: 100%;
            height: 280px;
            object-fit: cover;
        }
        div a{
            display: flex;
            align-items: center;
            border: 2px solid var(--red);
            padding: 1rem 1.5rem;
            text-decoration: none;
            background-color: var(--white);
            transition: all 0.2s ease-in-out;
        }
        div a:hover{
            background-color: var(--red);
            color: var(--white);
            transition: all 0.2s ease-in-out;
        }
        svg{
            min-width: 20px;
        }
        span.ce-uploads-fileName{
            word-break: break-word;
        }
    }
}
/* Page Subpages Menu */
.frame-type-menu_subpages ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    list-style: none;
    padding-left: 0;
    margin: 0;
    li{
        a{
            display: inline-block;
            border: 2px solid var(--red);
            padding: 0.75rem 1.5rem;
            text-decoration: none;
            color: var(--red);
            font-weight: 600;
            transition: all 0.2s ease-in-out;
        }
        a:hover, &.active a{
            background-color: var(--red);
            color: var(--white);
        }
    }
}
.intern-subnav{
    padding: 2rem 0 1rem;
    margin-bottom: 0;
}
/* ── RESPONSIVE ANPASSUNGEN ── */
@media (min-width: 400px){
    #header a.search{
        margin-right: -35px;
    }
    form#form_kesearch_pi1 .kesearchbox {
        flex-direction: row;
        align-items: center;
        #ke_search_sword{
            width: 100%;
        }
        .buttons{
            display: flex;
        }
    }
}
@media (max-width: 576px){
    #CookieBox {
        left: 10% !important;
        width: 80% !important;
    }
    #navbarNavDropdown{
        width: 100%;
    }
}
@media (min-width: 576px){
    ul.ce-uploads{
        grid-template-columns: repeat(2, 1fr);
    }
    section{
        padding: 5rem 0;
    }
    section h2{
        margin-bottom: 4rem;
    }
    /* ── NAVBAR DROPDOWN ── */
    #navbarNavDropdown {
        width: 150%;
        left: -25%;
    }
    /* ── SLIDER ── */
    .slider-element{
        .slick-track{
            padding-bottom: 20px;
        }
        .description{
            bottom: -20px;
        }
    }

    /* ── SEARCH ── */
    form#form_kesearch_pi1{
        max-width: 600px;
        width: 100%;
        .kesearchbox{
            flex-direction: row;
        }
        a.kesGreyButt, span.resetbutt a, span.submitbutt input {
            padding-right: unset !important;
            padding-left: unset !important;
        }
    }
    /* ── FOOTER ── */
    footer {
        clip-path: polygon(0 0px, 100% 40px, 100% 100%, 0 100%);
        padding-top: 40px;
    }
}
@media(max-width: 768px){
    #navbarNavDropdown{
        padding-top: 25px;
    }
    .slick-dots li {
        width: 14px;
    }
    .imageaccordion-element{
        .image-preview{
            width: 50%;
        }
        button.text-start::after{
            right: 5% !important;
        }
        button.text-end::after{
            left: 5% !important;
        }
    }
    #CookieBox p.cookie-save{
        width: 100% !important;
        display: flex !important;
    }
    #CookieBox p.text-back-right{
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        a{
            margin-left: auto !important;
            margin-right: auto !important;
        }
    }
    #header button.search {
        padding: 13px 0 0 0;
        margin-right: -40px;
    }
}
@media (min-width: 768px){
    ul.ce-uploads{
        grid-template-columns: repeat(4, 1fr);
    }
    .frame-type-waconcookiemanagement_script{
        margin-top: 77px;
    }
    #header::after {
        transform: rotate(1.3deg);
    }
    #header .navbar-toggler{
        margin-top: 19px;
    }
    #header a.search{
        margin-right: -115px;
    }
    /* ── NEWS ── */
    .news-img-wrap::after {
        top: 25px;
        height: calc(175px * 0.95);
    }
    .news-img-wrap.portrait::after {
        height: 95%;
    }
    .news .col-12:nth-child(odd) .news-img-wrap::after {
        left: 0;
        right: auto;
    }
    .news .col-12:nth-child(even) .news-img-wrap a {
        padding-left: 0;
        padding-right: 25px;
    }
    .news .col-12:nth-child(even) .news-img-wrap::after {
        right: -25px;
        left: auto;
        margin-right: 25px;
    }
    .news .col-12:nth-child(3n) .news-img-wrap {
        margin-top: 30px;
    }
    .news .col-12:nth-child(3n) .news-img-wrap::after {
        top: -25px;
        bottom: unset;
    }
    .aktuelles {
        margin-top: 6rem;
        margin-bottom: 6rem;
        .row > .col-md-6:first-of-type, .row.flex-md-row-reverse > .col-md-6:last-of-type {
            padding-right: 1.5rem;
            padding-left: 0.75rem; /* Setzt das aktuelle Inline-Padding-Left zurück */
        }
        .row > .col-md-6:last-of-type, .row.flex-md-row-reverse > .col-md-6:first-of-type {
            padding-left: 1.5rem;
            padding-right: 0.75rem; /* Setzt das aktuelle Inline-Padding-Right zurück */
        }
    }
    .imageaccordion-element{
        .accordion-item .col-12.col-md-8{
            padding-left: 2rem;
        }
        .accordion-item .flex-row-reverse .col-12.col-md-8{
            padding-right: 2rem;
        }
    }
    .slider-element{
        .description{
            width: 85%;
        }
        ul.slick-dots{
            margin: 0;
            display: flex;
            justify-content: flex-end;
            top: 94%;
            right: 9%;
            width: fit-content;
            bottom: unset;
        }
        ul.slick-dots, .slick-dots li{
            margin: 0;
        }
        .slick-dots li button{
            padding: 0;
        }
        .slick-dots li button::before {
            font-size: 10px;
            line-height: 20px;
            width: 20px;
            height: 20px;
            opacity: .5;
            color: var(--white);
        }
        .slick-dots li.slick-active button::before {
            opacity: .85;
            color: var(--white);
        }
    }
}
@media (min-width: 768px) and (max-width: 992px){
    #header button.search {
        padding: 17px 0 0 0;
        margin-right: -90px;
    }
}
@media (max-width: 992px) {
    /* ── GALLERY COLUMS IMAGES ── */
    .ce-gallery .ce-column{
        float: unset;
        margin-right: 0;
        margin-bottom: 40px;
    }
    /* ── ICON BURGER MENU ── */
    .icon-menu {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 30px;
        vertical-align: middle;
        fill: none;
        float: right;
        transition: all 0.3s ease-in-out;
    }
    .icon-menu.is-active{
        z-index: 10;
    }
    .icon-menu .line {
        position: absolute;
        left: 0;
        display: block;
        width: 100%;
        height: 4px;
        border-radius: 4px;
        -webkit-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        -moz-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        -o-transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1.000);
        background-color: var(--white);
    }
    .icon-menu .line-1 {
        top: 0;
    }
    .icon-menu.is-active .line-1 {
        -webkit-transform: translateY(12px) translateX(0) rotate(45deg);
        -moz-transform: translateY(12px) translateX(0) rotate(45deg);
        transform: translateY(12px) translateX(0) rotate(45deg);
    }
    .icon-menu .line-2 {
        top: 49%;
        margin-top: -1.5px;
    }
    .icon-menu.is-active .line-2 {
        opacity: 0;
    }
    .icon-menu .line-3 {
        bottom: 0;
    }
    .icon-menu.is-active .line-3 {
        -webkit-transform: translateY(-14px) translateX(0) rotate(-45deg);
        -moz-transform: translateY(-14px) translateX(0) rotate(-45deg);
        transform: translateY(-14px) translateX(0) rotate(-45deg);
    }
    /* ── HEADER ── */
    #header{
        #nav-header.small-nav {
            border-top: 2px #f5f5f5 dotted;
            margin-top: 1.5em;
            padding-top: 1.5em;
            width: 100%;
        }
    }
    /* ── NAVBAR ── */
    .navbar-nav-container{
        height: 100%;
        display: flex;
        flex-direction: column;
        min-height: calc(100vh - 45px);
    }
    #navbarNavDropdown {
        position: absolute;
        background-color: var(--red);
        height: 100vh;
        top: 0;
        padding-top: 45px;
        .nav-item.parent:not(.dropdown) {
            padding-left: 24px;
        }
        .nav-link {
            padding: 0.3rem 0;
        }
        .nav-link svg {
            width: 16px;
            margin-right: 0.5rem;
            transition: all 0.5s ease-in-out;
            transform: rotate(90deg);
        }
        .nav-link.show svg #first {
            opacity: 1;
            transition: all 0.5s ease-in-out;
        }
        .nav-link.show svg {
            transform: rotate(180deg);
            transition: all 0.5s ease-in-out;
        }
        .nav-link.show svg #first {
            opacity: 0;
            transition: all 0.5s ease-in-out;
        }
        ul.dropdown-menu {
            background: var(--red);
            border: 0;
            margin-top: -0.5rem;
            padding-top: 0;
            margin-left: calc(16px + 0.5rem);
            .nav-link:hover {
                background-color: transparent;
                color: var(--hover-light);
            }
        }
    }
    /* ── SEARCH BUTTON MOBILE ── */
    form#form_kesearch_pi1 {
        width: 100%;
    }
    #header button.search {
        width: fit-content;
        height: fit-content;
        color: var(--white);
        border: 0;
        background-color: transparent;
    }
    #header button.search.collapsed .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23f5f5f5' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
        width: 30px;
        height: 30px;
    }
    #header button.search .navbar-toggler-icon,
    #header button.search:hover .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23C14730' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
        width: 30px;
        height: 30px;
    }
    /* ── SCHRIFTGRÖßE ZOOM BUTTONS ── */
    .zoomHeader{
        background-color: var(--red);
        justify-content: center;
        display: flex;
        margin: 1rem 0;
        bottom: 0;
        width: 100%;
        a.access{
            color: white;
            font-size: 16px;
            text-decoration: none;
            justify-content: center;
        }
        button{
            background-color: var(--red);
            border: none;
            color: var(--white);
            margin: 5px 20px;
            font-size: 20px;
            transition: 0.8s;
        }
    }
}
#navbarHeader {
    background-color: var(--red);
}
@media (min-width: 992px) {
    /* ── NAVBAR DROPDOWN ── */
    #navbarNavDropdown{
        width: 216%;
        .parent{
            position: relative;
        }
        .nav-link.pt-lg-3{
            padding-top: 0.75rem !important;
        }
        .nav-link span{
            border-bottom: 2px solid transparent;
        }
        .nav-link.is-active span{
            border-bottom: 2px solid var(--white);
        }
    }
    #header .nav-item a span{
        border-bottom: 2px solid transparent;
    }
    #header .nav-item a:hover span{
        color: var(--white);
        border-bottom: 2px solid var(--white);
    }
    .frame-type-waconcookiemanagement_script{
        margin-top: 84px;
    }
    .border-lg-0{
        border: none !important;
    }
    .accordion-element, .expander-element, .smallcontent, .imageaccordion-element{
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
    .frame-layout-1{
        width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
    section h2{
        margin-bottom: 6rem;
    }
    /* ── HEADER ── */
    #header {
        nav{
            justify-content: end;
        }
        nav.small-nav{
            padding-right: 0;
            justify-content: end;
            .nav-item {
                position: relative; /* Wichtig für die absolute Positionierung der Linie */

                &::after {
                    content: "";
                    position: absolute;
                    right: 0;           /* Platziert die Linie exakt an den rechten Rand des li */
                    top: 62%;           /* Setzt den Startpunkt auf die Mitte */
                    transform: translateY(-50%); /* Zentriert die Linie perfekt vertikal */

                    /* Hier stellst du das Aussehen der Linie ein */
                    width: 1.5px;         /* Dicke der Linie */
                    height: 16px;       /* Gewünschte Höhe der Linie (unabhängig vom Padding!) */
                    background-color: var(--white); /* Farbe der Linie */
                    opacity: 1;       /* Optional: Macht die Linie dezent transparent */
                }
            }
            .nav-link{
                padding-bottom: 0;
            }
        }
        .nav-link{
            padding-left: 0.7rem;
            padding-right: 0.7rem;
        }
        .navbar-brand {
            width: 100%;
        }
        .navbar-toggler{
            margin-top: 0;
        }
        .dropdown-menu{
            margin: 0;
            padding: 0;
            border-radius: 0;
            border: 0;
            background: var(--red);
            a{
                color: var(--white);
            }
        }
        .dropdown-menu::after{
            content: "";
            position: absolute;
            bottom: 100%;
            left: 13%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 8px solid transparent;
            border-right: 8px solid transparent;
            border-bottom: 8px solid var(--red);
            pointer-events: none;
        }
    }
    #header::after {
        transform: rotate(1.5deg);
    }
    /* ── SEARCH STYLING HEADER ── */
    .searchHeader{
        background-color: transparent;
        justify-content: center;
        width: fit-content;
        height: fit-content;
        color: var(--white);
        padding-left: 0;
        padding-top: 6px !important;
        position: relative;
    }
    #header button.search{
        width: fit-content;
        height: fit-content;
        color: var(--white);
        border: 0;
        position: relative;
        padding-left: 0.7rem;
        padding-right: 0.7rem;
        padding-top: 5px;
        background-color: transparent;
    }
    #header button.search.collapsed .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23f5f5f5' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
        width: 16px;
        height: 16px;
    }
    #header button.search .navbar-toggler-icon, #header button.search:hover .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23C14730' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3E%3C/svg%3e");
        width: 16px;
        height: 16px;
    }
    #navbarHeader{
        box-shadow: 0 -4px 25px 0 rgba(70,70,70,0.24) inset;
        -webkit-box-shadow: 0 -4px 25px 0 rgba(70,70,70,0.24) inset;
        -moz-box-shadow: 0 -4px 25px 0 rgba(70,70,70,0.24) inset;
        background-color: var(--red);
    }
    /* ── NEWS ELEMENT ── */
    .news-img-wrap::after {
        top: 25px;
        height: calc(243px * 0.95);
    }
    .news-img-wrap.portrait::after {
        height: 95%;
    }
    .aktuelles {
        margin-top: 7rem;
        margin-bottom: 7rem;
        .row > .col-md-6:first-of-type, .row.flex-md-row-reverse > .col-md-6:last-of-type {
            padding-right: 2rem;
            padding-left: 0.75rem; /* Setzt das aktuelle Inline-Padding-Left zurück */
        }
        .row > .col-md-6:last-of-type, .row.flex-md-row-reverse > .col-md-6:first-of-type {
            padding-left: 2rem;
            padding-right: 0.75rem; /* Setzt das aktuelle Inline-Padding-Right zurück */
        }
    }
    .detail{
        width: 75%;
        margin-left: auto;
        margin-right: auto;
        margin-top: 6rem;
    }
    /* ── BUTTONS SCHRIFTGRÖßE ÄNDERN ── */
    .zoomHeader {
        background-color: transparent;
        justify-content: center;
        width: fit-content;
        height: fit-content;
        color: var(--white);
        padding-left: 0;
        padding-right: 0;
        position: relative;
        #accessibilityDropdown:hover svg, #accessibilityDropdown.show svg{
            color: var(--red);
            fill: var(--red) !important;
        }
        button{
            width: fit-content;
            height: fit-content;
            color: var(--white);
            border: 0;
            padding-top: 2px;
            padding-right: 0.75rem;
            padding-bottom: 4px;
            padding-left: 0.7rem;
            position: relative;
        }
        button:hover, button:active, button:focus{
            border: 0;
        }
        .dropdown-menu{
            border-radius: 0;
            margin: 0;
            position: absolute;
            overflow: visible;
            background-color: var(--red);
            border: none;
            hr{
                border-color: var(--white);
            }
        }
        .dropdown-menu.show{
            display: flex;
            flex-direction: row;
            justify-content: center;
            position: absolute;
            right: 0;
            left: auto;
            width: fit-content;
            background: #f5f5f5;
            border: 0;
        }
        .dropdown-menu::after{
            right: 3%;
            left: unset !important;
        }
        .dropdown-item{
            cursor: pointer;
        }
        .dropdown-item.active, .dropdown-item:active {
            background-color: white;
        }
        .dropdown-item:hover{
            background-color: var(--red);
            text-decoration: underline solid 2px var(--white);
        }
        ul a.btn {
            background: transparent;
            border: none;
            padding: 0 1rem 0.25rem 1rem;
            margin: auto;
            color: var(--white);
            font-size: 18px;
        }
        #increaseFontButton:hover{
            font-size: 21px;
            transition: font-size 0.8s;
        }
        #decreaseFontButton:hover {
            font-size: 14px;
            transition: font-size 0.8s;
        }
    }
    .zoomHeader::after {
        content: "";
        position: absolute;
        right: 0;
        top: 62%;
        transform: translateY(-50%);
        width: 1.5px;
        height: 16px;
        background-color: var(--white);
        opacity: 1;
    }
    /* ── CONTENT BLOCKS FULLIMAGE ── */
    .fullimage {
        .image-content {
            position: absolute;
            top: 0;
            height: 100%;
            width: 100%;
            max-width: 100%;
            margin-top: 0;
            padding-top: 0;
            background: transparent;
            clip-path: none;
            align-items: center;
            .element-header, .element-text{
                width: 60%;
            }
        }
        .image-content::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 80px;
            background: var(--verlauf);
            transform: scaleX(-1);
            clip-path: polygon(0 30px, 100% 0, 100% 100%, 0 100%);
            z-index: 1;
        }
        .text-right .text-card{
            display: flex;
            flex-direction: column;
            align-items: flex-end; /* Schiebt die Elemente an den rechten Rand */
            width: 100%;
            right: 5%;
        }
        .text-center .text-card{
            display: flex;
            flex-direction: column;
            align-items: center; /* Schiebt die Elemente an den rechten Rand */
            width: 100%;
            text-align: center;
        }
        .image-content.align-top .text-card{
            position: absolute;
            top: 20%;
        }
        .image-content.align-bottom .text-card{
            position: absolute;
            bottom: 20%;
        }
        .image-content .text-card h1{
            font-size: 3rem;
        }
    }
    /* ── CONTENT BLOCKS DREISPALTEN ── */
    .dreispalten-element{
        .smallcontent{
            margin-bottom: 7rem;
        }
        .spalte:first-of-type{
            padding-right: 2rem;
        }
        .spalte:nth-of-type(2){
            padding: 0 1.375rem;
        }
        .spalte:last-of-type{
            padding-left: 2rem;
        }
    }
    /* ── CONTENT BLOCKS IMAGE ACCORDION ── */
    .imageaccordion-element{
        img{
            width: 230px;
            height: 230px;
        }
    }
    /* ── CONTENT BLOCKS SLIDER ── */
    .slider-element{
        ul.slick-dots{
            top: 95%;
        }
    }
    .slick-prev::before,
    .slick-next::before {
        width: 50px;  /* Breite deines Pfeils */
        height: 50px; /* Höhe deines Pfeils */
    }
    .slick-arrow {
        width: 50px;
        height: 50px;
    }
    /* ── FOOTER ── */
    footer {
        background: var(--desktop-footer-verlauf);
        clip-path: polygon(0 0px, 100% 50px, 100% 100%, 0 100%);
        padding-top: 60px;
        .container-lg-0{
            margin: 0;
        }
        .social{
            display: flex;
            justify-content: flex-end;
        }
        .copy {
            margin-left: calc(var(--bs-gutter-x) * .5);
            padding-left: 0;
            padding-top: 2rem;
        }
        .border-row{
            border-top: 2px solid var(--white);
            padding-top: 2rem;
            border-bottom: 2px solid var(--white);
            padding-bottom: 2rem;
        }
        .legal.py-lg-5{
            padding-top: 2rem !important;
            padding-bottom: 2rem !important;
            border-bottom: 2px solid var(--white);
        }
        .legal ul{
            display: flex;
            justify-content: flex-start;
            li.nav-item:first-of-type{
                margin-left: 0 !important;
            }
        }
    }
}
@media (max-width: 1000px) {
    #CookieBox {
        top: 15% !important;
        min-height: fit-content !important;
    }
}
@media (min-width: 1200px) {
    section {
        margin: 8rem 0;
        padding: 5rem 0;
    }

    /* ── HEADER ── */
    #header::after {
        transform: rotate(1.5deg);
    }

    /* ── NEWS ELEMENT ── */
    .news-img-wrap::after {
        top: 25px;
        height: 285px;
    }
    .news-img-wrap.portrait::after {
        height: 95%;
    }
    .aktuelles {
        margin-top: 8rem;
        margin-bottom: 8rem;

        .row > .col-md-6:first-of-type, .row.flex-md-row-reverse > .col-md-6:last-of-type {
            padding-right: 2.5rem;
            padding-left: 0.75rem; /* Setzt das aktuelle Inline-Padding-Left zurück */
        }

        .row > .col-md-6:last-of-type, .row.flex-md-row-reverse > .col-md-6:first-of-type {
            padding-left: 2.5rem;
            padding-right: 0.75rem; /* Setzt das aktuelle Inline-Padding-Right zurück */
        }
    }
    .news .col-12:nth-child(3n) .news-img-wrap::after {
        top: -35px;
        bottom: unset;
    }
    .slider-element{
        ul.slick-dots{
            top: 96%;
        }
    }
    /* ── FOOTER ── */
    footer{
        .copy, .legal {
            margin-top: 0;
            padding: 2rem 0;
            border-top: none;
        }
        .legal {
            margin-left: calc(var(--bs-gutter-x) * (-.5));

            ul {
                display: flex;
                justify-content: flex-end;

            }
        }
        .legal.py-lg-5 {
            padding-bottom: 0;
            border-bottom: none;
        }
    }
}
@media (min-width: 1400px){
    /* ── HEADER ── */
    #header::after {
        transform: rotate(1.2deg);
    }
    /* ── NEWS ELEMENT ── */
    .news-img-wrap::after {
        top: 25px;
        height: 334px;
    }
    .news-img-wrap.portrait::after {
        height: 95%;
    }
    .aktuelles {
        margin-top: 9rem;
        margin-bottom: 9rem;
        .row > .col-md-6:first-of-type, .row.flex-md-row-reverse > .col-md-6:last-of-type {
            padding-right: 3rem;
            padding-left: 0.75rem; /* Setzt das aktuelle Inline-Padding-Left zurück */
        }
        .row > .col-md-6:last-of-type, .row.flex-md-row-reverse > .col-md-6:first-of-type {
            padding-left: 3rem;
            padding-right: 0.75rem; /* Setzt das aktuelle Inline-Padding-Right zurück */
        }
    }
    .slider-element{
        ul.slick-dots{
            top: 96.5%;
        }
    }
}

/* ── FRONTEND LOGIN ── */
.felogin-wrap {
    display: flex;
    justify-content: center;
    padding: 2rem 0 4rem;
}
.felogin-card {
    padding: 2.5rem 2rem;
    width: 100%;
    max-width: 440px;
}
.felogin-card__header {
    text-align: center;
    margin-bottom: 1.75rem;
}
.felogin-card__icon {
    width: 44px;
    height: 44px;
    color: var(--red);
    margin: 0 auto 0.75rem;
    display: block;
}
.felogin-card__icon--success {
    color: #4A8878;
}
.felogin-card__title {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--red);
    margin-bottom: 0.3rem;
    text-align: center;
}
.felogin-card__subtitle {
    font-size: 0.9rem;
    color: #7a7268;
    margin: 0;
}
.felogin-card__info {
    font-size: 0.9rem;
    color: #7a7268;
    text-align: center;
    margin-top: 1rem;
}
.felogin-card__extras {
    margin-top: 1.25rem;
    text-align: center;
    border-top: 1px solid rgba(0,0,0,.1);
    padding-top: 1rem;
}
.felogin-card__link {
    font-size: 0.85rem;
    color: #7a7268;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .15s;
}
.felogin-card__link:hover {
    color: var(--red);
    text-decoration: none;
}
.felogin-alert {
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
    border-left: 3px solid var(--red);
    background: #fdf3f1;
    color: var(--text);
    border-radius: 0 2px 2px 0;
    line-height: 1.5;
}
.felogin-alert--success,
.felogin-alert--ok,
.felogin-alert--info {
    border-color: #4A8878;
    background: #f0faf9;
}
.felogin-alert--warning {
    border-color: #C8902A;
    background: #fef9f0;
}
.felogin-field {
    margin-bottom: 1.1rem;
}
.felogin-field__label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #7a7268;
    margin-bottom: 0.4rem;
}
.felogin-field__input {
    display: block;
    width: 100%;
    padding: 0.65rem 0.9rem;
    border: 1.5px solid rgba(0,0,0,.15);
    background: var(--white);
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    color: var(--text);
    outline: none;
    border-radius: 2px;
    transition: border-color .15s, background .15s;
    -webkit-appearance: none;
    appearance: none;
}
.felogin-field__input:focus {
    border-color: var(--red);
    background: #fff;
}
.felogin-check {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.25rem;
}
.felogin-check__input {
    width: 17px;
    height: 17px;
    accent-color: var(--red);
    cursor: pointer;
    flex-shrink: 0;
}
.felogin-check__label {
    font-size: 0.88rem;
    color: #7a7268;
    cursor: pointer;
    margin: 0;
    line-height: 1.5;
}
.felogin-actions {
    margin-top: 0.5rem;
}
.felogin-btn {
    display: block;
    width: 100%;
    padding: 0.75rem 1.5rem;
    background: var(--red);
    color: #fff;
    border: 1.5px solid var(--red);
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    border-radius: 2px;
    text-align: center;
}
.felogin-btn:hover {
    background: #9e3520;
    border-color: #9e3520;
}
.felogin-btn--outline {
    background: transparent;
    color: var(--red);
}
.felogin-btn--outline:hover {
    background: var(--red);
    color: #fff;
}
.felogin-hidden {
    display: none;
}
@media (max-width: 576px) {
    .felogin-card {
        padding: 1.75rem 1.25rem;
    }
}

/* ============================================================
   VPO Vertretungsplan Embed
   ============================================================ */

/* Wrapper */
.vpo-embed__content {
    overflow: hidden;
}

/* Hide the stray <title> VPO puts inside the body */
.vpo-embed__content title { display: none; }

.vpo-embed__content .main,
.vpo-embed__content .select-screen { padding: 0; margin: 0; }

/* Title */
.vpo-embed__content .app-title {
    padding: 1.5rem 1.5rem .75rem;
    margin-bottom: .5rem;
}
.vpo-embed__content .app-title h1 {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text, #464646);
    text-align: center;
    margin: 0;
}

/* Info- und Statusmeldungen */
.vpo-embed__content .select-screen > h4:not(:has(span[style*="background"])) {
    margin: .75rem 1.5rem;
    padding: .6rem 1rem;
    font-size: .875rem;
    font-weight: 400;
    color: #555;
    background: #f9f9f9;
    border-left: 3px solid #ddd;
    border-radius: 0 3px 3px 0;
}

/* VPO Impressum-Footer ausblenden */
.vpo-embed__content .impressum { display: none; }

/* Count-Zeile */
.vpo-embed__content h4:has(span[style*="background"]) {
    padding: .5rem 1.5rem .75rem;
    margin: 0;
    font-size: .85rem;
    font-weight: 600;
    color: var(--text, #464646);
    display: flex;
    align-items: center;
    gap: .6rem;
}
.vpo-embed__content h4 span[style*="background"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6em;
    height: 1.6em;
    padding: 0 .45em;
    font-size: .8rem;
    font-weight: 700;
    background: var(--red) !important;
    color: #fff;
    border-radius: 2px;
}

/* Table area */
.vpo-embed__content center {
    display: block;
    text-align: left;
    padding: 0 0 1rem;
    overflow-x: auto;
}
.vpo-embed__content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
    min-width: 520px;
}

/* Header row */
.vpo-embed__content thead th {
    background: transparent;
    color: var(--red);
    padding: .6rem 1rem;
    text-align: left;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
    border: none;
    border-bottom: 2px solid var(--red);
}

/* Empty header fix */
.vpo-embed__content thead tr:empty { display: none; }

/* Data rows */
.vpo-embed__content tbody tr {
    background: #fff !important;
    border-bottom: 1px solid #f0f0f0;
    transition: background .12s ease;
}
.vpo-embed__content tbody tr:last-child { border-bottom: none; }
.vpo-embed__content tbody tr:nth-child(even) { background: #fafafa !important; }
.vpo-embed__content tbody tr:hover { background: #fdf3f1 !important; }

/* Cells */
.vpo-embed__content td {
    padding: .65rem 1rem;
    vertical-align: top;
    color: var(--text, #464646);
    line-height: 1.4;
    border-right: 1px solid #f0f0f0;
}
.vpo-embed__content td:last-child { border-right: none; }

/* Durchgestrichener Lehrer */
.vpo-embed__content s {
    color: #aaa;
    font-size: .82em;
    display: block;
    margin-top: 2px;
    text-decoration: line-through;
}

/* Fallback card */
.vpo-embed__card {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-top: 4px solid var(--red);
    border-radius: 0 0 6px 6px;
    padding: 1.5rem 2rem;
}
.vpo-embed__icon  { flex-shrink: 0; color: var(--red); }
.vpo-embed__text  { flex: 1; }
.vpo-embed__text strong { display: block; font-size: 1.05rem; margin-bottom: .25rem; }
.vpo-embed__text p      { margin: 0; color: #666; font-size: .9rem; }
.vpo-embed__btn {
    flex-shrink: 0;
    background: var(--red);
    border-color: var(--red);
    color: #fff;
    white-space: nowrap;
}
.vpo-embed__btn:hover { background: #9e3520; border-color: #9e3520; color: #fff; }

@media (max-width: 767px) {
    .vpo-embed__content .app-title { padding: 1.25rem 1rem .65rem; }
    .vpo-embed__content .app-title h1 { font-size: 1.15rem; }
    .vpo-embed__content .select-screen > h4:not(:has(span[style*="background"])) { margin: 0 1rem .65rem; }
    .vpo-embed__content h4:has(span[style*="background"]) { padding: .4rem 1rem .65rem; }
    .vpo-embed__card { flex-direction: column; text-align: center; }
}

/* Suchtreffer-Hervorhebung in der Ergebnisliste (ke_search setzt sonst color: red) */
body .tx-kesearch-pi1 #kesearch_results .result-list-item .hit {
    color: var(--red);
}

/* ── BTN-PRIMARY OVERRIDE (EXT:form, Bootstrap) ── */
.btn-primary {
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--red);
    --bs-btn-color: var(--red);
    --bs-btn-hover-bg: var(--red);
    --bs-btn-hover-border-color: var(--red);
    --bs-btn-hover-color: var(--white);
    --bs-btn-active-bg: var(--red);
    --bs-btn-active-border-color: var(--red);
    --bs-btn-active-color: var(--white);
    --bs-btn-focus-shadow-rgb: 193, 71, 48;
    --bs-btn-border-radius: 0;
    border-width: 2px;
    font-weight: 600;
    transition: all .2s ease-in-out;
}

/* ── NEWS ZEITSTRAHL (templateLayout = 3) ── */
.nzt__wrap {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.nzt__item {
    display: grid;
    grid-template-columns: 5rem 2rem 1fr;
    gap: 0;
    position: relative;
    padding-bottom: 2.5rem;
}
.nzt__item--last {
    padding-bottom: 0;
}
.nzt__date {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-right: 0.85rem;
    padding-top: 0.1rem;
    line-height: 1.2;
}
.nzt__day {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--text);
}
.nzt__year {
    font-size: 0.9rem;
    color: #999;
}
.nzt__until {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
}
.nzt__line {
    position: relative;
    display: flex;
    justify-content: center;
}
.nzt__line::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: var(--red);
    top: 0;
    /* bis zum nächsten Punkt (Zeilenhöhe + Abstand), statt fester 75px */
    height: calc(100% + 2.5rem);
}
.nzt__item--first .nzt__line::before {
    top: 0.6rem;
}
.nzt__item--last .nzt__line::before {
    display: none;
}
.nzt__dot {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background: var(--white);
    border: 2px solid var(--red);
    position: relative;
    z-index: 1;
    margin-top: 0.45rem;
    flex-shrink: 0;
}
.nzt__body {
    padding-left: 0.85rem;
    padding-top: 0;
}
.nzt__title {
    font-size: 1.25rem;
    font-weight: 500;
    margin: 0 0 0.3rem;
    line-height: 1.3;
}
.nzt__title a {
    color: var(--text);
    text-decoration: none;
    transition: color .15s;
}
.nzt__title a:hover {
    color: var(--red);
}
.nzt__teaser {
    font-size: 1rem;
    color: #666;
    margin: 0 0 0.35rem;
    line-height: 1.5;
}
.nzt__teaser p {
    margin: 0;
}
.nzt__category {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--red);
    font-weight: 600;
}
@media (max-width: 576px) {
    .nzt__item {
        grid-template-columns: 4rem 1.75rem 1fr;
    }
    .nzt__day {
        font-size: 0.95rem;
    }
    .nzt__title {
        font-size: 1.1rem;
    }
}

/* Public calendar preview on the homepage. */
.calendar-teaser__list {
    padding: 0;
    margin: 0;
    list-style: none;
}
.calendar-teaser__item {
    display: grid;
    grid-template-columns: minmax(13rem, 1.15fr) minmax(0, 2.2fr) minmax(0, 1.8fr);
    gap: .5rem 1.5rem;
    align-items: baseline;
    padding-block: .65rem;
    border-bottom: 1px dotted var(--text);
}
.calendar-teaser__date {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .25rem .5rem;
    font-size: 1rem;
    line-height: 1.6;
}
.calendar-teaser__title {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--red);
    overflow-wrap: anywhere;
}
.calendar-teaser__more {
    margin-top: 2.5rem;
    text-align: center;
}
.calendar-teaser__time {
    border-left: 1px solid currentColor;
    padding-left: .5rem;
}
.calendar-teaser__title a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .15em;
}
.calendar-teaser__meta {
    display: flex;
    gap: .5rem 1.5rem;
    font-size: 1rem;
    line-height: 1.5;
}
.calendar-teaser__meta > span {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}
.calendar-teaser .btn-more {
    color: var(--red);
    background: var(--white);
    border: 2px solid var(--red);
    border-radius: 0;
    padding: .75rem 1.5rem;
    text-decoration: none;
    font-weight: 600;
}
.calendar-teaser .btn-more:is(:hover, :focus-visible) {
    color: var(--white);
    background: var(--red);
}
/* Terminliste: Kalender (mit Farbpunkt) oben, Ort klein darunter – nichts wird gequetscht */
.fwsw-kal__evt .calendar-teaser__meta {
    flex-direction: column;
    gap: 0;
}
.fwsw-kal__evt .calendar-teaser__location {
    font-size: .88em;
    color: #777;
    padding-left: 1.15em;
}
.fwsw-kal__evt .fwsw-kal__evt-dot {
    display: inline-block;
    width: .7em;
    height: .7em;
    margin-right: .45em;
    border-radius: 50%;
    vertical-align: baseline;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
@media (max-width: 767px) {
    .calendar-teaser__item {
        grid-template-columns: minmax(0, 1fr);
        gap: .5rem;
    }
}

/* ── BLOCKQUOTE ── */
.frame blockquote,
.nzt__body blockquote {
    font-family: 'Antropos', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: clamp(1.5rem, 2vw, 1.875rem);
    border-left: 3px solid var(--red);
    padding-left: 1.2rem;
    margin: 1rem 0;
    color: inherit;
}

.frame blockquote :is(p, h2, h3, h4, h5, h6),
.nzt__body blockquote :is(p, h2, h3, h4, h5, h6) {
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: 1.5;
}

/* Homepage quotation with large, offset quotation marks. */
.uid-1 #c194 blockquote {
    position: relative;
    max-width: 58rem;
    margin: 2rem auto;
    padding: 1.5rem clamp(2rem, 5vw, 4rem);
    border: 0;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1.75rem, 2.6vw, 2.375rem);
    font-style: italic;
}
.uid-1 #c194 blockquote::before,
.uid-1 #c194 blockquote::after {
    position: absolute;
    font-family: Georgia, serif;
    font-style: normal;
    font-weight: bold;
    font-size: clamp(3.5rem, 6vw, 5rem);
    line-height: 1;
    color: #ccc;
    pointer-events: none;
}
.uid-1 #c194 blockquote::before {
    content: "\201D";
    left: 0;
    top: 0;
}
.uid-1 #c194 blockquote::after {
    content: "\201C";
    right: 0;
    bottom: 0;
}

/* ── PRINT ── */
@media print {
    #header,
    #navbarHeader,
    .fwsw-kal__controls,
    .fwsw-kal__footer,
    .fwsw-kal__print-btn,
    .nzt__archive-toggle-wrap,
    .nzt__load-more-wrap {
        display: none !important;
    }
    body.fwsw-kal--printing {
        background: #fff !important;
    }
    /* volle Seitenbreite statt Bootstrap-Containerbreite (720px) */
    body.fwsw-kal--printing .container {
        max-width: none !important;
        width: 100% !important;
    }
    .fwsw-kal__evt {
        grid-template-columns: 11.5rem minmax(0, 1fr) 12.5rem;
        gap: .25rem 1rem;
        padding-block: .3rem;
        break-inside: avoid;
    }
    .fwsw-kal__evt .calendar-teaser__date,
    .fwsw-kal__evt .calendar-teaser__meta {
        font-size: 8.5pt;
    }
    .fwsw-kal__evt .calendar-teaser__date {
        white-space: nowrap;
    }
    .fwsw-kal__evt .calendar-teaser__title {
        font-size: 10.5pt;
        color: #000;
    }
}

/* ── INSTAGRAM FEED ── */
.tx-ns-instagram .gallery {
    margin: 0 -0.75rem;
    padding-bottom: 0;
}
.tx-ns-instagram .gallery-item {
    flex: 1 0 calc(33.333% - 1.5rem);
    margin: 0.75rem;
}
.tx-ns-instagram .gallery-image {
    aspect-ratio: 1 / 1;
    display: block;
}
.tx-ns-instagram .gallery-item:hover .gallery-item-info,
.tx-ns-instagram .gallery-item:focus .gallery-item-info {
    background-color: rgba(217, 111, 93, 0.55);
}
.tx-ns-instagram .gallery-item-type {
    top: 0.75rem;
    right: 0.75rem;
    font-size: 1.6rem;
}
.tx-ns-instagram .gallery-item-type svg {
    width: 2rem;
    height: 2rem;
}
@media screen and (max-width: 767px) {
    .tx-ns-instagram .gallery-item {
        flex-basis: calc(50% - 1.5rem);
    }
}
@media screen and (max-width: 480px) {
    .tx-ns-instagram .gallery-item {
        flex-basis: 100%;
        margin: 0.5rem 0;
    }
    .tx-ns-instagram .gallery {
        margin: 0;
    }
}

/* ── INSTAGRAM SLIDESHOW: FULLSCREEN-SEITE OHNE HEADER/FOOTER ── */
.uid-73 #header,
.uid-73 .footer,
.uid-73 #c199 > header,
.uid-73 h1 {
    display: none !important;
}
.uid-73 #Content,
.uid-73 .container,
.uid-73 .row,
.uid-73 .col-12,
.uid-73 .frame {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}
.uid-73 .insta-slideshow {
    position: fixed;
    inset: 0;
    z-index: 1000;
    max-width: none;
    width: 100vw;
    height: 100vh;
    aspect-ratio: auto;
    margin: 0;
}

/* ── INSTAGRAM SLIDESHOW ── */
.insta-slideshow {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    background: #000;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}
.insta-slideshow-stage {
    position: relative;
    width: 100%;
    height: 100%;
}
.insta-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
}
.insta-slide.active {
    opacity: 1;
    visibility: visible;
}
.insta-slide img,
.insta-slide video {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.insta-slide-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: var(--insta-dots-height, 0px);
    margin: 0;
    padding: 1rem 1.25rem 1.5rem;
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.4;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 100%);
}
.insta-slideshow-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    background: rgba(0,0,0,0.4);
    color: #fff;
    border: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.insta-slideshow-nav:hover {
    background: rgba(217, 111, 93, 0.85);
}
.insta-slideshow-prev {
    left: 1rem;
}
.insta-slideshow-next {
    right: 1rem;
}
.insta-slideshow-pause {
    top: 1rem;
    right: 1rem;
    transform: none;
    font-size: 0.9rem;
}
/* Punkte bilden einen umbrechenden Block, der bündig am unteren Rand sitzt */
.insta-slideshow-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 1rem;
    background: rgba(0,0,0,0.55);
}
.insta-slideshow-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.45);
    padding: 0;
    cursor: pointer;
}

/* Pfeile und Play/Pause blenden nach kurzer Inaktivität aus (Klasse per JS) */
.insta-slideshow-nav {
    transition: background-color 0.2s ease, opacity 0.4s ease;
}
.insta-slideshow.controls-hidden {
    cursor: none;
}
.insta-slideshow.controls-hidden .insta-slideshow-nav {
    opacity: 0;
    pointer-events: none;
}
.insta-slideshow-dot.active {
    background: #fff;
}

/* ── INSTAGRAM STARTSEITEN-TEASER ── */
.insta-teaser-strip {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.4rem;
}
.insta-teaser-item {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}
.insta-teaser-item:nth-child(n+7) {
    display: none;
}
.insta-teaser-item a {
    display: block;
    width: 100%;
    height: 100%;
}
.insta-teaser-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.insta-teaser-item-type {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
}
.insta-teaser-item-type svg {
    width: 1.4rem;
    height: 1.4rem;
}
.insta-teaser-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: 100%;
    margin-top: 1.5rem;
    padding: 0.5rem;
    background: none;
    border: none;
    color: var(--text);
    font-size: 1rem;
    cursor: pointer;
}
.insta-teaser-brand {
    color: var(--red);
}
.insta-teaser-cta:hover .insta-teaser-brand {
    text-decoration: underline;
}
@media (max-width: 767px) {
    .insta-teaser-strip {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── EXTERNER-LINK-BESTÄTIGUNGSDIALOG (z.B. Instagram-Teaser) ── */
.leave-site-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.leave-site-dialog {
    background: #fff;
    max-width: 420px;
    width: 100%;
    padding: 1.75rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}
.leave-site-dialog p {
    margin: 0 0 1.5rem;
    color: var(--text);
    line-height: 1.5;
}
.leave-site-actions {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}
.leave-site-actions button {
    padding: 0.6rem 1.2rem;
    border: 2px solid var(--red);
    cursor: pointer;
    font-size: 0.95rem;
}
.leave-site-cancel {
    background: #fff;
    color: var(--red);
}
.leave-site-confirm {
    background: var(--red);
    color: #fff;
}

/* ── KEINE RUNDUNGEN: Buttons & Formfelder ── */
.btn,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
select,
textarea,
.form-control,
.form-select {
    border-radius: 0 !important;
}

/* Photographic headers: 95% screen height in landscape, half height in portrait (all widths). */
@media (orientation: landscape) {
    .fullimage .image-wrapper img.vh-lg-100 {
        height: 95vh !important;
        height: 95svh !important;
    }
}
@media (orientation: portrait) {
    .fullimage .image-wrapper img.vh-lg-100 {
        height: 50vh !important;
        height: 50svh !important;
    }
}

/* Wide illustrations retain their complete composition on every screen. */
.fullimage.fullimage-illustration {
    margin-top: 0;
    background: var(--white);
}
.fullimage.fullimage-illustration .image-wrapper {
    background: var(--white);
}
.fullimage.fullimage-illustration .image-wrapper img.vh-lg-100 {
    display: block;
    height: auto !important;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.fullimage.fullimage-illustration .image-content {
    position: relative;
    height: auto;
    margin-top: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: var(--verlauf);
    clip-path: none;
}
.fullimage.fullimage-illustration .image-content::after {
    content: none;
}
.fullimage.fullimage-illustration .image-content .text-card {
    position: static;
}
.fullimage.fullimage-illustration .image-content .element-header,
.fullimage.fullimage-illustration .image-content .element-text {
    width: 100%;
}
.fullimage.fullimage-illustration .image-content .element-header {
    margin-bottom: 0;
}

/* Alternating image/text rows, selectable in the content element layout. */
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) {
    margin-block: 3rem 5rem;
}
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) .ce-textpic {
    display: grid;
    gap: 2rem;
    align-items: center;
}
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) :is(.ce-gallery, .ce-outer, .ce-inner, .ce-row, .ce-column) {
    float: none;
    position: static;
    left: auto;
    right: auto;
    width: auto !important;
    margin: 0;
}
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) .ce-bodytext {
    min-width: 0;
}
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) .ce-gallery img {
    display: block;
    width: 100%;
    height: auto;
}
.frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) p + p {
    margin-top: 1rem;
}
@media (min-width: 992px) {
    .frame-type-textmedia.frame-layout-91 .ce-textpic {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 3rem;
    }
    .frame-type-textmedia.frame-layout-92 .ce-textpic {
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
        gap: 3rem;
    }
    .frame-type-textmedia.frame-layout-92 .ce-gallery {
        grid-column: 2;
        grid-row: 1;
    }
    .frame-type-textmedia.frame-layout-92 .ce-bodytext {
        grid-column: 1;
        grid-row: 1;
    }
}

/* Blend the white paper of the Kita illustrations into the page background. */
:is(.uid-3, .pid-3) img[src*="-nachzeichnung"] {
    mix-blend-mode: multiply;
}

/* Kita: calmer spacing and balanced illustration/text proportions. */
.uid-3 .fullimage-illustration .image-wrapper img.vh-lg-100 {
    max-height: 640px;
}
.uid-3 section {
    padding-block: clamp(2rem, 4vw, 3.5rem);
}
.uid-3 .frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) {
    margin-block: 2.5rem 3rem;
}
.uid-3 section > :last-child {
    margin-bottom: 0;
}
.uid-3 .accordion-element {
    margin-block: 1.5rem 2.5rem;
}
.uid-3 .frame-type-textmedia header {
    margin-bottom: 1.25rem;
}
.uid-3 .frame-type-textmedia h3 {
    font-size: clamp(1.2rem, 1.6vw, 1.45rem);
    line-height: 1.35;
}
@media (min-width: 992px) {
    .uid-3 .frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) .ce-textpic {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(2rem, 4vw, 4rem);
    }
}
@media (max-width: 767px) {
    .uid-3 .frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) {
        margin-block: 2rem;
    }
    .uid-3 .frame-type-textmedia:is(.frame-layout-91, .frame-layout-92) .ce-textpic {
        gap: 1.25rem;
    }
}

/* Group illustrations follow the site's open three-column component. */
.uid-3 .dreispalten-element {
    margin-block: 2rem 2.5rem;
}
.uid-3 .dreispalten-element .spalte > div:first-child {
    aspect-ratio: 3 / 2;
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}
.uid-3 .dreispalten-element .spalte img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin-bottom: 0 !important;
    mix-blend-mode: multiply;
}
@media (max-width: 991px) {
    .uid-3 .dreispalten-element .spalte + .spalte {
        margin-top: 2.5rem;
    }
}

/* ── MOBILE NAV: Knopf zum Aufklappen und Link zur Seite getrennt ── */
@media (max-width: 992px) {
    #navbarNavDropdown {
        overflow-y: auto;
        .mobile-nav .nav-item.parent:not(.has-children) {
            padding-left: calc(20px + 0.6rem);
        }
        .mobile-nav .nav-item.parent.has-children {
            padding-left: 0;
        }
        .mobile-nav .nav-item.parent > .nav-link,
        .mobile-nav .nav-row > .nav-link {
            text-transform: uppercase;
            font-weight: 600;
            font-size: 1.4rem;
        }
        .mobile-nav .nav-row {
            display: flex;
            align-items: center;
        }
        .mobile-nav .nav-toggle {
            position: relative;
            flex: 0 0 20px;
            width: 20px;
            height: 20px;
            margin-right: 0.6rem;
            padding: 0;
            border: 0;
            background: transparent;
            cursor: pointer;
        }
        .mobile-nav .nav-toggle::before,
        .mobile-nav .nav-toggle::after {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            width: 20px;
            height: 2px;
            margin-top: -1px;
            background: var(--white);
            transition: transform 0.4s ease-in-out;
        }
        .mobile-nav .nav-toggle::after {
            transform: rotate(90deg);
        }
        .mobile-nav .nav-toggle[aria-expanded="true"]::after {
            transform: rotate(0deg);
        }
        .mobile-nav .nav-toggle:focus-visible {
            outline: 2px solid var(--white);
            outline-offset: 6px;
        }
        .mobile-nav .nav-sub {
            list-style: none;
            margin: -0.25rem 0 0.75rem calc(20px + 0.6rem);
            padding: 0;
        }
        .mobile-nav .nav-sub .nav-link {
            text-transform: none;
            font-weight: 400;
            font-size: 1.2rem;
            padding: 0.35rem 0;
        }
        .mobile-nav .nav-sub .nav-link:hover {
            color: var(--hover-light);
        }
        .small-nav li.nav-item a.nav-link {
            font-size: 1.1rem;
            padding: 0.35rem 0;
        }
        .zoomHeader {
            margin-top: auto;
            padding-top: 1.5rem;
        }
    }
}

/* Eintraege ohne Zusatztext sind statische Inhalte. */
.accordion .accordion-static { cursor: default; }
.accordion .accordion-static::after { display: none; }
.accordion .accordion-static:is(:hover, :focus-visible),
.accordion .accordion-static:is(:hover, :focus-visible) :is(h2, h3, h4, .header) { color: var(--text); }

/* Aktuelles: ausgewogener Abstand zwischen „Vergangene Beiträge“ und dem ersten Beitrag */
.nzt__archive-toggle-wrap ~ .news-list-view > .aktuelles:first-of-type {
    margin-top: 2.5rem;
}
@media (min-width: 768px) {
    .nzt__archive-toggle-wrap ~ .news-list-view > .aktuelles:first-of-type {
        margin-top: 3.5rem;
    }
}

/* „Nach oben“-Pfeil */
.to-top {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 1px solid var(--red);
    border-radius: 0;
    background: var(--white);
    color: var(--red);
    box-shadow: 0 2px 10px rgba(70,70,70,.2);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.5rem);
    transition: opacity .2s ease, transform .2s ease, visibility .2s, background-color .2s ease, color .2s ease;
}
.to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.to-top:is(:hover, :focus-visible) {
    background: var(--red);
    color: var(--white);
}
.to-top:focus-visible {
    outline: 2px solid var(--red);
    outline-offset: 2px;
}
@media (min-width: 992px) {
    .to-top {
        right: 2rem;
        bottom: 2rem;
    }
}

/* News: Farbfläche hinter dem Bild aus dem Bild selbst (8 px breite Kopie, weich hochskaliert: ergibt einen Verlauf aus den Hauptfarben); ohne Bild bleibt der Kategorie-Verlauf */
.news .news-img-wrap.has-blur::after {
    background: var(--news-img-blur) center / 100% 100% no-repeat;
    filter: saturate(1.4) brightness(1.15);
}

/* News: im Editor gewählter fester Farbrahmen (überschreibt Kategorie-Verlauf und Automatik) */
.news .news-img-wrap.frame-standard::after { background: linear-gradient(135deg, #d96f5d 0%, #e2b14c 100%); }
.news .news-img-wrap.frame-schule::after { background: linear-gradient(135deg, #e59f6b 0%, #76b1b8 100%); }
.news .news-img-wrap.frame-veranstaltungen::after { background: linear-gradient(135deg, #53989e 0%, #9bc3bd 100%); }
.news .news-img-wrap.frame-stellen::after { background: linear-gradient(135deg, #a890b1 0%, #ddd3e0 100%); }

/* Kontaktformular: Bestätigung (im Inhalt nicht unter dem fixierten Header verstecken; als Overlay) */
.frame-type-form_formframework [id] { scroll-margin-top: 9rem; }
.form-confirmation {
    padding: 1.25rem 1.5rem;
    border-left: 4px solid var(--red);
    background: #fff;
}
.form-confirmation p:last-child { margin-bottom: 0; }
.form-confirmation[hidden] { display: none; }
.form-confirmation-dialog {
    width: min(32rem, calc(100% - 2rem));
    padding: 2rem 2rem 1.75rem;
    border: 0;
    border-top: 6px solid var(--red);
    border-radius: 0;
    background: #fff;
    color: var(--text);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .25);
}
.form-confirmation-dialog::backdrop { background: rgba(30, 30, 30, .55); }
.form-confirmation-dialog h2 { margin: 0 0 1rem; color: var(--red); font-size: 1.6rem; line-height: 1.2; }
.form-confirmation-dialog__body p:last-child { margin-bottom: 0; }
.form-confirmation-dialog__close {
    margin-top: 1.5rem;
    padding: .6rem 1.5rem;
    border: 1px solid var(--red);
    border-radius: 0;
    background: #fff;
    color: var(--red);
    font-weight: 600;
}
.form-confirmation-dialog__close:is(:hover, :focus-visible) { background: var(--red); color: #fff; }
.form-confirmation-dialog__close:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

/* News-Bilder weich einblenden (Klasse img-fade setzt custom.js im <head>) */
html.img-fade .news-img-wrap img { opacity: 0; transition: opacity .35s ease-out; }
html.img-fade .news-img-wrap img.is-loaded { opacity: 1; }
@media (prefers-reduced-motion: reduce) { html.img-fade .news-img-wrap img { transition: none; } }

/* Aufruf mit Sprungmarke (z. B. /schule/#c180): Inhalt erst zeigen, wenn das Ziel steht (custom.js) */
html.anchor-pending #Content,
html.anchor-pending .footer { opacity: 0; }
#Content, .footer { transition: opacity .2s ease-out; }
@media (prefers-reduced-motion: reduce) { #Content, .footer { transition: none; } }
