/* Fonts einbinden */
@font-face {
    font-family: suetterlinFont;
    src: url('../includes/sutterlin-HJZ.ttf');

    ascent-override: 80%; /* Vertikale Anpassung nach oben */
    descent-override: 20%; /* Vertikale Anpassung nach unten */
    line-gap-override: 0%; /* Zeilenhöhe minimieren */
}

@font-face {
    font-family: frakturFont;
    src: url('../includes/fraktur.regular.ttf');
}

@font-face {
    font-family: frakturFontBold;
    src: url('../includes/fraktur.bold.ttf');
    font-weight: bold;
}

/* Basis-Schriftgröße */
html {
    font-size: 16px; /* 1rem entspricht 16px */
}

/* Grundlayout auf gesamte Fenstergröße */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
}

/* Flex-Layout für den gesamten Bildschirm */
#chat-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

#chat-box {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    /* Hintergrund: Zuerst der Farbverlauf, dann das Logo. */
    background: 
        url('../grafiken/BS_logo_chat.png') center center no-repeat,
        linear-gradient(to bottom right, #ffffff, #eee);
    font-family: suetterlinFont, Arial, sans-serif;
    font-size: 1.8rem; 
    line-height: 1.2;
}

#chat-box p {
    margin: 0.5rem 0;
}

/* System-, Ludwig- und andere Klassen wie gehabt */
.system-message {
    color: gray;
}

.ludwig-name-red {
    font-family:frakturFontBold;
    color:#dd0000;
    font-size:1.3rem;
}

.ludwig-name-black {
    font-family:frakturFontBold;
    color:#555;
    font-size:1.3rem;
}

.ludwig-message-auto {
    font-family:frakturFont;
    color:gray;
    font-size:1.3rem;
}

.ludwig-message {
    color: #000;
    font-family: suetterlinFont, Arial, sans-serif;
    font-size: 1.8rem;
}

/*
.system-ludwig {
    color: #f00;
    font-weight: bold;
    font-size: 0.8rem;
}
*/

.befehl-hinweis {
    font-family: Arial, sans-serif;
    color: #c00;
    font-weight: bold;
    font-size: 1.3rem;
}

.delete-account-message {
    font-family: Arial, sans-serif;
    color: #c00;
    font-weight: bold;
    font-size: 1.2rem;
}

/* Inputbereich am unteren Rand */
#input-container {
    display: flex;
    align-items: center;
    padding: 10px;
    background-color: #fff;
    border-top: 1px solid #ccc;
}

/* Eingabefeld füllt den Platz */
#input-container input[type="text"] {
    flex: 1;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1.0rem;
}

#input-container input[type="text"]::placeholder {
    font-size: 0.95rem;
    color: #888;
}

/* Senden- und Auslogg-Button rechts angeordnet */
#input-container button {
        font-family:frakturFont;
    font-size: 1.3rem;
    padding: 0.5rem 0.75rem; /* 8px 12px */
    margin-left: 0.5rem; /* 8px */
    border: none;
    background-color: #007BFF;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
}

#input-container button:hover {
    background-color: #0056b3;
}

/* Klickbare Nutzernamen */
.username {
    cursor: pointer;
    color: #1B1F6B;
    text-decoration: underline;
}

.username:hover {
    color: #000;
}

.badge {
    font-size: 0.6em;
    margin-right: 8px;
    vertical-align: middle;
    text-decoration: none !important;
}

.ban-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    color: #ff0000;
    font-size: 1.5rem; /* 24px */
    padding: 1.25rem; /* 20px */
    border: 5px solid #ff0000;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    text-align: center;
    display: none;
}


/*37*/
/* Allgemeines Styling für die Nutzerliste */
#user-list-container {
    position: fixed;
    top: 0;
    right: -300px; /* Start außerhalb des Bildschirms */
    width: 300px;
    height: 100%;
    background-color: #f9f9f9;
    border-left: 2px solid #ccc;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease-in-out;
    z-index: 1002;
        /* Für den Scrollbereich + Footer */
    display: flex;
    flex-direction: column;
}

/* Header oben, Nutzeranzahl, etc. */
#user-list-header,
#user-count-container {
    flex-shrink: 0; /* Nicht mitskalieren */
}

/* Die eigentliche Nutzerliste füllt den restlichen Platz und ist scrollbar */
#user-list {
    flex: 1;             /* Nimmt den verfügbaren Platz ein */
    overflow-y: auto;    /* Scrollbar */
    margin: 0;
    padding: 10px;
    list-style: none;
}

/* Wenn sichtbar */
#user-list-container.visible {
    right: 0;
}

/* Header der Nutzerliste */
#user-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: #007BFF;
    color: #fff;
}

