   /* --- PERSONNALISATION DE LA SCROLLBAR --- */
/* Largeur de la barre de défilement */
::-webkit-scrollbar {
    width: 6px; /* Très fine */
}

/* Fond de la barre (Track) */
::-webkit-scrollbar-track {
    background: #0f172a; /* Bleu nuit profond (assorti à votre section médiathèque) */
}

/* Partie mobile de la barre (Thumb) */
::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #3b82f6, #10b981); /* Dégradé Bleu vers Émeraude */
    border-radius: 10px;
}

/* Au survol */
::-webkit-scrollbar-thumb:hover {
    background: #60a5fa; /* Bleu plus clair au survol */
}

/* --- DESIGN DU CURSEUR PERSONNALISÉ --- */
/* On cache le curseur par défaut sur les écrans larges */
@media (min-width: 1024px) {
    body {
        cursor: none;
    }
    a, button, [role="button"] {
        cursor: none;
    }

    #custom-cursor {
        width: 8px;
        height: 8px;
        background: #3b82f6;
        border-radius: 50%;
        position: fixed;
        pointer-events: none;
        z-index: 9999;
        transition: transform 0.1s ease-out;
    }

    #custom-cursor-outline {
        width: 40px;
        height: 40px;
        border: 2px solid rgba(59, 130, 246, 0.5);
        border-radius: 50%;
        position: fixed;
        pointer-events: none;
        z-index: 9998;
        transition: transform 0.15s ease-out;
    }
    
    /* Effet d'agrandissement sur les liens */
    .cursor-hover {
        transform: scale(1.5);
        background: #10b981 !important;
        border-color: #10b981 !important;
    }
}




 body { font-family: 'Plus Jakarta Sans', sans-serif; overflow-x: hidden; }
    
    /* Effet de flou sur la navigation */
    .glass-nav {
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    /* Styles pour le menu mobile (Drawer) */
    #mobile-drawer {
        transition: visibility 0.4s;
    }
    #mobile-drawer.active {
        visibility: visible;
    }
    #drawer-content {
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    #mobile-drawer.active #drawer-content {
        transform: translateX(0);
    }
    #drawer-overlay {
        opacity: 0;
        transition: opacity 0.4s ease;
    }
    #mobile-drawer.active #drawer-overlay {
        opacity: 1;
    }

 @keyframes bounce-slow {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-15px); }
    }
    .animate-bounce-slow {
        animation: bounce-slow 4s ease-in-out infinite;
    }


 @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@900&family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap');

    .font-serif { font-family: 'Playfair Display', serif; }
    .font-sans { font-family: 'Plus Jakarta Sans', sans-serif; }

    .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .line-clamp-5 { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }