/* -------------------------------------------------- */
/* 1. TYPOGRAPHIE & GRUNDEINSTELLUNGEN */
/* -------------------------------------------------- */

/* open-sans-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../webfonts/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../webfonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../webfonts/open-sans-v44-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../webfonts/open-sans-v44-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../webfonts/open-sans-v44-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-800 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    src: url('../webfonts/open-sans-v44-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 400;
    src: url('../webfonts/playfair-display-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 500;
    src: url('../webfonts/playfair-display-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600;
    src: url('../webfonts/playfair-display-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-700 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    src: url('../webfonts/playfair-display-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-800 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 800;
    src: url('../webfonts/playfair-display-v40-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* playfair-display-900 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 900;
    src: url('../webfonts/playfair-display-v40-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

html, body {
    /* Standard Schriftgröße (Basis für rem/em) */
    font-size: 18px; 
    /* Haupt-Schriftart für den Text */
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    color: #111213;
}

p {
    line-height: 1.7;
}

.spacer {height: 3rem;}

strong {font-weight: 700;}

/* -------------------------------------------------- */
/* 2. HINTERGRUNDBILD (Background Image) */
/* -------------------------------------------------- */
body {
    margin: 0;
    padding: 0;
    min-height: 100%;

    /* Hintergrund auf dem Body statt auf dem HTML-Tag */
    background-image: url('../../media/bg.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    /* Fallback für Firefox, falls das Bild nicht direkt lädt */
    background-color: #f0f0f0; 
}

/* FIX FÜR FIREFOX: 
Manchmal ignoriert Firefox 'background-attachment: fixed' auf dem HTML-Element,
wenn der Inhalt nicht hoch genug ist. Wir stellen sicher, dass der Viewport gefüllt ist.
*/
@supports (-moz-appearance:none) {
    body {
        /* Zusätzliche Sicherheit für Firefox */
        background-attachment: scroll; /* Optional: Falls fixed in FF flackert */
        background-attachment: fixed;
    }
}

/* -------------------------------------------------- */
/* 3. HEADLINES (Playfair Display) */
/* -------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, nav {
    font-family: "Playfair Display", serif;
    font-weight: 400;
}
h2, h3, h4, h5, h6, .h2, .h3, .h4, .h5, .h6 {
    color: #095ba6; /* Dunkelblau */
}
h2, .h2 {
    font-size: 2rem;
}
h3, .h3 {
    font-size: 1.5rem;
}
h4, .h4 {
    font-size: 1.25rem;
}

/* Margins für Headlines */
.h1, h1 {
    margin-bottom: 0.25rem;
}

.h2, .h3, .h4, .h5, .h6, h2, h3, h4, h5, h6 {
    margin-bottom: 1rem;
}

/* -------------------------------------------------- */
/* 4. MEDIA QUERIES (Responsiveness) */
/* -------------------------------------------------- */
/* Tablet und kleiner */
@media (max-width: 992px) {    
    html, body {
        font-size: 16px; 
    }
}

/* Große Bildschirme */
@media (min-width: 1600px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1440px; 
    }
}

/* -------------------------------------------------- */
/* 5. FARBEN & HILFSKLASSEN */
/* -------------------------------------------------- */
.bg-primary {
    background-color: #e7650e !important; 
}
.bg-primary-light {
    background-color: rgba(230, 101, 14, 0.5);
}
.bg-orange {
    background-color: #E7650E;
}
.btn-orange {
    background-color: #E7650E;
    color: #fff;
}
.btn-orange:hover {
    background-color: #E7650E;
    color: #fff;
}
.bg-orange-light {
    background-color: #F37B2B;
}

