:root {
    /* ============================================
       BASE COLORS (Fallbacks für main.css Variablen)
       ============================================ */
    --wg-text: #e0dce8;
    --wg-glow: #6b58ff;
    --wg-glow-rgb: 107, 88, 255;
    --wg-bg-dark: rgba(15, 13, 28, 1);
    --wg-bg-dark-transparent: rgba(15, 13, 28, 0);

    /* ============================================
       TYPOGRAPHY
       ============================================ */
    --font-family: 'Source Serif Pro', serif;
    /*--font-family-heading: 'Kinzel', 'Cinzel', 'Palatino Linotype', 'Book Antiqua', Georgia, serif;*/
    --font-family-heading: 'Cormorant Garamond', serif;

    /* Konsistenz mit whitegoat.css */
    --font-size-sm: 0.9rem;
    --font-size-md: 0.95rem;
    --font-size-lg: 1.1rem;

    /* Legacy-Variablen für bestehende Styles */
    --font-size-small: 1rem;
    --font-size-medium: 1.05rem;
    --font-size-large: 1.1rem;
    --font-size-xl: 2rem;
    --line-height: 1.7;
    --line-height-loose: 1.75;
    --letter-spacing-small: 1px;
    --letter-spacing-medium: 2px;
    --letter-spacing-large: 3px;

    /* ============================================
       SPACING
       ============================================ */
    --border-radius-small: 10px;
    --border-radius-medium: 12px;
    --border-radius-large: 16px;
    --padding-small: 1rem;
    --padding-medium: 2rem;
    --padding-large: 3rem;
    --margin-small: 1rem;
    --margin-medium: 2rem;
    --margin-large: 6rem;
    --gap-small: 0.6rem;
    --gap-medium: 2rem;
    --gap-large: 2.5rem;

    /* ============================================
       LAYOUT
       ============================================ */
    --max-width-narrow: 800px;
    --max-width-wide: 1200px;
    --max-width-bio: 600px;
    --max-width-content: 1000px;

    /* ============================================
       CARD BACKGROUNDS
       ============================================ */
    --bg-card: rgba(20, 18, 35, 0.65);
    --bg-card-dark: rgba(15, 13, 28, 0.9);
    --bg-card-solid: rgba(20, 18, 35, 0.85);
    --bg-card-gradient: linear-gradient(160deg, var(--bg-card), var(--bg-card-dark));

    /* ============================================
       GLOW & SHADOWS
       ============================================ */
    --glow-opacity-subtle: 0.15;
    --glow-opacity-light: 0.25;
    --glow-opacity-medium: 0.45;
    --glow-opacity-strong: 0.5;
    --glow-opacity-intense: 0.6;

    --glow-shadow-subtle: rgba(var(--wg-glow-rgb), var(--glow-opacity-subtle));
    --glow-shadow-light: rgba(var(--wg-glow-rgb), var(--glow-opacity-light));
    --glow-shadow-medium: rgba(var(--wg-glow-rgb), var(--glow-opacity-medium));
    --glow-shadow-strong: rgba(var(--wg-glow-rgb), var(--glow-opacity-strong));
    --glow-shadow-intense: rgba(var(--wg-glow-rgb), var(--glow-opacity-intense));

    --box-shadow-card: 0 0 25px var(--glow-shadow-light);
    --box-shadow-card-strong: 0 0 40px var(--glow-shadow-light);
    --box-shadow-glow-subtle: 0 0 20px rgba(var(--wg-glow-rgb), 0.2);
    --box-shadow-divider: 0 0 25px rgba(var(--wg-glow-rgb), 0.18);

    --text-shadow-glow: 0 0 12px var(--glow-shadow-intense);
    --text-shadow-glow-light: 0 0 10px var(--glow-shadow-medium);
    --text-shadow-glow-strong: 0 0 15px var(--glow-shadow-intense);

    /* ============================================
       EFFECTS & TRANSITIONS
       ============================================ */
    --opacity-low: 0.9;
    --opacity-medium: 0.8;
    --transition-fast: 0.3s ease;
    --transition-hover: 0.6s ease;
    --transition-transform: 0.4s ease;
    --filter-hover: brightness(1.1) contrast(1.05);
    --filter-image: brightness(1.05) contrast(1.1) saturate(0.9);
    --transform-hover: scale(1.02);

    /* ============================================
       GRADIENTS
       ============================================ */
    --radial-bg: radial-gradient(circle at 50% 60%, var(--glow-shadow-subtle), transparent 70%);
    --radial-bg-divider: radial-gradient(circle at 50% 70%, rgba(50, 40, 90, 0.45), transparent 70%);
    --linear-fade: linear-gradient(to bottom, var(--wg-bg-dark) 0%, var(--wg-bg-dark-transparent) 100%);
    --linear-extension: linear-gradient(to bottom, var(--glow-shadow-subtle) 0%, var(--wg-bg-dark-transparent) 100%);

    /* ============================================
       BORDERS
       ============================================ */
    --border-glow-light: 1px solid rgba(var(--wg-glow-rgb), 0.2);
    --border-glow-medium: 1px solid rgba(var(--wg-glow-rgb), 0.25);
    --border-glow-strong: 1px solid rgba(var(--wg-glow-rgb), 0.35);
}

