﻿/*
==================================================
  Narahea KalOnline P-Server Style Sheet
  Version: Final Clean Layout
==================================================
*/

/* ------------------- GLOBALE STYLES & TYPOGRAFIE ------------------- */

body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #1a1a1a;
    color: #f0f0f0; /* Standard-Textfarbe: Schlichtes Hellgrau/Weiß */
    line-height: 1.6;
    /* KORREKTUR: 'standard-cursor-typ' durch gültigen Fallback 'default' ersetzt */
    cursor: url('../img/cursor/Kal_Cursor.png'), default;
}

h1, h2, h3 {
    color: #ffffff; /* Überschriften: Schlicht Weiß */
    font-weight: 700;
}

/* Stil-Anpassung: Untere Trennlinie für H2-Überschriften in den Kisten */
.news-column h2, .status-column h2 {
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: 2px solid #ff6347; /* Dezente rote Trennlinie */
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 5px 10px 10px 10px;
}


/* ------------------- HINTERGRUND & HEADER-WRAPPER ------------------- */

.top-background-wrapper {
    /* HINTERGRUND ENTFERNT: Dieser Wrapper sorgt nun nur für die Partikel und den dunklen Übergang am unteren Rand */
    background: linear-gradient(to bottom, rgba(26, 26, 26, 0.0) 80%, #1a1a1a 100%);
    background-size: cover;
    padding-bottom: 25px; /* REDUZIERT von 50px auf 25px, um den Abstand zu verringern */
    position: relative;
    overflow: hidden;
}

/* ------------------- NAVIGATION BAR & LOGO ------------------- */

.main-header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    background-color: rgba(39, 39, 39, 0.6);
    backdrop-filter: blur(5px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    width: 100%;
    padding: 15px 0;
}

.header-content-limiter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1280px;
    padding: 0 40px;
}

/* LOGO-STYLING (MIT BILD UND TEXT) */
.logo {
    display: flex; /* Für die Ausrichtung von Bild und Text */
    align-items: center; /* Zentriert Bild und Text vertikal */
    position: relative;
    padding: 5px 0;
    z-index: 150; /* Muss über der Navigationsleiste liegen */
    cursor: pointer;
    transition: all 0.5s ease-in-out;
}

#logo-image {
    height: 40px; /* Standardgröße */
    margin-right: 10px; /* Abstand zwischen Bild und Text */
    transition: all 0.5s ease-in-out;
}

.logo-text {
    font-size: 1.6em;
    font-weight: 700;
    color: #ffffff;
    transition: all 0.5s ease-in-out;
    white-space: nowrap; /* Verhindert Zeilenumbruch */
}

/* Scroll-Effekt: Logo wird verkleinert und fixiert */
.logo.fixed-logo {
    position: fixed; /* Jetzt ist es fixiert */
    top: 15px;
    left: 40px;
    padding: 0;
}

    .logo.fixed-logo #logo-image {
        height: 35px; /* Kleiner, wenn fixiert */
        margin-right: 0; /* Entfernt den Abstand zum Text */
    }

    .logo.fixed-logo .logo-text {
        opacity: 0; /* Text beim Scrollen ausblenden */
        visibility: hidden;
        max-width: 0; /* Platzverbrauch reduzieren */
        margin-left: -10px; /* Verschiebt den Text nach links */
        transition: opacity 0.3s, visibility 0.3s, max-width 0.3s;
    }

/* Zentrierte Navigations-Box (ANPASSUNG: Breiter + Scroll-Effekt) */
.navbar {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    position: relative;
    background-color: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 69, 0, 0.5);
    border-radius: 5px;
    padding: 5px 15px;
    max-width: 600px;
    margin: 0 auto;
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out, visibility 0.5s; /* Für die Auflösung */
}

    /* Scroll-Effekt: Nav wird aufgelöst */
    .navbar.dissolved {
        opacity: 0;
        transform: translateY(-20px);
        visibility: hidden;
        pointer-events: none;
    }


/* Navigations-Items: Moderner Hover-Effekt (Slider) */
.nav-item, .dropdown-toggle {
    color: #f0f0f0;
    text-decoration: none;
    font-weight: 800;
    font-size: 1.1em;
    transition: color 0.3s;
    padding: 5px 15px;
    position: relative;
    overflow: hidden;
    display: block;
    cursor: pointer;
}

    .nav-item:after, .dropdown-toggle:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #ff6347;
        transform: translateX(-100%);
        transition: transform 0.2s ease-in-out;
    }

    .nav-item:hover:after, .dropdown-toggle:hover:after {
        transform: translateX(0);
    }

/* ------------------- SERVER TIME ANZEIGE ------------------- */
#server-time-container {
    text-align: right;
    padding: 5px 0;
    position: relative;
    z-index: 101;
}

.time-label {
    display: block;
    font-size: 1.0em;
    color: #ff6347;
    font-weight: 400;
}

#current-server-time {
    display: block;
    font-size: 1.4em;
    font-weight: 700;
    color: #ffffff;
    text-shadow: 0 0 0px rgba(255, 69, 0, 0.5);
}


/* ------------------- DROPDOWN MENÜ ------------------- */

.dropdown-container {
    position: relative;
    display: inline-block;
    margin: 0 5px;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(44, 44, 44, 0.95);
    border: 1px solid #ff6347;
    border-radius: 4px;
    min-width: 150px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.7);
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

    .dropdown-menu.visible {
        opacity: 1;
        visibility: visible;
    }

.dropdown-item {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: #f0f0f0;
    white-space: nowrap;
    transition: background-color 0.2s, color 0.2s;
    margin: 0;
}

    .dropdown-item:hover {
        background-color: #ff6347;
        color: #1a1a1a;
    }

/* ------------------- SCROLL-TO-TOP BUTTON (FOOTER) - NEU ------------------- */
.scroll-btn-bottom {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 1000;
    background-color: #ff6347; /* Rote Akzentfarbe */
    color: #1a1a1a;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s, transform 0.3s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

    .scroll-btn-bottom:hover {
        background-color: #ff4500;
        transform: scale(1.1);
    }

    .scroll-btn-bottom.visible-btn {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
/* ------------------- /SCROLL-TO-TOP BUTTON ------------------- */


/* ------------------- HERO SECTION (BANNER) - HINTERGRUND BEGRENZT HIER ------------------- */

.hero-section {
    text-align: center;
    padding: 5px 0;
    max-width: 1200px;
    margin: 2rem auto 0 auto;
    position: relative; /* Wichtig: Ermöglicht die absolute Positionierung des Partikel-Containers */
    z-index: 10;
    /* HINTERGRUND */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 100%), url('../img/background.jpg') no-repeat center top;
    background-size: cover;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7);
}

.hero-banner {
    /* Nur noch Text-Container, Hintergrund ist jetzt im .hero-section */
    background: none;
    height: 300px;
    border-radius: 8px;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

    .hero-banner h1 {
        font-size: 3em;
        font-weight: 700;
        display: inline-block;
        /* Shimmer Gradient */
        background: linear-gradient(90deg, #d3482f 0%, #ff6347 50%, #d3482f 100% );
        background-size: 200% 100%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        /* Glow Effekt */
        text-shadow: 0 0 2px rgba(255, 215, 0, 0.8);
        /* Animation */
        animation: goldShimmer 6s infinite linear;
    }

    .hero-banner h2 {
        margin-top: 5px;
        font-size: 1.5em;
        font-weight: 400;
        color: #ffffff;
    }

/* ------------------- HAUPTINHALTS-SPALTEN (NEWS & STATUS) ------------------- */

.content-columns {
    display: flex;
    gap: 10px;
    margin-top: 0;
}

/* KISTEN-BASIS-STYLING: Ohne Hover-Effekt */
.news-column, .status-column {
    padding: 25px;
    border-radius: 8px;
    background-color: #2c2c2c;
    margin-top: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    border: 1px solid #ff6347;
    transition: none;
}

    /* Hover-Styles entfernt */
    .news-column:hover, .status-column:hover {
        transform: none;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    }

.news-column {
    flex: 3;
    min-height: 500px;
}



.status-column {
    flex: 1;
    min-height: 500px;
}

/* News Post Styling */
.news-post {
    border-left: 3px solid #ff6347;
    padding-left: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

    .news-post h3 {
        color: #ffffff; /* Überschrift im Post: Schlicht Weiß */
    }

    .news-post:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }

.news-date {
    font-size: 0.85em;
    color: #aaa;
    margin-bottom: 10px;
    display: block;
}

.read-more {
    color: #ff6347;
    text-decoration: none;
    font-weight: bold;
}

/* Status Box Styling */
.status-box {
    background-color: #3a3a3a;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 30px;
    border: 1px solid #ff4500;
    color: #f0f0f0;
}

    .status-box p {
        color: #f0f0f0;
    }

.status-data {
    float: right;
    font-weight: 700;
    color: #ffffff;
}

.status-indicator {
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 4px;
}

.online {
    color: #00ff00;
    background-color: rgba(0, 255, 0, 0.1);
}

.offline {
    color: #f02b2b;
    background-color: rgba(255, 99, 71, 0.1);
}

.maintenance {
    color: #efc82b;
    background-color: rgba(239, 200, 43, 0.1);
}

.discord-button {
    display: block;
    text-align: center;
    background-color: #7289da;
    color: #fff;
    padding: 10px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 10px;
    transition: background-color 0.3s;
}

    .discord-button:hover {
        background-color: #677bc4;
    }

/* ------------------- FOOTER ------------------- */

footer {
    text-align: center;
    padding: 20px;
    margin-top: 40px;
    border-top: 1px solid #444;
    color: #888;
    font-size: 0.9em;
}

/* style.css Ergänzungen am Ende der Datei */

/* ------------------- EINZELNE INHALTSBOX (Für info.html) ------------------- */
.single-content-box {
    /* Übernimmt das gleiche Styling wie die anderen Inhaltsspalten */
    padding: 25px;
    border-radius: 8px;
    background-color: #2c2c2c;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    border: 1px solid #ff6347;
    /* Nimmt die volle Breite an */
    width: 100%;
    box-sizing: border-box;
    margin-top: 40px;
}

    .single-content-box h2 {
        /* Wiederholt den Trennlinien-Stil */
        padding-bottom: 5px;
        margin-bottom: 20px;
        border-bottom: 2px solid #ff6347;
        display: block;
    }

/* Stat-Grid für Server-Infos */
.stat-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 20px 0 40px;
}

.stat-item {
    flex: 1;
    background-color: #3a3a3a;
    padding: 15px;
    border-radius: 6px;
    text-align: center;
    border: 1px solid #444;
}

    .stat-item h3 {
        color: #ff6347;
        font-size: 1em;
        margin: 0 0 5px 0;
    }

.stat-value {
    font-size: 1.2em;
    font-weight: 700;
    margin: 0;
}

/* FAQ Styling */
.faq-entry {
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

    .faq-entry h3 {
        color: #ffffff;
        margin: 0 0 5px 0;
    }

    .faq-entry:last-child {
        border-bottom: none;
    }


.active-dropdown-item {
    background-color: #ff6347 !important;
    color: #1a1a1a !important;
}

/* Styling für Regeln/FAQs (basierend auf news-post) */
.rule-entry {
    border-left: 3px solid #ff6347;
    padding-left: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

    .rule-entry h3 {
        color: #ff6347; /* Hebt die Regelnummer hervor */
        margin: 0 0 5px 0;
    }

    .rule-entry:last-child {
        border-bottom: none;
    }


/* ------------------- ZWEISPALTIGES GUIDE-LAYOUT ------------------- */
.guide-layout {
    display: flex;
    gap: 20px;
    margin-top: 40px;
    /* NEU: Flex-Container und Höhe setzen, um Scrollen in der Sidebar zu ermöglichen */
    /* Die 120px sind ein geschätzter Wert für Header + Ränder, ggf. anpassen */
    height: calc(100vh - 120px);
    align-items: flex-start; /* Stellt sicher, dass das Layout oben beginnt */
}

.quest-sidebar {
    flex: 1; /* Linke Seite: Quest-Navigation */
    max-width: 300px;
    background-color: #2c2c2c;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #ff6347;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    /* ALT: height: fit-content; ERSETZT DURCH: */
    height: 100%; /* Wichtig: Nimmt die volle Höhe des guide-layout ein */
    display: flex; /* Wichtig: Flexbox, um Elemente vertikal anzuordnen */
    flex-direction: column;
    flex-shrink: 0; /* Verhindert, dass die Sidebar schrumpft */
}

.quest-content {
    flex: 3; /* Rechte Seite: Quest-Inhalt */
    background-color: #2c2c2c;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #ff6347;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
    /* HIER SIND DIE NEUEN SCROLLBAR-EIGENSCHAFTEN */
    max-height: calc(100vh - 120px); /* Übernimmt die Höhe des guide-layout (angenommen 120px für Header + Ränder) */
    overflow-y: auto; /* Erlaubt vertikales Scrollen bei Überlauf */
}

.quest-sidebar h2 {
    /* Wiederholt den Trennlinien-Stil */
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 2px solid #ff6347;
    display: block;
    flex-shrink: 0; /* Wichtig: Verhindert, dass die H2 scrollt */
}

/* NEU: Der Container der Quest-Liste erhält die Scrollbar */
#quest-list-container {
    flex-grow: 1; /* Nimmt den gesamten verfügbaren vertikalen Platz ein */
    overflow-y: auto; /* Erlaubt vertikales Scrollen bei Überlauf */
    /* Behält die vertikalen Abstände bei, die du vorher im .quest-list hattest, 
       und fügt Platz für die Scrollbar hinzu, falls sie erscheint. */
    margin-top: 15px;
    margin-bottom: 20px;
    padding-right: 10px; /* Kleiner interner Abstand für die Scrollbar */
}


.quest-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    /* Die ursprünglichen Margins wurden nach #quest-list-container verschoben, 
       aber die Liste "Other Guides" am Ende behält ihre Margins über das H2 */
}

    .quest-list button {
        color: #f0f0f0;
        text-decoration: none;
        padding: 5px 0;
        transition: color 0.2s;
        background-color: transparent;
        border: none;
        outline: none;
        border-bottom: 1px dashed #444;
    }

        .quest-list button.active {
            color: #ff6347;
        }

        .quest-list button:hover {
            color: #ff6347;
        }

/* Quest-Schritt-Styling */
.quest-content h3 {
    color: #ff6347;
    font-size: 1.2em;
}

.quest-step {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    border-left: 3px solid #ff6347;
    padding-left: 15px;
    padding-top: 5px;
    cursor: pointer; /* Zeigt Interaktivität an */
}

    .quest-step img {
        width: 32px;
        height: 32px;
        object-fit: contain;
        margin-right: 10px;
        border: 1px solid #ff6347;
        border-radius: 4px;
        object-fit: cover;
    }

    .quest-step span {
        color: #f0f0f0;
    }



/* ------------------- SIMPLER GUIDE HEADER (Guide/Quest Seiten) ------------------- */

.top-background-wrapper {
    /* ... (Die bestehenden Styles bleiben hier, aber der Inhalt der guide.html ignoriert sie) ... */
}

/* NEU: Simplifizierter Header für Guide-Seite */
.simple-header {
    background-color: #1a1a1a;
    border-bottom: 2px solid #ff6347;
    padding: 20px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 100;
}

.guide-title {
    font-size: 1.8em;
    color: #ffffff;
    flex-grow: 1; /* Nimmt den restlichen Platz ein */
    text-align: center;
    margin: 0;
}

/* Home-Pfeil (links) */
.back-arrow-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #ff6347;
    font-weight: bold;
    font-size: 1.2em;
    transition: color 0.3s;
}

    .back-arrow-link:hover {
        color: #ffffff;
    }

