thème.css
/* ============================================================
   THEME.CSS — Variables globales + Glassmorphism
   Version harmonisée avec style.css & traduction.css
============================================================ */

/* ============================================================
   0. RESET GLOBAL
============================================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ============================================================
   1. PALETTE — MODE SOMBRE (par défaut)
============================================================ */
:root {
    /* Couleurs principales */
    --blue-main: #0033a0;
    --blue-light: #0090ff;
    --cyan: #00eaff;

    --red-main: #d40000;

    /* Texte */
    --text: #ffffff;
    --text-soft: rgba(255,255,255,0.75);

    /* Fond global */
    --bg: radial-gradient(circle at top left, #0033a0, #050816 60%);

    /* Cartes & modules */
    --card: rgba(255,255,255,0.06);
    --nav: rgba(255,255,255,0.05);

    /* Glassmorphism */
    --glass-bg: rgba(255,255,255,0.08);
    --glass-border: rgba(255,255,255,0.12);

    /* Ombres */
    --shadow-soft: 0 8px 25px rgba(0,0,0,0.25);
    --shadow-strong: 0 12px 35px rgba(0,0,0,0.45);

    /* Arrondis & transitions */
    --radius: 18px;
    --transition: 0.25s ease;
}

/* ============================================================
   2. MODE CLAIR
============================================================ */
body.light-mode {
    --bg: #f4f7fb;

    --text: #111827;
    --text-soft: #4a5568;

    --card: rgba(255,255,255,0.9);
    --nav: rgba(0,0,0,0.05);

    --glass-bg: rgba(255,255,255,0.6);
    --glass-border: rgba(0,0,0,0.12);

    --shadow-soft: 0 8px 25px rgba(0,0,0,0.15);
    --shadow-strong: 0 12px 35px rgba(0,0,0,0.25);
}

/* ============================================================
   3. POLICES SOURETH
============================================================ */
@font-face {
    font-family: "Nohadra";
    src: url('../assets/fonts/nohadra.woff2') format('woff2');
    font-display: swap;
}

@font-face {
    font-family: "Assyrian";
    src: url('../assets/fonts/assyrian.woff2') format('woff2');
    font-display: swap;
}

/* ============================================================
   4. TYPOGRAPHIE SOURETH — Harmonisation globale
============================================================ */
.soureth-title,
.soureth-writing,
.soureth-classic,
.letter,
:lang(syr) {
    font-family: "Nohadra", "Assyrian", sans-serif !important;
    direction: rtl;
    unicode-bidi: bidi-override;
    text-align: right;
}

/* ============================================================
   5. GLOW PREMIUM — Bleu Assyrien
============================================================ */
.glow-blue {
    box-shadow:
        0 0 12px rgba(0, 162, 255, 0.55),
        0 0 22px rgba(0, 162, 255, 0.45),
        inset 0 0 12px rgba(0, 162, 255, 0.25);
    border-color: var(--cyan) !important;
}

/* ============================================================
   6. GLASSMORPHISM GLOBAL
============================================================ */
.glass,
.card,
.module-item,
.quiz-box {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius);
    backdrop-filter: blur(6px);
    box-shadow: var(--shadow-soft);
    padding: 20px;
}

/* ============================================================
   7. TEXTE GLOBAL
============================================================ */
body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Poppins', sans-serif;
    min-height: 100vh;
}

/* ============================================================
   8. BOUTONS GLOBAUX
============================================================ */
button {
    padding: 12px 18px;
    border-radius: var(--radius);
    border: none;
    cursor: pointer;
    background: var(--glass-bg);
    color: var(--text);
    transition: var(--transition);
    backdrop-filter: blur(4px);
}

button:hover {
    background: rgba(255,255,255,0.15);
    box-shadow: 0 0 12px rgba(0,150,255,0.45);
}

/* ============================================================
   9. RTL / LTR GLOBAL
============================================================ */
.rtl {
    direction: rtl;
    text-align: right;
}

.ltr {
    direction: ltr;
    text-align: left;
}

/* ============================================================
   MENU MOBILE (HAMBURGER)
============================================================ */

/* bouton hamburger */
.menu-toggle {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 1001;
    font-size: 28px;
    background: var(--glass-bg);
    border-radius: 12px;
    padding: 10px 14px;
}

/* nav fermé (mobile) */
nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 260px;
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    box-shadow: var(--shadow-strong);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    padding: 80px 20px;
    gap: 15px;
    z-index: 1000;
}

/* nav ouvert */
nav.open {
    transform: translateX(0);
}

@media (min-width: 900px) {
    .menu-toggle {
        display: none;
    }

    nav {
        position: static;
        transform: none !important;
        height: auto;
        flex-direction: row;
        background: transparent;
        box-shadow: none;
        padding: 0;
    }
}
/* liens */
nav a {
    color: var(--text);
    text-decoration: none;
    padding: 10px;
    border-radius: 10px;
    transition: 0.2s;
}

nav a:hover {
    background: rgba(255,255,255,0.1);
}