/**************************************************************/
/* NAVIGATION – CONSISTENCY WITH MAIN */
/**************************************************************/
body.subpage .main-nav a {
    font-size: 0.95rem !important;
}

/* Force für alle Breakpoints */
@media (min-width: 769px) and (max-width: 820px) {
    body.subpage .main-nav a {
        font-size: 0.95rem !important;
    }
}

@media (max-width: 991px) {
    body.subpage .main-nav a {
        font-size: 0.95rem !important;
    }
}

@media (min-width: 992px) {
    body.subpage .main-nav a {
        font-size: 0.95rem !important;
    }
}

/**************************************************************/
/* SUBPAGE RESET */
/**************************************************************/
body.subpage .main-wrapper {
    background: none;
    box-shadow: none;
    border: none;
    justify-content: unset;
    align-items: unset;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: none;
    color: var(--wg-text);
    position: relative;
    z-index: 10;
}

/**************************************************************/
/* VERTICAL BIO LAYOUT */
/**************************************************************/
.bio-card {
    width: 100%;
    max-width: var(--max-width-narrow);
    margin: 0 auto var(--padding-large);
    padding: var(--gap-large) 2.2rem;
    background: var(--bg-card);
    border-radius: var(--border-radius-medium);
    box-shadow: var(--box-shadow-card);
    line-height: var(--line-height-loose);
    font-size: var(--font-size-large);
    color: var(--wg-text);
    animation: fadeIn 0.8s ease both;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
}

.bio-card h1,
.bio-card h2,
.bio-card h3 {
    color: var(--wg-glow);
    margin-top: 0;
    margin-bottom: var(--margin-small);
    text-shadow: var(--text-shadow-glow);
    font-family: var(--font-family-heading);
    font-weight: 400;
    letter-spacing: var(--letter-spacing-small);
}

.bio-card h1 {
    font-size: var(--font-size-xl);
}

.bio-card h2 {
    font-size: 1.5rem;
    margin-top: var(--margin-medium);
}

.bio-card h3 {
    font-size: 1.2rem;
    margin-top: 1.5rem;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-small);
}

.bio-card p+p {
    margin-top: 1.2rem;
}

.bio-card ul {
    margin: 0.8rem 0;
    padding-left: 1.5rem;
}

.bio-card li {
    margin-bottom: 0.5rem;
}

/**************************************************************/
/* BIO IMAGE CARD */
/**************************************************************/
.bio-img-card {
    width: 100%;
    max-width: var(--max-width-narrow);
    margin: var(--margin-medium) auto;
    padding: 0;
    background: transparent;
    border-radius: var(--border-radius-medium);
    overflow: hidden;
    box-sizing: border-box;
}

