/* 1. RÈGLES DE BASE POUR TOUTE LA PAGE */
html, body {
    width: 100%;
    height: 100%;
    line-height: var(--line-height-body);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; /* ESSENTIEL : Blocage définitif du défilement horizontal */
    margin: 0;
    padding: var(--nav-height) 0 0 0;
    font-size: 14px; /* Assurer une base de 16px pour le calcul des REMs */
}
body {
    font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    font-size: var(--font-size-base);
    line-height: var(--line-height-body);
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Utilisez min-height plutôt que max-height pour le défilement */
    margin: 0;
    padding: 0;
    touch-action: manipulation;
    position: relative; /* Nécessaire pour le positionnement du fond */
    background-color: #f4f1ea; /* La couleur de fond fixe */
}

/* On crée une couche invisible pour l'image de fond uniquement */
body::before {
    content: "";
    position: fixed; /* L'image reste fixe pendant le scroll */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; /* Place l'image DERRIÈRE le contenu */

    background-image: url('/asset/img/page/video/ferme.jpg');
    background-repeat: repeat;
    background-size: cover;

    /* AJUSTEZ L'OPACITÉ ICI (0.1 = très pâle, 0.9 = très visible) */
    opacity: 0.2;

    pointer-events: none; /* Empêche d'interagir avec cette couche */
}
header, footer {
    flex-shrink: 0;
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* FONT ------------------------- */
@font-face {
    font-family: 'Roboto';
    src: url('/asset/font/Roboto-Regular.woff2') format('woff2');
    font-weight: var(--fw-normal);
    font-style: normal;
}
@font-face {
    font-family: 'Roboto';
    src: url('/asset/font/Roboto-Bold.woff2') format('woff2');
    font-weight: var(--fw-bold);
    font-style: normal;
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* h1 h2 h3 --------------------- */
h1, .h1-style {
    /* RETIRER les propriétés d'alignement et de marge gauche qui sont désormais sur le wrapper */
    /* Avant: display: flex; align-items: center; margin-left: var(--space-xl); */
    display: block; /* Revenir au comportement normal du bloc */
    margin-left: 0; /* Important pour que le titre soit juste après l'icône */
    margin-top: 0;
    margin-bottom: 0;
    /* Garder les propriétés de police: */
    font-size: var(--font-size-h1);
    line-height: var(--line-height-heading);
    color: var(--source-color-accent-two);
    font-weight: var(--fw-bold);
}
h2, .h2-style {
    font-size: var(--font-size-h2); /* 1.5rem */
    line-height: var(--line-height-heading);
    margin-top: var(--space-lg);
    margin-bottom: var(--space-sm);
    color: var(--source-color-accent-two);
}
h3, .h3-style {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-heading);
    margin-top: var(--space-md);
    margin-bottom: var(--space-xs);
    color: var(--source-color-accent-two);
}
p {
    /* Remplace la ligne 1.6 que vous aviez par la variable standard */
    line-height: var(--line-height-body);
    margin-bottom: var(--space-md);
    font-size: var(--font-size-p);
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* ========================================================================= */
/* 0. STRUCTURE GLOBALE DE LA BARRE DE NAVIGATION (nav) */
/* .main-nav : Conteneur de niveau le plus élevé. Gère la position fixe, la largeur, le z-index, la couleur de fond et l'ombre. */
.main-nav {
    top: 0;
    width: 100%;
    z-index: 9999999;
    background-image: linear-gradient(to right, #000000, #457739);
    box-shadow: var(--shadow-z2);
    position: fixed;
}
/* .nav-container : Conteneur interne, centré. Utilise Flexbox pour séparer le contenu (gauche/droite) et l'aligner verticalement (center). */
.nav-container {
    display: flex;
    justify-content: space-between;
    max-width: var(--max-width-contenu);
    margin: 0 auto;
    padding: 0.625rem var(--space-md);
    align-items: center;
    height: var(--nav-height);
}
/* ========================================================================= */
/* 1. GROUPE GAUCHE : LOGO ET TEXTE (Nav-Logo-Group) */
/* .nav-logo-group : Conteneur Flex qui enveloppe l'icône et le lien texte. */
.nav-logo-group {
    display: flex;
    align-items: center;
}
/* .logo-link : Lien hypertexte qui englobe l'icône et le texte. Agit comme un conteneur Flex. */
.logo-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    transition: background-color 0.3s ease;
    gap: 0.625rem; /* Espace entre l'icône (.logo-icon) et le texte (.logo-text) */
}
/* .logo-link:hover .logo-icon : Animation de survol (hover) sur l'icône. */
.logo-link:hover .logo-icon {
    filter: brightness(1.3) drop-shadow(0 0 0.5rem var(--color-logo-drop-shadow));
    transition: filter 0.3s ease;
}
/* .logo-text : Image du texte/titre du logo. Définit la taille et applique une correction de positionnement vertical. */
.logo-text {
    height: 2rem;
    width: auto;
    max-height: 100%;
    margin-left: 0;
    transform: translateY(0.6875rem); /* Correction verticale manuelle */
}
/* .logo-icon (Définition de la taille) : Règle spécifique pour définir la taille et l'alignement vertical de l'icône. */
.logo-icon {
    height: 2.7rem;
    width: auto;
    align-items: center;
    transition: filter 0.3s ease;
}
/* ========================================================================= */
/* 2. GROUPE DROIT : CONTENEUR PRINCIPAL (Nav-Right-Group) */
/* .nav-right-group : Conteneur Flex qui regroupe tous les éléments à droite du logo (liens, séparateur, langue). */
.nav-right-group {
    display: flex;
    align-items: center;
    gap: 0; /* Espace entre le groupe de liens et le sélecteur de langue */
}
.nav-link {
    /* On remplace l'espace vide par du padding cliquable */
    padding: 0.625rem 0.625rem;
    display: inline-flex; /* MODIFIÉ : au lieu de inline-block */
    align-items: center;
}
/* .nav-links-wrapper : Conteneur de niveau supérieur des liens du menu (nettoyage des marges/padding). */
.nav-links-wrapper {
    padding: 0;
    margin: 0;
}
/* .nav-links : Liste non ordonnée contenant tous les liens de navigation. Utilise Flexbox pour l'alignement horizontal. */
.nav-links {
    display: flex;
    list-style: none;
    font-size: var(--font-size-nav-links);
    padding: 0;
    margin: 0;
    align-items: center;
    gap: 0.625rem; /* On réduit le gap réel */
}
.nav-link:link,
.nav-link:visited,
.nav-link:active {
    color: var(--color-nav-link);
}
.nav-link:hover {
    filter: brightness(1.3);
}
/* ========================================================================= */
/* 3. DÉTAILS DES SOUS-MENUS (DROPDOWN) */
/* .dropdown : VÉRITÉ - RESSOURCES Conteneur du lien principal qui a un sous-menu. Gère la position relative. */
.dropdown {
    /* Ajoute une zone invisible de 20px à gauche et à droite */
    position: relative;
    display: inline-block;
    transform: translateY(0); /* Modifiez 5px par 0 */
    padding: 0 1.25rem;
    margin: 0 -1.25rem;
}
/* .dropdown-toggle, .dropdown > .nav-link : - Style des liens principaux qui déclenchent le menu déroulant. */
.dropdown-toggle,
.dropdown > .nav-link {
}
/* .dropdown-toggle::after : Ajout de la petite flèche (caret) à côté du texte du lien déroulant. */
.dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.5em;
    vertical-align: middle;
    border-top: 0.4em solid var(--color-triangle);
    border-right: 0.4em solid transparent;
    border-bottom: 0;
    border-left: 0.4em solid transparent;
}
.dropdown-menu {
    position: absolute;

    /* 1. On part du milieu du mot "Menu" */
    left: 50%;
    /* 2. On décale vers la gauche de 50% de sa propre largeur pour être parfaitement centré */
    transform: translateX(-61%) translateY(0.625rem);

    background-color: var(--color-dropdown-menu-bg);
    border: 0.125rem solid var(--color-dropdown-menu-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-z2);
    padding: 0.9375rem 0;
    z-index: 9999;

    display: flex !important;
    gap: 0;
    width: max-content;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;


    /* On le colle au haut pour éviter le vide */
    top: 90%;

    /* Le reste de votre code .dropdown-menu ... */
    padding-top: 0.625rem; /* Ajoute un espace interne au lieu d'une marge externe */

}

/* Affichage au survol du bouton parent */
.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    /* On garde le -50% pour rester centré et on met Y à 0 */
    transform: translateX(-61%) translateY(0);

}

