/*!
Theme Name: DFG-EV- Custom
*/

/*--------------------------------------------------------------
>>> INHALTSVERZEICHNIS
----------------------------------------------------------------
1.0  GRUNDEINSTELLUNGEN & GLOBALE STILE
2.0  HEADER & NAVIGATION (ANGEPASST FÜR TRENNUNG)
3.0  HOMEPAGE-SPEZIFISCHE STILE
4.0  KOMPONENTEN-STILE (Slider etc.)
5.0  FOOTER
6.0  OVERLAYS & INTERAKTIVE ELEMENTE
7.0  GUTENBERG & WORDPRESS-STILE
8.0  SEITEN- & BEITRAGS-STILE (PAGE & SINGLE)
9.0  ARCHIV-, NEWS- & SUCHERGEBNIS-SEITEN (FINALE VERSION)
10.0 RESPONSIVE ANPASSUNGEN (JETZT MIT MENÜ-LOGIK)
11.0 SPEZIFISCHE MENÜ-STILE (DESKTOP & MOBILES SUBMENÜ)
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 GRUNDEINSTELLUNGEN & GLOBALE STILE
--------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Montserrat:wght@700;900&family=Quicksand:wght@300..700&display=swap');

html { scroll-behavior: smooth; }
/* body { font-family: "Inter", sans-serif; font-weight: 300; font-size: 1.2rem; line-height: 1.7; color: #1a1a1a; background-color: #e5efff; margin: 0; overflow-x: hidden; } */
body { font-family: "Inter", sans-serif; font-weight: 300; font-size: 1.1rem; line-height: 1.6; color: #1a1a1a; background-color: #eef4fc; margin: 0; overflow-x: hidden; }
body.mobile-menu-open { overflow: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: "Quicksand", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700 !important;
    color: #1A3A5F;
    /* letter-spacing: 0.06em; */
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}
a { color: #1A3A5F; text-decoration: none; }
a:hover { text-decoration: none; font-weight: 800; color: #5F9EA0; }
h1 { font-size: 1.9em; } h2 { font-size: 1.7em; } h3 { font-size: 1.50em; } h4 { font-size: 0.9em; } h5 { font-size: 0.83em; } h6 { font-size: 0.67em; overflow-wrap: break-word; }
#content { color: #1a1a1a; }
.page-content-container { max-width: 1200px;
    padding-top: 9em;
    padding-right: 20px;
    padding-bottom: 0em;
    padding-left: 20px;
    margin-right: auto;
    margin-bottom: 0px; 
    margin-left: auto;
    }
    

body.home .page-content-container { padding-top: 0; position: relative; }


/* Hover-Effekte für Links */
a .svg-icon {
    color: inherit;
}
a:hover .svg-icon {
    color: #0066cc;
}

/* Spezifische Farben für Social-Icons */
.svg-icon.facebook { color: #1877f2; }
.svg-icon.twitter { color: #1da1f2; }
.svg-icon.instagram { color: #e1306c; }
.svg-icon.linkedin { color: #0077b5; }

/*--------------------------------------------------------------
2.0 HEADER & NAVIGATION (ANGEPASST FÜR TRENNUNG)
--------------------------------------------------------------*/
.site-header { position: absolute; top: 20px; z-index: 1000; transition: transform 0.4s ease-in-out; width: 100%; }
.site-header.header-hidden { transform: translateY(-250px); }
.header-main-bar { background-color: #ffffff; border-radius: 50px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); max-width: 80vw; margin: 0 auto; padding: 15px 30px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 102; top: 20px; }
.site-branding .custom-logo { max-height: 60px; width: auto; display: block; }
.main-navigation-desktop { flex-grow: 1; display: flex; justify-content: center; }
.main-navigation-desktop ul { list-style: none; margin: 0; padding: 0; display: flex; }
.main-navigation-desktop li { margin: 0 15px; }
.main-navigation-desktop a { font-family: "Quicksand", sans-serif; font-weight: 700; color: #1A3A5F; text-transform: uppercase; font-size: 18px; padding: 5px 0; position: relative; letter-spacing: 0.2em; }
.main-navigation-desktop a::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 2px; background-color: #1A3A5F; transition: width 0.3s; }
.main-navigation-desktop a:hover::after { width: 100%; }
.header-right-tools { display: flex; align-items: center; flex-shrink: 0; gap: 20px; }
.header-tools .open-search-trigger { color: #1A3A5F; display: block; }
.menu-close-toggle, .menu-toggle { display: none; }

/*--------------------------------------------------------------
3.0 HOMEPAGE-SPEZIFISCHE STILE
--------------------------------------------------------------*/
.front-page #content { margin-top: -150px; }
.home-hero{
    position: relative;
    height: 65vh;
    border-radius: 0 0 40px 40px;
    overflow: hidden;
    background-color: #1A3A5F;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 5vw;
}
.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.hero-video-element,
.hero-background-image {
    width: 100%;
    height: 100%;
}
.hero-video-element { object-fit: cover; }
.hero-background-image { background-size: cover; background-position: center; }
.hero-content-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
}
.hero-latest-news-container { width: 100%; max-width: 750px; z-index: 2; }
.latest-news-box { background-color: #ffffff; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); overflow: hidden; display: flex; flex-direction: row; align-items: stretch; }
.latest-news-image-wrapper { flex-basis: 45%; flex-shrink: 0; position: relative; }
.latest-news-image-wrapper .news-image-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.latest-news-image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.latest-news-box .news-content { flex-grow: 1; padding: 30px; position: relative; display: flex; flex-direction: column; }
.latest-news-box .news-title { font-size: 1.5rem; }

.news-grid-item .news-grid-title { font-size: 1.2rem; }
.latest-news-box .news-excerpt { font-size: 1.0rem; }
.latest-news-box .news-category, .news-grid-item .news-category { font-size: 13px; font-family: "Inter", sans-serif; font-weight: 600; text-transform: uppercase; color: #1A3A5F; margin-bottom: 8px; }
.latest-news-box .news-title a, .news-grid-item .news-grid-title a { font-family: "Quicksand", sans-serif; font-weight: 600; color: #1A3A5F; text-decoration: none; letter-spacing: 0.1em; }
.latest-news-box .news-title a:hover, .news-grid-item .news-grid-title a:hover { color: #5F9EA0; }
.latest-news-box .news-excerpt { flex-grow: 1; margin-bottom: 20px; font-family: "Inter", sans-serif; font-weight: 400; color: #1a1a1a; }
.news-grid-item { background-color: #ffffff; color: #1a1a1a; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); overflow: hidden; text-align: left; display: flex; flex-direction: column; height: 100%; margin-bottom: 10px; }
.news-grid-item .news-image-link { display: block; }
.news-grid-item img { width: 100%; height: 200px; object-fit: cover; display: block; }
.news-grid-item .news-grid-content { padding: 25px; position: relative; flex-grow: 1; display: flex; flex-direction: column; }
.news-grid-item .news-grid-title { flex-grow: 1; min-height: 175px;}
.card-meta { font-family: "Inter", sans-serif; font-weight: 700; font-size: 14px; color: #555; margin-top: 1em; }
.event-card .card-meta { min-height: 2.8em; }
.news-card .post-date { align-self: flex-start; }
.read-more-arrow-button { position: absolute; bottom: 25px; right: 25px; width: 50px; height: 50px; background-color: #FAFAFA; border-radius: 50%; border: 1px solid #1A3A5F; display: flex; align-items: center; justify-content: center; color: #1A3A5F; transition: all 0.3s ease; }
.read-more-arrow-button:hover { background-color: #1A3A5F; color: #5F9EA0; text-decoration: none !important; }
.slider-wrapper-with-nav { position: relative; max-width: 1200px; margin-top: 0em; 
    margin-right: auto; 
    margin-bottom: 4em; 
    margin-left: auto; padding: 0 20px; }
.swiper { width: 100%; overflow: visible; padding: 20px 0; }
.swiper-wrapper { align-items: stretch; }
.swiper-slide { height: auto; background: transparent; }
.custom-swiper-navigation { position: absolute; bottom: -20px; right: 80px; display: flex; gap: 10px; z-index: 10; }
.custom-swiper-navigation button { width: 50px; height: 50px; background-color: #e5efff; border-radius: 50%; border: 1px solid #1A3A5F; color: #1A3A5F; transition: all 0.3s ease; cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 0; }
.custom-swiper-navigation button:hover { background-color: #1A3A5F; color: #5F9EA0; }
.custom-swiper-navigation button svg { width: 24px; height: 24px; }
.swiper-button-next::after, .swiper-button-prev::after { display: none; }
footer{
    padding-top: 4em;
    padding-right: 40px;
    padding-bottom: 0em;
    padding-left: 40px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
}
/* Stile für den Footer-Widget-Bereich */
.footer-widget-grid {
    display: grid;
    /* Erstellt 4 Spalten mit gleicher Breite */
    grid-template-columns: repeat(4, 1fr);
    /* Fügt einen Abstand von 20px zwischen den Spalten und Zeilen hinzu */
    gap: 20px;
}

/* --- Responsivität für kleinere Bildschirme (z.B. Mobilgeräte) --- */
/* Auf Bildschirmen, die schmaler als 768px sind... */
@media (max-width: 768px) {
    .footer-widget-grid {
        /* ... wird das Layout auf eine einzige Spalte umgestellt. */
        grid-template-columns: 1fr;
    }
}
.site-footer { font-family: "Inter", sans-serif; font-weight: 400; background-color: #1A3A5F; color: #ffffff; font-size: 16px; padding-top: 4em; margin-top: em; border-top: 1px solid rgba(95, 158, 160, 0.3); }
.site-footer .widget-title { font-family: "Quicksand", sans-serif; font-weight: 700; color: #ffffff; }
.site-footer a { color: #ffffff; }
.site-footer a:hover { color: #5F9EA0; }
.site-footer-bottom { border-top: 0px solid #4a47e0; }
.search-overlay { height: 100%; width: 100%; display: flex; justify-content: center; align-items: center; position: fixed; z-index: 9999; top: 0; left: 0; background-color: #1A3A5F; opacity: 0; visibility: hidden; transition: opacity 0.4s, visibility 0.4s; }
.search-overlay.open { opacity: 1; visibility: visible; }
.search-overlay-content { width: 80%; max-width: 700px; }
.search-overlay .search-field { width: 100%; padding: 15px; font-size: clamp(20px, 5vw, 40px); border: none; background: transparent; color: white; text-align: center; font-family: "Inter", sans-serif; font-weight: 400; }
.search-overlay-close { position: absolute; top: 20px; right: 45px; font-size: 52px; color: #fff; cursor: pointer; background: none; border: none; line-height: 1; }
.search-overlay-content .search-form { display: flex; align-items: center; border-bottom: 2px solid #5F9EA0; }
.search-overlay-content .search-form label { flex-grow: 1; }
.search-overlay-content .search-form .search-field { border: none; text-align: left; }
.search-overlay-content .search-form .wp-block-search__button { background: none; border: none; color: #5F9EA0; padding: 0 15px; }
.search-overlay .search-field::placeholder { color: rgba(255, 255, 255, 0.7); }
.nav-menu-toggle-wrapper { --color: #1A3A5F; background: none; width: 24px; height: 24px; position: relative; display: none; justify-content: center; align-items: center; cursor: pointer; z-index: 103; }
.nav-menu-toggle-wrapper svg { fill: none; stroke: var(--color); stroke-width: 7px; stroke-linecap: round; stroke-linejoin: round; width: 100%; height: 100%; }
.nav-menu-toggle-wrapper use:nth-of-type(1) { opacity: 1; stroke-dashoffset: 221; stroke-dasharray: 46 249; transition: stroke-dashoffset .12s linear .2s, stroke-dasharray .12s linear .2s, opacity 0s linear .2s; }
.nav-menu-toggle-wrapper use:nth-of-type(2) { animation: stroke-animation-reverse 1.2s ease-out forwards; }
.nav-menu-toggle-wrapper input { position: absolute; height: 100%; width: 100%; z-index: 2; cursor: pointer; opacity: 0; }
.nav-menu-toggle-wrapper input:checked + svg use:nth-of-type(1) { stroke-dashoffset: 175; stroke-dasharray: 0 295; opacity: 0; transition: stroke-dashoffset .07s linear .07s, stroke-dasharray .07s linear .07s, opacity 0s linear .14s; }
.nav-menu-toggle-wrapper input:checked + svg use:nth-of-type(2) { animation: stroke-animation 1.2s ease-out forwards; }
@keyframes stroke-animation { 0% { stroke-dashoffset: 295; stroke-dasharray: 25 270; } 50% { stroke-dashoffset: 68; stroke-dasharray: 59 236; } 100% { stroke-dashoffset: 68; stroke-dasharray: 59 236; } }
@keyframes stroke-animation-reverse { 0% { stroke-dashoffset: 68; stroke-dasharray: 59 236; } 50% { stroke-dashoffset: 290; stroke-dasharray: 25 270; } 100% { stroke-dashoffset: 290; stroke-dasharray: 25 270; } }
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.entry-content .alignwide { max-width: 1400px; margin-left: auto; margin-right: auto; }
.entry-content .alignfull > *, .entry-content .alignwide > * { margin-left: auto; margin-right: auto; }
.wp-block-embed { margin-left: auto; margin-right: auto; }
.wp-block-embed-youtube .wp-block-embed__wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.wp-block-embed-youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
figure > img { border-radius: 10px; }
.wp-block-separator { border: none; border-top: #5F9EA0 1px solid; }
.page-hero { position: relative; height: 65vh; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; text-align: center; color: #ffffff; margin-top: -150px; }
.page-hero::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(26, 58, 95, 0.6); z-index: 1; }
.page-hero-content {
    position: absolute;
    z-index: 2;
    max-width: 800px;
    padding: 20px;
    bottom: 0;
}
.page-hero .entry-title { color: #ffffff; font-size: margin-bottom: 0.2em; text-shadow: 2px 2px 8px rgba(0,0,0,0.5); }
.page-hero .entry-meta { font-family: "Quicksand", sans-serif; font-size: 1rem; font-weight: 600; text-transform: uppercase; opacity: 0.9; }
.standard-featured-image { margin-bottom: 2em; margin-top: 8em;}
.standard-featured-image img { width: 100%; height: auto; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.page-content-container .entry-title { margin-bottom: 0.5em; }
.page-content-container .entry-meta { font-family: "Inter", sans-serif; font-size: 0.8rem; color: #666; margin-bottom: 2em; }
.page-header, .search-page-header { padding-bottom: 1em; }
.search-results .search-results-container { max-width: 800px; display: flex; flex-direction: column; gap: 3rem; margin: 3em auto; }
.posts-grid-container { display: grid; gap: 30px; margin: 3em 0; }
.posts-grid-container > a { display: none; }
@media (min-width: 768px) { .posts-grid-container { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .posts-grid-container { grid-template-columns: repeat(3, 1fr); } }
.search-result-card { background-color: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); overflow: hidden; display: flex; flex-direction: column; width: 100%; height: 100%; transition: box-shadow 0.3s ease, transform 0.3s ease; }
.search-result-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.12); }
.search-result-image { height: 200px; overflow: hidden; background-color: #f0f0f0; }
.search-result-image img { width: 100%; height: 100%; object-fit: cover; }
.search-result-content { padding: 1.5rem; display: flex; flex-direction: column; flex-grow: 1; }
.search-result-title { margin-top: 0; margin-bottom: 0.75rem; font-size: 1.5rem; }
.search-result-content .entry-meta { font-size: 0.9em; color: #555; margin-bottom: 1em; }
.search-result-content .entry-meta span { display: inline-block; margin-right: 15px; }
.search-entry-summary { flex-grow: 1; margin: 1em 0; }
.search-result-categories a { text-decoration: none; background-color: #f0f0f0; padding: 2px 8px; border-radius: 4px; font-size: 0.9em; }
span.wp-block-button__link { color: #1A3A5F; }
.wp-block-buttons > .wp-block-button a:hover { background-color: #1A3A5F !important; color: #5F9EA0 !important; }
.search.no-results .page-content, .error-404 .page-content { max-width: 700px; margin: 0 auto; text-align: center; }
img.content-none-featured-image { max-width: 250px; height: auto; border-radius: 10px; }
.responsive-video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000; margin: 2em 0; }
.responsive-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.error-404 .widget { text-align: left; margin-bottom: 2em; }
.posts-navigation { margin-top: 2rem; border: none;
    border-top: #5F9EA0 1px solid; padding-top: 1.5rem; }

/*--------------------------------------------------------------
10.0 RESPONSIVE ANPASSUNGEN 
--------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
    .home-hero { min-height: 75vh; }
    .hero-latest-news-container { max-width: 80vw; }
    .front-page #content { margin-top: -100px; }
    #content { padding-top: 0; margin-bottom: 5em; }
    .site-branding .custom-logo { max-height: 50px; }
    .site-header.header-hidden { transform: translateY(-300%); }
    .posts-grid-layout > a { width: calc(50% - 15px); }
    .main-navigation-desktop { display: none; }
    .nav-menu-toggle-wrapper { display: flex; }
    .mobile-navigation-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #1A3A5F; z-index: 101; opacity: 0; visibility: hidden; transform: translateX(-100%); transition: opacity 0.4s ease, visibility 0s linear 0.4s, transform 0.4s ease; }
    .mobile-navigation-wrapper.toggled { opacity: 1; visibility: visible; transform: translateX(0); transition: opacity 0.4s ease, visibility 0s, transform 0.4s ease; }
    .main-navigation-mobile { padding: 150px 40px 40px; height: 100%; overflow-y: auto; box-sizing: border-box; }
    .main-navigation-mobile .menu { list-style: none; padding: 0; margin: 0; font-size: 22px; }
    .main-navigation-mobile li { margin: 0 0 1.8em; }
    .main-navigation-mobile a { font-family: "Quicksand", sans-serif; font-weight: 700; color: #ffffff; position: relative; padding-bottom: 5px; }
}

@media screen and (max-width: 767px) {
    .home-hero {
        min-height: 70h;
        padding: 15vw 4vw 8vw;
    }
    .hero-latest-news-container { width: 100%; max-width: 100%; }
    .latest-news-box { flex-direction: column; max-height: none; }
    .latest-news-image-wrapper { width: 100%; padding-top: 56.25%; height: 0; position: relative; }
    .latest-news-image-wrapper .news-image-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
    .latest-news-box .news-content { padding: 25px 25px 75px; }
    .latest-news-box .news-title { font-size: 1.1rem; }
    .latest-news-box .read-more-arrow-button { bottom: 25px; right: 25px; }
    .custom-swiper-navigation { display: none; }
    .header-main-bar { padding: 10px 30px; }
    /*body .site-main { padding-top: 120px; }*/
    /*body.home .site-main { padding-top: 0; margin-top: 50px; }*/
    .page-hero { margin-top: -210px; min-height: 300px; }
    .posts-grid-layout > a { width: 100%; }
    .standard-featured-image { margin-bottom: 1em; margin-top: -1em}
.standard-featured-image img { width: 100%; height: auto; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
}

/*--------------------------------------------------------------
11.0 SPEZIFISCHE MENÜ-STILE (DESKTOP & MOBILES SUBMENÜ)
--------------------------------------------------------------*/
@media (min-width: 1025px) {
    .nav-menu-toggle-wrapper, .mobile-navigation-wrapper { display: none; }
    .main-navigation-desktop .menu-item-has-children { position: relative; }
    .main-navigation-desktop .menu-item-wrapper { position: relative; padding-bottom: 5px; }
    .main-navigation-desktop .sub-menu-toggle { position: absolute; top: 42%; right: -5px; transform: translateY(-50%); background: transparent; border: none; padding: 10px; margin: 0; cursor: pointer; line-height: 0; }
    .main-navigation-desktop .sub-menu-toggle svg { width: 12px; height: 12px; stroke: #1A3A5F; transition: transform 0.25s ease; }
    .main-navigation-desktop .menu-item-has-children > .menu-item-wrapper > a::after { display: none !important; }
    .main-navigation-desktop .menu-item-has-children > .menu-item-wrapper > a { padding-right: 25px; }
    .main-navigation-desktop .sub-menu-toggle svg { transform: rotate(0deg); }
    .main-navigation-desktop .menu-item-has-children:hover .sub-menu-toggle svg { transform: rotate(180deg); }
    .main-navigation-desktop .sub-menu { display: block; position: absolute; top: 100%; left: 0; z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: none; min-width: 240px; background-color: #ffffff; border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); padding: 8px 0; list-style: none; margin-top: 0; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s; }
    .main-navigation-desktop .sub-menu li { margin: 0; }
    .main-navigation-desktop .sub-menu a { display: block; padding: 10px 20px; color: #333; font-size: 16px; text-transform: none; font-weight: 400; white-space: nowrap; }
    .main-navigation-desktop .sub-menu a:hover { background-color: #fff; color: #1A3A5F; font-weight: 600; }
    .main-navigation-desktop .menu-item-has-children:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s; }
}

/* ===== START DER KORREKTUR FÜR DAS MOBILE SUBMENÜ ===== */
@media (max-width: 1024px) {
    .main-navigation-mobile .menu-item-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }
    .main-navigation-mobile .sub-menu-toggle {
        position: static;
        background: transparent;
        border: none;
        padding: 10px;
        cursor: pointer;
        line-height: 0;
        flex-grow: 1;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: #ffffff;
    }
    .main-navigation-mobile .sub-menu-toggle svg {
        stroke: currentColor;
        transition: transform 0.3s ease;
        transform: rotate(0deg);
    }
    .main-navigation-mobile .menu-item-has-children.open .sub-menu-toggle svg {
        transform: rotate(180deg);
    }
    .main-navigation-mobile .sub-menu {
        list-style: none;
        padding: 0;
        margin: 0;
        background: transparent;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out, margin-top 0.3s ease-out;
    }
    .main-navigation-mobile .menu-item-has-children.open > .sub-menu {
        max-height: 1000px; /* Ausreichend Höhe für den Inhalt */
        margin-top: 15px;
    }
    .main-navigation-mobile .sub-menu li {
        margin-bottom: 1em;
    }
    .main-navigation-mobile .sub-menu a {
        font-weight: 400;
    }
    .main-navigation-mobile .menu-item-has-children > .menu-item-wrapper > a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background-color: #ffffff;
        transition: width 0.4s ease;
    }
    .main-navigation-mobile .menu-item-has-children.open > .menu-item-wrapper > a::after {
        width: 100%;
    }
}

/* Cover Cards & Misc */
.cover-card{ border-radius: 10px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); overflow: hidden; display: flex; flex-direction: row; align-items: stretch; }
.wp-block-buttons>.wp-block-button { color: #1A3A5F }
.remove-top-padding-block{ padding-top: calc(-5vw - 68px)!important; }


/* Gemeinsame Peek-Variable für beide Slider (bei Bedarf anpassen) */
.news-slider-veranstaltungen,
.news-slider-allgemeine-news {
    --peek: 40px; /* rechter "Anschnitt" */
}

/* Mobile: 1 Karte sichtbar + Peek rechts */
.news-slider-veranstaltungen .swiper-slide,
.news-slider-allgemeine-news .swiper-slide {
    width: calc(100% - var(--peek));
}

/* Tablet: 3 Karten sichtbar + Peek rechts */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .news-slider-veranstaltungen .swiper-slide,
    .news-slider-allgemeine-news .swiper-slide {
        width: calc((100% - var(--peek) - 2 * 20px) / 3);
    }
}

/* Desktop: 4 Karten sichtbar + Peek rechts
   Beachte: spaceBetween ist in JS 30px gesetzt */
@media (min-width: 1024px) {
    .news-slider-veranstaltungen .swiper-slide,
    .news-slider-allgemeine-news .swiper-slide {
        width: calc((100% - var(--peek) - 3 * 30px) / 4);
    }
}

.swiper { overflow: visible; }
.swiper-slide { height: auto; }

/* Peek-Variable und Slide-Breiten „rechts angeschnitten“ */
.news-slider-veranstaltungen,
.news-slider-allgemeine-news {
  --peek: 40px; /* rechter Anschnitt */
}

/* Mobile: 1 Karte sichtbar + Peek rechts */
.news-slider-veranstaltungen .swiper-slide,
.news-slider-allgemeine-news .swiper-slide {
  width: calc(100% - var(--peek));
}

/* Tablet: 3 Karten sichtbar + Peek rechts (spaceBetween in JS: 20px) */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .news-slider-veranstaltungen .swiper-slide,
  .news-slider-allgemeine-news .swiper-slide {
    width: calc((100% - var(--peek) - 2 * 20px) / 3);
  }
}

/* Desktop: 4 Karten sichtbar + Peek rechts (spaceBetween in JS: 30px) */
@media (min-width: 1024px) {
  .news-slider-veranstaltungen .swiper-slide,
  .news-slider-allgemeine-news .swiper-slide {
    width: calc((100% - var(--peek) - 3 * 30px) / 4);
  }
}

/* Performance: eigenes GPU-Layer -> weniger Flackern */
.swiper-wrapper {
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Hover-Layout-Shift verhindern (globales a:hover { font-weight: 800 }) überschreiben im Slider */
.news-slider-veranstaltungen a:hover,
.news-slider-allgemeine-news a:hover {
  font-weight: inherit;
}
.news-slider-veranstaltungen .news-grid-title a:hover,
.news-slider-allgemeine-news .news-grid-title a:hover {
  font-weight: 600;
}

/* Bereits vorhanden, aber wichtig für Peek/variable Breite */
.swiper { overflow: visible; }
.swiper-slide { height: auto; }

.push-top-45{
	top: -45px;
}

.home .home-header-decorator {
    position: relative;
    display: inline-block;
    margin-bottom: 20px; /* Abstand zwischen der Überschrift und dem nächsten Element */
}

.home .home-header-decorator::before {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    border-bottom: 4px solid #5F9EA0 ; 
}

.home .home-header-decorator::after {
    content: "";
    position: absolute;
    bottom: -5px;    left: 0;
    width: 50%;     
    border-bottom: 4px solid #1A3A5F; }

@media (min-width: 768px) {
.page-content-container {
    padding-top: 2em;

    }


.search-page-header {
    padding-top: 5em;
	}
.page-header {
    padding-top: 4em;
}
}

section.page-hero{
	position: relative;
}

.news-category-intro{
display: block;
    margin-top: 0.2em;
}
.news-category-tag{
    margin-top: 0.2em;
    font-style: italic;
}

.news-author{
	display: block;
	margin-right: 0px!important;
}

.news-author > img{
border-radius: 50%;
display: block;
object-fit: cover;
}

/* author page styles */
.author-page {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    margin-top: 5em;	
}

.author-info {
    text-align: center;
    margin-bottom: 40px;
}

.author-info img {
    border-radius: 50%;
    margin-bottom: 20px;
}

.author-info h1 {
    font-size: 2em;
    margin: 0;
}

.author-info p {
    font-size: 1.2em;
    color: #555;
}

.author-posts ul {
    list-style: none;
    padding: 0;
}

.author-posts li {
    margin-bottom: 30px;
}

.author-posts li a {
    font-size: 1.5em;
    text-decoration: none;
    color: #0073aa;
}

.author-posts li a:hover {
    text-decoration: underline;
}

.author-posts li p {
    font-size: 1em;
    color: #555;
}

.author-custom-text > ul > li
{
	list-style-type: none;
}

@media (min-width: 768px) {
.author-page {
    margin-top: 7em;
    }
}


/* Social Media Icons - Author page */
/* Make sure the <a> element is aligned properly */
.social-link {
    display: flex;               /* Make the link a flex container */
    align-items: center;         /* Vertically align items */
    text-decoration: none;       /* Remove underline from link */
}

/* Set icon size and ensure it aligns with the text */
.social-icon {
    display: inline-flex;        /* Makes the icon inline-flex for alignment */
    justify-content: center;     /* Center the icon horizontally */
    align-items: center;         /* Center the icon vertically */
    width: 24px;                 /* Set the size of the icon */
    height: 24px;                /* Set the size of the icon */
    margin-right: 8px;           /* Add space between the icon and text */
}

/* Optional: Style for the SVG icon */
.social-icon svg {
    width: 100%;                 /* Make the SVG scale to the parent element (the container) */
    height: 100%;                /* Same for height */
    max-width: 24px;             /* Ensure it doesn't exceed 24px */
    max-height: 24px;            /* Ensure it doesn't exceed 24px *//
}

/* Styling for the text */
.social-link {
    color: #ffffff;              /* Text color */
    font-size: 16px;             /* Font size of the text */
}

/* Optional: Hover effect */
.social-link:hover .social-icon svg {
    fill: #f0f0f0;               /* Change SVG color on hover */
}

.author-posts .post-thumbnail img {
    max-width: 800px;    /* Maximal 800px Breite */
    height: auto;        /* Höhe automatisch skalieren */
    display: block;      /* Verhindert unerwünschte Abstände unter dem Bild */
    margin: 0 auto;      /* Zentriert das Bild */
}

.entry-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 1em;
}

.news-author {
    display: flex;
    align-items: center;
    margin-bottom: 0.5em; /* Abstand zwischen Autor und Kategorie/Datum */
}

.news-author img {
    border-radius: 50%;
    margin-right: 0.5em;
}

.news-author a {
    font-weight: bold;
}

.date-info {
    display: flex;
    align-items: center;
    margin-top: 0.5em;
}

.date-info span {
    margin-right: 1em; /* Abstand zwischen den Datumsangaben */
}

.date-info::before {
    content: attr(data-label);
    margin-right: 0.5em;
    font-weight: bold;
}

.news-category-intro {
    margin-top: 0.5em;
    font-style: italic;
    display: block;
}

.navigation.posts-navigation .nav-links {
       display: flex;
    justify-content: center;
    gap: 30vw;
    margin: 0 auto;
    width: 100%;
    padding-top: 2em;
    padding-bottom: 2em;
}

.navigation.posts-navigation .nav-links .nav-previous,
.navigation.posts-navigation .nav-links .nav-next {
    flex: 0 0 auto; /* Prevent buttons from growing or shrinking */
}

 .nav-previous svg{
transform: rotate(180deg);
    transform-origin: center; /* Rotate around the center of the SVG */
}

.read-more-arrow-button-post-navigation{
	position: relative;
    bottom: 15px;
    width: 50px;
    height: 50px;
    background-color: #FAFAFA;
    border-radius: 50%;
    border: 1px solid #1A3A5F;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1A3A5F;
    transition: all 0.3s 
ease;
}

.read-more-arrow-button-post-navigation:hover {
    background-color: #1A3A5F;
    color: #5F9EA0;
    text-decoration: none !important;
}


button.back-to-top{
  margin: 0 !important;
  padding: 0 !important;
  background: #fff;
	height: 0px;
  width: 0px;
  overflow: hidden;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
  color: transparent;
	clear: both;
  visibility: hidden;
  position: fixed;
  cursor: pointer;
  display: block;
  border: none;
  right: 50px;
	bottom: 75px;
  font-size: 0px;
  outline: 0 !important;
  z-index: 99;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}
button.back-to-top:hover,
button.back-to-top:active,
button.back-to-top:focus,{
  outline: 0 !important;
}
button.back-to-top::before,
button.back-to-top::after {
  content: "";
    display: block;
    vertical-align: middle;
    border-bottom: solid 10px #1a3a5f;
    border-left: solid 10px transparent;
    line-height: 0;
    border-right: solid 10px transparent;
    height: 0;
    margin: 18px auto 0;
    width: 0;
  border-radius:20px;
  visibility: hidden;
}
button.back-to-top.show::after,
button.back-to-top.show::before{
  visibility: visible;
}
button.back-to-top::after {
  border-bottom-color:#fff;
      position: relative;
  top:-24px;
}
button.back-to-top.show {
  display: block;
  background: #fff;
  color: #1a3a5f;
  font-size: 25px;
  right: 25px;
	bottom: 50px;
  height: 50px;
  width: 50px;
  visibility: visible;
	box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.25);
}


button.back-to-top.show:active {
  box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.25);
}

/* Container für Icons (Kalender & Suche) */
.header-tools {
    display: flex;
    align-items: center;
    gap: 20px; /* Abstand zwischen Kalender und Lupe */
}

/* Farbe für das neue Kalender Icon (damit es zum Theme passt) */
.calendar-trigger {
    color: #1A3A5F;    transition: color 0.3s ease;
}

.calendar-trigger:hover {
    color: #5F9EA0;
}

.open-search-trigger:hover {
color: #5F9EA0;
}

.header-tools {
    display: flex;
    align-items: center; /* Zentriert die Links vertikal zueinander */
    gap: 20px; 
}

.header-tools a {
    display: flex;       /* Macht den Link zum Flex-Container */
    align-items: center; /* Zentriert das SVG im Link vertikal */
    line-height: 0;      /* Entfernt unsichtbare Abstände durch Schriften */
}