html {
    scroll-behavior: smooth;
}
/* --- 1. RESET / BASE --- */
* {
    box-sizing: border-box; 
    margin: 0;
    padding: 0;
}

/* STYLE DE LA SÉLECTION (Surlignage) */
::selection {
    background-color: #2a2a2a; 
    color: #ffffff;            
}

::-moz-selection {
    background-color: #2a2a2a;
    color: #ffffff;
}

body {
    /* --- TYPOGRAPHIE GLOBALE --- */
    font-family: "forma-djr-deck", sans-serif; 
    font-weight: 450; 
    font-size: 17px; 
    line-height: 1.5; 
    letter-spacing: 0.55px;
    color: #2a2a2a;
    background-color: #fff; /* Ajout pour être sûr du fond blanc */
    width: 100%;
    overflow-x: hidden;
}

/* --- 2. BARRE DE NAVIGATION (NAVBAR) --- */
.navbar {
    position: sticky; 
    top: 0;
    z-index: 1000;
    box-shadow: none;
    padding: 16px 0; 
}

.nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px; 
    display: grid;
    grid-template-columns: repeat(12, 1fr); 
    gap: 16px; 
    align-items: center;
    font-family: "Inter", sans-serif; 
}


.logo-link {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    display: inline-block; /* Important pour que la transformation fonctionne */
}
.nav-logo-img {
    height: 50px; /* Ajuste cette valeur selon la taille désirée */
    width: auto;
    display: block;
    
    /* La dynamique : on incline légèrement */
    transform: rotate(-3deg); 
    transition: transform 0.3s ease; /* Petit effet au survol */
}
.logo-link:hover .nav-logo-img {
    transform: rotate(0deg) scale(1.05);
}

.nav-links {
    grid-column: span 10; 
    text-align: right;
    font-weight: 400; 
}

.nav-links a {
    margin-left: 32px; 
}

/* --- 3. STYLES DES LIENS (Généraux) --- */
a {
    color: #2a2a2a;
    background-color: #ffffff;
    text-decoration: none;
    padding: 4px 8px;
    border: 1.5px solid transparent; 
    transition: background-image 1s ease, background-color 0.2s ease, padding 0.2s ease;
    border: 1.5px solid #000;
    box-shadow: 2.5px 2.5px 0px rgba(0,0,0,0.1);
    border-radius: 5px;
}

a:hover {
    background-color: #2a2a2a;
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 5px;
}







/* =========================================
   --- HEADER ---
   ========================================= */

.header-accueil {
    width: 100%;
    /* ⚠️ NE TOUCHE PAS À ÇA : Cela garde la proportion (format rectangulaire) */
    aspect-ratio: 16 / 9; 
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
    background-color: #fff;
}

.header-content {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0; 
}

.hdr-img {
    position: absolute;
    display: block;
    height: auto; 
}

/* --- 1. LE TITRE PRINCIPAL ([Re]construire...) --- */
.hdr-title-main {
    top: 25%;
    left: 23%; 
    width: 35%; 
    z-index: 10;
}

/* --- 2. LE SOUS-TITRE (Rose) --- */
.hdr-subtitle {
    top: 55%;
    right: 27%; 
    width: 19%;
    z-index: 11;
    transform: rotate(-3deg);
}

/* --- 3. LES IMAGES --- */

/* Masque Carnaval (Haut Gauche) */
.hdr-carnaval {
    top: 5%;   
    left: 6%;   
    width: 15%; 
    z-index: 1; 
}

/* Palmiers Roses (Bas Gauche) */
.hdr-palmiers {
    bottom: 35%; 
    left: 0%; 
    width: 11%;
    z-index: 2;
}

/* Femme Tresse (Centre gauche - Sous le titre) */
.hdr-tresse {
    bottom: -1%; 
    left: 18%;
    width: 19%;
    z-index: 5;
    mix-blend-mode: multiply; 
}