/* Unification de la colonne et ajout de la ligne */
.menu-column {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0 0.9375rem; /* Gardé tel quel */
    min-width: 11.25rem; /* Gardé tel quel */
}

/* La ligne verticale : appliquée uniquement à partir de la 2ème colonne */
.menu-column:nth-child(2) {
    border-left: 0.125rem solid var(--color-nav-separator);
}

.menu-column li {
    list-style: none;
}

.dropdown-menu .dropdown-item {
    display: flex;
    align-items: center; /* 💥 Correction : Aligne icône et texte sur l'axe horizontal */
    gap: 0.75rem;
    padding: 0.4375rem 0.3125rem;
    text-decoration: none;
    white-space: nowrap;
    font-weight: var(--fw-bold);
    font-size: var(--font-size-dropdown-menu-item);
    color: var(--color-dropdown-item);
    /* Utilise transparent pour éviter le décalage au hover */
    border: 0.125rem solid transparent;
}
.menu-icon-image {
    height: 2rem;
    width: 2rem;
    vertical-align: middle;
    flex-shrink: 0; /* 💥 Correction : Empêche l'icône de se déformer si le texte est long */
}
.nav-link,
.logo-link {
    line-height: 1;
}
/* .dropdown-menu .dropdown-item:hover : Effet de survol sur un lien du sous-menu. */
.dropdown-menu .dropdown-item:hover {
    background-color: var(--color-drop-down-item-bg-hover);
    border-radius: var(--radius-md);
    border: 0.125rem solid var(--color-drop-down-item-bg-border-hover);
}