.bio-img-card img {
    width: 100%;
    border-radius: var(--border-radius-small);
    opacity: var(--opacity-low);
    mix-blend-mode: lighten;
    background: var(--radial-bg);
    box-shadow: var(--box-shadow-card);
    filter: var(--filter-image) drop-shadow(0 0 20px var(--glow-shadow-subtle));
    transition: filter var(--transition-hover), transform var(--transition-transform);
}

.bio-img-card img:hover {
    filter: var(--filter-hover);
    transform: var(--transform-hover);
}

/**************************************************************/
/* BIO DIVIDER & ENDMARK */
/**************************************************************/
.subpage-divider,
.subpage-endmark {
    width: 100%;
    max-width: var(--max-width-narrow);
    text-align: center;
    margin: var(--padding-large) auto var(--margin-medium);
    color: var(--wg-dark);
    font-family: var(--font-family-heading);
    font-size: 0.95rem !important;
    letter-spacing: var(--letter-spacing-medium);
    opacity: 0.8;
    text-shadow: var(--text-shadow-glow-light);
    box-sizing: border-box;
}

.subpage-divider {
    padding: 1.5rem 0;
    background: var(--radial-bg-divider);
    border-top: var(--border-glow-strong);
    border-bottom: var(--border-glow-medium);
    box-shadow: var(--box-shadow-divider);
}

.subpage-endmark {
    font-size: 1.5rem;
    margin-top: var(--margin-large);
    opacity: 0.5;
}

/**************************************************************/
/* BIO SPACER */
/**************************************************************/
.bio-spacer {
    height: var(--margin-medium);
    width: 100%;
}

/**************************************************************/
/* QUOTE LIST (für Zitate in Bio) */
/**************************************************************/
.quote-list {
    list-style: none;
    padding-left: 0;
}

.quote-list li {
    margin-bottom: 1.2rem;
    padding-left: 1rem;
    border-left: 2px solid var(--glow-shadow-medium);
    font-style: italic;
}

.quote-author {
    display: block;
    margin-top: 0.4rem;
    font-style: normal;
    font-size: 0.9rem;
    opacity: 0.8;
    color: var(--wg-glow);
}

.quote-aside {
    font-size: 0.85rem;
    opacity: 0.6;
}

/**************************************************************/
/* BIO EXTENSION (2-Spalten-Bereich) */
/**************************************************************/
.bio-extension {
    width: 100%;
    max-width: var(--max-width-narrow);
    margin: 0 auto var(--margin-large);
    padding: 0 var(--padding-small);
    box-sizing: border-box;
}

.bio-extra-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-medium);
    align-items: start;
}

.bio-intro,
.bio-content {
    background: var(--bg-card-gradient);
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-card);
    font-size: var(--font-size-medium);
    line-height: var(--line-height);
    color: var(--wg-text);
    padding: 1.8rem var(--margin-medium);
}

.bio-intro h2,
.bio-content h3 {
    color: var(--wg-glow);
    font-family: var(--font-family-heading);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-medium);
    margin: 0 0 0.6rem;
    text-shadow: var(--text-shadow-glow-light);
    font-weight: 400;
}

.bio-intro h2 {
    font-size: 1.3rem;
}

.bio-content h3 {
    font-size: 1.1rem;
    margin-top: 1.2rem;
}

.bio-content h3:first-child {
    margin-top: 0;
}

.bio-intro p {
    margin: 0.8rem 0 0;
    opacity: var(--opacity-low);
}

/**************************************************************/
/* PAGE END SPACER */
/**************************************************************/
.page-end-spacer {
    height: var(--margin-large);
}

/**************************************************************/
/* IMPRESSUM & DATENSCHUTZ */
/**************************************************************/
.impressum,
.datenschutz {
    width: 100%;
    max-width: var(--max-width-narrow);
    margin: var(--margin-medium) auto var(--margin-large);
    padding: var(--gap-large) 2.2rem;
    background: var(--bg-card);
    border-radius: var(--border-radius-medium);
    box-shadow: var(--box-shadow-card);
    line-height: var(--line-height-loose);
    font-size: var(--font-size-large);
    color: var(--wg-text);
    animation: fadeIn 0.8s ease both;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
}