/* Arbre Rhizome (Haut Droite - Arrière plan) */
.hdr-rhizome {
    top: -5%;  
    right: 15%;
    width: 25%;
    z-index: 1;
    opacity: 0.9; 
}

/* Maison Bleue (Bord Droit) */
.hdr-maison {
    top: 17%;
    right: 0; 
    width: 15%;
    z-index: 4;
}

/* Enfants (Bas Droite) */
.hdr-enfants {
    bottom: 8%;
    right: -5%;
    width: 32%;
    z-index: 3;
}

/* Tambour Jaune (Flottant) */
.hdr-tambour {
    top: 70%;
    left: 62%;
    width: 16%;
    z-index: 6;
    transform: rotate(15deg);
}

/* --- 4. CONTENEUR DE L'ARTICLE --- */
.texte {
    max-width: 1136px; 
    margin: 48px auto; 
    padding: 0; 
}

/* --- 5. GRILLE DE L'ARTICLE --- */
.article-grid {
    padding: 0 72px; 
    position: relative; 
    display: grid;
    grid-template-columns: repeat(12, 1fr); 
    gap: 16px; 
}

.media-column {
    grid-column: span 3; 
    position: relative; 
}

.content-column {
    grid-column: 5 / span 8; 
}

/* --- TITRES ET PARAGRAPHES --- */
.content-column h1 {
    font-family: "forma-djr-micro", sans-serif;
    font-weight: 800; 
    font-size: 2.2em; 
    line-height: 1.1; 
    margin-bottom: 48px; 
    text-align: left;
    scroll-margin-top: 120px;
}

.content-column h2 {
    font-family: "forma-djr-micro", sans-serif;
    font-weight: 800; 
    font-size: 1.8em; 
    line-height: 1.2;
    margin-top: 96px; 
    margin-bottom: 48px; 
    text-align: left;
    scroll-margin-top: 120px;
}

.content-column h3 {
    font-family: "forma-djr-deck", sans-serif;
    font-weight: 800; 
    font-size: 1.2em; 
    line-height: 1.3;
    margin-top: 48px; 
    margin-bottom: 20px; 
    text-align: left;
    scroll-margin-top: 120px;
}

.content-column p {
    margin-bottom: 24px; 
    text-align: left; 
}

/* --- TEXTE D'ACCOMPAGNEMENT DE GAUCHE --- */
.definition-accompanying {
    font-family: "forma-djr-micro", sans-serif;
    font-weight: 300; 
    font-size: 0.9em; 
    line-height: 1.55; 
    margin-bottom: 48px; 
}

.definition-accompanying p {
    margin-bottom: 0; 
}

/* --- SOMMAIRE POPUP --- */

.sommaire-wrapper {
    position: -webkit-sticky; 
    position: sticky;
    top: 120px; 
    margin-bottom: 48px;
    z-index: 500;
}

.sommaire-controls {
    display: flex;
    gap: 8px;
    display: inline-flex; 
}

.btn-yellow {
    background-color: #ffffff; 
    color: #2a2a2a;
    border: 1.5px solid #000;
    padding: 10px 20px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 2px 0 rgba(0,0,0,0.05);
    transition: all 0.2s ease;
    border-radius: 4px;
}

.sommaire-controls.active .btn-yellow {
    background-color: #ffffff; 
    color: #2a2a2a;
}

.sommaire-controls:hover .btn-yellow {
    background-color: #2a2a2a; 
    color: #ffffff;            
    border-color: #2a2a2a;     
}

.square {
    padding: 10px 14px;
}

.popup-content {
    display: none; 
    position: absolute; 
    top: 45px; 
    left: 0;
    width: 280px;
    background-color: white;
    border: 1.5px solid #000; 
    border-radius: 4px;
    padding: 24px;
    box-shadow: 3px 3px 0px rgba(0,0,0,0.1); 
    z-index: 999; 
}

.popup-content.open {
    display: block;
    animation: appear 0.2s ease-out;
    
}