/* -------------------------------------------------- */
/* 6. NAVIGATION & LINKS */
/* -------------------------------------------------- */
a.link, .textfeld a {
    color: #095ba6 !important;
    text-decoration: none !important;
}
a.link:hover {
    color: #095ba6;
}
a.nav-header {
    font-family: "Playfair Display", serif;
    color: #fff;
    text-decoration: none;
}
a.nav-footer, .a-nav-footer {
    color: inherit;
    text-decoration: none;
}
a.nav-footer:hover, .a-nav-footer:hover {
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}
a.nav-header-active {
    background-color: rgba(255,255,255,.1);
}
a.nav-header:hover {
    color: #fff;
    text-decoration: none;
    background-color: rgba(255,255,255,.25);
}
footer a {color: inherit; text-decoration: none;}
a.link-teaser {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    text-decoration: none;
    color: #095ba6;        
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    font-size: 1.25rem;
}
a.link-teaser:hover {
    color: #111213;
}
a.link-mondkalender {
    color: #095ba6;
    text-decoration: none;
}
a.link-mondkalender:hover {
    color: #095ba6;
}

/* -------------------------------------------------- */
/* 7. SONSTIGES & UTILITIES */
/* -------------------------------------------------- */
.headline {
    height: 300px;
}

/* Modal / Video-Button-Stile */
.modal-backdrop.show {
    opacity: 0.9 !important;
}
.modal-content {
    overflow: visible !important;
}
.yt-play-btn {
    width: 45px; 
    opacity: 0.8; 
    transition: all .3s ease-in-out; 
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.3));
}
a:hover .yt-play-btn {
    opacity: 1; 
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.5));
}
.accordion-button:not(.collapsed) {
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed) {
    color: #095ba6;
}
.accordion-button {
    color: #095ba6;
    font-size: 1.125rem;
}
@media(min-width:992px) {
    body.modal-open {
        overflow: auto !important;
        padding-right: 0 !important;
    }
}
.form-control, .form-select {
    border-color: #aaa !important;
    border-radius: .25rem !important;
}
/* Styling für den Platzhalter-Text innerhalb der Liste */
.placeholder-option {
    color: #6c757d; /* Bootstrap secondary grau */
    font-style: italic;
}

/* Wenn das Select-Feld selbst noch den Platzhalter-Wert hat, 
kann man die Textfarbe des Feldes anpassen */
select.form-select:has(option[value=""]:checked) {
    color: #6c757d;
}

/* Die echten Optionen wieder schwarz machen */
select.form-select option:not([value=""]) {
    color: #212529;
    font-style: normal;
}










div.consent_manager-wrapper {
    font-family: "Open Sans", sans-serif !important;
    font-size: 1rem !important;
}
div.consent_manager-wrapper .consent_manager-headline {
    font-weight: 400 !important;
    font-size: 1.75rem !important;
    font-family: "Playfair Display", serif !important;
    color: #095ba6 !important;
}
div.consent_manager-show-details button {
    color: #095ba6 !important;
    border: 2px solid #095ba6 !important;
}
div.consent_manager-show-details button:hover, div.consent_manager-show-details button:focus {
    background-color: #095ba6 !important;
    color: #ffffff !important;
}
div.consent_manager-sitelinks a {
    color: #095ba6 !important;
}
div.consent_manager-background button:focus, div.consent_manager-background a:focus, div.consent_manager-background input:focus, div.consent_manager-background [tabindex]:focus {
    outline: unset !important;
}
div.consent_manager-wrapper {
    border-radius: .5rem !important;
}
div.consent_manager-wrapper {
    border: 1px solid #1a1a1a !important;
}
div.consent_manager-show-details button {
    border: unset !important;
}
div.consent_manager-cookiegroups label {
    font-size: 18px;
}
@media(max-width: 992px){
    div.consent_manager-cookiegroup-checkbox {
        margin-bottom: 1em;
    }
    .consent_manager-text {
        font-size: .9em;
    }
    div.consent_manager-wrapper .consent_manager-headline {
        margin: 0 0 .25em 0;
        font-size: 1.5rem !important;
    }
    div.consent_manager-background {
        padding: .5em;
    }
    .consent_manager-close-box {
        right: .75em;
        top: .75em;
    }
    div.consent_manager-wrapper-inner {
        padding: 1.5em;
    }
}