/* .nav-separator : Barre verticale avec espace de chaque côté */
.nav-separator {
    width: 0.125rem;
    height: 1.6rem;
    background-color: var(--color-nav-separator);
    border-radius: 0.0625rem;
    /* Augmentation de l'espace latéral : 0 en haut/bas, 20px à gauche/droite */
    margin: 0 1.25rem;
    flex-shrink: 0;
    align-self: center;
}
.nav-toggler-icon {
    display: block;
    width: 100%;
    height: 0.125rem;
    background-color: var(--color-nav-link);
    border-radius: 0.0625rem;
}
.nav-text-label {
    display: none; /* Masqué par défaut (Desktop) */
}
/* Règle essentielle : Masque les icônes mobiles sur Desktop par défaut */
.icon-mobile {
    display: none;
}
/* RÈGLES DE VISIBILITÉ (à conserver, elles fonctionnent) */
.lang-switcher .lang-text-full {
    display: inline !important;
}
.lang-switcher .lang-abbr {
    display: none !important;
}

/* 💥 NOUVELLES RÈGLES : RECTANGLE NOIR AVEC PETIT RADIUS */
.lang-link {


    /* 1. Couleurs : Noir et Texte Blanc */
    background-color: var(--source-color-black); /* Fond noir */
    color: var(--source-color-white) !important; /* Texte blanc/clair */

    /* 2. Arrondi : Utilise le même petit radius que sur mobile */
    border-radius: var(--radius-sm, 0.25rem);

    /* 3. Assure le format rectangle (s'adapte au texte) */
    width: auto;
    height: auto;
    padding: var(--space-sm) var(--space-sm)!important; /* Garde la forme rectangulaire */

    /* Annule les propriétés Flexbox spécifiques au carré mobile si elles persistent */


    justify-content: initial;
    display: flex;         /* Changez block pour flex */
    align-items: center;   /* Centre le texte verticalement dans le rectangle noir */
    font-size: 1.15rem;
    border: none;
    line-height: 1;        /* Force une hauteur de ligne normale */
}
.lang-link:hover {
    background-color: #444444;
}
/* --- BULLLES DE NAVIGATION (Isolation complète) --- */

[data-nav-tooltip] {
    position: relative;
}