/* Schließen-Button */
#close-user-list {
    background-color: transparent;
    border: none;
    font-size: 18px;
    color: #fff;
    cursor: pointer;
}

/* Chat verlassen-Button */
#logout-button {
    font-family:frakturFont;
    font-size: 1.1rem;
    background-color: #c00;
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
}

#logout-button:hover {
    background-color: #a00;
}

/* Nutzeranzahl */
#user-count-container {
    font-family:frakturFont;
    text-align: center;
    padding: 10px 0;
    background-color: #f1f1f1;
    border-bottom: 2px solid #ccc;
    font-size: 16px;
}

/* Nutzerliste */
#user-list {
    list-style: none;
    padding: 10px;
    margin: 0;
    overflow-y: auto;
    height: calc(100% - 100px); /* Platz für Header und Nutzeranzahl */
}

#user-list li {
    font-family: suetterlinFont, Arial, sans-serif;
    font-size: 1.6rem;
    padding: 1.0rem;
    border-bottom: 1px solid #ddd;
    cursor: pointer;
}

#user-list li:hover {
    background-color: #f1f1f1;
}

#user-list li.admin {
    color: #d9534f !important;
    //text-decoration: underline;
}

#user-list li.admin:hover {
    background-color: #f8d7da; /* Leichtes Rot beim Hover */
}

/* Hamburger Icon */


/*19*/
/* Initialer Zustand: Größerer Button, runde Ecken, auffällige Farbe und pulsierender Effekt */
/* Pulsieren dezenter gestalten */
@keyframes pulsate {
    0%   { transform: translate(-50%, -50%) scale(1); }
    50%  { transform: translate(-50%, -50%) scale(1.05); }
    100% { transform: translate(-50%, -50%) scale(1); }
}

/* Basis-Button-Einstellungen */
#hamburger-button {
    position: fixed;
    top: 10px;
    right: 10px;
    border: none;
    color: #fff;
    cursor: pointer;
    z-index: 999;
    display: inline-block;
    overflow: hidden; /* Damit nichts übersteht, wenn wir die Größe ändern */
    transition: all 0.5s ease; /* Für das Morphing */
}

/* Anfangszustand: größer, rot, Rechteck, pulsierend */
#hamburger-button.initial {
    font-family:frakturFont;
    width: 150px;
    height: 50px;
    background-color: #007BFF; 
    border-radius: 8px;
    font-size: 1.1rem;
    animation: none; /* Wir definieren Pulsation weiter unten */
}

/* Zwei überlagerte Texte/Icons mit absoluter Positionierung */
#hamburger-button .initial-text,
#hamburger-button .hamburger-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    text-align: center;
    transition: opacity 0.5s ease; 
}

/* Text zu Beginn sichtbar, Icon ausgeblendet */
#hamburger-button .initial-text {
    opacity: 1;
    animation: pulsate 1s infinite; /* Pulsiert nur der Text-Bereich */
}
#hamburger-button .hamburger-icon {
    opacity: 0;
    font-size: 1.6rem;
}

/* Endzustand (nach dem Morph) */
#hamburger-button.morphed {
    width: 45px;      /* z.B. kreisrund */
    height: 45px;
    background-color: #007BFF; 
    border-radius: 50%;
}

/* Im Endzustand wird der Text ausgeblendet, das Icon eingeblendet */
#hamburger-button.morphed .initial-text {
    opacity: 0;
    animation: none; /* Pulsation ausschalten */
}
#hamburger-button.morphed .hamburger-icon {
    opacity: 1;
}

/* Hover-Effekt für den finalen Button */
#hamburger-button:hover {
    background-color: #0056b3;
}


/*BSCHAT FOOTER*/
#chat-footer-links {
    text-align: center;
    color: gray;
    font-size: 15px;
    padding-bottom: 10px;
}

#chat-footer-links a {
    color: gray;
    text-decoration: none;
    margin: 0 5px; /* Abstand zwischen den Links */
}

#chat-footer-links a:hover {
    text-decoration: underline;
}



/*54*/

/* Standard: mobiler Footer ausgeblendet */
#mobile-footer {
    display: none;
}

/* Für mobile Geräte (z. B. max-width: 768px) */
@media (max-width: 768px) {
    /* Im Chat-Bereich den Footer ausblenden */
    #chat-footer-links {
        display: none;
    }

    /* Im Nutzerlisten-Container den mobilen Footer sichtbar machen */
    #mobile-footer {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        text-align: center;
        background-color: #f1f1f1;
        padding: 5px 0;
        font-size: 0.9rem;
        border-top: 1px solid #ccc;
        box-sizing: border-box;
        z-index: 1002;
    }
    
    /* Stelle sicher, dass die Nutzerliste nicht vom Footer überlappt wird */
    #user-list {
        height: calc(100% - 50px); /* Höhe des Footers berücksichtigen, ggf. anpassen */
        overflow-y: auto;
    }
}

