@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=Orbitron:wght@400..900&display=swap');

/* --- Globale Resets und Basis-Styling --- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px; /* Basis-Schriftgröße */
    line-height: 1.6;
    scroll-behavior: smooth;
}

body {
    font-family: 'Exo 2', 'Arial', sans-serif;
    color: var(--color-text-primary);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--color-background-dark); /* Fallback, falls Partikel nicht laden */
}

/* Keyframes für gradientAnimation entfernt, da der Hintergrund entfernt wird */


.container {
    width: 90%;
    max-width: 1200px; /* Maximale Breite für den Inhalt */
    margin: 0 auto; /* Zentrierung */
    padding: 0 1rem;
}

/* --- Akzentfarben (Warframe inspiriert) --- */
:root {
    --color-primary-accent: #6AFF00; /* Giftgrün */
    --color-primary-accent-rgb: 106, 255, 0; /* Giftgrün als RGB-Werte */
    --color-secondary-accent: #00BFFF; /* Heller Blauton, ähnlich wie Warframe UI Energie */
    --color-secondary-accent-rgb: 0, 191, 255; /* RGB für Sekundärfarbe */
    --color-background-dark: #121212;
    --color-background-dark-rgb: 18,18,18; /* RGB für Dark Background */
    --color-background-medium: #1E1E1E; /* Etwas helleres Dunkelgrau für Karten, etc. */
    --color-background-medium-rgb: 30,30,30; /* RGB für Medium Background */
    --color-background-light: #2C2C2C;
    --color-background-light-rgb: 44,44,44; /* RGB für Light Background */
    --color-text-primary: #E0E0E0;
    --button-text-light: #FFFFFF;
    --button-text-dark: #000000; /* Geändert zu reinem Schwarz für maximalen Kontrast */
    --button-current-text-color: var(--button-text-dark); /* Standardmäßig dunkler Text für helles Standard-Akzentgrün */
    --color-text-secondary: #B0B0B0;
    --color-border: #3A3A3A;
    --color-border-glow: rgba(var(--color-primary-accent-rgb), 0.3); /* Dynamisch basierend auf Akzentfarbe */
    --color-error: #FF4C4C;
    --color-success: #4CAF50;
    --color-info: #2196F3;
    --color-warning: #FFC107;
    /* Reduzierte Glow-Effekte für Text und Box-Schatten */
    --glow-shadow-primary: 0 0 5px rgba(var(--color-primary-accent-rgb), 0.5), 0 0 8px rgba(var(--color-primary-accent-rgb), 0.3);
    --glow-shadow-secondary: 0 0 5px rgba(var(--color-secondary-accent-rgb, 0, 191, 255), 0.5), 0 0 8px rgba(var(--color-secondary-accent-rgb, 0, 191, 255), 0.3);
}

/* --- Typografie --- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Orbitron', 'Exo 2', sans-serif;
    color: var(--color-primary-accent);
    margin-bottom: 0.75em;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-shadow: 0 0 4px rgba(var(--color-primary-accent-rgb), 0.4); /* Subtilerer Glow für Überschriften */
}

h1 { font-size: 2.8rem; letter-spacing: 2px;}
h2 { font-size: 2.2rem; }
h3 { font-size: 1.85rem; }
h4 { font-size: 1.6rem; }

p {
    margin-bottom: 1.2em; /* Etwas mehr Abstand für Absätze */
    color: var(--color-text-secondary); /* Standard Text etwas gedämpfter */
}
main.site-content p, main.site-content li { /* Hellerer Text im Hauptinhalt */
    color: var(--color-text-primary);
}


a {
    color: var(--color-secondary-accent);
    text-decoration: none;
    transition: color 0.3s ease, text-shadow 0.3s ease, filter 0.3s ease;
}

a:hover, a:focus {
    color: var(--color-primary-accent);
    text-shadow: var(--glow-shadow-primary);
    outline: none;
    filter: brightness(1.1); /* Etwas weniger Brightness */
}

/* --- Header und Navigation --- */
header.site-header {
    background: linear-gradient(to bottom, var(--color-background-medium), rgba(30, 30, 30, 0.8));
    padding: 1rem 0;
    border-bottom: 3px solid var(--color-primary-accent);
    box-shadow: 0 1px 10px rgba(var(--color-primary-accent-rgb), 0.15); /* Reduzierter Schein */
    position: sticky; /* Sticky Header */
    top: 0;
    z-index: 1000; /* Header muss über Partikeln und Inhalt beim Scrollen liegen */
    backdrop-filter: blur(5px); /* Milchglas-Effekt */
}

header.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Für kleinere Bildschirme */
}

.logo-text {
    font-family: 'Orbitron', sans-serif;
    font-size: 2rem; /* Etwas größer */
    color: var(--color-primary-accent);
    text-transform: uppercase;
    letter-spacing: 2.5px; /* Mehr Spacing */
    text-shadow: var(--glow-shadow-primary);
}
.logo-text:hover {
    filter: brightness(1.3);
}

nav.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 1.8rem; /* Etwas mehr Abstand */
}

nav.main-navigation a {
    color: var(--color-text-secondary);
    font-weight: bold;
    font-family: 'Orbitron', sans-serif; /* Auch für Navi-Links */
    text-transform: uppercase;
    padding: 0.6em 0.2em; /* Mehr vertikales Padding, weniger horizontales, da Linie es ausgleicht */
    position: relative;
    letter-spacing: 1px;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

nav.main-navigation a::after { /* Linie unter dem Link */
    content: '';
    position: absolute;
    bottom: 0; /* Direkt unter dem Text */
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px; /* Dickere Linie */
    background-color: var(--color-primary-accent);
    box-shadow: var(--glow-shadow-primary);
    transition: width 0.4s ease;
}

nav.main-navigation a:hover::after,
nav.main-navigation a.active::after {
    width: 100%;
}

nav.main-navigation a:hover,
nav.main-navigation a.active {
    color: var(--color-primary-accent);
    text-shadow: var(--glow-shadow-primary);
}

/* --- Hauptinhalt --- */
main.site-content {
    flex-grow: 1; /* Wichtig für Sticky Footer */
    padding: 2.5rem 0; /* Mehr Padding */
    /* Der Hintergrund wird jetzt vom Body oder der Partikel-Canvas bereitgestellt */
    /* background: ... entfernt ... */
    position: relative; /* Erstellt einen Stacking Context */
    z-index: 1;       /* Stellt sicher, dass es über dem Partikel-Div (-1) liegt */
}

/* --- Footer --- */
footer.site-footer {
    background: var(--color-background-medium);
    color: var(--color-text-secondary);
    padding: 2rem 0; /* Mehr Padding */
    text-align: center;
    font-size: 0.9rem;
    border-top: 2px solid var(--color-border);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.3);
    position: relative; /* Erstellt einen Stacking Context */
    z-index: 1;       /* Stellt sicher, dass es über dem Partikel-Div (-1) liegt */
}

footer.site-footer a {
    color: var(--color-secondary-accent);
}
footer.site-footer a:hover {
    color: var(--color-primary-accent);
    text-shadow: var(--glow-shadow-primary);
}


/* --- Formulare --- */
form {
    background-color: rgba(30, 30, 30, 0.8); /* Leicht transparent */
    backdrop-filter: blur(3px);
    padding: 2rem;
    border: 1px solid var(--color-border-glow);
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(var(--color-primary-accent-rgb), 0.08); /* Reduzierter Schein */
    /* Clip-Path für futuristische Ecken (optional, kann Layout beeinflussen) */
    /* clip-path: polygon(0 10px, 10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px)); */
}

form fieldset {
    border: 1px solid var(--color-border);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border-radius: 6px;
    /* clip-path: polygon(0 8px, 8px 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%); */ /* Abgeschnittene obere Ecke */
}
form legend {
    padding: 0 0.8em;
    color: var(--color-primary-accent);
    font-family: 'Orbitron', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

form label {
    display: block;
    margin-bottom: 0.6rem;
    color: var(--color-text-secondary);
    font-weight: bold;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form input[type="number"],
form input[type="url"],
form textarea,
form select {
    width: 100%;
    padding: 0.85rem 1rem; /* Mehr Padding */
    margin-bottom: 1.2rem;
    background-color: rgba(18, 18, 18, 0.7); /* Dunkler und leicht transparent */
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    border-radius: 4px; /* Kleinerer Radius für schärfere Kanten */
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
    font-family: 'Exo 2', sans-serif;
    font-size: 1rem;
}
form input:-webkit-autofill, /* Autofill Style anpassen */
form textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px var(--color-background-light) inset !important;
    -webkit-text-fill-color: var(--color-text-primary) !important;
    caret-color: var(--color-text-primary) !important; /* Cursor Farbe */
}


form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus,
form input[type="number"]:focus,
form input[type="url"]:focus,
form textarea:focus,
form select:focus {
    outline: none;
    border-color: var(--color-primary-accent);
    background-color: rgba(30, 30, 30, 0.9);
    box-shadow: 0 0 6px rgba(var(--color-primary-accent-rgb), 0.7); /* Reduzierter Fokus-Glow */
}

form button,
input[type="submit"],
.button, .btn {
    display: inline-block;
    background: linear-gradient(to right, var(--color-primary-accent), hsl(from var(--color-primary-accent) h s calc(l - 15%)));
    color: var(--button-current-text-color); /* Dynamische Textfarbe */
    font-family: 'Orbitron', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.85rem 1.8rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: transform 0.2s ease-out, box-shadow 0.3s ease-out, filter 0.3s ease-out;
    letter-spacing: 1.2px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.05); /* Reduzierter Inset-Glanz */
    position: relative;
    overflow: hidden;
}
form button::before,
input[type="submit"]::before,
.button::before, .btn::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 50%); /* Subtilerer Glanz-Effekt */
    transform: scale(0);
    transition: transform 0.4s ease; /* Langsamerer Glanz */
    pointer-events: none;
}

form button:hover::before,
input[type="submit"]:hover::before,
.button:hover::before, .btn:hover::before {
    transform: scale(2.2);
}

form button:hover,
input[type="submit"]:hover,
.button:hover, .btn:hover {
    transform: translateY(-2px) scale(1.01);
    background: linear-gradient(to right, hsl(from var(--color-primary-accent) h s calc(l - 10%)), hsl(from var(--color-primary-accent) h s calc(l - 25%))); /* Stärker abdunkeln */
    box-shadow: 0 3px 8px rgba(var(--color-primary-accent-rgb), 0.20), inset 0 1px 0 rgba(255,255,255,0.05);
    /* filter: brightness(1.05); -- Entfernt */
}

/* --- Buttons für andere Aktionen --- */
.button-secondary, .btn-secondary {
    background: linear-gradient(to right, var(--color-secondary-accent), hsl(from var(--color-secondary-accent) h s calc(l - 15%)));
    color: var(--button-current-text-color);
}
.button-secondary:hover, .btn-secondary:hover {
    background: linear-gradient(to right, hsl(from var(--color-secondary-accent) h s calc(l - 10%)), hsl(from var(--color-secondary-accent) h s calc(l - 25%))); /* Stärker abdunkeln */
    box-shadow: 0 3px 8px rgba(var(--color-secondary-accent-rgb, 0, 191, 255), 0.20), inset 0 1px 0 rgba(255,255,255,0.05);
}

.button-danger, .btn-danger {
    background: linear-gradient(to right, var(--color-error), hsl(from var(--color-error) h s calc(l - 10%)));
    color: var(--button-text-light);
}
.button-danger:hover, .btn-danger:hover {
    background: linear-gradient(to right, hsl(from var(--color-error) h s calc(l - 10%)), hsl(from var(--color-error) h s calc(l - 20%))); /* Stärker abdunkeln */
    box-shadow: 0 3px 8px rgba(255, 76, 76, 0.20), inset 0 1px 0 rgba(255,255,255,0.05);
}


/* --- Tabellen --- */
table {
    width: 100%;
    border-collapse: separate; /* Wichtig für border-spacing und abgerundete Ecken */
    border-spacing: 0;
    margin-bottom: 2rem; /* Mehr Abstand */
    background-color: rgba(30, 30, 30, 0.7);
    backdrop-filter: blur(3px);
    border: 1px solid var(--color-border);
    border-radius: 6px; /* Abgerundete Ecken für die Tabelle */
    box-shadow: 0 0 15px rgba(0,0,0,0.4);
    overflow: hidden; /* Damit border-radius bei th/td greift */
}