@keyframes appear {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-family: "forma-djr-micro", sans-serif;
    font-weight: 800;
    font-size: 0.9em;
    text-transform: uppercase;
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
}

.sommaire-nav ul {
    list-style: none;
    padding: 0;
}

.sommaire-nav li {
    margin-bottom: 12px;
}

.sommaire-nav a {
    background-color: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    font-family: "forma-djr-micro", sans-serif;
    font-size: 15px;
    color: #2a2a2a;
    text-decoration: none;
    display: block;
    cursor: pointer;
    transition: color 0.2s; 
}

.sommaire-nav a:hover {
    background-color: transparent; 
    color: #000;
    text-decoration: underline;    
    border: none;
}


/* =========================================
   --- INTERACTIVITÉ & BOUTON ---
   ========================================= */

/* 1. CURSEUR POUR LE DRAG & DROP */
.draggable {
    cursor: grab;
    transition: transform 0.1s; /* Garde ton effet de fluidité au clic */
    -webkit-user-drag: none; 
    user-select: none;
    
    /* OPTIMISATION DE FLUIDITÉ */
    will-change: left, top, transform; /* Prévient le navigateur des changements à venir */
    transform: translateZ(0);          /* Force l'accélération matérielle (GPU) */
    transform-style: preserve-3d;
}

.draggable:active {
    cursor: grabbing;
    transform: scale(1.02) translateZ(0); /* On maintient le translateZ ici aussi */
}

/* Les titres ne bougent pas */
.hdr-title-main, .hdr-subtitle {
    cursor: default;
    pointer-events: none; 
}