.back-arrow {
    font-size: 2em;
    line-height: 1;
    margin-right: 5px;
}

/* ------------------- ZWEISPALTIGES GUIDE-LAYOUT (fortgesetzt) ------------------- */

/* Container für Quest-Seiten benötigt keinen oberen Abstand, da es keinen Hero gibt */
.guide-container {
    padding-top: 0;
}

/* Quest-Schritt-Styling: Mit Status-Button */
.quest-step {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    border-left: 3px solid #ff6347;
    padding-left: 15px;
    padding-top: 5px;
    cursor: pointer; /* Zeigt Interaktivität an */
}

    .quest-step span {
        color: #f0f0f0;
        flex-grow: 1;
    }

    .quest-step img {
        width: 32px;
        height: 32px;
        margin-right: 10px;
        border: 1px solid #ff6347;
        border-radius: 4px;
        object-fit: cover;
    }

/* Status-Toggle Button */
.step-toggle-btn {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    margin-right: 10px;
    border: 2px solid #ff6347;
    background-color: transparent;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
}

    .step-toggle-btn.complete {
        background-color: #008000; /* Grün für Abgeschlossen */
        border-color: #008000;
        color: #1a1a1a;
    }

    .step-toggle-btn.incomplete {
        background-color: transparent;
        border-color: #ff6347;
        color: #ff6347;
    }