table th, table td {
    padding: 0.9rem 1.2rem; /* Mehr Padding */
    text-align: left;
    border-bottom: 1px solid var(--color-border); /* Subtilere Linien */
}
table tr:last-child td {
    border-bottom: none; /* Keine Linie bei der letzten Zeile */
}

table th {
    background-color: rgba(44, 44, 44, 0.8); /* Etwas heller für Header */
    color: var(--color-primary-accent);
    font-family: 'Orbitron', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
    border-bottom-width: 2px; /* Dickere Linie unter Header */
    border-bottom-color: var(--color-border-glow);
}

table tr:hover td {
    background-color: rgba(44, 44, 44, 0.9); /* Leichter Hover-Effekt für Zeilen */
    color: var(--color-text-primary);
}
table td a { /* Links in Tabellen hervorheben */
    font-weight: bold;
}

/* --- Karten/Boxen --- */
.card {
    background-color: rgba(30, 30, 30, 0.85); /* Leicht transparent */
    backdrop-filter: blur(4px);
    padding: 2rem; /* Mehr Padding */
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary-accent); /* Akzentlinie links */
    border-radius: 6px; /* Angepasster Radius */
    margin-bottom: 2rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
    /* transform: translateY(-3px); */
    /* box-shadow: 0 6px 20px rgba(0,0,0,0.6); */
}

.card-header {
    border-bottom: 1px solid var(--color-border-glow); /* Leuchtende Trennlinie */
    padding-bottom: 1rem; /* Mehr Padding */
    margin-bottom: 1.5rem; /* Mehr Abstand */
}
.card-header h2, .card-header h3 {
    margin-bottom: 0;
    text-shadow: var(--glow-shadow-primary);
}

/* --- Nachrichten / Alerts --- */
.message {
    padding: 1.2rem 1.8rem; /* Mehr Padding */
    margin-bottom: 1.8rem;
    border-radius: 4px; /* Schärfere Kanten */
    border-width: 1px;
    border-style: solid;
    /* border-left-width: 5px; */ /* Akzentlinie links */
    position: relative;
    font-size: 0.95rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    /* Futuristic shape with clip-path */
    /* clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 15px 100%, 0 calc(100% - 15px)); */
}
.message.global-message { /* Für Nachrichten oben auf der Seite */
    margin-top: 1.5rem;
}

.message.error {
    background-color: rgba(255, 76, 76, 0.15);
    border-color: var(--color-error);
    /* border-left-color: var(--color-error); */
    color: #ff8a8a; /* Helleres Rot für Text */
    text-shadow: 0 0 3px rgba(255,76,76,0.5);
}
.message.success {
    background-color: rgba(76, 175, 80, 0.15);
    border-color: var(--color-success);
    /* border-left-color: var(--color-success); */
    color: #8eff91; /* Helleres Grün für Text */
    text-shadow: 0 0 3px rgba(76,175,80,0.5);
}
.message.info {
    background-color: rgba(33, 150, 243, 0.15);
    border-color: var(--color-info);
    /* border-left-color: var(--color-info); */
    color: #7cc4ff; /* Helleres Blau für Text */
    text-shadow: 0 0 3px rgba(33,150,243,0.5);
}
.message.warning {
    background-color: rgba(255, 193, 7, 0.15);
    border-color: var(--color-warning);
    /* border-left-color: var(--color-warning); */
    color: #ffe082; /* Helleres Gelb für Text */
    text-shadow: 0 0 3px rgba(255,193,7,0.5);
}


/* --- Spezifische Seiten-Stylings (Platzhalter) --- */

/* Startseite (index.php) */
.hero-section {
    text-align: center;
    padding: 4rem 1.5rem; /* Mehr Padding */
    background:
        linear-gradient(rgba(18,18,18,0.85), rgba(18,18,18,0.95)),
        url('../assets/images/warframe_background.jpg'); /* Dunklerer Overlay */
    background-size: cover;
    background-position: center center; /* Zentriert */
    border-bottom: 3px solid var(--color-primary-accent);
    box-shadow: 0 5px 20px rgba(var(--color-primary-accent-rgb), 0.2); /* Dynamischer Schein */
    margin: -2.5rem 0 2.5rem 0; /* Lässt es in den Header überlappen, wenn Header sticky ist */
    position: relative; /* Für Pseudo-Elemente */
}
/* Pseudo-Elemente für geometrische Akzente */
.hero-section::before, .hero-section::after {
    content: '';
    position: absolute;
    width: 100px;
    height: 100px;
    border: 2px solid var(--color-primary-accent);
    opacity: 0.3;
    pointer-events: none;
}
.hero-section::before { /* Oben links */
    top: 20px; left: 20px;
    clip-path: polygon(0 0, 100% 0, 0 100%); /* Dreieck */
}
.hero-section::after { /* Unten rechts */
    bottom: 20px; right: 20px;
    clip-path: polygon(100% 100%, 0 100%, 100% 0); /* Dreieck */
}


.hero-section h1 {
    font-size: 3.5rem; /* Größer */
    margin-bottom: 0.8rem;
    color: var(--color-primary-accent);
    text-shadow: var(--glow-shadow-primary), 0 0 20px rgba(106, 255, 0, 0.5); /* Stärkerer Glow */
}
.hero-section p {
    font-size: 1.3rem; /* Größer */
    color: var(--color-text-primary); /* Hellerer Text */
    margin-bottom: 2.5rem;
}
.hero-section .btn-login {
    padding: 1.2rem 3rem; /* Größerer Button */
    font-size: 1.3rem;
}
.hero-section .btn-login img {
    filter: drop-shadow(0 0 3px var(--color-background-dark)); /* Schatten für Logo auf Button */
}

/* Inhalt-Sektionen auf der Startseite */
.content-section {
    padding: 2rem;
    margin-bottom: 2rem;
    background-color: rgba(24,24,24,0.7);
    border-radius: 6px;
    border: 1px solid var(--color-border);
}
.content-section h2 {
    border-bottom: 2px solid var(--color-border-glow);
    padding-bottom: 0.5em;
    display: inline-block; /* Damit Border nur so lang ist wie der Text */
}
.content-section ul {
    list-style: none;
    padding-left: 0;
}
.content-section ul li {
    padding: 0.5em 0 0.5em 1.5em;
    position: relative;
    border-bottom: 1px dashed var(--color-border);
}
.content-section ul li:last-child {
    border-bottom: none;
}
.content-section ul li::before { /* Futuristischer Bullet Point */
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background-color: var(--color-primary-accent);
    box-shadow: var(--glow-shadow-primary);
}


/* Mitgliederliste (mitglieder.php) */
.member-list-item { /* Wird durch .member-list-item.card in der mitglieder.php spezifischen CSS ersetzt */
    /* display: flex; */
    /* align-items: center; */
    /* background-color: var(--color-background-medium); */
    /* padding: 1rem; */
    /* margin-bottom: 1rem; */
    /* border-radius: 4px; */
    /* border: 1px solid var(--color-border); */
    /* transition: transform 0.2s ease, box-shadow 0.2s ease; */
}
/* .member-list-item:hover { */
    /* transform: translateY(-3px); */
    /* box-shadow: 0 4px 12px rgba(0,0,0,0.5); */
/* } */
.member-avatar { /* Wird in mitglieder.php spezifisch gestylt */
    /* width: 50px; */
    /* height: 50px; */
    /* border-radius: 50%; */
    /* margin-right: 1rem; */
    /* border: 2px solid var(--color-primary-accent); */
}
.member-info h4 { /* Wird in mitglieder.php spezifisch gestylt */
    /* margin-bottom: 0.25rem; */
}
.member-info p { /* Wird in mitglieder.php spezifisch gestylt */
    /* font-size: 0.9rem; */
    /* color: var(--color-text-secondary); */
    /* margin-bottom: 0; */
}

