/**
 * ============================================
 * LORCANA THEME - Disney Lorcana Official Colors
 * ============================================
 * 
 * Palette officielle:
 * - Lorcana Indigo: #373B70 (RGB: 55, 59, 112)
 * - Illuminary Gold: #D3BA84 (RGB: 211, 186, 132)
 * - Parchment: #E3CAA8 (RGB: 227, 202, 168)
 * - Kelp: #1C1C1A (RGB: 28, 28, 26)
 * 
 * Ink Colors:
 * - Amber: #F5A623
 * - Amethyst: #9B59B6
 * - Emerald: #27AE60
 * - Ruby: #E74C3C
 * - Sapphire: #3498DB
 * - Steel: #95A5A6
 */

/* ======================================== */
/* THEME VARIABLES */
/* ======================================== */
[data-theme="lorcana"] {
    /* Lorcana Official Colors */
    --lorcana-indigo: #373B70;
    --lorcana-indigo-light: #4A4F8C;
    --lorcana-indigo-dark: #2A2D54;
    --lorcana-indigo-darker: #1E2140;
    --illuminary-gold: #D3BA84;
    --illuminary-gold-light: #E8D9B8;
    --illuminary-gold-dark: #B89D5E;
    --illuminary-gold-darker: #9A8347;
    --parchment: #E3CAA8;
    --parchment-light: #F5EBD7;
    --parchment-dark: #C9A87A;
    --kelp: #1C1C1A;
    --kelp-light: #2D2D2A;
    --kelp-lighter: #3D3D38;
    
    /* Ink Colors */
    --ink-amber: #F5A623;
    --ink-amethyst: #9B59B6;
    --ink-emerald: #27AE60;
    --ink-ruby: #E74C3C;
    --ink-sapphire: #3498DB;
    --ink-steel: #95A5A6;
    
    /* Override Main Variables */
    --bg-primary: var(--kelp);
    --bg-secondary: rgba(55, 59, 112, 0.92);
    --bg-tertiary: rgba(55, 59, 112, 0.75);
    --bg-hover: rgba(211, 186, 132, 0.12);
    
    --text-primary: var(--parchment);
    --text-secondary: var(--parchment-dark);
    --text-muted: rgba(227, 202, 168, 0.55);
    
    --primary: var(--illuminary-gold);
    --primary-hover: var(--illuminary-gold-light);
    --primary-dark: var(--illuminary-gold-dark);
    
    --border: rgba(211, 186, 132, 0.22);
    --border-light: rgba(211, 186, 132, 0.12);
    
    --success: var(--ink-emerald);
    --error: var(--ink-ruby);
    --warning: var(--ink-amber);
    --info: var(--ink-sapphire);
    
    /* Special Effects */
    --glow-gold: 0 0 20px rgba(211, 186, 132, 0.35);
    --glow-gold-strong: 0 0 30px rgba(211, 186, 132, 0.5);
    --glow-indigo: 0 0 25px rgba(55, 59, 112, 0.6);
    
/* Typography - REMPLACER */
/* Typography - REMPLACER */
--font-display: 'Poppins', 'Inter', -apple-system, sans-serif;
--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;    
    
}

/* ======================================== */
/* BODY & BACKGROUND */
/* ======================================== */
[data-theme="lorcana"] body {
    background-color: var(--kelp);
    background-image: url('/images/bg_lorcana.jpg');
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: var(--parchment);
    min-height: 100vh;
    position: relative;
}

/* Overlay vignette pour lisibilitÃ© */
[data-theme="lorcana"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(ellipse at center, transparent 0%, rgba(28, 28, 26, 0.5) 70%, rgba(28, 28, 26, 0.85) 100%),
        linear-gradient(180deg, rgba(55, 59, 112, 0.15) 0%, transparent 30%, transparent 70%, rgba(55, 59, 112, 0.2) 100%);
    pointer-events: none;
    z-index: 0;
}

[data-theme="lorcana"] body > * {
    position: relative;
    z-index: 1;
}

/* ======================================== */
/* INK DECORATIONS - Background Elements */
/* ======================================== */
[data-theme="lorcana"] .main::before {
    content: '';
    position: fixed;
    top: 120px;
    right: -80px;
    width: 280px;
    height: 280px;
    background: url('/images/ink/COLOR_AMETHYST_RGB.webp') no-repeat center;
    background-size: contain;
    opacity: 0.06;
    pointer-events: none;
    z-index: 0;
    animation: floatInk 20s ease-in-out infinite;
}

[data-theme="lorcana"] .main::after {
    content: '';
    position: fixed;
    bottom: 80px;
    left: -80px;
    width: 280px;
    height: 280px;
    background: url('/images/ink/COLOR_SAPPHIRE_RGB.webp') no-repeat center;
    background-size: contain;
    opacity: 0.06;
    pointer-events: none;
    z-index: 0;
    animation: floatInk 25s ease-in-out infinite reverse;
}

@keyframes floatInk {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    25% { transform: translateY(-15px) rotate(3deg); }
    50% { transform: translateY(0) rotate(0deg); }
    75% { transform: translateY(15px) rotate(-3deg); }
}

/* ======================================== */
/* ======================================== */
/* HEADER & NAVBAR - FIXED */
/* ======================================== */
[data-theme="lorcana"] .header {
    background: linear-gradient(180deg, 
        rgba(55, 59, 112, 0.98) 0%, 
        rgba(42, 45, 84, 0.96) 100%);
    border-bottom: 2px solid var(--illuminary-gold-dark);
    box-shadow: 
        0 4px 30px rgba(0, 0, 0, 0.5),
        0 0 40px rgba(211, 186, 132, 0.15);
    overflow: hidden; /* IMPORTANT - prevent overflow */
}

/* Remove problematic pseudo-elements on mobile */
[data-theme="lorcana"] .header::before,
[data-theme="lorcana"] .header::after {
    display: none;
}

/* Only show decorations on desktop */
@media (min-width: 1024px) {
    [data-theme="lorcana"] .header::before {
        display: block;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, 
            transparent, 
            var(--illuminary-gold) 30%, 
            var(--illuminary-gold-light) 50%, 
            var(--illuminary-gold) 70%, 
            transparent);
    }
}

[data-theme="lorcana"] .logo {
    font-family: var(--font-display);
    letter-spacing: 1px;
    font-weight: 700;
}

/* NAV LINKS - REDUCED LETTER SPACING */
[data-theme="lorcana"] .nav-link {
    color: var(--parchment);
    font-family: var(--font-body);
    text-transform: none; /* Remove uppercase - saves space */
    letter-spacing: 0.3px; /* Reduced from 1.5px */
    font-size: 0.875rem;
    font-weight: 500;
    position: relative;
    padding: 0.5rem 0.75rem; /* Reduced padding */
}

/* Underline effect */
[data-theme="lorcana"] .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--illuminary-gold);
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

[data-theme="lorcana"] .nav-link:hover::after,
[data-theme="lorcana"] .nav-link.active::after {
    width: 80%;
}

[data-theme="lorcana"] .nav-link:hover,
[data-theme="lorcana"] .nav-link.active {
    color: var(--illuminary-gold);
}

/* HEADER INNER - Prevent overflow */
[data-theme="lorcana"] .header-inner {
    max-width: 100%;
    overflow: hidden;
}

/* NAV CONTAINER - Prevent overflow */
[data-theme="lorcana"] .nav {
    max-width: calc(100% - 200px); /* Leave space for logo */
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

[data-theme="lorcana"] .nav::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* Theme switcher compact */
[data-theme="lorcana"] .theme-switcher {
    flex-shrink: 0;
    margin-left: 0.5rem;
}

[data-theme="lorcana"] .theme-btn {
    width: 32px;
    height: 32px;
}

/* Language selector compact */
[data-theme="lorcana"] .lang-selector {
    flex-shrink: 0;
}

[data-theme="lorcana"] .lang-toggle {
    padding: 0.5rem;
}

[data-theme="lorcana"] .lang-current {
    display: none; /* Hide text, keep icon only */
}

@media (min-width: 1200px) {
    [data-theme="lorcana"] .lang-current {
        display: inline;
    }
}

/* ======================================== */
/* CARDS */
/* ======================================== */
[data-theme="lorcana"] .card {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.92) 0%, 
        rgba(42, 45, 84, 0.95) 50%,
        rgba(30, 33, 64, 0.97) 100%);
    border: 1px solid rgba(211, 186, 132, 0.25);
    border-radius: 12px;
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.4),
        0 0 1px rgba(211, 186, 132, 0.3),
        inset 0 1px 0 rgba(211, 186, 132, 0.08);
    position: relative;
    overflow: visible;
}

/* Top border decoration */
[data-theme="lorcana"] .card::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 20px;
    right: 20px;
    height: 3px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--illuminary-gold-dark) 20%, 
        var(--illuminary-gold) 50%, 
        var(--illuminary-gold-dark) 80%, 
        transparent 100%);
    border-radius: 0 0 3px 3px;
}

/* Corner ornaments for featured cards */
[data-theme="lorcana"] .card.card-featured::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    border-top: 2px solid var(--illuminary-gold-dark);
    border-right: 2px solid var(--illuminary-gold-dark);
    pointer-events: none;
}

[data-theme="lorcana"] .card-header {
    background: linear-gradient(180deg, 
        rgba(211, 186, 132, 0.1) 0%, 
        rgba(211, 186, 132, 0.03) 100%);
    border-bottom: 1px solid rgba(211, 186, 132, 0.15);
    position: relative;
}

[data-theme="lorcana"] .card-header h2,
[data-theme="lorcana"] .card-header h3 {
    font-family: var(--font-display);
    color: var(--illuminary-gold);
    text-shadow: 0 0 15px rgba(211, 186, 132, 0.3);
    letter-spacing: 1px;
}

/* ======================================== */
/* BUTTONS */
/* ======================================== */
[data-theme="lorcana"] .btn {
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: none; /* Remove uppercase */
    letter-spacing: 0.3px; /* Reduced */
    white-space: nowrap;
}

[data-theme="lorcana"] .btn-primary {
    background: linear-gradient(180deg, 
        var(--illuminary-gold-light) 0%,
        var(--illuminary-gold) 20%,
        var(--illuminary-gold) 80%,
        var(--illuminary-gold-dark) 100%);
    color: var(--kelp);
    border: 1px solid var(--illuminary-gold-light);
    box-shadow: 0 4px 15px rgba(211, 186, 132, 0.3);
}



[data-theme="lorcana"] .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 6px 25px rgba(211, 186, 132, 0.45),
        var(--glow-gold);
}

[data-theme="lorcana"] .btn-primary:hover::before {
    left: 100%;
}

[data-theme="lorcana"] .btn-secondary {
    background: linear-gradient(180deg, 
        rgba(55, 59, 112, 0.9) 0%, 
        rgba(42, 45, 84, 0.95) 100%);
    color: var(--parchment);
    border: 1px solid var(--illuminary-gold-dark);
    font-family: var(--font-display);
    text-transform: none;
    letter-spacing: 1px;
}

[data-theme="lorcana"] .btn-secondary:hover {
    background: linear-gradient(180deg, 
        rgba(74, 79, 140, 0.95) 0%, 
        rgba(55, 59, 112, 1) 100%);
    border-color: var(--illuminary-gold);
    color: var(--illuminary-gold);
    box-shadow: var(--glow-gold);
}

[data-theme="lorcana"] .btn-danger {
    background: linear-gradient(180deg, 
        var(--ink-ruby) 0%, 
        #c0392b 100%);
    border-color: #e74c3c;
}

/* ======================================== */
/* FORM CONTROLS */
/* ======================================== */
[data-theme="lorcana"] .form-control {
    background: rgba(28, 28, 26, 0.7);
    border: 1px solid rgba(211, 186, 132, 0.25);
    color: var(--parchment);
    font-family: inherit;
}

[data-theme="lorcana"] .form-control:focus {
    border-color: var(--illuminary-gold);
    background: rgba(28, 28, 26, 0.85);
    box-shadow: 
        0 0 0 3px rgba(211, 186, 132, 0.12),
        var(--glow-gold);
    outline: none;
}

[data-theme="lorcana"] .form-control::placeholder {
    color: rgba(227, 202, 168, 0.4);
}

[data-theme="lorcana"] label {
    font-family: var(--font-display);
    color: var(--parchment);
    letter-spacing: 0.5px;
}

/* Select dropdown */
[data-theme="lorcana"] select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23D3BA84' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

/* ======================================== */
/* BADGES */
/* ======================================== */
[data-theme="lorcana"] .badge {
    font-family: var(--font-display);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid transparent;
}

[data-theme="lorcana"] .badge-easy,
[data-theme="lorcana"] .badge-bronze {
    background: linear-gradient(135deg, #CD7F32 0%, #A66929 100%);
    color: var(--kelp);
    border-color: #E8A862;
    box-shadow: 0 2px 8px rgba(205, 127, 50, 0.35);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
}

[data-theme="lorcana"] .badge-medium,
[data-theme="lorcana"] .badge-silver {
    background: linear-gradient(135deg, #E8E8E8 0%, #B8B8B8 100%);
    color: var(--kelp);
    border-color: #F0F0F0;
    box-shadow: 0 2px 8px rgba(192, 192, 192, 0.4);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

[data-theme="lorcana"] .badge-hard,
[data-theme="lorcana"] .badge-gold {
    background: linear-gradient(135deg, var(--illuminary-gold-light) 0%, var(--illuminary-gold-dark) 100%);
    color: var(--kelp);
    border-color: var(--illuminary-gold-light);
    box-shadow: 0 2px 12px rgba(211, 186, 132, 0.45);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}

[data-theme="lorcana"] .badge-advanced,
[data-theme="lorcana"] .badge-mythic {
    background: linear-gradient(135deg, #B47CFF 0%, #8E44AD 100%);
    color: white;
    border-color: #C39CFF;
    box-shadow: 0 2px 12px rgba(155, 89, 182, 0.45);
    animation: mythicPulse 3s ease-in-out infinite;
}

@keyframes mythicPulse {
    0%, 100% { box-shadow: 0 2px 12px rgba(155, 89, 182, 0.45); }
    50% { box-shadow: 0 2px 20px rgba(155, 89, 182, 0.7), 0 0 30px rgba(155, 89, 182, 0.3); }
}

/* ======================================== */
/* STATS CARDS */
/* ======================================== */
[data-theme="lorcana"] .stat-card {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.88) 0%, 
        rgba(42, 45, 84, 0.92) 100%);
    border: 1px solid rgba(211, 186, 132, 0.2);
    position: relative;
}

[data-theme="lorcana"] .stat-card::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 15%;
    right: 15%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold-dark), 
        transparent);
}

[data-theme="lorcana"] .stat-icon {
    background: linear-gradient(135deg, 
        var(--illuminary-gold-light) 0%, 
        var(--illuminary-gold) 50%,
        var(--illuminary-gold-dark) 100%);
    color: var(--kelp);
    box-shadow: 0 4px 15px rgba(211, 186, 132, 0.3);
}

[data-theme="lorcana"] .stat-value {
    font-family: var(--font-display);
    color: var(--illuminary-gold);
    text-shadow: 0 0 20px rgba(211, 186, 132, 0.4);
}

[data-theme="lorcana"] .stat-label {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.7rem;
}

/* ======================================== */
/* QUIZ INTERFACE */
/* ======================================== */
[data-theme="lorcana"] .quiz-option {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.75) 0%, 
        rgba(42, 45, 84, 0.85) 100%);
    border: 2px solid rgba(211, 186, 132, 0.18);
    transition: all 0.3s ease;
    position: relative;
}

