html,
body{
    overflow-x: hidden;
}

/* =========================
   GLOBAL
========================= */
body{
    margin:0;
    background:#0b0f14;
    color:#e6f1ff;
    font-family:Arial, sans-serif;
}

/* =========================
   PAGE WRAPPER (DAS IST DIE MITTE)
========================= */
.page{
    max-width:900px;
    margin:0 auto;
    padding:110px 20px 60px; /* TOP = Navbar-Höhe + Luft */
    text-align:center;
}


/* =========================
   PAGE HERO
========================= */
.page-hero{
    max-width:900px;
    margin:0 auto 30px; /* vorher 15px auto 50px */
    text-align:center;
}


.page-hero h1{
    font-size:42px;
    font-weight:600;
    color:#0088ff;        /* VGR Blau */
    margin-bottom:14px;
}

.page-hero p{
    font-size:16px;
    color:#cbd6e2;        /* ruhiger Grauton */
    line-height:1.6;
    margin:0 auto;
    max-width:700px;
}


/* =========================
   NAVBAR
========================= */
.navbar{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background:#111;
    border-bottom:1px solid #0088ff;
    z-index: 1000;
}

.nav-inner{
    max-width:1400px;
    margin:0 auto;
    padding:12px 24px;

    display:grid;
    grid-template-columns: auto 1fr auto;
    align-items:center;
}

/* LOGO LINKS AM RAND */
.nav-logo{
    height:56px;
    display:block;
}

/* MENÜ WIRKLICH MITTIG */
.nav-links{
    display:flex;
    justify-content:center;
    align-items:center;
}


/* NAVIGATION RECHTS */
.nav-links a{
    margin-left:28px;
    text-decoration:none;
    color:#e6f1ff;
    font-size:15px;
    opacity:.85;
}

.nav-links a:hover{
    opacity:1;
}


/* =========================
   FOOTER
========================= */
.footer{
    border-top:1px solid rgba(0,136,255,.4);
    color:#888;
}

/* === HARTE ZENTRIERUNG === */
.content-center{
    max-width:900px;
    margin:80px auto;
    text-align:center;
}

/* =========================
   HERO
========================= */
.hero-center{
    max-width:900px;
    margin:140px auto 100px;
    text-align:center;
}

.hero-center h1{
    font-size:52px;
    margin-bottom:20px;
}

.hero-subline{
    font-size:16px;
    margin-top:0;
}

.hero-accent{
    color:#0088ff;
}

.hero-logo{
    margin-top:35px;
    width:260px;
    max-width:100%;
}

/* =========================
   CONTENT SECTIONS
========================= */
.content-section{
    max-width:900px;
    margin:50px auto;        /* vorher ~90px */
    text-align:center;
}

.content-section h2{
    margin-bottom:14px;
}

.content-section p{
    margin-bottom:12px;
}


/* =========================
   HERO SPLIT LAYOUT
========================= */
.hero-split{
    padding:70px 20px 50px;   /* vorher viel größer */
}

.hero-split-inner{
    max-width:1000px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:40px;
}

/* LOGO LINKS */
.hero-left img{
    width:220px;
    max-width:100%;
    filter:drop-shadow(0 0 25px rgba(0,136,255,.25));
}

/* VERTIKALE TRENNLINIE */
.hero-divider{
    width:2px;
    height:140px;            /* vorher ~180px */
    background:#0088ff;
    opacity:.8;
}

/* TEXT RECHTS */
.hero-right{
    max-width:420px;
}

.hero-right h1{
    font-size:42px;
    margin-bottom:16px;
}

.hero-right h1{
    font-size:40px;
    margin-bottom:12px;
}


.hero-right p{
    font-size:16px;
    color:#cbd6e2;
    line-height:1.6;
}

/* HORIZONTALE TRENNLINIE */
.section-divider{
    width:70%;
    max-width:900px;
    height:1px;
    margin:40px auto 50px;   /* vorher viel zu groß */
    background:linear-gradient(
        to right,
        transparent,
        #0088ff,
        transparent
    );
}