.impressum h1,
.impressum h2,
.datenschutz h1,
.datenschutz h2 {
    color: var(--wg-glow);
    margin-top: 0;
    margin-bottom: var(--margin-small);
    text-shadow: var(--text-shadow-glow);
    font-family: var(--font-family-heading);
    font-weight: 400;
    letter-spacing: var(--letter-spacing-small);
}

.impressum h1,
.datenschutz h1 {
    font-size: var(--font-size-xl);
}

.impressum h2,
.datenschutz h2 {
    font-size: 1.5rem;
    margin-top: var(--margin-medium);
}

.impressum p,
.datenschutz p {
    margin-top: 1rem;
}

.impressum section,
.datenschutz section {
    margin-top: var(--margin-medium);
}

.impressum ul,
.datenschutz ul {
    margin: 0.8rem 0;
    padding-left: 1.5rem;
}

.impressum li,
.datenschutz li {
    margin-bottom: 0.5rem;
}

.impressum a,
.datenschutz a {
    color: var(--wg-glow);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.impressum a:hover,
.datenschutz a:hover {
    text-shadow: var(--text-shadow-glow);
}

/**************************************************************/
/* RESPONSIVE – TABLET (<=900px) */
/**************************************************************/
@media (max-width: 900px) {

    .bio-card,
    .bio-img-card,
    .bio-divider,
    .bio-endmark,
    .bio-extension {
        width: 90%;
        max-width: var(--max-width-narrow);
        margin-left: auto;
        margin-right: auto;
    }

    .bio-card {
        padding: var(--padding-medium) 1.5rem;
    }

    .bio-extra-grid {
        grid-template-columns: 1fr;
        gap: var(--margin-small);
    }

    .bio-intro,
    .bio-content {
        padding: 1.5rem;
    }
}

/**************************************************************/
/* RESPONSIVE – PHONE (<=600px) */
/**************************************************************/
@media (max-width: 600px) {

    .bio-card,
    .bio-img-card,
    .bio-divider,
    .bio-endmark,
    .bio-extension {
        width: 95%;
        max-width: none;
    }

    .bio-card {
        padding: 1.5rem 1.2rem;
        font-size: var(--font-size-medium);
    }

    .bio-card h1 {
        font-size: 1.6rem;
    }

    .bio-divider {
        margin: var(--margin-medium) auto var(--margin-small);
        font-size: 0.85rem;
        padding: 1.2rem 0;
    }

    .bio-intro,
    .bio-content {
        padding: 1.2rem 1rem;
    }

    .bio-spacer {
        height: 1rem;
    }

    /* Impressum & Datenschutz */
    .impressum,
    .datenschutz {
        width: 90%;
        max-width: var(--max-width-bio);
        margin: var(--margin-medium) auto 1.5rem;
        padding: var(--padding-medium) 1.2rem;
        background: var(--bg-card);
        border-radius: var(--border-radius-medium);
        box-shadow: var(--box-shadow-card-strong);
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    .datenschutz h1,
    .datenschutz h2 {
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    /* Link-Bereich */
    .link-curiosities {
        padding: var(--margin-medium) 1rem;
    }

    .link-categories {
        gap: var(--gap-small);
    }

    .link-card {
        font-size: var(--font-size-small);
        padding: 1.2rem 1.4rem;
        background: var(--bg-card);
        border-radius: var(--border-radius-small);
        box-shadow: var(--box-shadow-glow-subtle);
    }
}

/**************************************************************/
/* RESPONSIVE – DESKTOP (>=1200px) */
/**************************************************************/
@media (min-width: 1200px) {

    .bio-card,
    .bio-img-card,
    .bio-extension {
        max-width: var(--max-width-narrow);
    }

    body.subpage .link-curiosities {
        max-width: var(--max-width-content);
        margin: 0 auto;
    }
}

/**************************************************************/
/* ANIMATIONEN */
/**************************************************************/
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(40px);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}