[data-theme="lorcana"] .quiz-option:hover {
    border-color: var(--illuminary-gold);
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.9) 0%, 
        rgba(74, 79, 140, 0.9) 100%);
    box-shadow: var(--glow-gold);
    transform: translateX(4px);
}

[data-theme="lorcana"] .quiz-option.selected {
    border-color: var(--illuminary-gold);
    background: linear-gradient(160deg, 
        rgba(211, 186, 132, 0.12) 0%, 
        rgba(55, 59, 112, 0.92) 100%);
    box-shadow: 
        var(--glow-gold),
        inset 0 0 20px rgba(211, 186, 132, 0.08);
}

[data-theme="lorcana"] .quiz-option .option-letter {
    background: linear-gradient(135deg, 
        var(--illuminary-gold-light) 0%, 
        var(--illuminary-gold) 50%,
        var(--illuminary-gold-dark) 100%);
    color: var(--kelp);
    font-family: var(--font-display);
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(211, 186, 132, 0.3);
}

/* Progress bar */
[data-theme="lorcana"] .progress-bar {
    background: rgba(55, 59, 112, 0.6);
    border: 1px solid rgba(211, 186, 132, 0.2);
    overflow: hidden;
}

[data-theme="lorcana"] .progress-fill {
    background: linear-gradient(90deg, 
        var(--illuminary-gold-dark) 0%, 
        var(--illuminary-gold) 50%, 
        var(--illuminary-gold-light) 100%);
    box-shadow: 
        0 0 15px rgba(211, 186, 132, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    position: relative;
}

[data-theme="lorcana"] .progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(255, 255, 255, 0.3), 
        transparent);
    animation: progressShine 2s ease-in-out infinite;
}

@keyframes progressShine {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* ======================================== */
/* QUIZ RESULTS */
/* ======================================== */
[data-theme="lorcana"] .result-score {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.95) 0%, 
        rgba(42, 45, 84, 0.98) 100%);
    border: 2px solid var(--illuminary-gold);
    box-shadow: 
        var(--glow-gold-strong),
        0 8px 32px rgba(0, 0, 0, 0.4);
    position: relative;
}

[data-theme="lorcana"] .result-score::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 10%;
    right: 10%;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--illuminary-gold), transparent);
}

[data-theme="lorcana"] .result-score .score-value {
    font-family: var(--font-display);
    color: var(--illuminary-gold);
    text-shadow: 0 0 30px rgba(211, 186, 132, 0.6);
}

[data-theme="lorcana"] .result-correct {
    border-left: 3px solid var(--ink-emerald);
    background: rgba(39, 174, 96, 0.08);
}

[data-theme="lorcana"] .result-incorrect {
    border-left: 3px solid var(--ink-ruby);
    background: rgba(231, 76, 60, 0.08);
}

/* ======================================== */
/* STARS SYSTEM */
/* ======================================== */

/* Nav star badges in Lorcana theme */
[data-theme="lorcana"] .nav-star-badge {
    font-family: var(--font-display);
    letter-spacing: 0.5px;
}

[data-theme="lorcana"] .nav-star-bronze {
    color: #CD7F32;
    background: rgba(205, 127, 50, 0.2);
    border-color: #CD7F32;
}

[data-theme="lorcana"] .nav-star-silver {
    color: #D4D4D4;
    background: rgba(212, 212, 212, 0.15);
    border-color: #D4D4D4;
}

[data-theme="lorcana"] .nav-star-gold {
    color: var(--illuminary-gold);
    background: rgba(211, 186, 132, 0.2);
    border-color: var(--illuminary-gold);
}
[data-theme="lorcana"] .nav-star-gold i {
    filter: drop-shadow(0 0 8px rgba(211, 186, 132, 0.7));
}

[data-theme="lorcana"] .nav-star-mythic {
    color: var(--ink-amethyst);
    background: rgba(155, 89, 182, 0.25);
    border-color: var(--ink-amethyst);
    animation: lorcanaMythicBadge 2.5s ease-in-out infinite;
}
[data-theme="lorcana"] .nav-star-mythic i {
    filter: drop-shadow(0 0 8px rgba(155, 89, 182, 0.8));
}

@keyframes lorcanaMythicBadge {
    0%, 100% { 
        box-shadow: 0 0 8px rgba(155, 89, 182, 0.4);
    }
    50% { 
        box-shadow: 0 0 18px rgba(155, 89, 182, 0.7), 0 0 30px rgba(155, 89, 182, 0.3);
    }
}

/* Stars detailed display */
[data-theme="lorcana"] .star-badge {
    border: 1px solid transparent;
    position: relative;
}

[data-theme="lorcana"] .star-badge.star-bronze { border-color: rgba(205, 127, 50, 0.5); }
[data-theme="lorcana"] .star-badge.star-silver { border-color: rgba(192, 192, 192, 0.5); }
[data-theme="lorcana"] .star-badge.star-gold { border-color: rgba(211, 186, 132, 0.5); }
[data-theme="lorcana"] .star-badge.star-mythic { 
    border-color: rgba(155, 89, 182, 0.5);
    animation: mythicStarGlow 2s ease-in-out infinite;
}

@keyframes mythicStarGlow {
    0%, 100% { box-shadow: 0 0 5px rgba(155, 89, 182, 0.3); }
    50% { box-shadow: 0 0 12px rgba(155, 89, 182, 0.5); }
}

/* ======================================== */
/* TABLES */
/* ======================================== */
[data-theme="lorcana"] .admin-table {
    border: 1px solid rgba(211, 186, 132, 0.15);
}

[data-theme="lorcana"] .admin-table th {
    background: linear-gradient(180deg, 
        rgba(211, 186, 132, 0.12) 0%, 
        rgba(211, 186, 132, 0.05) 100%);
    color: var(--illuminary-gold);
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.75rem;
    border-bottom: 2px solid var(--illuminary-gold-dark);
}

[data-theme="lorcana"] .admin-table td {
    border-bottom: 1px solid rgba(211, 186, 132, 0.08);
}

[data-theme="lorcana"] .admin-table tr:hover td {
    background: rgba(211, 186, 132, 0.05);
}

/* ======================================== */
/* ADMIN NAVIGATION */
/* ======================================== */
[data-theme="lorcana"] .admin-nav-card {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.88) 0%, 
        rgba(42, 45, 84, 0.92) 100%);
    border: 1px solid rgba(211, 186, 132, 0.2);
    position: relative;
}

[data-theme="lorcana"] .admin-nav-card::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 20%;
    right: 20%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold-dark), 
        transparent);
    transition: all 0.3s;
}

[data-theme="lorcana"] .admin-nav-card:hover {
    border-color: var(--illuminary-gold);
    box-shadow: var(--glow-gold);
}

[data-theme="lorcana"] .admin-nav-card:hover::before {
    left: 10%;
    right: 10%;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold), 
        transparent);
}

[data-theme="lorcana"] .nav-card-icon {
    background: linear-gradient(135deg, 
        var(--illuminary-gold-light) 0%, 
        var(--illuminary-gold) 50%,
        var(--illuminary-gold-dark) 100%) !important;
    color: var(--kelp) !important;
    box-shadow: 0 4px 15px rgba(211, 186, 132, 0.3);
}

[data-theme="lorcana"] .nav-card-content h3 {
    font-family: var(--font-display);
    color: var(--parchment);
}

/* ======================================== */
/* HOME PAGE HERO */
/* ======================================== */
[data-theme="lorcana"] .hero-section {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.9) 0%, 
        rgba(42, 45, 84, 0.95) 50%,
        rgba(30, 33, 64, 0.97) 100%);
    border: 1px solid rgba(211, 186, 132, 0.25);
    position: relative;
    overflow: hidden;
}

[data-theme="lorcana"] .hero-section::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 5%;
    right: 5%;
    height: 4px;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold), 
        transparent);
}