[data-nav-tooltip]:hover::after {
    content: attr(data-nav-tooltip);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(2.5rem); /* 40px en bas */
    background-color: rgba(0, 0, 0, 0.9);
    color: #fff;
    padding: 0.3125rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 1.1rem;
    white-space: nowrap;
    z-index: 10000;
}


/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* TITLE ------------------------- */
.page-title-wrapper {
    display: flex; /* Permet d'aligner l'icône et le titre côte à côte */
    margin-left: var(--space-xl); /* Récupérer la marge qui était sur le H1 */
    /* Réutiliser les marges top/bottom du H1 si nécessaire */
    margin-top: 0;
    /* Styles généraux (s'appliquent à tous les écrans par défaut, y compris Desktop) */
    gap: 0.9375rem;

    align-items: center;
    /* 💥 FIX CLÉ : Le contenu (icône et titre) est aligné à GAUCHE par défaut */
    justify-content: flex-start;
    margin-bottom: 0 !important;

}
.page-title-icon-container {
    background-color: var(--color-title-icon-container-bg);
    width: 3.4375rem;
    height: 3.4375rem;
    margin-right: var(--space-sm);
    padding: 0;
    border-radius: 3.125rem;
    border: solid var(--color-border-main) 0.125rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-title-icon {
    width: 2rem;
    height: 2rem;
}


/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* PAGE CONTENT ------------------------- */
.page-content-container {
    padding: 0;
    position: relative !important;
    z-index: auto !important;    /* On enlève la priorité au bloc entier */
    overflow: visible !important;
}
main.page-content-container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin: 0;
    position: static; /* Au lieu de relative */
    z-index: auto;
}
.site-width-container {
    max-width: 75rem;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--space-lg);
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
.description {
    /* Typographie */
    font-weight: var(--fw-bold);
    font-size: var(--font-size-description-lead);
    color: var(--color-page-description);
    font-style: normal; /* Plus lisible que l'italique pour les longs textes */
    line-height: 1.3; /* Augmente l'espace entre les lignes */
    text-align: center;

    /* Conteneur et Fond Subtil */
    background: rgba(255, 255, 255, 0.4); /* Fond blanc très transparent */
    border: 0.0625rem solid rgba(0, 0, 0, 0.05); /* Bordure presque invisible */
    border-radius: var(--radius-md);
    backdrop-filter: blur(0.3125rem); /* Flou léger pour détacher le texte du fond de page */

    /* Espacement et Dimensions */
    margin: 0 auto var(--space-lg) auto;
    padding: var(--space-sm);
    max-width: 53.125rem; /* Largeur optimale pour la lecture (60-80 caractères par ligne) */
    width: 90%;
    word-break: keep-all;
    box-shadow: 0 0.25rem 0.9375rem rgba(0, 0, 0, 0.03); /* Ombre très légère */
}

/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* BUTTON ------------------------- */
.btn {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    margin: var(--space-lg) auto;
    width: auto;
    background-color: var(--source-color-accent-one-dark);
    color: white;
    text-decoration: none;
    font-weight: var(--fw-bold);
    font-size: var(--font-size-md);
    border: 0.125rem solid var(--color-btn-border);
    border-radius: 3.125rem;
    cursor: pointer;
    text-align: center;
    opacity: 1;
    height: var(--space-xl-plus);
    box-shadow: var(--shadow-z2);

}
.btn:hover {
    background-color: var(--source-color-accent-one-very-light);
    color: black;
}



.btn-hors-pagination {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;

    /* Reprendre les propriétés clés de la pagination */
    padding: 0.5rem var(--pagination-btn-padding-horizontal) !important;

    /* Autres styles pour l'uniformité */
    border-radius: var(--radius-pill); /* Donne la forme pilule des pag-prev/next */
    font-size: var(--font-size-pagination-btn);
    line-height: var(--pagination-btn-line-height);
    flex-shrink: 0;
    flex-grow: 0;
}

.btn-container {
    text-align: center;
    margin: 0 !important;
}
/* --- DÉFINITION DU BOUTON CTA (.cta-vegetal) --- */

.cta-vegetal {
    /* Mise en page & Alignement */
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* Espacement & Dimension (Maintenant avec marge verticale uniquement) */
    padding: 0.75rem 0.9375rem;

    /* Couleurs & Fond */
    background-color: var(--color-green-cta-main);
    color: var(--source-color-white);

    /* Forme, Typographie, Ombre, Transition... */
    border-radius: 3.125rem;
    border: none;
    font-weight: var(--fw-normal);
    text-decoration: none;
    font-size: var(--font-size-md);
    cursor: pointer;
    box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.2);
    height: var(--space-xl-plus);
    white-space: nowrap;

    /* 2. Permet au bouton de prendre la largeur nécessaire pour contenir le texte */
    width: fit-content;
    overflow: visible !important;
}

/* --- INSERTION DE L'ICÔNE DE FEUILLE (.cta-vegetal::before) --- */

.cta-vegetal::before {
    content: "";

    /* LIEN VERS VOTRE IMAGE (méthode du fichier externe propre) */
    background-image: url("/asset/img/gl/leaf.svg");

    /* Dimensions et espacement de l'icône */
    display: inline-block;
    width: 1.5625rem;
    height: 1.5625rem;
    margin-right: 0.1875rem;

    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

/* --- INTERACTIVITÉ (Hover & Active) --- */

/* Effet de survol (Hover) */
.cta-vegetal:hover {
    box-shadow: var(--shadow-z2);
    filter: brightness(1.2);

}

/* Effet de clic (Active) */
.cta-vegetal:active {
    transform: translateY(0);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
}
.keep-in-line-icon-and-page-title {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}
/*--------------------------------------------*/
.content-wrapper.is-wide {
    width: auto !important;
    margin: -3.125rem 3.125rem !important;

}
section.is-wide,
div.is-wide {
    width: auto !important;
    margin-left: -3.125rem !important;
    margin-right: -3.125rem !important;
}


/* Style du bouton "Voir plus/moins" */
.expand-btn {
    display: block;
    width: 100%;
    margin-top: var(--space-sm);
    padding: 0.25rem 0;
    text-align: center;
    background-color: transparent;
    color: var(--color-book-expand-btn);
    border: none;
    cursor: pointer;
    font-size: var(--font-size-book-expand-btn);
    font-weight: var(--fw-bold);
    position: relative;
    z-index: 10;
    flex-shrink: 0; /* Empêche la compression */
}

.expand-btn:hover {
    transform: scale(var(--transform-scale-md));
}

.expand-btn::before {
    content: attr(data-see-more);
}

.expand-btn.is-expanded::before {
    content: attr(data-see-less);
}
/* ------------------------------------------- */
/* GESTION DE L'ICÔNE TRIANGLE (SANS ROTATION) */
/* ------------------------------------------- */

/* Gère l'icône TRIANGLE BAS (par défaut) */
.expand-btn::after {
    content: "\25BC"; /* Symbole Unicode ▼ (Triangle bas) */
    display: inline-block;
    margin-left: var(--space-sm);
    font-size: var(--font-size-book-expand-btn-after);
    transition: none; /* Règle CRITIQUE pour éviter toute animation */
}

/* Gère l'icône TRIANGLE HAUT (en mode étendu) */
.expand-btn.is-expanded::after {
    content: "\25B2"; /* Symbole Unicode ▲ (Triangle haut) */
}

/* Style de l'icône (triangle) - Gardée pour la complétude si la balise span existe */
.icon-arrow {
    display: none; /* Masquer l'ancienne icône si elle est toujours dans le HTML */
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/

/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* SHARE BUTTONS */
.share-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.625rem 0;
    padding: 0.625rem 0;
    justify-content: center;
    /* Suppression du z-index fixe ici */
    position: static;
}

/* On n'augmente le z-index que si la souris est sur le bouton */
.share-container:hover {
    position: relative;
    z-index: 1500;
}
.share-text {
    font-size: var(--font-size-md);
    font-weight: var(--fw-bold);
    color: #000;
    margin-right: 0;
    word-spacing: -0.0625rem;
}
.share-icon {
    height: 2.25rem;
    width: 2.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3.125rem;
    background-color: #F0F0F0;
}
.share-icon img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
}
.share-container a {
    position: relative;
    z-index: 99999;
}
/* Style de base : la bulle descend (TOP) */
[data-title]:hover::after {
    content: attr(data-title);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 120%; /* Apparaît SOUS l'icône par défaut */
    background-color: #333;
    color: white;
    padding: 0.3125rem 0.625rem;
    border-radius: 0.25rem;
    white-space: nowrap;
    z-index: 9999;
}
.share-bottom [data-title]:hover::after {
    top: auto;
    bottom: 140%; /* Apparaît AU-DESSUS de l'icône */
}
/* Style inversé (Bulle en dessous) */
.tooltip-reversed [data-title]:hover::after {
    bottom: auto;
    top: 200%; /* En dessous */
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* ========================================================================= */
/* STYLES DE LA FENÊTRE MODALE DE CONFIRMATION (REMPLACE LE TOOLTIP) */
/* ========================================================================= */
.copy-modal-overlay {
    position: fixed;          /* ← Fixe la modale à l'écran */
    top: 0;                   /* En haut de l'écran */
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-copy-modal-overlay);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 999999;
    opacity: 0;
}
.copy-modal-content {
    background-color: var(--color-copy-modal-content-bg);
    color: var(--color-copy-modal-content);
    padding: 1.25rem 1.875rem;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-z4);
    text-align: center;
    max-width: 90%;
    transform: translateY(-1.25rem);
    opacity: 0;
}
.copy-modal-overlay.active {
    display: flex;
    opacity: 1;
}
.copy-modal-overlay.active .copy-modal-content {
    opacity: 1;
    transform: translateY(0);
}
.copy-modal-content .check-icon {
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-copy-modal-success-icon);
    margin-bottom: 0.625rem;
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/* FOOTER */
.main-footer {
    background-color: black;
    color: var(--color-footer);
    /* On définit un padding identique haut/bas (ex: 25px) */
    padding: 0.3125rem 0 !important;
    width: 100%;
    margin: 0;
    display: block;
}