/*WERBUNG*/
.advertisement-message {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.2rem;
    color: #000;
    font-weight: normal;
    padding: 10px 15px;
    margin: 10px 0;
    
    border: 2px solid #ffa500; /* Warmer Orangeton */
    border-radius: 12px;
    background: linear-gradient(90deg, #fff9e6, #ffe6b3); /* Dezenter Verlauf von Creme zu hellem Orange */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sanfter Schatten für Tiefe */
    text-align: left; /* Text linksbündig */
    line-height: 1.5; /* Angenehmer Zeilenabstand */
}

/* Name hervorheben */
.advertisement-message .advertisement-name {
    font-weight: bold;
    color: #cc0000; /* Kräftiges Rot für den Namen */
    font-size: 1.3rem;
}

/* Links in der Werbung */
.advertisement-message a {
    color: #0077cc; /* Dezentes Blau für Links */
    font-weight: bold;
    text-decoration: none;
    border-bottom: 2px solid #0077cc; /* Unterstreichung mit Farbe */
    transition: color 0.3s, border-color 0.3s; /* Sanfter Übergang bei Hover */
}

.advertisement-message a:hover {
    color: #004c99; /* Dunkleres Blau bei Hover */
    border-color: #004c99;
}

/*login*/
.login-form input[type="text"],
.login-form input[type="email"],
.login-form input[type="password"],
.login-form select {
    padding: 10px;
    font-size: 1em;
    width: 90%;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.login-button.blue-button {
    background-color: #0056b3;
}

.login-button.blue-button:hover {
    background-color: #004c99;
}

a.cta-button {
    display: inline-block; /* Macht den gesamten Bereich klickbar */
    text-align: center; /* Zentriert den Text */
    text-decoration: none; /* Entfernt den Unterstrich */
    background: linear-gradient(to bottom, #FFE066, #FFD700); /* Goldener Verlauf */
    color: #000; /* Schwarzer Text */
    padding: 12px 20px; /* Innenabstand für mehr Klickfläche */
    font-size: 16px; /* Gut lesbare Schriftgröße */
    font-weight: bold; /* Hebt den Text hervor */
    border-radius: 8px; /* Abgerundete Ecken */
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.6); /* Dezenter Glow-Effekt */
    border: 2px solid #FFC107; /* Passender Rand */
    width: 90%; /* Vollbreite auf mobilen Geräten */
    max-width: 350px; /* Begrenzung auf breiteren Bildschirmen */
    margin: 10px auto; /* Zentrierung */
    transition: transform 0.2s ease, box-shadow 0.2s ease; /* Weicher Hover-Effekt */
}

a.cta-button:hover {
    transform: scale(1.05); /* Leichtes Vergrößern bei Hover */
    box-shadow: 0 0 15px rgba(255, 215, 0, 1); /* Stärkerer Glow bei Hover */
    background: linear-gradient(to bottom, #FFD700, #FFC107); /* Leichter Farbwechsel bei Hover */
    color: #000; /* Textfarbe bleibt konstant */
    text-decoration: none; /* Unterstrich bleibt entfernt */
}

@media (max-width: 768px) {
    a.cta-button {
        width: 85%;
        font-size: 14px; /* Kleinere Schriftgröße für mobile Geräte */
        padding: 10px 15px; /* Weniger Padding für schmale Bildschirme */
    }
}


/*AGB CHATIQUETTE BEREICH STARTSEITE*/

.accordion {
    width: 100%;
    border: none;
    border-radius: 8px;
}

.accordion-item {
    border-bottom: 1px solid #ddd;
}

.accordion-header {
    background-color: #f8f8f8;
    color: #444;
    font-weight: bold;
    padding: 15px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    border-radius: 8px;
    font-size: 1.2rem;
    text-align: center;
}

.accordion-header:hover {
    background-color: #e0e0e0;
}

.accordion-body {
    padding: 15px 20px;
    background-color: #fff;
    display: none;
    animation: fadeIn 0.3s ease;
    text-align: left; /* Links ausgerichtet */
    font-size: 0.95rem; /* Kleinere Schriftgröße */
    line-height: 1.5; /* Angenehmer Zeilenabstand */
    color: #444; /* Dezente Textfarbe */
}

.accordion-body p {
    text-align: justify; /* Blocksatz für <p>-Tags */
    margin: 0 0 10px; /* Abstand zwischen Absätzen */
}

.accordion-body.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}




