/* =========================
RESET / BASIS
========================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  }

body {
font-family: Arial, sans-serif;
}

/* =========================
HEADER (Sticky + Shadow)
========================= */

.header, header {
position: sticky;
top: 0;
z-index: 999;
background: #ffffff;
transition: all 0.3s ease;
}

/* leichter Schatten beim Scrollen */
.header.scrolled {
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* =========================
LOGO (Fullwidth + Responsive)
========================= */

.logo {
display: block;
width: 100%;
}

.logo img {
width: 100%;
height: auto;
display: block;
}

/* Mobile Logo kleiner */
@media (max-width: 768px) {
.logo img {
max-height: 80px;
object-fit: contain;
}
}

/* =========================
NAVIGATION (Desktop)
========================= */

.mod_navigation {
    width: 100%;
    border-top: 1px solid #eee;
    background: #fff;
}

/* HAUPTMENÜ */
.mod_navigation > ul {
    display: flex;
    justify-content: center;
    gap: 40px;
    list-style: none;
    padding: 15px 0;
}

/* WICHTIG: LI als Bezugspunkt */
.mod_navigation li {
    position: relative;
}

/* LINKS */
.mod_navigation a,
.mod_navigation strong {
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    color: #222;
    position: relative;
    transition: color 0.3s ease;
    cursor: pointer;
}

/* Hover Farbe */
.mod_navigation a:hover,
.mod_navigation strong:hover {
    color: #0077cc;
}

/* Underline Animation */
.mod_navigation a::after,
.mod_navigation strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 2px;
    background: #0077cc;
    transition: width 0.3s ease;
}

.mod_navigation a:hover::after,
.mod_navigation strong:hover::after {
    width: 100%;
}

/* =========================
MEGA MENU
========================= */

.mod_navigation ul ul {
    display: none;
    position: absolute;

    top: 110%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);

    width: 900px;
    padding: 30px;

    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(12px);

    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);

    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;

    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease;

    z-index: 9999;
}

/* SHOW */
.mod_navigation li:hover > ul {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

/* Dropdown anzeigen */
.mod_navigation li:hover > ul {
    display: block;
}

/* Linkbereich links */
.mod_navigation ul ul li {
    list-style: none;
}

.mod_navigation ul ul a {
    display: block;
    padding: 8px 0;
    font-size: 15px;
    color: #333;
    transition: all 0.25s ease;
}

.mod_navigation ul ul a:hover {
    color: #0077cc;
    transform: translateX(5px);
}
/* rechte Spalte als Icon */
.mod_navigation ul ul::after {
    content: "\f4da"; /* Beispiel Icon */
    font-family: "bootstrap-icons";

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 80px;
    color: #0077cc;

    background: #f5f7fa;
    border-radius: 12px;

    min-height: 220px;
}

/* =========================
MOBILE NAVIGATION
========================= */

@media (max-width: 768px) {

    .burger {
        display: block;
    }

    .mod_navigation > ul {
        display: none;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 20px 0;
        border-top: 1px solid #eee;
    }

    .mod_navigation.active > ul {
        display: flex;
        animation: slideDown 0.3s ease;
    }

    .mod_navigation a,
    .mod_navigation strong {
        font-size: 18px;
    }

    /* Dropdown im Mobile untereinander */
    .mod_navigation ul ul {
        position: static;
        display: none;
        box-shadow: none;
        padding: 10px 0;
    }

    .mod_navigation li:hover > ul {
        display: block;
    }
}

/* Slide Animation */
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* =========================
BURGER ANIMATION (OPTIONAL)
========================= */

.burger.open {
transform: rotate(90deg);
transition: transform 0.3s ease;
}
.invisible {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* optional: sichtbar beim Tab-Fokus */
.invisible:focus {
    position: fixed !important;
    left: 20px !important;
    top: 20px !important;
    width: auto !important;
    height: auto !important;
    background: #000;
    color: #fff;
    padding: 10px;
    z-index: 9999;
}
/* rechte Bild-Spalte */
.mod_navigation ul ul::after {
    content: "";
    display: block;

    grid-column: 2;
    grid-row: 1 / span 10;

    width: 100%;
    height: 220px;

    border-radius: 12px;

    background-size: cover;
    background-position: center;
}

/* INDIVIDUELLE BILDER */
.mod_navigation > ul > li:nth-child(2) ul::after {
    background-image: url('/files/freundeskreis/img/ueber-uns.jpg');
}

.mod_navigation > ul > li:nth-child(3) ul::after {
    background-image: url('/files/freundeskreis/img/kontakt.jpg');
}