/* Profilseite (profil.php) */
.profile-header { /* Wird in profil.php spezifisch gestylt */
    /* display: flex; */
    /* align-items: center; */
    /* margin-bottom: 2rem; */
}
.profile-avatar { /* Wird in profil.php spezifisch gestylt */
    /* width: 100px; */
    /* height: 100px; */
    /* border-radius: 50%; */
    /* margin-right: 2rem; */
    /* border: 3px solid var(--color-primary-accent); */
}
.profile-main-info h1 { /* Wird in profil.php spezifisch gestylt */
    /* margin-bottom: 0.25rem; */
}
.profile-main-info .custom-title { /* Wird in profil.php spezifisch gestylt */
    /* color: var(--color-secondary-accent); */
    /* font-style: italic; */
}
.profile-details dl { /* Wird in profil.php spezifisch gestylt */
    /* display: grid; */
    /* grid-template-columns: auto 1fr; */ /* Label und Wert */
    /* gap: 0.5rem 1rem; */
}
.profile-details dt { /* Wird in profil.php spezifisch gestylt */
    /* font-weight: bold; */
    /* color: var(--color-text-secondary); */
}
.profile-details dd { /* Wird in profil.php spezifisch gestylt */
    /* margin-left: 0; */
}

/* Kommentare / Schwarzes Brett */
.comments-section .comment { /* Wird in profil.php spezifisch gestylt */
    /* border-bottom: 1px solid var(--color-border); */
    /* padding: 1rem 0; */
}
/* .comments-section .comment:last-child { */
    /* border-bottom: none; */
/* } */
.comment-author { /* Wird in profil.php spezifisch gestylt */
    /* font-weight: bold; */
    /* color: var(--color-primary-accent); */
}
.comment-date { /* Wird in profil.php spezifisch gestylt */
    /* font-size: 0.8rem; */
    /* color: var(--color-text-secondary); */
    /* margin-left: 0.5rem; */
}
.comment-content { /* Wird in profil.php spezifisch gestylt */
    /* margin-top: 0.5rem; */
}


/* --- Utility Klassen --- */
.text-center { text-align: center; }
.text-primary { color: var(--color-primary-accent) !important; } /* Wichtig, um andere Selektoren zu überschreiben */
.text-secondary { color: var(--color-secondary-accent) !important; }
.mt-1 { margin-top: 1rem !important; }
.mt-2 { margin-top: 2rem !important; }
.mb-1 { margin-bottom: 1rem !important; }
.mb-2 { margin-bottom: 2rem !important; }
.p-1 { padding: 1rem !important; }
.p-2 { padding: 2rem !important; }
.hidden { display: none !important; }


/* --- Responsivität (Basis) --- */
@media (max-width: 768px) {
    h1 { font-size: 2.2rem; letter-spacing: 1.5px; } /* Angepasste Größen für Mobil */
    h2 { font-size: 1.9rem; }
    .hero-section h1 { font-size: 2.8rem; }

    header.site-header .container {
        flex-direction: column;
        gap: 1rem;
    }
    nav.main-navigation { width: 100%; }
    nav.main-navigation ul {
        flex-direction: column;
        align-items: center;
        gap: 0.8rem; /* Weniger Gap für mobile Navi */
        width: 100%;
    }
    nav.main-navigation li { width: 100%; }
    nav.main-navigation a {
        padding: 0.8em; /* Mehr Klickfläche */
        display: block; /* Für bessere Klickbarkeit */
        text-align: center;
        border-bottom: 1px solid var(--color-border); /* Trennlinien in mobiler Navi */
    }
    nav.main-navigation li:last-child a { border-bottom: none; }

    nav.main-navigation a::after { /* Unterstrich für mobile Ansicht anpassen oder entfernen */
        display: none; /* Kein Unterstrich, da aktive Links anders hervorgehoben werden */
    }
     nav.main-navigation a.active {
        background-color: var(--color-primary-accent); /* Hintergrund für aktiven Link */
        color: var(--color-background-dark);
        text-shadow: none;
        border-radius: 3px;
    }

    .profile-header { /* Wird in profil.php spezifisch gestylt und dort responsiv gemacht */
        /* flex-direction: column; */
        /* text-align: center; */
    }
    .profile-avatar { /* Wird in profil.php spezifisch gestylt */
        /* margin-right: 0; */
        /* margin-bottom: 1rem; */
    }
}