/* Quest-Status-Icon in der Sidebar */
.quest-item {
    display: flex;
    align-items: center;
}

.quest-status-icon {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8em;
    font-weight: bold;
    margin-right: 8px;
    color: #1a1a1a;
}

    .quest-status-icon.complete {
        background-color: #008000;
    }

    .quest-status-icon.incomplete {
        background-color: #ff6347;
        color: #1a1a1a;
    }


.search-input {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    box-sizing: border-box;
    border: 1px solid #ff6347;
    border-radius: 4px;
    background-color: #3a3a3a;
    color: #f0f0f0;
    font-size: 1em;
    flex-shrink: 0; /* Verhindert, dass das Suchfeld scrollt */
}

.filter-btn {
    width: 100%;
    padding: 10px;
    margin-top: 15px; /* NEU: Fügt Abstand nach oben hinzu, da der Button jetzt unten ist */
    margin-bottom: 0;
    background-color: #ff6347;
    color: #1a1a1a;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s;
    flex-shrink: 0; /* Verhindert, dass der Button scrollt */
}

    .filter-btn:hover {
        background-color: #ff4500;
    }

    .filter-btn.active-filter {
        background-color: #008000; /* Grün, wenn aktiv */
        color: #f0f0f0;
    }

/* Regel zum Ausblenden abgeschlossener Quests */
.quest-item[data-status="complete"].hidden-by-filter {
    display: none !important;
}

/* Entfernung der interaktiven Buttons, da sie nicht mehr benötigt werden */
.quest-step button {
    display: none;
}


.icon-tooltip-wrapper {
    position: relative;
    display: inline-block;
    cursor: help;
    /* NEU: Horizontalen Abstand (margin) reduzieren */
    margin: 0 2px;
    /* WICHTIG: Stellt sicher, dass das Bild auf derselben Linie ist wie der Text */
    vertical-align: middle;
}

.quest-item-icon {
    /* Stellt sicher, dass das Bild richtig angezeigt wird */
    display: block;
    /* NEU: Margins komplett entfernen, falls sie standardmäßig gesetzt sind */
    margin: 0;
}

/* Tooltip-Box selbst */
.custom-tooltip {
    visibility: hidden; /* Standardmäßig unsichtbar */
    opacity: 0; /* Startet transparent */
    /* Positionierung */
    position: absolute;
    z-index: 9001; /* Sorgt dafür, dass es über allem liegt */
    bottom: 120%; /* Platziert den Tooltip oberhalb des Icons */
    left: 50%;
    transform: translateX(-50%); /* Zentriert den Tooltip horizontal */
    /* Styling */
    min-width: 150px;
    padding: 8px 12px;
    background-color: #ff6347; /* Rote Akzentfarbe */
    color: #1a1a1a;
    text-align: center;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: bold;
    white-space: nowrap; /* Verhindert Zeilenumbruch */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    /* Animation */
    transition: opacity 0.3s, visibility 0.3s;
}

