/* 1. IMPORTE & VARIABLEN */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@700&family=Alice&family=Open+Sans:wght@400;600&display=swap');

:root {
    --color-marine: #003b6f;
    --color-gold: #d4af37;
    --color-white: #ffffff;
    --color-text-dark: #2d3436;
    --color-bg-light: #f4f7f6;
    --font-header: 'Cinzel', serif;
    --font-sub: 'Alice', serif;
    --font-body: 'Open Sans', sans-serif;
    --radius-md: 12px;
    --transition-speed: 0.3s ease;
    --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.08);
}

/* 2. BASIS-STYLING & ÜBERSCHRIFTEN */
body {
    font-family: var(--font-body) !important;
    background-color: var(--color-bg-light) !important;
    color: var(--color-text-dark);
}

/* Alle Überschriften im Content-Bereich bekommen den Alice-Look */
h1, h2, h3, h4, h5, h6, .post__title, .list__title a {
    font-family: var(--font-sub) !important;
    color: var(--color-marine) !important;
    font-weight: normal !important;
    text-decoration: none !important;
}

/* 3. HEADER & LOGO ALIGNMENT (Desktop) */
.header {
    background-color: var(--color-marine) !important;
    padding: 1.5rem 0 !important;
}

.logo__link {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.logo__imagebox {
    margin-right: 25px !important; /* Der Abstand gehört auf die Box, nicht aufs Bild! */
}

.logo__img {
    max-height: 120px !important;
    border: 2px solid var(--color-gold);
    padding: 5px;
    background: rgba(255,255,255,0.1);
    margin-right: 0 !important;
}

.logo__text {
    display: flex;
    flex-direction: column;
}

.logo__title {
    font-family: var(--font-header) !important;
    color: var(--color-gold) !important;
    font-size: 2.8rem !important;
    letter-spacing: 3px !important;
    text-transform: uppercase;
    margin-bottom: 0.2rem !important;
    line-height: 1.1 !important;
}

.logo__tagline {
    font-family: var(--font-sub) !important;
    color: var(--color-white) !important;
    font-style: italic !important;
    font-size: 1.2rem !important;
}

/* 4. NAVIGATION */
.menu {
    background-color: #1a1a1a !important;
    border-bottom: 4px solid var(--color-gold) !important;
}

.menu__link {
    font-family: var(--font-header) !important;
    color: var(--color-white) !important;
}

.footer__links a:hover {
    color: var(--color-gold);
    text-decoration: underline;
}

/* 5. EVENT-CARDS */
.event-card {
    border-left: 6px solid var(--color-gold) !important;
    background-color: var(--color-white) !important;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
    /* NEU: Macht die Animation weich */
    transition: transform var(--transition-speed), box-shadow var(--transition-speed) !important;
}

/* NEU: Der Hover-Effekt für die gesamte Karte */
.event-card:hover {
    transform: translateY(-5px) !important; /* Hebt die Karte 5 Pixel an */
    box-shadow: 0 15px 35px rgba(0,0,0,0.12) !important; /* Macht den Schatten etwas größer/dunkler */
}

.event-card__detail {
    font-family: var(--font-body) !important;
    color: var(--color-marine) !important;
    margin: 0.5rem 0;
    display: flex;
    align-items: center;
}

.event-card__icon {
    margin-right: 10px;
}

.event-card__footer {
    margin-top: 1.5rem !important;
    display: block !important;
}

/* BUTTONS */
.btn {
    background-color: var(--color-marine) !important;
    color: var(--color-white) !important;
    font-family: var(--font-header) !important;
    padding: 0.6rem 1.2rem !important;
    border-radius: var(--radius-md) !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    display: inline-block !important;
    text-decoration: none !important;
    /* NEU: Macht die Button-Animation weich */
    transition: all var(--transition-speed) !important;
}

/* NEU: Der Hover-Effekt für den Button */
.btn:hover {
    background-color: var(--color-gold) !important; /* Wechselt zu Gold */
    color: var(--color-marine) !important;          /* Schrift wird Marineblau */
    transform: translateY(-2px) !important;         /* Hebt den Button leicht an */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2) !important;
}

/* 6. SIDEBAR & SPRACHWÄHLER */
.widget__title {
    font-family: var(--font-header) !important;
    color: var(--color-marine) !important;
    border-bottom: 2px solid var(--color-gold) !important;
}

/* SPRACHWÄHLER*/
.widget-languages__link {
    background-color: transparent !important; /* Entfernt den großen blauen Block */
    color: var(--color-marine) !important;    /* Das Wort "Deutsch" bleibt dunkelblau */
}

/* Wir sprechen NUR das erste Element (das kleine Kästchen) an */
.widget-languages__link span:first-child {
    color: var(--color-white) !important;     /* Macht das "DE" strahlend weiß */
}

/* Hover-Effekt */
.widget-languages__link:hover span:first-child {
    color: var(--color-marine) !important;
}

/* 7. MOBILE OPTIMIERUNG */
@media screen and (max-width: 768px) {
    /* Zwingt ALLE Header-Container in die Mitte */
    .header__container,
    .header__inner,
    .logo {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
        margin: 0 auto !important;
    }

    .logo__link {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 auto !important;
    }

    /* Bildbox in die Mitte rücken und Desktop-Abstand entfernen */
    .logo__imagebox {
        margin: 0 auto 1rem auto !important;
        padding: 0 !important;
        display: block !important;
    }

    .logo__img {
        max-height: 100px !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .logo__text {
        margin: 0 auto !important;
        width: 100% !important;
        text-align: center !important;
    }

    .logo__title {
        font-size: 1.8rem !important;
        letter-spacing: 2px !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .logo__tagline {
        font-size: 1.1rem !important;
        margin: 0.3rem auto 0 auto !important;
        display: block !important;
    }

    .event-card__meta {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: flex-start !important;
    }

    .main, .sidebar__item {
        padding: 1.2rem !important;
    }
}