/* =========================
   TEXT FARBSYSTEM
========================= */

/* Hauptüberschriften */
.hero-right h1,
.content-section h2{
    color:#0088ff;
}

/* Fließtexte */
.hero-subline,
.content-section p{
    color:#cbd6e2;
}

/* =========================
   NAVBAR SEPARATOR
========================= */
.nav-separator{
    width:1px;
    height:22px;
    background:rgba(0,136,255,.8);
    margin:0 22px;
}

/* =========================
   SERVER VERBINDUNGEN
========================= */
.connection-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:30px;
    margin-top:35px;
}

/* Tablet */
@media (max-width: 1100px){
    .connection-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 600px){
    .connection-grid{
        grid-template-columns:1fr;
    }
}


.connection-card{
    background:linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.01)
    );
    border:1px solid rgba(0,136,255,.35);
    border-radius:16px;
    padding:22px 16px;
    text-align:center;
    text-decoration:none;
    color:#e6f1ff;
    transition:.25s ease;
    box-shadow:
        0 0 18px rgba(0,136,255,.18),
        inset 0 0 18px rgba(255,255,255,.02);
}

.connection-card img{
    width:100%;
    max-width:180px;
    height:auto;
    margin-bottom:14px;
    filter:drop-shadow(0 0 12px rgba(0,0,0,.6));
}

.connection-card span{
    display:block;
    font-weight:600;
    font-size:15px;
    letter-spacing:.5px;
}

/* Hover Effekt */
.connection-card:hover{
    transform:translateY(-6px);
    box-shadow:
        0 0 35px rgba(0,136,255,.45),
        inset 0 0 22px rgba(255,255,255,.04);
    border-color:#0088ff;
}

/* =========================
   REGELWERK – LISTEN FIX
========================= */
.rules ul{
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.rules li{
    margin-bottom: 10px;
}

/* =========================
   REGELWERK ACCORDION
========================= */
.rule-block{
    background:rgba(255,255,255,0.02);
    border:1px solid rgba(0,136,255,.25);
    border-radius:14px;
    padding:18px 22px;
    margin-bottom:18px;
    transition:.3s ease;
}

.rule-block summary{
    cursor:pointer;
    font-size:20px;
    font-weight:600;
    color:#0088ff;
    list-style:none;
}

.rule-block summary::-webkit-details-marker{
    display:none;
}

.rule-block summary::after{
    content:"+";
    float:right;
    font-size:22px;
    color:#0088ff;
    transition:.2s;
}

.rule-block[open] summary::after{
    content:"–";
}

.rule-block p{
    margin-top:12px;
    color:#cbd6e2;
    line-height:1.6;
}

/* =========================
   REGELWERK SPLIT (VORWORT | CHARAKTER)
========================= */
.rules-split{
    max-width:1000px;
    margin:60px auto;
    display:flex;
    gap:40px;
    align-items:flex-start;
    justify-content:center;
}

.rules-box{
    flex:1;
    text-align:center;
}

.rules-vertical-divider{
    width:2px;
    background:linear-gradient(
        to bottom,
        transparent,
        #0088ff,
        transparent
    );
    min-height:260px;
    opacity:.8;
}

/* MOBILE */
@media(max-width:900px){
    .rules-split{
        flex-direction:column;
    }

    .rules-vertical-divider{
        width:100%;
        height:1px;
        min-height:0;
        margin:20px 0;
        background:linear-gradient(
            to right,
            transparent,
            #0088ff,
            transparent
        );
    }
}

/* =========================
   REGELWERK – SPLIT FIX
========================= */

/* Boxen sauber einfärben */
.rules-box p,
.rules-box li{
    color:#cbd6e2;
    line-height:1.6;
    font-size:15px;
}

/* Überschriften korrekt blau */
.rules-box h2{
    color:#0088ff;
    margin-bottom:18px;
}

/* LISTENPUNKTE KOMPLETT ENTFERNEN */
.rules-box ul{
    list-style:none;
    padding:0;
    margin:0;
    text-align:left;          /* WICHTIG */
}

/* Listen sauber darstellen */
.rules-box li{
    padding-left:0;
    margin-bottom:10px;
}

/* falls Browser Marker erzwingt */
.rules-box li::marker{
    content:"";
}


/* =========================
   TEAM SEITE
========================= */

.team-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:40px;
    margin-top:40px;
}