[data-theme="lorcana"] .hero-section::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 15%;
    right: 15%;
    height: 2px;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold-dark), 
        transparent);
}

[data-theme="lorcana"] .hero-section h1 {
    font-family: var(--font-display);
    color: var(--illuminary-gold);
    text-shadow: 0 0 30px rgba(211, 186, 132, 0.4);
}

/* ======================================== */
/* MEMBER CARDS */
/* ======================================== */
[data-theme="lorcana"] .member-card {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.85) 0%, 
        rgba(42, 45, 84, 0.9) 100%);
    border: 1px solid rgba(211, 186, 132, 0.18);
}

[data-theme="lorcana"] .member-card:hover {
    border-color: var(--illuminary-gold);
    box-shadow: var(--glow-gold);
}

[data-theme="lorcana"] .member-name {
    font-family: var(--font-display);
}

[data-theme="lorcana"] .rank-badge.rank-1 {
    background: linear-gradient(135deg, 
        var(--illuminary-gold-light), 
        var(--illuminary-gold-dark));
    color: var(--kelp);
    box-shadow: 0 0 20px rgba(211, 186, 132, 0.5);
}

/* ======================================== */
/* MAP MARKERS */
/* ======================================== */
[data-theme="lorcana"] .marker-inner {
    border-color: var(--illuminary-gold-dark);
    background: var(--lorcana-indigo);
}

[data-theme="lorcana"] .marker-mythic .marker-inner {
    border-color: var(--ink-amethyst);
    box-shadow: 0 0 15px rgba(155, 89, 182, 0.6);
}

[data-theme="lorcana"] .marker-gold .marker-inner {
    border-color: var(--illuminary-gold);
    box-shadow: 0 0 12px rgba(211, 186, 132, 0.5);
}

/* ======================================== */
/* FOOTER */
/* ======================================== */
[data-theme="lorcana"] .footer {
    background: linear-gradient(180deg, 
        transparent 0%, 
        rgba(55, 59, 112, 0.6) 50%,
        rgba(55, 59, 112, 0.9) 100%);
    border-top: 1px solid rgba(211, 186, 132, 0.15);
    position: relative;
}

[data-theme="lorcana"] .footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent, 
        var(--illuminary-gold-dark), 
        transparent);
}

[data-theme="lorcana"] .footer a {
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .footer a:hover {
    color: var(--illuminary-gold-light);
    text-shadow: 0 0 10px rgba(211, 186, 132, 0.4);
}

/* ======================================== */
/* SCROLLBAR */
/* ======================================== */
[data-theme="lorcana"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="lorcana"] ::-webkit-scrollbar-track {
    background: var(--kelp);
    border-left: 1px solid rgba(211, 186, 132, 0.1);
}

[data-theme="lorcana"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, 
        var(--lorcana-indigo-light) 0%, 
        var(--lorcana-indigo) 100%);
    border: 2px solid var(--kelp);
    border-radius: 6px;
}

[data-theme="lorcana"] ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, 
        var(--illuminary-gold-dark) 0%, 
        var(--lorcana-indigo-light) 100%);
}

/* ======================================== */
/* THEME SWITCHER */
/* ======================================== */
.theme-switcher {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px;
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
}

.theme-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.25s ease;
    font-size: 0.9rem;
}