/* Tooltip anzeigen, wenn über den Wrapper gefahren wird */
.icon-tooltip-wrapper:hover .custom-tooltip {
    visibility: visible;
    opacity: 1;
}

/* Optional: Kleiner Pfeil unter dem Tooltip (CSS Triangle) */
.custom-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #ff6347 transparent transparent transparent;
}




.quest-item-group {
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap to the next line if space is limited */
    gap: 10px; /* Space between the items */
    align-items: center; /* Vertically aligns items in the group */
}

/* Optional: Adjust width of tooltips if they overlap */
.quest-step .icon-tooltip-wrapper .custom-tooltip {
    white-space: nowrap; /* Prevents tooltip text from wrapping */
}

/* Optional: Scrollbar-Styling für Webkit-Browser (Chrome, Safari, Edge) */
#quest-list-container::-webkit-scrollbar {
    width: 8px; /* Breite der Scrollbar */
}

#quest-list-container::-webkit-scrollbar-thumb {
    background-color: #ff6347; /* Farbe des Scroll-Balkens (Daumen) */
    border-radius: 4px;
}

#quest-list-container::-webkit-scrollbar-track {
    background-color: #1a1a1a; /* Hintergrund der Scrollbar */
}

/* NEU: Scrollbar-Styling für .quest-content */
.quest-content::-webkit-scrollbar {
    width: 8px;
}

.quest-content::-webkit-scrollbar-thumb {
    background-color: #ff6347;
    border-radius: 4px;
}

.quest-content::-webkit-scrollbar-track {
    background-color: #1a1a1a;
}









/* =============================
   Quest Navigation Buttons
============================= */
.quest-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 25px;
}

    .quest-nav button {
        background-color: #ff6347;
        color: #fff;
        border: none;
        padding: 10px 18px;
        border-radius: 6px;
        cursor: pointer;
        font-weight: bold;
        font-size: 1em;
        transition: background 0.3s, transform 0.2s;
    }

        .quest-nav button:hover {
            background-color: #ff4500;
            transform: scale(1.05);
        }

/*
 ==================================================
   Anpassung für Quest 99: Goldener Schimmer-Effekt
 ==================================================
*/

/* Keyframes für den Schimmer-Effekt (links nach rechts) */
@keyframes goldShimmer {
    0% {
        background-position: -200% 0; /* Startet außerhalb des linken Randes */
    }

    100% {
        background-position: 200% 0; /* Endet außerhalb des rechten Randes */
    }
}

/* Style für den <font>-Tag (den Text), um den Shimmer-Effekt anzuwenden */
a[data-quest-id="99"] font {
    /* WICHTIG: Überschreibt die inline-Farbe, falls vorhanden */
    color: #FFD700 !important;
    font-weight: 700 !important;
    display: inline-block;
    flex-grow: 1; /* Nimmt den restlichen Platz ein */
    /* SHIMMER/GLOW EFFEKT */
    background: linear-gradient(90deg, #daa127 0%, /* Dunkler Goldton */
    #FFFACD 50%, /* Helles Gold/Creme (Shine) */
    #daa127 100% /* Dunkler Goldton */
    );
    background-size: 200% 100%; /* Hintergrund doppelt so breit, damit der Shine durchläuft */
    /* Anwenden des Hintergrunds auf den Text (Webkit-spezifisch: Chrome, Edge, Safari) */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* Leichter Text-Schatten für den Glow-Effekt */
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
    /* Animation anwenden */
    animation: goldShimmer 3s infinite linear;
}



/* Styling für Element-Umwandlung in Quest 10 */
.quest-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    font-size: 0.9em;
}

    .quest-table th, .quest-table td {
        border: 1px solid #ff6347; /* Dunklerer Rand */
        padding: 8px;
        text-align: left;
        vertical-align: middle;
    }

    .quest-table thead th {
        background-color: #333; /* Dunkle Kopfzeile */
        color: #ffd700; /* Goldene Schrift für Überschriften */
        font-weight: bold;
        text-align: center;
    }