/* Karten */
.team-card{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(0,136,255,.25);
    border-radius:18px;
    padding:26px 24px;
    text-align:center;
    box-shadow:0 0 25px rgba(0,0,0,.4);
    transition:.3s ease;
}

.team-card:hover{
    transform:translateY(-6px);
    box-shadow:0 0 35px rgba(0,136,255,.35);
    border-color:#0088ff;
}

/* Owner hervorheben */
.team-card.highlight{
    border-color:#0088ff;
    box-shadow:0 0 35px rgba(0,136,255,.45);
}

/* Rolle */
.team-role{
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    opacity:.75;
    margin-bottom:10px;
}

/* Name */
.team-name{
    font-size:26px;
    font-weight:600;
    color:#0088ff;
    margin-bottom:14px;
}

.team-name span{
    font-size:16px;
    opacity:.7;
    font-weight:400;
}

/* Beschreibung */
.team-text{
    font-size:15px;
    color:#cbd6e2;
    line-height:1.6;
    margin-bottom:18px;
}

/* Tags */
.team-tags{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
}

.team-tags span{
    font-size:12px;
    padding:6px 12px;
    border-radius:20px;
    background:rgba(0,136,255,.15);
    border:1px solid rgba(0,136,255,.35);
    color:#cfe9ff;
}