/* 2. BOUTON "COMMENCER LA LECTURE" */
.header-cta {
    position: absolute;
    bottom: 20%; 
    left: 50%;
    transform: translateX(-50%); 
    z-index: 20; 
    
    background-color: #ffffff;
    color: #2a2a2a;
    border: 1.5px solid #000;
    padding: 12px 24px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    border-radius: 4px;
    box-shadow: 0 4px 0 rgba(0,0,0,0.1); 
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.header-cta:hover {
    background-color: #2a2a2a;
    color: #ffffff;
    border-color: #2a2a2a;
    box-shadow: 0 6px 10px rgba(0,0,0,0.15); 
    transform: translateX(-50%) translateY(-3px);
    padding: 12px 24px;
}

.header-cta:active {
    transform: translateX(-50%) translateY(0); 
    box-shadow: 0 2px 0 rgba(0,0,0,0.1);
}

/* --- INDICATION DRAG & DROP --- */
.drag-hint {
    position: absolute;
    top: 12%; 
    right: 10%;
    z-index: 50; 
    pointer-events: none; 
    
    /* Style Sticker */
    background-color: #ffffff; 
    color: #000;
    padding: 8px 12px;
    font-family: "forma-djr-micro", sans-serif; 
    font-weight: 800;
    text-transform: uppercase;
    font-size: 12px;
    border: 1.5px solid #000;
    box-shadow: 2px 2px 0px rgba(0,0,0,0.2);
    transform: rotate(5deg); 
    
    animation: floatHint 2s ease-in-out infinite;
    transition: opacity 0.5s ease;
}

.drag-hint span::before {
    content: "✋ "; 
}

@keyframes floatHint {
    0%, 100% { transform: rotate(5deg) translateY(0); }
    50% { transform: rotate(5deg) translateY(-5px); }
}


/* =========================================
   --- NOTES DE MARGE & ÉTUDES DE CAS ---
   ========================================= */

.note-ref {
    color: #1e00ff; 
    font-family: "forma-djr-micro", sans-serif;
    font-weight: 800;
    font-size: 0.75em;
    vertical-align: top; 
    position: relative;
    top: -0.3em;
    margin-left: 2px;
    cursor: help;
    transition: color 0.2s;
    text-decoration: none; 
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.note-ref:hover {
    text-decoration: underline;
}

.note-sidebar {
    font-family: "forma-djr-micro", sans-serif;
    font-size: 0.85em; 
    line-height: 1.45; 
    color: #1e00ff; 
    
    margin-bottom: 40px; 
    padding-left: 0; 
    
    opacity: 0.9;
    /* On ajoute une bordure transparente pour que le texte ne bouge pas à l'animation */
    border: 1px solid transparent; 
    border-radius: 4px; 
    padding: 15px; 
    margin-left: -15px; /* Pour compenser le padding et aligner le texte visuellement */

    /* Transition fluide pour la bordure et l'opacité */
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    
    scroll-margin-top: 200px;
}

.note-sidebar:hover {
    opacity: 1;
}

.note-term {
    display: block;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

.note-num-sidebar {
    font-weight: 800;
    margin-right: 4px;
}

.note-source {
    display: block;
    margin-top: 8px;
    font-size: 0.9em;
    font-style: italic;
    opacity: 0.8;
}






/* LIENS TEXTE */
.link-sidebar-block {
    display: block;
    text-decoration: none;
    color: #1e00ff;
    margin-bottom: 40px;
    
    background: transparent !important;   
    border: none !important;              
    box-shadow: none !important;          
    border-radius: 0 !important;          
    padding: 0 !important;                
    
    font-family: "forma-djr-micro", sans-serif;
    font-size: 0.9em;
    line-height: 1.4;
    
    transition: color 0.2s ease;
    cursor: pointer;
}

.link-sidebar-block:hover {
    color: #ff009d; 
    background: transparent !important;
    border: none !important;
    box-shadow: none !important; 
    border-radius: 0 !important;
    padding: 0 !important;
}

.link-title {
    display: block;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.link-cta-text {
    font-style: italic;
    font-weight: 400;
    font-size: 0.9em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* EFFET DE SURBRILLANCE */
.flash-highlight {
    background-color: transparent !important; /* Pas de fond */
    
    /* C'est ici que la bordure devient colorée (Rose #ff009d ou Bleu #1e00ff selon ton goût) */
    border-color: #2a2a2a; 
    
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Ombre très légère */
    transform: scale(1.02); /* Petit effet de loupe */
    opacity: 1;
}

/* On s'assure que le texte NE change PAS de couleur */
.flash-highlight .note-term,
.flash-highlight .note-num-sidebar,
.flash-highlight p,
.flash-highlight span,
.flash-highlight .note-source {
    color: inherit !important; 
}


/* --- FOOTER DA TECHNIQUE --- */
.site-footer {
    border-top: 1.5px solid #000;
    margin-top: 120px;
    padding: 60px 0;
    background-color: #fff;
    font-family: "forma-djr-micro", sans-serif; 
}

.footer-grid {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 72px;
    display: grid;
    /* On garde 4 colonnes */
    grid-template-columns: repeat(4, 1fr); 
    gap: 48px; /* J'ai augmenté un peu l'écart pour aérer */
}

.footer-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* On dit à la colonne remerciements de prendre 2 colonnes de large */
.footer-thanks {
    grid-column: span 2; 
}

/* On aligne le bouton "Remonter" tout à droite */
.footer-action {
    align-items: flex-end; 
}

/* Style des textes */
.footer-col p {
    font-size: 0.9em;
    line-height: 1.5;
    color: #2a2a2a;
    margin-bottom: 16px; /* Espacement entre les paragraphes */
}

.footer-col strong {
    font-weight: 800;
}

/* Style du bouton Remonter */
.btn-remonter {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.9em;
    color: #2a2a2a;
    text-decoration: none;
    border: 1.5px solid #000;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.2s ease;
    background-color: #fff;
}

.btn-remonter:hover {
    background-color: #2a2a2a;
    color: #fff;
    text-decoration: none;
    
    /* IMPORTANT : On force ces valeurs pour empêcher le bouton de rétrécir */
    padding: 8px 16px;      /* Garde la même taille interne */
    border-radius: 4px;     /* Garde les mêmes arrondis */
    border: 1.5px solid #000; /* Garde la même bordure */
    
    /* On supprime toute ombre ou mouvement */
    box-shadow: none; 
    transform: none;
}


/* =========================================
   --- MOBILE BLOCKER ---
   ========================================= */

/* Par défaut (sur ordi), c'est caché */
#mobile-warning {
    display: none; 
}

/* On change 900px en 768px.
   Cela signifie : "Si l'écran fait 768px ou moins (Taille smartphone classique), AFFICHE L'ALERTE."
   Si l'écran fait 769px (Tablette un peu large), le site s'affiche.
*/
@media (max-width: 768px) {

    /* On fige le scroll du site derrière */
    body {
        overflow: hidden; 
        height: 100vh;
    }

    /* On affiche l'overlay */
    #mobile-warning {
        display: flex; /* Flex pour centrer le contenu */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff; /* Fond Blanc */
        z-index: 99999; /* Au-dessus de tout */
        padding: 20px; /* Un peu moins de padding sur mobile */
        text-align: center;
    }

    .warning-content {
        max-width: 100%; /* Prend toute la largeur dispo */
        border: 2px solid #000; 
        padding: 30px 15px;
        box-shadow: 0 3px 10px rgba(0,0,0,0.5); 
        position: relative;
        background-color: #fff;
    }

    .warning-icon {
        font-size: 3em;
        display: block;
        margin-bottom: 20px;
    }

    #mobile-warning h1 {
        font-family: "forma-djr-micro", sans-serif;
        font-weight: 800;
        font-size: 2.2em; /* Un peu plus petit pour que ça rentre sur iPhone SE */
        text-transform: uppercase;
        line-height: 1;
        margin-bottom: 20px;
        color: #000;
    }

    .warning-text {
        font-family: "forma-djr-deck", sans-serif;
        font-size: 1.1em;
        font-weight: 500;
        line-height: 1.3;
        margin-bottom: 30px;
        color: #2a2a2a;
    }

    .warning-sub {
        font-family: "forma-djr-micro", sans-serif;
        font-size: 0.8em;
        color: #1e00ff; 
        font-weight: 800;
        text-transform: uppercase;
        display: block;
        margin-top: 10px;
    }

    .warning-tag {
        position: absolute;
        bottom: -10px;
        right: -5px;
        background-color: #fee500;
        color: #000;
        font-family: "forma-djr-micro", sans-serif;
        font-weight: 800;
        text-transform: uppercase;
        padding: 4px 8px;
        border: 1.5px solid #000;
        font-size: 0.7em;
        transform: rotate(-3deg);
    }
}

/* --- BOUTON RETOUR ARTICLE (STYLE SPÉCIFIQUE) --- */
.btn-retour {
    background-color: #fee500 !important; /* Fond Noir par défaut */
    color: #000000 !important;            /* Texte Blanc */
    border: 1.5px solid #000000 !important;
}

.btn-retour:hover {
    background-color: #000000 !important; /* Fond Bleu au survol */
    border-color: #000000 !important;     /* Bordure Bleue */
    color: #ffffff !important;            /* Texte reste Blanc */
    
    /* Petit bonus : ombre portée pour le relief */
    transform: translateY(-2px);
}

.resume-link {
    display: block;              /* Pour qu'il passe à la ligne */
    margin-top: 10px;            /* Petit espace au-dessus */
    
    font-family: "Inter", sans-serif;
    font-size: 0.7em;            /* Assez petit */
    text-transform: uppercase;   /* En majuscules */
    letter-spacing: 0.5px;
    
    color: #aeaeae;              /* Gris clair (discret) */
    text-decoration: none;
    
    /* On retire le style bouton par défaut */
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    
    transition: all 0.2s ease;
}

.resume-link:hover {
    color: #1e00ff;              /* Devient bleu au survol */
    transform: translateY(-2px); /* Petit mouvement vers le haut */
}

.inline-thumb-wrapper {
    width: 150px; /* Taille similaire à votre capture */
    margin-bottom: 16px;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.thumb-right {
    float: right;
    margin-left: 20px;
}

.thumb-left {
    float: left;
    margin-right: 20px;
}

.inline-thumb {
    width: 100%;
    height: auto;
    border: 1px solid #000;
    display: block;
}

.thumb-legend {
    font-family: "forma-djr-micro", sans-serif;
    font-size: 0.65em;
    line-height: 1.2;
    color: #666;
    display: block;
    margin-top: 5px;
    text-transform: uppercase;
}

.inline-thumb-wrapper:hover {
    transform: scale(1.05);
}

/* Nettoyage des flottants pour éviter les bugs de mise en page */
.content-column::after {
    content: "";
    clear: both;
    display: table;
}

/* Style du mot interactif - Version Simple */
.hover-word {
    position: relative;
    color: inherit; /* Garde la même couleur que le texte environnant */
    cursor: help;   /* Indique discrètement que le mot est interactif */
    border-bottom: 1px dotted #2a2a2a; /* Une ligne pointillée discrète au lieu d'un soulignement plein */
}

/* Style de l'image cachée */
.hover-image {
    display: none;
    position: absolute;
    bottom: 130%; /* Positionnée juste au-dessus du mot */
    left: 50%;
    transform: translateX(-50%);
    width: 200px; 
    z-index: 1000;
    border: 1.5px solid #000;
    box-shadow: 4px 4px 0px rgba(0,0,0,0.1);
    pointer-events: none;
}

/* Affichage au survol sans modifier le texte */
.hover-word:hover {
    color: inherit; /* Sécurité pour éviter tout changement de couleur */
}

.hover-word:hover .hover-image {
    display: block;
}

/* Indicateur de survol */
.hover-hint {
    max-width: 1136px;
    margin: 0 auto 20px auto;
    padding: 0 72px;
    font-family: "Inter", sans-serif;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    display: flex;
    align-items: center;
}

.hover-hint span {
    border: 1px solid #000;
    padding: 4px 8px;
    border-radius: 4px;
    background-color: #fff;
}

/* Style des mots avec images au survol */
.hover-word {
    position: relative;
    color: inherit;
    cursor: help;
    /* On ajoute une bordure pointillée discrète pour identifier les mots */
    border-bottom: 1px dotted #000; 
    text-decoration: none;
}

/* L'image qui apparaît */
.hover-image {
    display: none;
    position: absolute;
    bottom: 130%; /* Positionnée au-dessus du mot */
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
    z-index: 2000;
    border: 1.5px solid #000;
    box-shadow: 4px 4px 0px rgba(0,0,0,0.1);
    pointer-events: none;
    background-color: #fff;
}

.hover-word:hover .hover-image {
    display: block;
}

/* Animation du lien de référence dans le texte */
.note-ref {
    transition: background-color 0.3s ease, color 0.3s ease;
    padding: 2px 4px;
    border-radius: 3px;
}

/* État actif lors du clic sur "Reprendre la lecture" */
.ref-highlight-active {
    background-color: #fee500 !important; /* Jaune pour attirer l'œil */
    color: #000 !important;              /* Texte noir pour contraste */
    box-shadow: 0 0 10px rgba(254, 229, 0, 0.5);
    animation: pulseHighlight 2s ease-out;
}

@keyframes pulseHighlight {
    0% { transform: scale(1); }
    15% { transform: scale(1.4); } /* Petit bond pour attirer l'attention */
    30% { transform: scale(1); }
    100% { background-color: transparent; }
}

/* Désactiver la sélection et le menu contextuel sur les images du header */
.hdr-img {
    user-select: none;           /* Empêche la sélection bleue */
    -webkit-user-drag: none;     /* Désactive le drag natif sur Safari/Chrome */
    pointer-events: auto;        /* Garde les événements pour ton script JS */
}

/* Optionnel : Bloquer le clic droit sur tout le header pour protéger tes compositions */
.header-accueil {
    -webkit-touch-callout: none; /* Désactive le menu "enregistrer l'image" sur iOS */
}