/* Weitere futuristische Elemente könnten sein:
- Hexagonale Muster (als SVG oder CSS) -> Teilweise im Main Content angedeutet
- Glüheffekte (box-shadow, text-shadow) -> Eingebaut
- Schräge Linien / asymmetrische Elemente -> Angedeutet mit clip-path (optional)
- Animationen für Hover-Effekte oder beim Laden von Elementen -> Basis-Transitionen vorhanden
- Verwendung von Icons (FontAwesome oder SVGs) -> Platzhalter in HTML
*/
#admin-page .card, #user-profile-page .card { /* Beispiel für seitenspezifische Anpassungen, falls nötig */
    /* Spezifische Stile für Karten auf Admin- oder Profilseiten */
}

/* Navigations Avatar */
.nav-avatar {
    width: 24px; /* Kleinere Größe für Navigationsleiste */
    height: 24px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    border: 1px solid var(--color-border);
}
.nav-user-link { /* Um Bild und Text zusammenzuhalten */
    display: flex;
    align-items: center;
}


/* --- Theme Switcher --- */
/* .theme-switcher-container-dashboard entfernt bzw. nicht mehr verwendet */

.theme-switcher-container { /* Ursprüngliches Styling für Footer-Platzierung reaktiviert */
    text-align: center;
    padding: 0.5rem 0;
    margin-bottom: 1rem; /* Abstand zum Footer-Text */
    background-color: rgba(var(--color-background-dark-rgb,18,18,18), 0.5); /* Leicht abgedunkelt */
}

#theme-color-buttons {
    display: inline-flex; /* Buttons nebeneinander */
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 20px; /* Abgerundete Kapsel */
    background-color: rgba(var(--color-background-medium-rgb,30,30,30), 0.7);
    border: 1px solid var(--color-border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.theme-button {
    width: 24px;
    height: 24px;
    border-radius: 50%; /* Runde Buttons */
    border: 2px solid var(--color-background-light); /* Rand, um die Farbe besser zu sehen */
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
.theme-button:hover {
    transform: scale(1.15);
    box-shadow: 0 0 8px currentColor; /* Leuchtet in der jeweiligen Farbe */
}
.theme-button.active-theme { /* Hervorhebung für die aktive Farbe */
    border-width: 3px;
    border-color: #fff; /* Heller Rand für aktive Farbe */
    box-shadow: 0 0 10px currentColor, 0 0 5px #fff;
    transform: scale(1.1);
}
/* Füge die RGB-Variablen für Hintergrundfarben hinzu, wenn sie noch nicht da sind */
/* :root {
    --color-background-dark-rgb: 18,18,18;
    --color-background-medium-rgb: 30,30,30;
} */

.footer-credits p {
    margin-bottom: 0.3em; /* Weniger Abstand zwischen den Footer-Zeilen */
    font-size: 0.85em;
}
.footer-credits .powered-by {
    margin-top: 0.8em;
    font-weight: bold;
    color: var(--color-text-secondary);
}

/* --- Custom Scrollbar Styling --- */
/* Für Webkit-Browser (Chrome, Safari, Edge) */
::-webkit-scrollbar {
    width: 10px; /* Breite der vertikalen Scrollbar */
    height: 10px; /* Höhe der horizontalen Scrollbar */
}

::-webkit-scrollbar-track {
    background: var(--color-background-medium); /* Hintergrund der Scrollleiste */
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background-color: var(--color-primary-accent); /* Farbe des Scroll-Daumens */
    border-radius: 5px;
    border: 2px solid var(--color-background-medium); /* Rand um den Daumen für besseren Kontrast */
}

::-webkit-scrollbar-thumb:hover {
    background-color: hsl(from var(--color-primary-accent) h s calc(l - 10%)); /* Etwas dunkler beim Hover */
}

/* Für Firefox */
/* Firefox unterstützt nur scrollbar-color und scrollbar-width */
/* Muss auf html oder body angewendet werden, oder einem spezifischen scrollbaren Element */
html {
    scrollbar-width: thin; /* 'auto', 'thin', 'none' */
    scrollbar-color: var(--color-primary-accent) var(--color-background-medium); /* Daumen-Farbe Track-Farbe */
}

/* --- Markdown-spezifische Styles --- */
.markdown-content p:last-child {
    margin-bottom: 0; /* Kein unterer Abstand für den letzten Absatz im Markdown-Block */
}
.markdown-content ul, .markdown-content ol {
    margin-bottom: 1em; /* Standardabstand für Listen */
}
/* Spoiler */
.spoiler {
    background-color: var(--color-text-secondary); /* Standardmäßig ausgeblendet */
    color: var(--color-text-secondary); /* Text in gleicher Farbe wie Hintergrund */
    padding: 0 0.3em;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.spoiler:hover,
.spoiler.revealed { /* Klasse .revealed kann per JS hinzugefügt werden, oder nur :hover */
    background-color: rgba(var(--color-background-light-rgb, 44,44,44), 0.5); /* Hellerer Hintergrund bei Hover/Reveal */
    color: var(--color-text-primary); /* Text wird sichtbar */
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--color-border-glow);
    padding-left: 1em;
    margin-left: 0; /* Standard-Margin entfernen, falls vorhanden */
    margin-bottom: 1em;
    color: var(--color-text-secondary);
    font-style: italic;
}
blockquote blockquote { /* Verschachtelte Blockquotes */
    margin-left: 1em;
    border-left-color: var(--color-secondary-accent); /* Andere Farbe für tiefere Ebenen */
}

/* Code-Blöcke */
pre {
    background-color: var(--color-background-medium);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    padding: 1em;
    overflow-x: auto; /* Horizontales Scrollen für lange Zeilen */
    margin-bottom: 1em;
    font-size: 0.9em; /* Etwas kleinerer Text für Code */
}
pre code { /* Innerhalb von pre */
    background-color: transparent; /* Kein extra Hintergrund für Code in Pre */
    padding: 0;
    border-radius: 0;
    border: none;
    font-family: 'Courier New', Courier, monospace; /* Monospace-Schriftart */
    color: var(--color-text-primary); /* Standard-Textfarbe für Code */
}

/* Inline Code */
code { /* Für einzelne `code`-Tags außerhalb von <pre> */
    background-color: var(--color-background-light);
    padding: 0.2em 0.4em;
    border-radius: 3px;
    border: 1px solid var(--color-border);
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    color: var(--color-secondary-accent); /* Leicht hervorgehobene Farbe für Inline-Code */
}

/* Listen im Markdown-Content (bereits teilweise durch .content-section ul li in style.css abgedeckt) */
.motd-content ul, .changelog-summary ul, .profile-about ul,
.motd-content ol, .changelog-summary ol, .profile-about ol {
    margin-left: 25px; /* Etwas mehr Einzug für geparste Listen */
    padding-left: 0; /* Zurücksetzen, falls global anders */
}
.motd-content li, .changelog-summary li, .profile-about li {
    margin-bottom: 0.4em;
}


/* --- Custom Checkbox Styling --- */
/* Verstecke die Standard-Checkbox */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--color-border-glow); /* Rand in Akzentfarbe (leicht gedimmt) */
    border-radius: 3px;
    background-color: var(--color-background-medium);
    cursor: pointer;
    position: relative;
    vertical-align: middle; /* Bessere Ausrichtung mit Label-Text */
    margin-right: 0.5em; /* Abstand zum Label */
    outline: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Style für den "checked" Zustand */
input[type="checkbox"]:checked {
    background-color: var(--color-primary-accent);
    border-color: var(--color-primary-accent);
}

/* Erzeuge den Haken mit einem Pseudo-Element */
input[type="checkbox"]:checked::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 1px;
    width: 6px;
    height: 12px;
    border: solid var(--button-current-text-color); /* Textfarbe des Hakens, passend zum Button-Text */
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

/* Hover-Effekt */
input[type="checkbox"]:hover {
    border-color: var(--color-primary-accent);
}

/* Fokus-Effekt (optional, für Barrierefreiheit) */
input[type="checkbox"]:focus-visible {
    box-shadow: 0 0 0 2px var(--color-background-dark), 0 0 0 4px var(--color-secondary-accent);
}