/* Mobile */
@media(max-width:900px){
    .team-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   TEAM SPLIT LAYOUT
========================= */
.team-split{
    max-width:1100px;
    margin:70px auto;
    display:flex;
    gap:50px;
    align-items:flex-start;
    justify-content:center;
}

.team-box{
    flex:1;
    text-align:center;
}

.team-divider{
    width:2px;
    background:linear-gradient(
        to bottom,
        transparent,
        #0088ff,
        transparent
    );
    min-height:420px;
    opacity:.7;
}

/* Texte */
.team-role{
    font-size:14px;
    letter-spacing:1px;
    text-transform:uppercase;
    opacity:.7;
    margin-bottom:6px;
}

.team-name{
    font-size:26px;
    font-weight:600;
    color:#0088ff;
    margin-bottom:18px;
}

.team-name span{
    font-size:18px;
    opacity:.7;
}

.team-text{
    color:#cbd6e2;
    line-height:1.6;
    margin-bottom:16px;
}

.team-tags span{
    display:inline-block;
    margin:6px 6px 0;
    padding:6px 12px;
    font-size:13px;
    border-radius:20px;
    background:rgba(0,136,255,.15);
    color:#e6f1ff;
}

/* Mobile */
@media(max-width:900px){
    .team-split{
        flex-direction:column;
    }

    .team-divider{
        width:70%;
        height:1px;
        min-height:0;
        margin:30px auto;
        background:linear-gradient(
            to right,
            transparent,
            #0088ff,
            transparent
        );
    }
}

/* =========================
   MEMORIAL SPLIT
========================= */
.memorial-split{
    max-width:1000px;
    margin:20px auto 60px; /* vorher 60px auto */
    display:flex;
    align-items:center;
    justify-content:center;
    gap:40px;
}

/* LINKS */
.memorial-left{
    flex:0 0 360px;
    text-align:center;
}

.memorial-left img{
    width:100%;
    border-radius:20px;
    box-shadow:0 0 40px rgba(0,136,255,.25);
    margin-bottom:18px;
}

.memorial-dates{
    margin-top:18px;
    text-align:center;
    font-size:14px;
    line-height:1.6;
    letter-spacing:.5px;
    color:#cbd6e2;
    opacity:.85;

    display:flex;
    flex-direction:column;
    align-items:center;
}


.memorial-dates .passed{
    margin-top:6px;
}


/* TRENNLINIE */
.memorial-divider{
    width:2px;
    height:220px;
    background:linear-gradient(
        to bottom,
        transparent,
        #0088ff,
        transparent
    );
    opacity:.7;
}

/* RECHTS */
.memorial-right{
    flex:1;
    text-align:left;
}

.memorial-right h2{
    color:#0088ff;
    margin-bottom:16px;
}

.memorial-right h2 span{
    font-weight:400;
    opacity:.8;
}

.memorial-right p{
    margin-bottom:14px;
    line-height:1.7;
}

/* ABSCHLUSS */
.memorial-end{
    margin-top:30px;
    font-weight:600;
}

/* MOBILE */
@media(max-width:900px){
    .memorial-split{
        flex-direction:column;
        gap:30px;
    }

    .memorial-divider{
        width:70%;
        height:1px;
        background:linear-gradient(
            to right,
            transparent,
            #0088ff,
            transparent
        );
    }

    .memorial-right{
        text-align:center;
    }
}

/* =========================
   MEMORIAL – ZENTRIERUNG AUFHEBEN
========================= */
.memorial-split,
.memorial-split *{
    text-align:initial;
}

/* MEMORIAL – HEADLINE ZENTRIERT */
.memorial-right h2,
.memorial-right > p:first-of-type{
    text-align:center;
}


/* =========================
   LEISE MEMORIAL REFERENZ
========================= */
.memorial-hint{
    max-width:900px;
    margin:60px auto 40px;
    text-align:center !important;
    opacity:.75;
}

.memorial-hint p{
    font-size:14px;
    line-height:1.6;
    color:#cbd6e2;
    margin-bottom:10px;
    text-align:center !important;
}

.memorial-hint a{
    display:inline-block;
    font-size:14px;
    color:#0088ff;
    text-decoration:none;
    letter-spacing:.5px;
    transition:.25s ease;
    text-align:center !important;
}

.memorial-hint a:hover{
    text-shadow:0 0 8px rgba(0,136,255,.6);
    opacity:1;
}


/* =========================
   DEIN WEG NACH VGR
========================= */

.weg-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:30px;
    margin-top:40px;
}

.weg-card{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(0,136,255,.25);
    border-radius:18px;
    padding:28px 24px;
    text-align:center;
    transition:.3s ease;
    box-shadow:0 0 25px rgba(0,0,0,.35);
}

.weg-card:hover{
    transform:translateY(-6px);
    border-color:#0088ff;
    box-shadow:0 0 40px rgba(0,136,255,.35);
}

.weg-card.highlight{
    border-color:#0088ff;
    box-shadow:0 0 45px rgba(0,136,255,.45);
}

.weg-step{
    font-size:42px;
    font-weight:700;
    color:#0088ff;
    opacity:.85;
    margin-bottom:10px;
}

.weg-card h2{
    color:#0088ff;
    margin-bottom:14px;
}

.weg-card p{
    color:#cbd6e2;
    line-height:1.6;
    font-size:15px;
}

.weg-note{
    margin-top:10px;
    font-size:14px;
    opacity:.8;
}

.weg-note.strong{
    font-weight:600;
    opacity:1;
}

.weg-list{
    list-style:none;
    padding:0;
    margin:14px 0 0;
}

.weg-list li{
    margin-bottom:6px;
    font-size:14px;
    color:#cbd6e2;
}

.weg-actions{
    margin-top:18px;
    display:flex;
    justify-content:center;
    gap:14px;
}