.footer-container {
    max-width: 75rem;
    margin: 0 auto;
    text-align: center;
}

.copyright-text,
.copyright-text-free {
    /* Supprime les marges qui poussent le texte vers le bas ou créent des trous */
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.1rem;
    line-height: 1.2; /* Interligne serré pour coller les deux lignes */
    display: block;
}

.copyright-text-free {
    color: #bcbcbc;
    font-style: italic;
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
.center-this {
    /* Étape 1: Centrer le conteneur DIV lui-même (s'il n'est pas 100% large) */
    max-width: 37.5rem; /* Limitez la largeur pour que margin: 0 auto; fonctionne */
    width: 100%;
    margin: 0 auto; /* ⬅️ Marges verticales + Centrage du BLOC */
    display: flex;             /* Active Flexbox */
    justify-content: center;   /* Centre l'enfant horizontalement */
}
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
.scroll-top-btn {
    position: fixed;
    bottom: 3.75rem;
    /* Aligne à droite des 1200px */
    right: auto !important;
    left: calc(50% + 37.5rem - 5rem) !important;

    z-index: 2147483647;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 50%;
    background-color: rgba(255, 165, 0, 0.7);
    color: #fff;
    font-size: 1.875rem;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 0.25rem 0.9375rem rgba(0,0,0,0.3);
}
/* Bulle spécifique pour le bouton Scroll to Top */
#btn-scroll-top[data-nav-tooltip]::after {
    display: none; /* Cache le triangle parasite par défaut */
}

#btn-scroll-top[data-nav-tooltip]:hover::after {
    display: block; /* Affiche la bulle uniquement au survol */
    top: auto;
    bottom: 100%;
    margin-bottom: 0.9375rem;
    transform: translateX(-50%);
}
/* Affiche la bulle au survol en utilisant le texte traduit */
#btn-scroll-top:hover::after {
    content: attr(data-scroll-title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0.9375rem; /* Distance vers le haut */
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    padding: 0.3125rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 1.1rem;
    white-space: nowrap;
    z-index: 999999;
}

/* Équivalent du onmouseover */
.scroll-top-btn:hover {
    background-color: #e67e22;
    opacity: 1;
}