/* =========================================================
   TRAX – Script Information Header (Standard v1.0)
   =========================================================

   File: /TRAX/CSS/notifications.css
   Type: Global Component CSS
   Scope: TRAX Notification-System
   Status: Active
   Version: 1.0

   ---------------------------------------------------------
   1) Purpose
   ---------------------------------------------------------
   Einheitliches Notification-System für TRAX.

   Diese Datei definiert das visuelle Layout für alle
   Meldungen, die über die PHP-Funktion showNoti() aus
   /TRAX/includes/notification.php ausgegeben werden.

   Unterstützte Meldungstypen:

   - info
   - error
   - success
   - warning

   ---------------------------------------------------------
   2) Main Functions
   ---------------------------------------------------------
   - Grundlayout für Notification-Boxen
   - Positionierung des linken FontAwesome-Icons
   - Typabhängige Farben für Info, Fehler, Erfolg und Warnung
   - Einheitlicher Close-Button je Meldung
   - Fade-Out-Effekt beim Schließen
   - Link-Stil für spezielle Auth-Links, z. B.
     Aktivierungslink erneut senden

   ---------------------------------------------------------
   3) Related Files
   ---------------------------------------------------------
   - /TRAX/includes/notification.php
   - /TRAX/JS/notifications.js
   - /TRAX/login.php
   - /TRAX/register.php
   - /TRAX/activate.php
   - /TRAX/forgot_password.php
   - /TRAX/reset_password.php

   ---------------------------------------------------------
   4) Dependencies
   ---------------------------------------------------------
   Frontend:

   - Font Awesome wird im jeweiligen HTML-Dokument geladen.
   - notifications.js verarbeitet den Close-Button.

   ---------------------------------------------------------
   5) Notes
   ---------------------------------------------------------
   - Diese Datei ist projektweit wiederverwendbar.
   - Die HTML-Struktur wird von showNoti() erzeugt.
   - Das CSS ist bewusst getrennt von den einzelnen
     Seitendesigns wie login.css oder register.css.
   - Die Datei basiert strukturell auf dem DOMERA- und
     Guild-Guard-Notification-System, ist aber für TRAX
     angepasst.

   ---------------------------------------------------------
   6) Author / Version
   ---------------------------------------------------------

   Author: Manuel Blenk
   Project: TRAX

   Version: 1.0
   Created: 2026
   Last Update: 2026-04-24

========================================================= */

/* =========================================================
   1) Grundlayout
========================================================= */

.notification {
    display: flex;
    position: relative;
    padding: 14px 16px 14px 48px;
    border-radius: 6px;
    font-family: sans-serif;
    font-size: 15px;
    max-width: 460px;
    width: 100%;
    margin-bottom: 16px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}

/* =========================================================
   2) Icon & Content
========================================================= */

.notification .icon-left {
    position: absolute;
    top: 14px;
    left: 16px;
    font-size: 20px;
    opacity: 0.9;
}

.notification .notification-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notification .notification-title {
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

.notification .notification-text {
    line-height: 1.4;
}

/* =========================================================
   3) Close Button - neutraler Standard
========================================================= */

.notification .close-btn {
    position: absolute;
    top: 8px;
    right: 10px;
    cursor: pointer;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;

    background: white;
    color: #333;
    border: 2px solid #333;
    border-radius: 50%;

    font-size: 16px;
    font-weight: bold;
    line-height: 24px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.notification .close-btn:hover {
    background-color: #555;
    color: white;
}

/* =========================================================
   4) Farbschemata je Typ
========================================================= */

/* Error */
.notification.error {
    background-color: #e74c3c;
    color: white;
}

.notification.error .close-btn {
    color: #e74c3c;
    border-color: #e74c3c;
}

.notification.error .close-btn:hover {
    background-color: #b82a1b;
    color: white;
}

/* Info */
.notification.info {
    background-color: #f1c40f;
    color: #1a1a1a;
}

.notification.info .close-btn {
    color: #000;
    border-color: #000;
}

.notification.info .close-btn:hover {
    background-color: #222;
    color: white;
}

/* Success */
.notification.success {
    background-color: #1f7a49;
    color: white;
}

.notification.success .close-btn {
    color: #1d6335;
    border-color: #1d6335;
}

.notification.success .close-btn:hover {
    background-color: #1d6335;
    color: white;
}

/* Warning */
.notification.warning {
    background-color: #f39c12;
    color: white;
}

.notification.warning .close-btn {
    color: #8a4b00;
    border-color: #8a4b00;
}

.notification.warning .close-btn:hover {
    background-color: #8a4b00;
    color: white;
}

/* =========================================================
   5) Effekte & Zusatzstile
========================================================= */

/* Fade-out Effekt */
.notification.fade-out {
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* Link-Stil, z. B. Aktivierungslink erneut senden */
.notification .resend-link {
    display: inline-block;
    margin-top: 6px;
    text-decoration: underline;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.95);
    transition: color 0.2s ease;
}

.notification .resend-link:hover {
    color: #ffffff;
    text-decoration: none;
}

/* Allgemeiner Link-Stil innerhalb von Notifications */
.notification .noti-link {
    color: inherit;
    font-weight: bold;
    text-decoration: underline;
}

.notification .noti-link:hover {
    text-decoration: none;
}

/* =========================================================
   6) Responsive Adjustments
========================================================= */

@media (max-width: 480px) {
    .notification {
        max-width: 100%;
        font-size: 14px;
        padding: 14px 42px 14px 44px;
    }

    .notification .icon-left {
        left: 14px;
        font-size: 18px;
    }

    .notification .notification-title {
        font-size: 15px;
    }
}