.weg-actions a{
    text-decoration:none;
    padding:8px 16px;
    border-radius:20px;
    font-size:13px;
    border:1px solid rgba(0,136,255,.45);
    color:#e6f1ff;
    transition:.25s;
}

.weg-actions a:hover{
    background:#0088ff;
    color:#0b0f14;
}

/* Call to Action Button */
.primary-btn{
    display:inline-block;
    padding:12px 28px;
    border-radius:30px;
    background:#0088ff;
    color:#0b0f14;
    font-weight:600;
    text-decoration:none;
    transition:.25s;
}

.primary-btn:hover{
    box-shadow:0 0 25px rgba(0,136,255,.6);
    transform:translateY(-2px);
}

/* =========================
   FRAKTIONEN – DISCORD ENTRY
========================= */

.connection-center{
    display:flex;
    justify-content:center;
    margin-top:40px;
}

.connection-center .connection-card{
    width:100%;
    max-width:720px;          /* ← BREITER, aber kontrolliert */
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    padding:28px 32px;
}

/* Bild links größer */
.connection-center .connection-card img{
    max-width:220px;
    margin:0;
}

/* Text klar & ruhig */
.connection-center .connection-card span{
    font-size:18px;
    font-weight:600;
    letter-spacing:.4px;
}

/* =========================
   FRAKTIONEN – SPLIT LAYOUT
========================= */

.fraktion-row{
    max-width:1100px;
    margin:70px auto;
    display:flex;
    gap:60px;
    align-items:flex-start;
}

.fraktion-col{
    flex:1;
    color:#cbd6e2;
    line-height:1.7;
    font-size:15px;
}

.fraktion-col h2{
    color:#0088ff;
    margin-bottom:16px;
}

.fraktion-col p{
    margin-bottom:14px;
}

.fraktion-col.left,
.fraktion-col.right{
    text-align:center;
}

.fraktion-col.center{
    text-align:center;
}

/* ruhiger Hinweistext */
.muted{
    opacity:.8;
}

/* Hervorhebung */
.highlight-text{
    color:#0088ff;
    font-weight:600;
    margin-bottom:25px;
}

/* Mobile */
@media(max-width:900px){
    .fraktion-row{
        flex-direction:column;
        gap:30px;
        text-align:center;
    }

    .fraktion-col.left,
    .fraktion-col.right{
        text-align:center;
    }
}

/* =========================
   FRAKTIONEN – VERTIKALE TRENNLINIE
========================= */

.fraktion-divider{
    width:2px;
    align-self:stretch;
    background:linear-gradient(
        to bottom,
        transparent,
        #0088ff,
        transparent
    );
    opacity:.8;
}

body.community-dashboard {
    background: #0e0e0e;
}

body.community-dashboard .page {
    opacity: 1;
    filter: none;
}

/* ===============================
   COMMUNITY DASHBOARD FIX
=============================== */

body.community-dashboard::before {
    display: none !important;
}

body.community-dashboard .page {
    opacity: 1 !important;
    filter: none !important;
}

body.community-dashboard {
    background: #0e0e0e;
}

/* =========================
   DASHBOARD USER INFO
========================= */
.dashboard-userinfo{
    position: absolute;
    top: 90px;      /* direkt unter Navbar */
    right: 40px;
    font-size:14px;
    color:#cbd6e2;
    opacity:.9;
}

.dashboard-userinfo strong{
    color:#0088ff;
    font-weight:600;
}

/* =========================
   COMMUNITY PROFILE
========================= */
.profile-box{
    max-width:520px;
    margin:0 auto;
    padding:26px 28px;
    border-radius:18px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(0,136,255,.35);
    box-shadow:0 0 30px rgba(0,0,0,.4);
}

.profile-box h2{
    color:#0088ff;
    margin-bottom:18px;
}

.profile-box p{
    margin-bottom:16px;
    font-size:15px;
    color:#cbd6e2;
}

/* =========================
   COMMUNITY GÄSTEBUCH
========================= */