.theme-btn:hover {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.theme-btn.active {
    background: var(--primary);
    color: white;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

[data-theme="lorcana"] .theme-switcher {
    background: rgba(55, 59, 112, 0.8);
    border-color: var(--illuminary-gold-dark);
}

[data-theme="lorcana"] .theme-btn.active {
    background: linear-gradient(135deg, 
        var(--illuminary-gold) 0%, 
        var(--illuminary-gold-dark) 100%);
    color: var(--kelp);
    box-shadow: 0 2px 10px rgba(211, 186, 132, 0.4);
}

/* ======================================== */
/* INK TYPE BADGES */
/* ======================================== */
.ink-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ink-badge img {
    width: 18px;
    height: 18px;
}

[data-theme="lorcana"] .ink-amber { 
    background: rgba(245, 166, 35, 0.15); 
    color: var(--ink-amber); 
    border: 1px solid rgba(245, 166, 35, 0.3);
}
[data-theme="lorcana"] .ink-amethyst { 
    background: rgba(155, 89, 182, 0.15); 
    color: var(--ink-amethyst); 
    border: 1px solid rgba(155, 89, 182, 0.3);
}
[data-theme="lorcana"] .ink-emerald { 
    background: rgba(39, 174, 96, 0.15); 
    color: var(--ink-emerald); 
    border: 1px solid rgba(39, 174, 96, 0.3);
}
[data-theme="lorcana"] .ink-ruby { 
    background: rgba(231, 76, 60, 0.15); 
    color: var(--ink-ruby); 
    border: 1px solid rgba(231, 76, 60, 0.3);
}
[data-theme="lorcana"] .ink-sapphire { 
    background: rgba(52, 152, 219, 0.15); 
    color: var(--ink-sapphire); 
    border: 1px solid rgba(52, 152, 219, 0.3);
}
[data-theme="lorcana"] .ink-steel { 
    background: rgba(149, 165, 166, 0.15); 
    color: var(--ink-steel); 
    border: 1px solid rgba(149, 165, 166, 0.3);
}

/* ======================================== */
/* PAGE-SPECIFIC INK DECORATIONS */
/* ======================================== */
/* Quiz page - Emerald and Ruby */
[data-theme="lorcana"] .quiz-page::before {
    background-image: url('/images/ink/COLOR_EMERALD_RGB.webp');
}
[data-theme="lorcana"] .quiz-page::after {
    background-image: url('/images/ink/COLOR_RUBY_RGB.webp');
}

/* Admin page - Steel and Amber */
[data-theme="lorcana"] .admin-page::before {
    content: '';
    position: fixed;
    top: 150px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: url('/images/ink/COLOR_STEEL_RGB.webp') no-repeat center;
    background-size: contain;
    opacity: 0.05;
    pointer-events: none;
}

/* Members page keeps Amethyst and Sapphire */

/* ======================================== */
/* UTILITY ANIMATIONS */
/* ======================================== */
[data-theme="lorcana"] .glow-gold {
    animation: glowGoldPulse 2s ease-in-out infinite;
}

@keyframes glowGoldPulse {
    0%, 100% { box-shadow: var(--glow-gold); }
    50% { box-shadow: var(--glow-gold-strong); }
}

/* ======================================== */
/* RESPONSIVE - NAV OVERFLOW FIX */
/* ======================================== */
@media (max-width: 1200px) {
    [data-theme="lorcana"] .nav-link span {
        font-size: 0.8125rem;
    }
    
    [data-theme="lorcana"] .nav-link {
        padding: 0.5rem;
    }
}

@media (max-width: 1024px) {
    [data-theme="lorcana"] .nav-link span {
        display: none; /* Icons only on tablet */
    }
    
    [data-theme="lorcana"] .nav-link i {
        display: inline-block;
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    /* Mobile sidebar - full styles */
    [data-theme="lorcana"] .nav {
        max-width: none;
        overflow: visible;
    }
    
    [data-theme="lorcana"] .nav-link {
        text-transform: none;
        letter-spacing: 0.2px;
        font-size: 0.9375rem;
    }
    
    [data-theme="lorcana"] .nav-link span {
        display: inline;
    }
    
    [data-theme="lorcana"] .lang-current {
        display: inline;
    }
}
/* ============================================
   LORCANA THEME - BARLOW CONDENSED FONT
   (Alternative gratuite à Brandon Grotesque)
   
   AJOUTER À LA FIN DE theme-lorcana.css
   ============================================ */


/* Override font for entire Lorcana theme */
[data-theme="lorcana"] {
/* Typography - REMPLACER */
--font-display: 'Playfair Display', 'Poppins', Georgia, serif;
--font-body: 'Inter', 'Barlow Condensed', -apple-system, sans-serif;
    
}

[data-theme="lorcana"] body {
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: 0.2px;
}

/* Headings */
/* Headings */
[data-theme="lorcana"] h1,
[data-theme="lorcana"] h2,
[data-theme="lorcana"] h3,
[data-theme="lorcana"] .hero-title,
[data-theme="lorcana"] .card-header h2,
[data-theme="lorcana"] .card-header h3,
[data-theme="lorcana"] .section-title {
    font-family: 'Poppins', 'Inter', sans-serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}
[data-theme="lorcana"] h4,
[data-theme="lorcana"] h5,
[data-theme="lorcana"] h6 {
    font-family: var(--font-body);
    font-weight: 600;
}

/* Body text */
[data-theme="lorcana"] body,
[data-theme="lorcana"] p,
[data-theme="lorcana"] span,
[data-theme="lorcana"] li,
[data-theme="lorcana"] td,
[data-theme="lorcana"] th,
[data-theme="lorcana"] label,
[data-theme="lorcana"] input,
[data-theme="lorcana"] select,
[data-theme="lorcana"] textarea {
    font-family: var(--font-body);
}




/* Navigation */
[data-theme="lorcana"] .nav-link,
[data-theme="lorcana"] .nav-button,
[data-theme="lorcana"] .lang-toggle {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* Buttons */
[data-theme="lorcana"] .btn,
[data-theme="lorcana"] button {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Cards */
[data-theme="lorcana"] .card,
[data-theme="lorcana"] .feature-card,
[data-theme="lorcana"] .stat-card,
[data-theme="lorcana"] .member-card {
    font-family: 'Inter', sans-serif;
}

/* Forms */
[data-theme="lorcana"] input,
[data-theme="lorcana"] select,
[data-theme="lorcana"] textarea,
[data-theme="lorcana"] .form-control {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
}

/* Quiz elements */
[data-theme="lorcana"] .quiz-option,
[data-theme="lorcana"] .quiz-question,
[data-theme="lorcana"] .answer-text {
    font-family: 'Inter', sans-serif;
}

/* Footer */
[data-theme="lorcana"] .footer {
    font-family: 'Inter', sans-serif;
}

/* Tables */
[data-theme="lorcana"] table,
[data-theme="lorcana"] .table {
    font-family: 'Inter', sans-serif;
}

/* Badges - keep compact */
[data-theme="lorcana"] .badge {
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.6875rem;
}

/* Alerts & Messages */
[data-theme="lorcana"] .alert,
[data-theme="lorcana"] .toast,
[data-theme="lorcana"] .message {
    font-family: 'Inter', sans-serif;
}

/* ============================================
   FIX: BOUTONS - Texte qui déborde
   ============================================ */
[data-theme="lorcana"] .btn,
[data-theme="lorcana"] button,
[data-theme="lorcana"] .hero-btn {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    letter-spacing: 0.3px;
    font-size: 0.9rem;
    white-space: nowrap;
    padding: 0.75rem 1.25rem;
}

[data-theme="lorcana"] .btn-lg,
[data-theme="lorcana"] .hero-btn {
    font-size: 0.95rem;
    padding: 0.875rem 1.5rem;
}

[data-theme="lorcana"] .btn-desc,
[data-theme="lorcana"] .hero-btn .btn-desc {
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.2px;
}

/* Fix hero buttons specifically */
[data-theme="lorcana"] .hero-actions .btn,
[data-theme="lorcana"] .hero-actions .hero-btn {
    min-width: 180px;
    padding: 0.75rem 1rem;
}

[data-theme="lorcana"] .hero-actions .btn span,
[data-theme="lorcana"] .hero-actions .hero-btn span {
    font-size: 0.85rem;
}

/* ============================================
   FIX: LOGO - Garder Cinzel Gras
   ============================================ */
/* ============================================
   FIX: LOGO - Police moderne
   ============================================ */
[data-theme="lorcana"] .logo {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
}

[data-theme="lorcana"] .logo span {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-weight: 700 !important;
}

[data-theme="lorcana"] .logo-icon {
    font-family: inherit;
}

/* ============================================
   FIX: Navigation desktop - Barlow Condensed
   ============================================ */
[data-theme="lorcana"] .nav .nav-link span {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* ============================================
   LORCANA THEME - MOBILE NAVIGATION FIX
   ============================================ */

/* Reset nav overflow restrictions on mobile */
@media (max-width: 767px) {
    /* Allow mobile sidebar to work */
    [data-theme="lorcana"] .header {
        overflow: visible;
    }
    
    [data-theme="lorcana"] .header-inner {
        overflow: visible;
    }
    
    /* Mobile menu toggle - always visible */
    [data-theme="lorcana"] .menu-toggle {
        display: flex !important;
        color: var(--parchment);
    }
    
    [data-theme="lorcana"] .menu-toggle:hover,
    [data-theme="lorcana"] .menu-toggle:active {
        background: rgba(211, 186, 132, 0.15);
        color: var(--illuminary-gold);
    }
    
    /* Nav sidebar - hidden by default, shown when active */
    [data-theme="lorcana"] .nav {
        display: flex !important;
        visibility: hidden;
        opacity: 0;
        transform: translateX(100%);
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: 280px;
        max-width: 85vw;
        background: linear-gradient(180deg, 
            rgba(55, 59, 112, 0.98) 0%, 
            rgba(42, 45, 84, 0.98) 100%) !important;
        padding: 80px 1rem 1.5rem 1rem;
        flex-direction: column;
        gap: 0.25rem;
        overflow-y: auto;
        overflow-x: hidden;
        z-index: 9998;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.5);
        border-left: 1px solid rgba(211, 186, 132, 0.25);
        transition: transform 0.3s ease, visibility 0s 0.3s, opacity 0.3s ease;
        pointer-events: none;
    }
    
    /* Nav sidebar OPEN state */
    [data-theme="lorcana"] .nav.active {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
        transition: transform 0.3s ease, visibility 0s 0s, opacity 0.3s ease;
        pointer-events: auto !important;
    }
    
    /* Nav links in mobile sidebar */
    [data-theme="lorcana"] .nav .nav-link {
        display: flex !important;
        align-items: center;
        gap: 0.75rem;
        padding: 0.875rem 1rem;
        color: var(--parchment);
        font-family: var(--font-body);
        font-weight: 500;
        font-size: 0.9375rem;
        text-transform: none;
        letter-spacing: 0.3px;
        border-radius: 8px;
        min-height: 44px;
        width: 100%;
    }
    
    /* Show text AND icons in mobile */
    [data-theme="lorcana"] .nav .nav-link span {
        display: inline !important;
        font-size: 0.9375rem;
        text-transform: none;
    }
    
    [data-theme="lorcana"] .nav .nav-link i {
        display: inline-block !important;
        width: 22px;
        text-align: center;
        font-size: 1rem;
        opacity: 0.8;
    }
    
    /* Remove underline effect on mobile */
    [data-theme="lorcana"] .nav .nav-link::after {
        display: none;
    }
    
    /* Hover/active states */
    [data-theme="lorcana"] .nav .nav-link:hover,
    [data-theme="lorcana"] .nav .nav-link.active {
        background: rgba(211, 186, 132, 0.12);
        color: var(--illuminary-gold);
    }
    
    /* Divider */
    [data-theme="lorcana"] .nav .nav-divider {
        height: 1px;
        width: 100%;
        background: rgba(211, 186, 132, 0.15);
        margin: 0.5rem 0;
    }
    
    /* Profile link */
    [data-theme="lorcana"] .nav .nav-profile {
        background: rgba(211, 186, 132, 0.08);
        margin-top: 0.5rem;
    }
    
    /* Logout button */
    [data-theme="lorcana"] .nav .logout-form {
        width: 100%;
    }
    
    [data-theme="lorcana"] .nav .nav-button {
        width: 100%;
        text-align: left;
        background: none;
        border: none;
        cursor: pointer;
        color: inherit;
        font: inherit;
    }
    
    /* Register button in mobile nav */
    [data-theme="lorcana"] .nav .btn.btn-primary {
        display: flex !important;
        width: 100%;
        margin-top: 0.5rem;
        justify-content: center;
        background: linear-gradient(180deg, 
            var(--illuminary-gold-light) 0%,
            var(--illuminary-gold) 50%,
            var(--illuminary-gold-dark) 100%);
        color: var(--kelp);
    }
    
    [data-theme="lorcana"] .nav .btn.btn-primary span {
        display: inline !important;
    }
    
    /* Language selector */
    [data-theme="lorcana"] .nav .lang-selector {
        margin-top: auto;
        padding-top: 0.75rem;
        border-top: 1px solid rgba(211, 186, 132, 0.15);
    }
    
    [data-theme="lorcana"] .nav .lang-toggle {
        display: flex;
        width: 100%;
        padding: 0.75rem 1rem;
        min-height: 44px;
    }
    
    [data-theme="lorcana"] .nav .lang-current {
        display: inline !important;
    }
    
    [data-theme="lorcana"] .nav .lang-dropdown {
        position: static;
        background: none;
        border: none;
        box-shadow: none;
        padding: 0.25rem 0 0.25rem 1.5rem;
    }
    
    [data-theme="lorcana"] .nav .lang-option {
        padding: 0.5rem 0.75rem;
        min-height: 40px;
        border-radius: 6px;
    }
    
    [data-theme="lorcana"] .nav .lang-option:hover,
    [data-theme="lorcana"] .nav .lang-option.active {
        background: rgba(211, 186, 132, 0.12);
    }
    
    /* Theme switcher in mobile */
    [data-theme="lorcana"] .nav .theme-switcher {
        display: flex;
        width: 100%;
        justify-content: center;
        margin-top: 0.5rem;
        padding: 0.5rem;
        background: rgba(0, 0, 0, 0.2);
        border-radius: 8px;
    }
    
    [data-theme="lorcana"] .nav .theme-btn {
        flex: 1;
        max-width: 60px;
    }
    
    /* Stars badge in nav */
    [data-theme="lorcana"] .nav .nav-star-badge {
        margin-left: auto;
    }
}

/* Overlay for mobile menu */
[data-theme="lorcana"] .nav-overlay {
    background: rgba(28, 28, 26, 0.7);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

[data-theme="lorcana"] .nav-overlay.active {
    display: block;
    opacity: 1;
}

/* ============================================
   TABLET NAVIGATION (768px - 1023px)
   ============================================ */
@media (min-width: 768px) and (max-width: 1023px) {
    [data-theme="lorcana"] .menu-toggle {
        display: none !important;
    }
    
    [data-theme="lorcana"] .nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        position: static !important;
        width: auto !important;
        max-width: calc(100% - 180px);
        background: transparent !important;
        padding: 0 !important;
        flex-direction: row !important;
        box-shadow: none !important;
        border: none !important;
        pointer-events: auto !important;
        overflow-x: auto;
        overflow-y: hidden;
    }
    
    /* Icons only on tablet */
    [data-theme="lorcana"] .nav .nav-link span {
        display: none !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link i {
        display: inline-block !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link {
        padding: 0.5rem;
    }
}

/* ============================================
   DESKTOP NAVIGATION (1024px+)
   ============================================ */
@media (min-width: 1024px) {
    [data-theme="lorcana"] .menu-toggle {
        display: none !important;
    }
    
    [data-theme="lorcana"] .nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        position: static !important;
        width: auto !important;
        max-width: none;
        background: transparent !important;
        padding: 0 !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 0.25rem !important;
        box-shadow: none !important;
        border: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }
    
    /* Show text on desktop */
    [data-theme="lorcana"] .nav .nav-link span {
        display: inline !important;
        font-size: 0.8125rem;
    }
    
    [data-theme="lorcana"] .nav .nav-link i {
        display: none !important;
    }
    
    /* Keep icon for profile */
    [data-theme="lorcana"] .nav .nav-profile i,
    [data-theme="lorcana"] .nav .nav-profile .nav-avatar {
        display: inline-flex !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link {
        padding: 0.5rem 0.75rem;
    }
    
    /* Restore underline effect */
    [data-theme="lorcana"] .nav .nav-link::after {
        display: block;
    }
    
    /* Divider vertical */
    [data-theme="lorcana"] .nav .nav-divider {
        width: 1px;
        height: 24px;
        margin: 0 0.5rem;
    }
    
    /* Language dropdown */
    [data-theme="lorcana"] .nav .lang-dropdown {
        position: absolute;
        top: 100%;
        right: 0;
        background: linear-gradient(180deg, 
            rgba(55, 59, 112, 0.98) 0%, 
            rgba(42, 45, 84, 0.98) 100%);
        border: 1px solid rgba(211, 186, 132, 0.25);
        border-radius: 8px;
        min-width: 150px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
        padding: 0.5rem 0;
    }
    
    /* Theme switcher inline */
    [data-theme="lorcana"] .nav .theme-switcher {
        margin-left: 0.5rem;
    }
}

/* ============================================
   LORCANA THEME - FIXES ADDITIONNELS
   ============================================ */

/* ============================================
   FIX 1: TOASTS - Position en haut à droite
   ============================================ */
[data-theme="lorcana"] .toast-container {
    position: fixed !important;
    top: 80px !important;
    right: 1rem !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 9999 !important;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 400px;
    width: calc(100% - 2rem);
    pointer-events: none;
}

[data-theme="lorcana"] .toast {
    pointer-events: auto;
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.98) 0%, 
        rgba(42, 45, 84, 0.98) 100%);
    border: 1px solid rgba(211, 186, 132, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(211, 186, 132, 0.15);
}

[data-theme="lorcana"] .toast-success {
    border-color: rgba(39, 174, 96, 0.4);
}

[data-theme="lorcana"] .toast-error {
    border-color: rgba(231, 76, 60, 0.4);
}

[data-theme="lorcana"] .toast-warning {
    border-color: rgba(245, 166, 35, 0.4);
}

[data-theme="lorcana"] .toast-info {
    border-color: rgba(52, 152, 219, 0.4);
}

/* ============================================
   FIX 2: HEADER - Centrage navigation
   ============================================ */
[data-theme="lorcana"] .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-width: var(--container-max, 1200px);
    margin: 0 auto;
    padding: 0 1rem;
    height: 100%;
}

[data-theme="lorcana"] .logo {
    flex-shrink: 0;
}

/* Navigation - prend l'espace disponible et centre les liens */
@media (min-width: 1024px) {
    [data-theme="lorcana"] .nav {
        flex: 1;
        justify-content: flex-end;
        gap: 0.5rem;
    }
}

/* ============================================
   FIX 3: BARRE DE PROGRESSION QUIZ
   ============================================ */
[data-theme="lorcana"] .quiz-header {
    background: linear-gradient(160deg, 
        rgba(55, 59, 112, 0.92) 0%, 
        rgba(42, 45, 84, 0.95) 100%);
    border: 1px solid rgba(211, 186, 132, 0.25);
    border-radius: 12px;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    position: relative;
}

[data-theme="lorcana"] .quiz-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

[data-theme="lorcana"] .quiz-progress-container,
[data-theme="lorcana"] .quiz-progress {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
}

/* Barre de progression - CORRIGÉE */
[data-theme="lorcana"] .progress-bar {
    flex: 1;
    height: 10px;
    background: rgba(28, 28, 26, 0.6) !important;
    border: 1px solid rgba(211, 186, 132, 0.3) !important;
    border-radius: 10px !important;
    overflow: hidden;
    position: relative;
}

[data-theme="lorcana"] .progress-fill {
    height: 100% !important;
    min-height: 8px;
    background: linear-gradient(90deg, 
        var(--illuminary-gold-dark) 0%, 
        var(--illuminary-gold) 50%, 
        var(--illuminary-gold-light) 100%) !important;
    border-radius: 10px !important;
    box-shadow: 
        0 0 10px rgba(211, 186, 132, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transition: width 0.3s ease;
    position: relative;
}

/* Animation de brillance sur la progression */
[data-theme="lorcana"] .progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.3) 50%, 
        transparent 100%);
    animation: progressShine 2s ease-in-out infinite;
}

/* Texte de progression */
[data-theme="lorcana"] .progress-text {
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--illuminary-gold);
    font-size: 1rem;
    min-width: 45px;
    text-align: right;
    text-shadow: 0 0 10px rgba(211, 186, 132, 0.4);
}

/* Badge de difficulté */
[data-theme="lorcana"] .quiz-badge {
    font-family: var(--font-body);
    font-weight: 600;
    padding: 0.375rem 0.875rem;
    border-radius: 6px;
}

/* Badge "Une seule réponse" / "Plusieurs réponses" */
[data-theme="lorcana"] .question-type {
    background: rgba(55, 59, 112, 0.8);
    border: 1px solid rgba(211, 186, 132, 0.25);
    color: var(--parchment);
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
    font-size: 0.8125rem;
}

[data-theme="lorcana"] .question-type.multiple {
    background: rgba(155, 89, 182, 0.2);
    border-color: rgba(155, 89, 182, 0.4);
    color: #c39cff;
}

/* Question counter */
[data-theme="lorcana"] .question-counter {
    color: var(--parchment-dark);
    font-size: 0.9375rem;
}

[data-theme="lorcana"] .question-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* ============================================
   FIX: Quiz count display (0/5)
   ============================================ */
[data-theme="lorcana"] .quiz-count {
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--parchment);
    font-size: 0.9375rem;
}

/* ============================================
   FIX: Quick navigation dots
   ============================================ */
[data-theme="lorcana"] .quick-navigation {
    background: linear-gradient(180deg, 
        rgba(55, 59, 112, 0.95) 0%, 
        rgba(42, 45, 84, 0.98) 100%);
    border-top: 1px solid rgba(211, 186, 132, 0.2);
}

[data-theme="lorcana"] .nav-dot {
    background: rgba(28, 28, 26, 0.6);
    border: 2px solid rgba(211, 186, 132, 0.2);
    color: var(--parchment-dark);
}

[data-theme="lorcana"] .nav-dot:hover {
    background: rgba(211, 186, 132, 0.1);
    border-color: rgba(211, 186, 132, 0.4);
}

[data-theme="lorcana"] .nav-dot.active {
    background: rgba(211, 186, 132, 0.15);
    border-color: var(--illuminary-gold);
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .nav-dot.answered {
    background: rgba(39, 174, 96, 0.2);
    border-color: var(--ink-emerald);
    color: var(--ink-emerald);
}

[data-theme="lorcana"] .nav-dot.answered.active {
    border-color: var(--ink-emerald);
    box-shadow: 0 0 8px rgba(39, 174, 96, 0.4);
}

/* ============================================
   FIX: Nav Star Badge - Supprimer le fond carré
   ============================================ */
[data-theme="lorcana"] .nav-star-badge {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

[data-theme="lorcana"] .nav-star-badge i {
    font-size: 1.25rem;
}

[data-theme="lorcana"] .nav-star-badge .nav-star-value {
    color: var(--kelp);
    font-weight: 800;
    text-shadow: none;
}

/* Bronze */
[data-theme="lorcana"] .nav-star-bronze {
    background: transparent !important;
}
[data-theme="lorcana"] .nav-star-bronze i {
    color: #CD7F32;
    filter: drop-shadow(0 0 4px rgba(205, 127, 50, 0.6));
}

/* Silver */
[data-theme="lorcana"] .nav-star-silver {
    background: transparent !important;
}
[data-theme="lorcana"] .nav-star-silver i {
    color: #C0C0C0;
    filter: drop-shadow(0 0 4px rgba(192, 192, 192, 0.6));
}

/* Gold */
[data-theme="lorcana"] .nav-star-gold {
    background: transparent !important;
}
[data-theme="lorcana"] .nav-star-gold i {
    color: var(--illuminary-gold);
    filter: drop-shadow(0 0 6px rgba(211, 186, 132, 0.7));
}

/* Mythic */
[data-theme="lorcana"] .nav-star-mythic {
    background: transparent !important;
    animation: none !important;
}
[data-theme="lorcana"] .nav-star-mythic i {
    color: var(--ink-amethyst);
    filter: drop-shadow(0 0 6px rgba(155, 89, 182, 0.8));
    animation: mythicStarPulse 2s ease-in-out infinite;
}

/* No stars */
[data-theme="lorcana"] .nav-star-none {
    background: transparent !important;
}
[data-theme="lorcana"] .nav-star-none i {
    color: var(--text-muted);
    filter: none;
}
/* ============================================
   FIX: Theme Switcher toujours visible
   ============================================ */

/* S'assurer que le theme-switcher ne disparaît jamais */
[data-theme="lorcana"] .theme-switcher {
    flex-shrink: 0 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 10;
}

/* Desktop - nav ne doit pas cacher le switcher */
@media (min-width: 1024px) {
    [data-theme="lorcana"] .header-inner {
        overflow: visible !important;
    }
    
    [data-theme="lorcana"] .nav {
        overflow: visible !important;
        flex-wrap: nowrap;
        max-width: none !important;
    }
    
    /* Réduire l'espace des liens pour faire de la place */
    [data-theme="lorcana"] .nav .nav-link {
        padding: 0.5rem 0.5rem;
        font-size: 0.8rem;
    }
    
    /* Garder le profil compact */
    [data-theme="lorcana"] .nav .nav-profile span {
        max-width: 100px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    /* Language selector compact */
    [data-theme="lorcana"] .lang-selector {
        flex-shrink: 0 !important;
    }
    
    /* Logout form ne prend pas trop de place */
    [data-theme="lorcana"] .logout-form {
        flex-shrink: 0;
    }
    
    [data-theme="lorcana"] .logout-form .nav-button {
        padding: 0.5rem;
    }
}

/* Pour les écrans moyens (1024px - 1280px) */
@media (min-width: 1024px) and (max-width: 1280px) {
    /* Cacher le texte des liens, garder les icônes */
    [data-theme="lorcana"] .nav .nav-link:not(.nav-profile) span {
        display: none !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link:not(.nav-profile) i {
        display: inline-block !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link {
        padding: 0.5rem;
    }
    
    /* Garder le nom du profil visible mais court */
    [data-theme="lorcana"] .nav .nav-profile span {
        display: inline !important;
        max-width: 80px;
    }
}

/* Grands écrans (1280px+) - tout afficher */
@media (min-width: 1280px) {
    [data-theme="lorcana"] .nav .nav-link span {
        display: inline !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link i {
        display: none !important;
    }
    
    [data-theme="lorcana"] .nav .nav-profile i,
    [data-theme="lorcana"] .nav .nav-profile .nav-avatar {
        display: inline-flex !important;
    }
    
    [data-theme="lorcana"] .nav .nav-link {
        padding: 0.5rem 0.75rem;
    }
}
/* ============================================
   FIX: Dropdown langue derrière la page
   ============================================ */
[data-theme="lorcana"] .header {
    overflow: visible !important;
}

[data-theme="lorcana"] .header-inner {
    overflow: visible !important;
}

[data-theme="lorcana"] .lang-selector {
    position: relative !important;
    z-index: 100 !important;
}

[data-theme="lorcana"] .lang-dropdown {
    z-index: 10001 !important;
    position: absolute !important;
    
    top: 100% !important;
    right: 0 !important;
    border: 1px solid rgba(211, 186, 132, 0.3) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    min-width: 150px !important;
}

[data-theme="lorcana"] .lang-option:hover {
    background: rgba(211, 186, 132, 0.15) !important;
}

/* ========================================
   LORCANA THEME - FOOTER OVERRIDES
   ======================================== */

/* Footer principal */
[data-theme="lorcana"] .site-footer {
    background: transparent;
    border-top: none;
}

/* Decoration top avec étoiles */
[data-theme="lorcana"] .footer-decoration {
    background: transparent;
}

[data-theme="lorcana"] .footer-decoration::before {
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--illuminary-gold-dark) 20%, 
        var(--illuminary-gold) 50%, 
        var(--illuminary-gold-dark) 80%, 
        transparent 100%);
    opacity: 0.6;
}

[data-theme="lorcana"] .footer-star {
    color: var(--illuminary-gold);
}

/* Logo footer */
[data-theme="lorcana"] .footer-logo-icon {
}

[data-theme="lorcana"] .footer-logo-text {
    background: linear-gradient(135deg, 
        var(--parchment) 0%, 
        var(--illuminary-gold) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Description */
[data-theme="lorcana"] .footer-description {
    color: var(--parchment-dark);
}

/* Social pills */
[data-theme="lorcana"] .social-pill {
    background: rgba(55, 59, 112, 0.6);
    border-color: rgba(211, 186, 132, 0.25);
    color: var(--parchment);
}

[data-theme="lorcana"] .social-pill:hover {
    background: var(--illuminary-gold);
    border-color: var(--illuminary-gold);
    color: var(--kelp);
}

[data-theme="lorcana"] .social-pill.discord:hover {
    background: #5865F2;
    border-color: #5865F2;
    color: white;
}

[data-theme="lorcana"] .social-pill.kofi:hover {
    background: linear-gradient(135deg, #ff5e5b, #ff3366);
    border-color: #ff5e5b;
    color: white;
}

/* Navigation columns titles */
[data-theme="lorcana"] .footer-nav h4 {
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .footer-nav h4::after {
    background: linear-gradient(90deg, 
        var(--illuminary-gold-dark), 
        transparent);
}

/* Navigation links */
[data-theme="lorcana"] .footer-nav a {
    color: var(--parchment-dark);
}

[data-theme="lorcana"] .footer-nav a:hover {
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .footer-nav a::before {
    background: var(--illuminary-gold);
}

/* Disclaimer section */
[data-theme="lorcana"] .footer-disclaimer-section {
    background: rgba(55, 59, 112, 0.3);
    border-top-color: rgba(211, 186, 132, 0.15);
    border-bottom-color: rgba(211, 186, 132, 0.15);
}

[data-theme="lorcana"] .disclaimer-icon {
    background: linear-gradient(135deg, 
        rgba(211, 186, 132, 0.2), 
        rgba(211, 186, 132, 0.05));
    border-color: rgba(211, 186, 132, 0.3);
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .disclaimer-main {
    color: var(--parchment-dark);
}

[data-theme="lorcana"] .disclaimer-trademark {
    color: var(--text-muted);
}

/* Copyright section */
[data-theme="lorcana"] .footer-copyright-inner {
    color: var(--parchment-dark);
}

[data-theme="lorcana"] .footer-copyright-inner a {
    color: var(--illuminary-gold);
}

[data-theme="lorcana"] .footer-copyright-inner a:hover {
    color: var(--illuminary-gold-light);
}

/* ========================================
/* ========================================
   LORCANA THEME - BACK TO TOP BUTTON FIX
   ======================================== */

/* IMPORTANT: Force position fixed à droite */
[data-theme="lorcana"] .back-to-top {
    position: fixed !important;
    bottom: 30px !important;
    right: 30px !important;
    left: auto !important;
    top: auto !important;
    width: 56px;
    height: 56px;
    z-index: 9999 !important;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
}

[data-theme="lorcana"] .back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Ink drop styling - SPECIFIQUE au back-to-top uniquement */
[data-theme="lorcana"] .back-to-top .ink-drop {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

[data-theme="lorcana"] .back-to-top .ink-drop::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, 
        var(--illuminary-gold) 0%, 
        var(--illuminary-gold-dark) 100%);
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    transition: all 0.3s ease;
    box-shadow: 
        0 4px 20px rgba(211, 186, 132, 0.5),
        inset 0 -4px 10px rgba(0, 0, 0, 0.2),
        inset 0 4px 10px rgba(255, 255, 255, 0.2);
}

[data-theme="lorcana"] .back-to-top .ink-drop::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 12px;
    width: 12px;
    height: 8px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    transform: rotate(-30deg);
}

[data-theme="lorcana"] .back-to-top .ink-drop i {
    position: relative;
    z-index: 1;
    color: var(--kelp);
    font-size: 1.125rem;
    transition: transform 0.2s ease;
}

[data-theme="lorcana"] .back-to-top:hover .ink-drop {
    transform: scale(1.1);
}

[data-theme="lorcana"] .back-to-top:hover .ink-drop::before {
    box-shadow: 
        0 8px 30px rgba(211, 186, 132, 0.6),
        inset 0 -4px 10px rgba(0, 0, 0, 0.2),
        inset 0 4px 10px rgba(255, 255, 255, 0.2);
}

[data-theme="lorcana"] .back-to-top:hover .ink-drop i {
    animation: float-up 0.6s ease infinite;
}

[data-theme="lorcana"] .back-to-top:active .ink-drop {
    transform: scale(0.95);
}

/* Mobile */
@media (max-width: 768px) {
    [data-theme="lorcana"] .back-to-top {
        bottom: 20px !important;
        right: 20px !important;
        width: 50px;
        height: 50px;
    }
}

/* ========================================
   LORCANA THEME - FOOTER RESPONSIVE
   ======================================== */

@media (max-width: 900px) {
    [data-theme="lorcana"] .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    [data-theme="lorcana"] .footer-brand {
        grid-column: 1 / -1;
        text-align: center;
        align-items: center;
    }
    
    [data-theme="lorcana"] .footer-logo {
        justify-content: center;
    }
    
    [data-theme="lorcana"] .footer-social {
        justify-content: center;
    }
    
    [data-theme="lorcana"] .footer-disclaimer-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 600px) {
    [data-theme="lorcana"] .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    [data-theme="lorcana"] .footer-nav h4::after {
        display: none;
    }
    
    [data-theme="lorcana"] .footer-nav h4 {
        justify-content: center;
    }
    
    [data-theme="lorcana"] .footer-nav ul {
        align-items: center;
    }
    
    [data-theme="lorcana"] .footer-nav a:hover {
        transform: none;
    }
    
    [data-theme="lorcana"] .footer-decoration {
        height: 40px;
    }
    
    [data-theme="lorcana"] .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }
}

/* ============================================
   FIX: Modal close button - Lorcana theme
   ============================================ */
[data-theme="lorcana"] .modal-close {
    background: rgba(28, 28, 26, 0.5);
    border: 1px solid rgba(211, 186, 132, 0.3);
    color: var(--parchment);
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    flex-shrink: 0;
}

[data-theme="lorcana"] .modal-close:hover {
    background: rgba(231, 76, 60, 0.2);
    border-color: var(--ink-ruby);
    color: var(--ink-ruby);
}

[data-theme="lorcana"] .modal-close:active {
    transform: scale(0.9);
}

/* Modal header alignment */
[data-theme="lorcana"] .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg);
    border-bottom: 1px solid rgba(211, 186, 132, 0.15);
}

/* Modal content styling */
[data-theme="lorcana"] .modal-content {
    background: linear-gradient(160deg,
        rgba(55, 59, 112, 0.98) 0%,
        rgba(42, 45, 84, 0.98) 50%,
        rgba(30, 33, 64, 0.99) 100%);
    border: 1px solid rgba(211, 186, 132, 0.25);
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.6),
        0 0 1px rgba(211, 186, 132, 0.3);
}

[data-theme="lorcana"] .modal-footer {
    border-top: 1px solid rgba(211, 186, 132, 0.15);
}