/* Hervorhebung der Perfect Elements */
.element-text.element-perfect {
    font-weight: bold;
    color: #8e49e4;
}

.quest-table td {
    color: #ccc; /* Hellere Schrift im Tabellenkörper */
}

@keyframes shine-note {
    /* 0% (Start): Strahl beginnt ganz oben links außerhalb der Box */
    0% {
        background-position: -200% -200%;
    }
    /* 2% (0.2s): Strahl beendet den schnellen Sweep und ist unten rechts außerhalb der Box */
    70% {
        background-position: 200% 200%;
    }
    /* 100% (Ende): Lange Pause, Strahl bleibt unsichtbar */
    100% {
        background-position: 200% 200%;
    }
}


.quest-note {
    font-weight: bold;
    color: #eac34b;
    font-size: 1.0em;
    padding: 10px;
    margin: 15px 0;
    border: 1px solid #ff6347;
    background-color: rgba(40, 40, 40, 0.6);
    border-radius: 4px;
    background-image: linear-gradient( -45deg, rgba(255, 255, 255, 0) 45%, rgba(255, 255, 255, 0.08) 48%, rgba(255, 255, 255, 0.03) 52%, rgba(255, 255, 255, 0) 55% );
    background-size: 400% 400%;
    background-repeat: no-repeat;
    animation: shine-note 4s linear infinite;
}


/* ------------------- Quest Top Navigation ------------------- */
.quest-top-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.quest-top-link {
    background-color: #3a3a3a;
    color: #f0f0f0;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    border: 1px solid #ff6347;
    transition: background-color 0.3s, color 0.3s;
}

    .quest-top-link:hover {
        background-color: #ff6347;
        color: #1a1a1a;
    }

    .quest-top-link.active {
        background-color: #ff6347;
        color: #1a1a1a;
    }




/* ------------------- Quest Global Navigation (unter Header) ------------------- */
.quest-global-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    background-color: #2c2c2c;
    border-bottom: 2px solid #ff6347;
    padding: 12px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.5);
    position: sticky;
    top: 70px; /* bleibt unter dem Header kleben */
    z-index: 90;
}

.quest-global-link {
    color: #f0f0f0;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1em;
    padding: 6px 12px;
    border-radius: 4px;
    transition: background-color 0.3s, color 0.3s;
}

    .quest-global-link:hover {
        background-color: #ff6347;
        color: #1a1a1a;
    }

    .quest-global-link.active {
        background-color: #ff6347;
        color: #1a1a1a;
    }



    .quest-global-link:hover {
        background-color: #ff6347;
        color: #1a1a1a;
    }

    .quest-global-link.active {
        background-color: #ff6347;
        color: #1a1a1a;
    }



a {
    cursor: pointer;
}


#mein-spezielles-div {
    cursor: help;
}

button,
a,
.nav-item,
.dropdown-toggle,
.dropdown-item,
.scroll-btn-bottom,
.filter-btn,
.discord-button,
.quest-step,
.quest-nav button,
.quest-top-link,
.quest-global-link,
.logo {
    cursor: url('../img/cursor/Kal_Pointer.png'), pointer;
}




/* ================================
   Image Buttons Section
================================= */
.image-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 5px auto 0 auto; /* vorher evtl. margin-bottom -> jetzt oben 20px, unten 0 */
    padding: 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto; /* kein zusätzlicher Abstand oben */
    padding: 10px; /* nur Innenabstand, nicht Außenabstand */
}

.image-btn {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 5px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
}

    .image-btn img {
        display: block;
        width: 390px; /* Bildgröße anpassen */
        height: auto;
        border-radius: 10px;
    }


    .image-btn span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 1.9rem;
        font-weight: 800;
    }

    /* Hover-Effekt */
    .image-btn:hover img {
        /* Filter und die Verschiebung sind nun beide auf dem Bild */
        filter: brightness(0.7);
    }