.page.guestbook-page .guestbook-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;

    width: 100%;
    max-width: 1400px;
    margin: 0;
}


.guestbook-card{
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.015)
    );
    border: 1px solid rgba(0,136,255,.35);
    border-radius: 18px;

    padding: 16px 18px 14px;

    display: flex;
    flex-direction: column;
    gap: 12px;

    height: auto;        /* 🔴 DAS IST DER PUNKT */
    align-self: start;   /* 🔴 KEIN STRETCH */

    box-shadow:
        0 0 14px rgba(0,136,255,.18);
}


.guestbook-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 0 28px rgba(0,136,255,.45);
}

/* Kopf */
.guestbook-header{
    display: flex;
    align-items: center;
    gap: 12px;
}

.guestbook-header img{
    width: 42px;
    height: 42px;
    border-radius: 50%;
    flex-shrink: 0;
}

.guestbook-header strong{
    font-size: 15px;
    color: #e6f1ff;
}

.guestbook-time{
    margin-left: auto;
    font-size: 12px;
    color: #9aa6b2;
    white-space: nowrap;
}


.guestbook-time{
    font-size:12px;
    opacity:.6;
}

/* Text */
.guestbook-text{
    font-size: 14.5px;
    line-height: 1.6;
    color: #cbd6e2;
    word-break: break-word;
}


/* Reaktion */
.guestbook-reaction{
    text-align: right;
    margin-top: 8px;
}

.guestbook-reaction a{
    font-size: 14px;
    color: #ff5f8f;
    text-decoration: none;
}


.guestbook-reaction a:hover{
    transform: scale(1.15);
}


.nav-links a.is-active {
    position: relative;
}

.nav-links a.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        #0088ff,
        transparent
    );
    box-shadow: 0 0 12px rgba(0,136,255,.6);
}

/* =========================
   GÄSTEBUCH – FULL WIDTH OVERRIDE
========================= */

.page.guestbook-page,
.page.guestbook-page .content-section {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: initial;
}

.page.guestbook-page {
    text-align: left;
}

/* =========================
   GÄSTEBUCH – FEED
========================= */

.page.guestbook-page .guestbook-feed{
    width: 100%;
    max-width: 1400px;   /* kontrollierte Breite */
    margin: 0 auto;      /* sauber zentriert */
    padding: 0 16px;     /* sicher, kein Overflow */
    box-sizing: border-box;
}

@media (max-width: 1100px){
    .page.guestbook-page .guestbook-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px){
    .page.guestbook-page .guestbook-grid{
        grid-template-columns: 1fr;
    }
}

.page.guestbook-page{
    overflow-x: hidden;
}

/* =========================
   GÄSTEBUCH – HEADER ZENTRIERUNG
========================= */

.guestbook-head-wrap{
    width:100%;
    display:flex;
    justify-content:center;   /* 🔥 GANZE GRUPPE MITTIG */
}

.guestbook-head-inner{
    display:flex;
    align-items:center;
    gap:40px;

    max-width:1100px;         /* 🔥 kontrollierte Gesamtbreite */
    width:100%;
}

.guestbook-section h3,
.guestbook-section p.muted{
    text-align: center;
}

/* =========================
   GALERIE – UPLOAD CARD
========================= */

.gallery-upload-card{
    background: linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.015)
    );
    border:1px solid rgba(0,136,255,.35);
    border-radius:18px;
    padding:26px 28px;
    box-shadow:
        0 0 22px rgba(0,136,255,.25),
        inset 0 0 18px rgba(255,255,255,.02);

    display:flex;
    flex-direction:column;
    gap:22px;
}

.gallery-upload-title{
    font-size:22px;
    font-weight:600;
    color:#0088ff;
    text-align:center;
}

.gallery-upload-hint{
    font-size:14px;
    color:#cbd6e2;
    opacity:.85;
    text-align:center;
    line-height:1.6;
}

/* Datei wählen */
.upload-file-card{
    border:1px dashed rgba(0,136,255,.45);
    border-radius:14px;
    padding:18px;
    text-align:center;
    cursor:pointer;
    transition:.25s;
}

.upload-file-card:hover{
    border-color:#0088ff;
    box-shadow:0 0 18px rgba(0,136,255,.35);
}

.upload-file-card strong{
    display:block;
    color:#0088ff;
    margin-bottom:6px;
}

.upload-file-name{
    font-size:13px;
    opacity:.75;
}

/* Textarea */
.gallery-upload-card textarea{
    width:100%;
    min-height:90px;
    background:#121821;
    border:1px solid rgba(255,255,255,.15);
    border-radius:12px;
    padding:12px 14px;
    color:#e6f1ff;
    resize:vertical;
    font-size:14px;
}

.gallery-upload-card textarea:focus{
    outline:none;
    border-color:#0088ff;
}

/* Submit */
.gallery-upload-submit{
    align-self:center;
    padding:12px 34px;
    border-radius:30px;
    background:#0088ff;
    color:#0b0f14;
    font-weight:600;
    border:none;
    cursor:pointer;
    transition:.25s;
}

.gallery-upload-submit:hover{
    box-shadow:0 0 28px rgba(0,136,255,.6);
    transform:translateY(-2px);
}

/* ===== VGR Launcher Download Card ===== */

.launcher-download-center {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}

.launcher-download-card {
    width: 280px;
    padding: 26px 24px 28px;
    text-align: center;

    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;

    backdrop-filter: blur(10px);
    text-decoration: none;
    color: #ffffff;

    transition: all 0.25s ease;
}

.launcher-download-card:hover {
    border-color: rgba(0,136,255,0.45);
    box-shadow: 0 0 30px rgba(0,136,255,0.25);
    transform: translateY(-2px);
}

/* Logo */
.launcher-logo {
    width: 120px;
    margin-bottom: 14px;
    filter: drop-shadow(0 0 20px rgba(0,136,255,0.45));
}

/* Textbereich */
.launcher-meta strong {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
}

.launcher-meta span {
    font-size: 13px;
    opacity: 0.65;
}

/* Call to Action */
.launcher-cta {
    margin-top: 18px;
    padding: 12px 0;

    background: rgba(0,136,255,0.18);
    border: 1px solid rgba(0,136,255,0.35);
    border-radius: 10px;

    font-weight: 500;
    transition: all 0.25s ease;
}

.launcher-download-card:hover .launcher-cta {
    background: rgba(0,136,255,0.3);
    box-shadow: 0 0 18px rgba(0,136,255,0.45);
}

/* =========================
   MOBILE NAVIGATION
========================= */
@media (max-width: 768px) {

    /* Grid vereinfachen */
    .nav-inner {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    /* Burger anzeigen */
    .nav-toggle {
        display: block;
        justify-self: end; /* WICHTIG */
    }

    /* 🔴 WICHTIG: Menü darf initial KEINEN Platz belegen */
    .nav-links {
        display: none;            /* ← DAS hat gefehlt */
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;

        background: rgba(11, 15, 20, 0.98);
        backdrop-filter: blur(8px);

        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 22px;

        z-index: 1001;
    }

    /* Menü sichtbar nach Klick */
    .nav-links.open {
        display: flex;            /* ← UND DAS */
    }

    .nav-links a {
        margin: 0;
        font-size: 1.25rem;
    }

    .nav-separator {
        display: none;
    }
}

/* =========================
   BURGER → X
========================= */
.nav-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.nav-toggle.active span:nth-child(2) {
    opacity: 0;
}

.nav-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* =========================
   GLOBAL HAMBURGER
========================= */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 2000;
}

.nav-toggle span {
    display: block;
    width: 26px;
    height: 3px;
    margin: 5px 0;
    background: #ffffff;
}

/* MOBILE */
@media (max-width: 768px) {
    .nav-toggle {
        display: block;
    }
}
