/*//////////////////////////////////////////////////////////////////////////////
///
///  custom style
///
/// Google fonts : 
/// - font-family: 'Open Sans', sans-serif;
/// - font-family: 'Fira Sans', sans-serif;
/// - font-family: 'Acme', sans-serif;
/// - font-family: 'McLaren', cursive;
/// - font-family: 'Merriweather', serif;
/// - font-family: 'Titan One', cursive;
/// - font-family: 'Alfa Slab One', cursive;
/// - font-family: 'PT Sans', sans-serif;
/// - font-family: 'Roboto', sans-serif;
/// - font-family: 'Bowlby One SC', cursive;
/// - font-family: 'Comorant', serif;
/// 
/// Autre fonts
/// - book antiqua, palatino, serif;
/// -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
//////////////////////////////////////////////////////////////////////////////*/

/*
Modification du thème Cassiopeia pour le rendre équivalent au thème Favourite
-------------------------------------------------------------------------------
*/

/* ==========================================================================
   PERSONNALISATION CASSIOPEIA - INSPIRATION THEME FAVOURITE
   ========================================================================== */

:root {
  --body-bg: #ffffff;
  --body-text: #000000;
  --header-bg: #ffffff;
  --main-bottom-bg: #025b7d;
  --footer-bg: #ffffff;
  --link-hover-color: #e73078;
}

/* Structure globale et corps (Texte noir sur fond clair) */
body, .site-container {
    background-color: var(--body-bg) !important;
    color: var(--body-text) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* En-tête (Header blanc avec texte noir) */
.header {
    background-color: var(--header-bg) !important;
    color: #000000 !important;
    border-bottom: 1px solid #eaeaea; /* Optionnel : pour délimiter l'en-tête blanc du corps blanc */
}

.header a, .header {
    color: #000000 !important;
}

.container-header {
    position: relative;
    z-index: 1000; /* Force le header et ses menus au-dessus du reste */
}

/* Section Main-Bottom (Bleu canard avec texte blanc) */
.container-main-bottom, 
.wrapper-main-bottom,
[class*="main-bottom"] {
    background-color: var(--main-bottom-bg) !important;
    color: #ffffff !important;
}

/* Assurer que tous les titres et textes dans le fond foncé soient blancs */
.container-main-bottom h1, .container-main-bottom h2, .container-main-bottom h3, 
.container-main-bottom p, .container-main-bottom span {
    color: #ffffff !important;
}

/* Liens dans le fond foncé */
.container-main-bottom a {
    color: #ffffff !important;
    text-decoration: underline;
}
.container-main-bottom a:hover {
    color: var(--link-hover-color) !important;
}

/* Footer (Fond blanc avec texte noir et liens survolés en rose) */
.footer {
    background-color: #025b7d !important;
    color: #ffffff !important;
    border-top: 1px solid #eaeaea;
}

.footer a {
    color: #e73078 !important;
    transition: color 0.3s ease;
}

.footer a:hover {
    color: #ffffff !important;
    text-decoration: none;
}


/*----------------------------------------------------------------------------------------------*/
/*---------------- GESTION DU MENU --------------------*/

/* ==========================================================================
   CONFIGURATION DU MENU : .mon-menu-personnalise

   PERSONNALISATION COMPLÈTE DU MENU PRINCIPAL DE CASSIOPEIA (JOOMLA 6)
   ========================================================================== */

/* ==========================================================================
   COULEURS GÉNÉRALES DU MENU (Gris, Rose, Blanc)
   ========================================================================== */
.mod-menu_dropdown-metismenu .metismenu-item a,
.mod-menu_dropdown-metismenu .metismenu-item button {
    font-weight: 500;
    font-size: 1.0em;
    color: #333333 !important;
  
    background-color: transparent !important;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.mod-menu_dropdown-metismenu .metismenu-item a:hover,
.mod-menu_dropdown-metismenu .metismenu-item button:hover {
    color: #e73078 !important;
    background-color: transparent !important;
}
.mod-menu_dropdown-metismenu .metismenu-item.active > a,
.mod-menu_dropdown-metismenu .metismenu-item.current > a {
    color: #e73078 !important;
    font-weight: 600;
    font-size: 1.1em;
    background-color: transparent !important;
    border-radius: 2px;
}

/* 1. On applique le fond rose sur l'élément de liste parent pour unifier le bloc */
.metismenu.mod-menu .metismenu-item.active {
    color: #e73078 !important;
    font-weight: 600;
    font-size: 1.1em;
    background-color: transparent !important;
}

/* 2. On retire les fonds individuels pour éviter les superpositions étranges */
.metismenu.mod-menu .metismenu-item.active > a,
.metismenu.mod-menu .metismenu-item.active > button.mm-toggler {
    background: transparent !important;
    color: #e73078 !important;
    font-weight: 600;
    font-size: 1.1em;
}



@media (min-width: 992px) {
    .container-header .mod-menu {
        justify-content: flex-end !important;
        width: 100%;
    }

}



/* ====================================================================================================================================
  GESTION DU MENU MOBILE - ICONE HAMBURGER ET POSITION 
====================================================================================================================================*/

/* ==========================================================================
   1. ICÔNE DU MENU MOBILE (HAMBURGER) EN #e73078 ET AJUSTEMENT DE POSITION
   ========================================================================== */
/* Cible le bouton hamburger de Cassiopeia, force sa couleur et le descend */
.navbar-toggler,
.navbar-toggler-icon,
.navbar-toggler .navbar-toggler-icon {
    color: #e73078 !important;
    border-color: #e73078 !important;
    border-size: 1px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://w3.org' viewBox='0 0 30 30'%3e%3cpath stroke='%23e73078' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    
    /* --- MODIFICATION ICI --- */
    margin-top: 35px !important; /* Augmentez cette valeur (ex: 20px, 25px) pour le descendre encore plus */
}

/* ==========================================================================
   DÉPLACEMENT DU BOUTON HAMBURGER LORSQUE LE MENU EST OUVERT
   ========================================================================== */
/* Dès que le conteneur du menu (.navbar-collapse) reçoit la classe ".show" (ouvert),
   on cible le bouton précédent pour lui appliquer une marge plus grande */
.navbar-expand-lg:has(.navbar-collapse.show) .navbar-toggler,
.navbar:has([aria-expanded="true"]) .navbar-toggler,
.navbar-toggler[aria-expanded="true"] {
    margin-top: 40px !important; /* Ajustez cette valeur (ex: 50px, 60px) pour le descendre plus ou moins */
    transition: margin-top 0.3s ease; /* Ajoute un effet de glissement fluide */
    border-size: 1px !important;
}

/* Force la bordure du bouton hamburger à rester à 1px même ouvert ou sélectionné */
.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler[aria-expanded="true"] {
    border: 1px solid currentColor !important; /* Maintient la bordure à 1px */
    box-shadow: none !important;               /* Supprime l'effet d'ombrage Bootstrap de 4px */
    outline: none !important;                  /* Supprime le contour d'accessibilité natif */
}


/*----------------- FIN GESTION DU MENU TOTAL !!!
/*----------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------------------------
    GESTION DU STYLE VISFORMS : POUR LES FORMULAIRES EMAILS
-------------------------------------------------------------------------------------------------*/

/* ==========================================================================
   CLASSE GLOBALE VISFORMS CORRIGÉE POUR VOTRE STRUCTURE HTML
   ========================================================================== */

/* 1. POSITION GLOBALE DU FORMULAIRE (Le conteneur principal) */
div.visfield-container.custom-visforms-style {
    margin-top: 30px !important; /* Décale le formulaire vers le bas */
}

/* 2. RÉDUCTION STRICTE DE L'ESPACE ENTRE CHAQUE CHAMP (5PX MAX) */
/* Cible le conteneur principal de chaque champ */
div.visfield-container {
    margin-bottom: 5px !important;
    padding-bottom: 0px !important;
    margin-top: 0px !important;
    padding-top: 0px !important;
}

/* Force l'alignement et supprime l'espace vertical Bootstrap (row / form-group) */
div.visfield-container .form-group.row,
div.visfield-container .row {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    padding-bottom: 0px !important;
    padding-top: 0px !important;
    row-gap: 0px !important; /* Supprime le gap Bootstrap 5 */
}

/* Supprime les marges internes des colonnes pour éviter les décalages */
div.visfield-container [class*="col-"] {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/* 3. STYLE DU LABEL (Le texte "Nom") */
label.custom-visforms-style {
    font-size: 1.125em !important;
    color: #e73078 !important; /* Rose */
    line-height: 1.1 !important;
    display: inline-flex !important;
    align-items: center !important; /* Aligne verticalement le texte avec le champ */
    margin-bottom: 0px !important;
    padding-top: 6px !important; /* Ajustement pour centrer face au champ */
}

/* 4. STYLE DU CHAMP DE SAISIE (L'input de texte) */
input.form-control.custom-visforms-style,
textarea.form-control.custom-visforms-style,
select.form-control.custom-visforms-style {
    font-size: 1.125em !important;
    color: #025b7d !important;         /* Texte saisi en BLEU */
    border: 2px solid #e73078 !important; /* Encadrement en ROSE */
    background-color: #ffffff !important;
    border-radius: 3px !important;
    padding: 4px 8px !important;       /* Hauteur interne du champ légère */
    margin-bottom: 0px !important;
    width: 100% !important;
}

/* Effet lors du clic dans le champ */
input.form-control.custom-visforms-style:focus {
    outline: none !important;
    border-color: #e73078 !important;
    color: #025b7d !important;
    box-shadow: 0 0 0 0.25rem rgba(231, 48, 120, 0.25) !important;
}

/* Masque ou réduit la zone de message d'erreur vide sous le champ pour gagner de l'espace */
div.fc-tbxfield2, 
div[data-error-field-id] {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}


/*----------------------------------------------------------------------------------------------*/
/*------------------ IMAGE HALLO ----------------------*/
/*----------------------------------------------------------------------------------------------*/

.image-halo {
  /* Syntaxe : drop-shadow(décalage-X décalage-Y flou couleur) */
  filter: drop-shadow(0px 0px 25px #ffffff);
  
  /* Transition optionnelle pour un effet au survol */
  transition: filter 0.3s ease; 
}

/* Optionnel : accentuer le halo au survol */
.image-halo:hover {
  filter: drop-shadow(0px 0px 35px #ffffff);
}

/*-------------------------------------------------------------------------------------
 GESTION DE LA CLASSE FAVOURITE
-----------------------------------
POUR LES BOUTTONS / IMAGES / PUCES ...
----------------------------------------------------------------------------------------*/

/* ==========================================================================
   SLOGAN TOP BAR
   ========================================================================== */

/* Importation de la police Google Font Open Sans */
@import url('https://googleapis.com');

/* Préparation du site pour accueillir le bandeau forcé en haut */
html, body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* On crée un espace de respiration UNIQUEMENT pour la hauteur du bandeau (environ 24px) */
.site-container {
    padding-top: 24px !important;
    position: relative;
}

/* Isolation et positionnement absolu du bandeau rose tout en haut */
.top-slogan-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999; /* Reste au-dessus de tout */
    background-color: #e73078 !important;
    margin: 0 !important;
    padding: 5px 0 !important; /* Ajustement précis de la hauteur */
    line-height: 1 !important;
}

/* Conteneur Flexbox */
.slogan-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1320px; /* Aligné sur la largeur par défaut de Cassiopeia */
    margin: 0 auto;
    padding: 0 20px; /* Marges de sécurité sur les côtés */
}

/* Retrait strict de 1 cm à gauche */
.top-slogan-bar .slogan-container {
    width: 100%;
    text-align: left;
    padding-left: 1cm;
    box-sizing: border-box;
}

/* Style du texte en blanc et gras */
.slogan-text {
    color: #ffffff !important;
    font-family: 'Open Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.5px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1 !important;
}

/* Alignements spécifiques et répartition de l'espace */
.slogan-text.left {
    text-align: left;
    flex: 2;
}

.slogan-text.center {
    text-align: center;
    flex: 1; /* Donne plus d'espace au texte du milieu */
}

.slogan-text.right {
    text-align: right;
    flex: 1; /* Équilibre parfaitement le côté gauche */
}

/* 4. Remise à zéro pour que le reste de l'en-tête retrouve ses couleurs d'origine */
.container-topbar, 
header.header, 
.header,
.container-nav,
.container-banner {
    background-color: initial !important; /* Annule le rose global précédent */
}


/* 5. Essaye de supprimer la barre blanche au-dessus du Topbar ! */

/* Supprimer l'espace en haut du document */
body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Supprimer l'espace au-dessus du conteneur topbar */
.container-topbar, .header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Supprimer les marges des paragraphes à l'intérieur du module topbar */
.container-topbar p, .container-topbar p:first-child {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/*---------------------------------------------------------------------------------------------------------------------------------------------*/
/* ==========================================================================
   STYLE DES BLOCS INFO : POUR LES NUMEROS DE TEL DES DIFFERENTS SERVICES
   ========================================================================== */
/* Chargement optionnel si Font Awesome n'est pas activé par défaut sur votre Joomla */
@import url('https://fontawesome.com');

/* --- 1. ACTIVATION DE LA BOX (Avec ombre discrète) --- */
.afficher-box-info .info-box-flex-two-lines {
    display: flex;
    flex-direction: column;
    gap: 5px;
    
    background-color: #ffffff;
    border: 1px solid #e73078 !important;
    border-radius: 8px;
    padding: 2px !important;
    box-sizing: border-box;
    
    /* 🌟 Ombre portée discrète et élégante */
    box-shadow: 0 6px 18px rgba(231, 48, 120, 0.18), 0 1px 3px rgba(0, 0, 0, 0.8);
    
    /* Positionnement absolu à droite du titre */
    position: absolute;
    right: 0;
    top: -10;                       /* Aligné tout en haut pour gagner de la place */
    width: 325px;                 /* Largeur légèrement réduite (de 350px à 320px) pour libérer le titre */
    max-width: 325px;
    z-index: 99;
}

/* --- 2. AJUSTEMENT DU TITRE DE L'ARTICLE PRINCIPAL (Plus compact) --- */
.afficher-box-info .com-content-article .titre {
    font-size: 1.6rem !important;  /* Optionnel : réduit légèrement la taille de la police si nécessaire */
    line-height: 1.0 !important;   /* 📐 Réduit la hauteur de ligne pour rendre le titre compact */
    margin: 0 !important;
    padding-top: 0px !important;   /* Marges intérieures minimales */
    padding-bottom: 0px !important;
    
    /* 🛡️ Zone de sécurité augmentée pour empêcher le titre de toucher la box sur écran moyen */
    padding-right: 345px !important; 
}

/* --- 3. LIGNE 1 : LE TITRE (Inchangé) --- */
.afficher-box-info .info-box-header {
    background-color: #025b7d;
    color: #ffffff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 1.0rem;            /* Très légèrement réduit pour rester proportionnel */
    padding: 5px 10px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* --- 4. LIGNE 2 : LE TEXTE (Inchangé) --- */
.afficher-box-info .info-box-body {
    background-color: #ffffff;
    color: #e73078;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.0rem;
    font-weight: 500;
    line-height: 1.6;
    padding: 2px 2px;
}

/* --- 5. 📱 INTERFACE MOBILE (Bascule automatique pour éviter l'écrasement) --- */
/* Le passage sur mobile se fait désormais à 992px (tablettes) au lieu de 768px */
@media (max-width: 992px) {
    .afficher-box-info .info-box-flex-two-lines {
        position: relative;       /* La box lâche le côté du titre et passe en dessous */
        right: auto;
        top: auto;
        width: 100%;              /* Prend toute la largeur */
        margin: 15px 0 5px 0 !important;
    }
    .afficher-box-info .com-content-article .titre {
        padding-right: 0 !important; /* Le titre retrouve ses 100% de largeur */
    }
}

.afficher-box-info {
    position: relative; /* ou absolute selon votre intégration actuelle */
    z-index: 1;        /* Un z-index bas pour ne pas chevaucher le menu */
}

/* ==========================================================================
   STYLE DES BLOCS PROMOTIONNELS (VERSION 6 BLOCS) -> POUR LES MENUS INTERNE
   ========================================================================== */
/* Style de base des boxes */
.promote-box {
    background: #ffffff;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); /* Ombre initiale légère */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Effet de transition fluide */
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Comportement au passage de la souris (Hover) */
.promote-box:hover {
    transform: translateY(-5px); /* Légère élévation de la box */
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); /* Ombrage plus prononcé et diffus */
}

/* Gestion de l'image cliquable */
.promote-link {
    display: block;
    width: 100%;
}

.promote-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;
}

/* Optionnel : zoom léger sur l'image interne au survol */
.promote-box:hover .promote-img {
    transform: scale(1.03);
}

/* ==========================================================================
   STYLE DES BLOCS PROMOTIONNELS (VERSION 4 BLOCS)
   ========================================================================== */

.promo-block {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Aligne les boutons parfaitement en bas si les textes ont des longueurs différentes */
}

.promo-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

.promo-icon-wrapper {
    width: 60px;
    height: 60px;
    background-color: #fceaf1; /* Fond rose très clair */
    color: #e73078;            /* Icône rose fuchsia */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem auto;
}

.promo-title {
    color: #333333;
    font-size: 1.25rem;        /* Légèrement réduit pour s'adapter aux colonnes de 4 */
    font-weight: 700;
    margin-bottom: 0.75rem;
}

.promo-block p {
    color: #666666;
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    flex-grow: 1;              /* Aide à harmoniser l'espace interne */
}

/* ==========================================================================
   INTÉGRATION VIDÉO YOUTUBE RESPONSIVE DANS LES BLOCS
   ========================================================================== */

/* Crée un ratio d'aspect fluide au format 16:9 */
.promo-video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* Ratio 16:9 (9 / 16 = 0.5625) */
    overflow: hidden;
    border-radius: 4px;     /* Légers coins arrondis pour correspondre au design */
    background-color: #000; /* Fond noir en attendant le chargement */
}

/* Force l'iframe YouTube à occuper tout l'espace du conteneur */
.promo-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

/* ==========================================================================
   EFFET DE SURVOL SUR LES IMAGES CLIQUABLES DES BLOCS PROMO
   ========================================================================== */

/* Conteneur du lien de l'image */
.promo-img-link {
    display: block;
    overflow: hidden;
    border-radius: 6px; /* S'assure que l'effet respecte l'arrondi favth-img-rounded */
}

/* L'image contenue dans le lien */
.promo-img-link img {
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Effet au survol de la souris (Hover) : l'image zoome très légèrement 
   et devient un tout petit peu plus lumineuse */
.promo-img-link:hover img {
    transform: scale(1.05); /* Zoom de 5% très fluide */
    filter: brightness(1.05);
}


/* ==========================================================================
   STYLE DU BLOCKQUOTE (CITATION) DE L'ANCIEN THÈME FAVOURITE
   ========================================================================== */

blockquote, 
.favth-blockquote {
    padding: 1rem 1.5rem !important;
    margin: 1.5rem 0 !important;
    font-size: 1.2rem !important;          /* Texte de la citation légèrement plus grand */
    font-style: italic !important;         /* Texte en italique */
    background-color: #fcf8fa !important;  /* Fond très légèrement rosé/gris pour le contraste */
    
    /* LA LIGNE ROSE SIGNATURE À GAUCHE */
    border-left: 5px solid #e73078 !important; 
    
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 4px 4px 0;            /* Arrondit uniquement les coins droits */
}

/* Style pour le texte à l'intérieur du blockquote */
blockquote p,
.favth-blockquote p {
    margin-bottom: 0 !important;           /* Évite un espace vide inutile en bas */
    color: #555555 !important;             /* Gris foncé pour une lecture agréable */
    line-height: 1.6 !important;
}

/* Style pour l'auteur de la citation (balise <cite> ou <footer>) */
blockquote cite, 
blockquote footer,
.favth-blockquote .quote-author {
    display: block !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    font-style: normal !important;         /* Nom de l'auteur en texte normal (pas en italique) */
    color: #e73078 !important;             /* Rappel de la couleur rose pour l'auteur */
    margin-top: 0.5rem !important;
}

/* Ajoute un petit tiret cadratin (—) devant l'auteur automatiquement */
blockquote cite::before,
blockquote footer::before {
    content: "— " !important;
}

/* ==========================================================================
   RECRÉATION DE LA LISTE CARRÉE AVEC COCHE DU THÈME FAVOURITE (.favth-list-square)
   ========================================================================== */

/* 1. Préparation de la liste (on cache la puce par défaut) */
ul.favth-list-square,
.favth-list-square {
    list-style: none !important;
    padding-left: 0.5rem !important;
    margin-bottom: 1rem;
}

/* 2. Positionnement de chaque élément de la liste */
ul.favth-list-square li,
.favth-list-square li {
    position: relative;
    padding-left: 2.2rem !important;  /* Espace pour le grand carré */
    margin-bottom: 0.6rem;
    line-height: 1.5;
}

/* 3. CRÉATION DU GRAND CARRÉ ROSE AVEC INJECTION SÉCURISÉE DE LA COCHE BLANCHE */
ul.favth-list-square li::before,
.favth-list-square li::before {
    content: "" !important; /* Crée le bloc vide */
    position: absolute;
    left: 0;
    top: 0.15rem; /* Alignement avec la première ligne de texte */
    
    /* Dimensions et style du carré rose */
    width: 1.35rem;
    height: 1.35rem;
    background-color: #e73078 !important;
    border-radius: 3px;
    
    /* INJECTION DE LA COCHE BLANCHE EN BACKGROUND (HAUTE COMPATIBILITÉ) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 65% !important; /* Ajuste précisément la taille de la coche dans le carré */
    
    display: inline-block;
}

/* ==========================================================================
   RECRÉATION DE L'EFFET DE L'IMAGE ARRONDIE DU THÈME FAVOURITE (.favth-list-square)
   ========================================================================== */
/* 1. CLASSE POUR LES IMAGES AUX COINS ARRONDIS (.favth-img-rounded) */
.favth-img-rounded,
img.favth-img-rounded {
    border-radius: 6px !important;     /* L'arrondi signature du thème Favourite */
    display: inline-block;
    max-width: 100%;                   /* Garantit que l'image reste responsive */
    height: auto;
}

/* ==========================================================================
   BOUTONS PERSONNALISÉS (ANCIEN STYLE FAVOURITE TEMPLATE)
   AVEC COULEUR MAGENTA SUR FOND AVEC BLEU EN HOVER !!!
   ========================================================================== */

/* 1. CLASSE PRINCIPALE : BOUTON STANDARD (.favth-btn) */
.favth-btn {
    display: inline-block;
    font-weight: 500;
    line-height: 1.5;
    color: #ffffff !important;             /* Texte blanc par défaut */
    background-color: #e73078;             /* Votre couleur magenta logo (à adapter) */
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 1.25rem;             /* Espacement interne standard */
    font-size: 1.375rem;
    border-radius: 4px;                    /* Coins légèrement arrondis */
    text-decoration: none !important;      /* Supprime tout soulignement */
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* Effet au survol (Hover) et Focus */
.favth-btn:hover,
.favth-btn:focus {
    color: #ffffff !important;
    background-color: #025b7d;             /* Bleu canard Logo */
    border-color: transparent;
    text-decoration: none !important;
}



/* 2. VARIANTE : PETIT BOUTON (.favth-btn-small) */
/* S'applique en combinaison avec la classe principale (ex: class="favth-btn favth-btn-small") */
.favth-btn.favth-btn-small,
.favth-btn-small {
    padding: 0.25rem 0.75rem;              /* Espacement réduit */
    font-size: 0.875rem;                   /* Texte plus petit */
    font-weight: 700;                      /* Reste en gras également */
    border-radius: 3px;
}

/* ==========================================================================
   BOUTONS PERSONNALISÉS (ANCIEN STYLE FAVOURITE TEMPLATE) 
   AVEC COULEUR BLEU SUR FOND AVEC MAGENTA EN HOVER !!!
   ========================================================================== */

/* 1. CLASSE PRINCIPALE : BOUTON STANDARD (.favth-btn) */
.favth2-btn {
    display: inline-block;
    font-weight: 500;
    line-height: 1.5;
    color: #ffffff !important;             /* Texte blanc par défaut */
    background-color: #025b7d;             /* Votre couleur Bleu canard Logo (à adapter) */
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 1.25rem;             /* Espacement interne standard */
    font-size: 1.375rem;
    border-radius: 4px;                    /* Coins légèrement arrondis */
    text-decoration: none !important;      /* Supprime tout soulignement */
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* Effet au survol (Hover) et Focus */
.favth2-btn:hover,
.favth2-btn:focus {
    color: #ffffff !important;
    background-color: #e73078;             /* Magenta Logo */
    border-color: transparent;
    text-decoration: none !important;
}



/* 2. VARIANTE : PETIT BOUTON (.favth-btn-small) */
/* S'applique en combinaison avec la classe principale (ex: class="favth-btn favth-btn-small") */
.favth2-btn.favth2-btn-small,
.favth2-btn-small {
    padding: 0.25rem 0.75rem;              /* Espacement réduit */
    font-size: 0.875rem;                   /* Texte plus petit */
    font-weight: 700;                      /* Reste en gras également */
    border-radius: 3px;
}



/* ==========================================================================
   ADATPATION DE L'ESPACE APRES DES ICONES DES CLASSE I
   ========================================================================== */

/* Applique un espace à droite de n'importe quelle icône Font Awesome */
i.fas, i.far, i.fab, i.fa {
    margin-left: 6px !important;
    margin-right: 6px !important;
}


/*
--------------------------------------------------------------------------------------
Début du CSS Perso pour les pages
*/

/* Style de base pour le texte dans le div */
.txt-footer {
  margin: 5px 5px 5px 5px;
  width:100%;
  height:100%;
  font-size: 1.0em !important;
  font-family: 'Open Sans', sans-serif;
  text-align: center;
}

.txt-footer a {
    font-size: 1.125em !important;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: underline !important;
    text-decoration-color: #e73078 !important; /* Ligne de soulignement en rose */
    transition: background-color 0.3s ease, color 0.3s ease; /* Transition fluide */
}

/* Style lors du passage de la souris (Hover) */
.txt-footer a:hover {
    color: #ffffff !important; /* Le texte devient rose */
    background-color: #e73078 !important; /* Le fond devient blanc (mise en surbrillance) */
}


#container2C {
  width:100%;
  height:100%;
  text-align:left;
}
 
#left2C {
  float:left;
  width:400px;
  min-width:70%;
  max-width:100%;
  height: 100%;
}
 
#right2C {
    float:right;
    width:200px;
    height: 100%;
}


.container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.jb_rdv div {
  float: right;
  background-color: #fff;
  width: 400px;
  height: auto;
  margin: 5px 5px 5px 5px;
  text-align: left;
  padding: 15px 15px;
}
.jb_rdv {
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #000;
}

.div_base {
  padding : 0px;
  text-align: center;
}

.div_centre{
  padding : 0px;
  display: inline-block.
}

.ul {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  
}

.titre_job {
  margin: 0px 0px 0px 0px;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #025b7d;
}

.texte_R1125 {
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(1rem, 2.5vw, 1.250rem) !important;
  /*font-size: 1.250em;*/
  font-style: normal;
  font-variant: normal;
  font-weight:normal;
  color: #e73078;
}

.texte_R1250 {
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.250em;*/
  font-size: clamp(1rem, 2.5vw, 1.250rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight:normal;
  color: #e73078;
}
.texte_B1250 {
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.250em;*/
  font-size: clamp(1rem, 2.5vw, 1.250rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight:normal;
  color: #025b7d;
}

.history {
  margin: 0px 0px ;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  font-style: normal;
  font-variant: normal;
  font-weight:normal;
  color: #000;
  padding : 0px;
}

.history #t1900 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #1f433f;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce1900.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}
.border_img_1900 {
  border: 6px #1f433f solid;
}

.history #t1959 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #018780;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce1959.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}
.border_img_1959 {
  border: 6px #018780 solid;
}

.history #t1980 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #0191b3;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce1980.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}
.border_img_1980 {
  border: 6px #0191b3 solid;
}

.history #t1997 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #683e90;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce1997.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}

.history #t1998 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #e7196c;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce1998.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}
.border_img_1998 {
  border: 6px #e7196c solid;
}


.history #t2010 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #ef7a2a;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce2010.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}

.history #t2013 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #009c87;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce2013.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}

.history #t2024 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.175em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #00597b;
  height:35px;
  padding: 10px 40px;
  margin: 5px 5px;
  background-image: url(/images/pic/puce2024.png);
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: left bottom; 
}
.history #t2024 span {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #e73078;
}

.style1900 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #2d5755;
  border-radius: 15px;
  background-color: #fff;
}

.style1959 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #00ada4;
  border-radius: 15px;
  background-color: #fff;
}

.style1980 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #00aedd;
  border-radius: 15px;
  background-color: #fff;
}

.style1997 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #875ca3;
  border-radius: 15px;
  background-color: #fff;
}

.style1998 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #e7387b;
  border-radius: 15px;
  background-color: #fff;
}

.style2010 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #f29c62;
  border-radius: 15px;
  background-color: #fff;
}

.style2013 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #00ada4;
  border-radius: 15px;
  background-color: #fff;
}

.style_history {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  width:100%
  padding: 10px 25px;
  padding-left: 10px;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  margin: 5px 15px;
  border-left: 10px solid #e72f77;
  border-radius: 15px;
  background-color: #ddebf8;
}


.jb_divcontact {
  background: #fff;
  width: 100%;
  margin: 10px auto;
  overflow: hidden;
}

.jb_divcontact div {
  float: left;
  background-color: #fff;
  width: 400px;
  height: auto;
  margin: 5px 5px 5px 5px;
  text-align: left;
  vertical-align: middle;
  border-left: 6px #e73078 solid;
  border-bottom: 1px #025b7d solid;
  border-radius: 10px 20px 0px 70px;
  box-shadow: 0px 2px 3px #91bee7;
  padding: 35px 15px;
}

.jb_divcontact div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}

.jb_divcontact #LOCALITE {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  color: #025b7d;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
}

.jb_divcontact #TEL {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
}
.jb_divcontact #MAIL {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  color: #025b7d;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
}

.jb_divcontact #LOCALITE a:hover {
  background-color: #e73078;
  color: #fff;
  text-shadow: unset;
}
.jb_divcontact #MAIL a:hover {
  background-color: #e73078;
  color: #fff;
  text-shadow: unset;
}

a.bulle { 
position:relative;
color:#fff;
text-decoration:none;
font-family: 'Open Sans', sans-serif;
text-align:center;
}

a.bulle:hover {
background: none;
z-index: 50;
}

a.bulle span {
display: none;
}

a.bulle:hover span {
display: block;
position: absolute;
top: -100px; 
left: 0px; 
font-family: 'Open Sans', sans-serif;
text-align: left;
font-size: 1.125em;
color: #fff;
font-weight: normal;
min-width: 200px;
max-width: 400px;
background: #e73078;
padding: 5px;
border: #000 solid 1px ;
text-indent: 0;
}

.table_faq {
  padding: 0px;
  width:100%;
  border: 1px solid black;
  background-color: #fff;
}

.table_faq th, .table_faq td {
  padding: 5px;
  border: 1px solid #000;
}

blockquote {
  text-align: left;
}

.outer-div {
     padding: 30px;
}
.inner-div {
  margin: auto;
  width: 80%;
  max-width:600px;
  height: 25px;   
  font-family: 'Open Sans', sans-serif;
  font-size: 1.375em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  color: #000;
}

.box_contact_nav {
  background: #fff;
  width: 100%;
  height: 100%;
  margin: 2px auto;
  overflow: hidden;
}
  
.box_contact_nav div {
  color: #e73078;
  background-color: #fff;
  float: left;
  min-width: 300px;
  margin: 2px;
  text-align: left;
  vertical-align: middle;
  padding: 2px;
}

.box_contact_nav div p {
  color: #e73078;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  margin: 5px;
  vertical-align: middle;
  word-wrap: break-word;
}

.box_contact_nav div p a:hover{
  color: #e73078;
  background-color: #fff;
}

.box_contact_nav div p a:link {
  color: #e73078;
  background-color: #fff;
}

.box_contact_nav div p a:visited {
  color: #e73078;
  background-color: #fff;
}

.box_contact_nav div p a:hover {
  color: #e73078;
  background-color: #fff;
}

.box_contact_nav div p a:active {
  color: #e73078;
  background-color: #fff;
}


.jb_div_colonne {
  background: #fff;
  width: 100%;
  margin: 10px auto;
  overflow: hidden;
  margin: 5px 5px 5px 5px;
}

.colonne {
  float: left;  
  background: #fff;
  width: auto;
  min-width: 200px;
  max-width: 1024px;
  margin: 5px 5px 5px 5px;
}
.colonne25 {
  float: left;  
  background: #fff;
  width: 25%;
  min-width: 240px;
  max-width: 320px;
  margin: 5px 5px 5px 5px;
}
.colonne35 {
  float: left;  
  background: #fff;
  width: 35%;
  min-width: 320px;
  max-width: 400px;
  margin: 5px 5px 5px 5px;
}
.colonne45 {
  float: left;  
  background: #fff;
  width: 45%;
  min-width: 320px;
  max-width: 450px;
  margin: 5px 5px 5px 5px;
}
.colonne55 {
  float: left;  
  width:55%;
  min-width: 320px;
  max-width: 600px;
  margin: 5px 5px 5px 5px;
}
.colonne65 {
  float: left;  
  width:65%;
  min-width: 320px;
  max-width: 700px;
  margin: 5px 5px 5px 5px;
}
.colonne75 {
  float: left;  
  width:75%;
  min-width: 320px;
  max-width: 800px;
  margin: 5px 5px 5px 5px;
}
.colonne85 {
  float: left;  
  width:85%;
  min-width: 320px;
  max-width: 1000px;
  margin: 5px 5px 5px 5px;
}

.GoogleMap_adresse {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  margin: 15px 10px ;
  color: #e73078;
}

.magasins {
  margin: 15px 5px ;
  width:100%;
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
}
.magasins #LOCALITE a {
    margin: 5px 5px ;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.375em;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  text-decoration: normal;
  color: #e73078;
  text-shadow: #fff 1px 0 10px;
}

.magasins #LOCALITE a:hover {
  background-color: #e73078;
  color: #fff;
  text-shadow: unset;
}

.magasins #ADRESSE {
  margin: 5px 25px ;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  color: #fff;
}

.magasins #TEL {
  margin: 5px 25px ;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  color: #fff;
}

.magasins #MAIL {
  margin: 5px 25px ;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  color: #fff;
}

.titre {
  margin: 10px 5px ;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.625em;*/
  font-size: clamp(1.125rem, 2.5vw, 1.625rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  text-decoration:none;
  color: #000;
}

.stitre {
  margin: 5px 5px ;
  height:30px;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.4em;*/
  font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight:bold;
  color: #025b7d;
  background-image: url(/images/pic/puce.png);
  background-repeat: no-repeat;
  background-position: left top; 
  padding: 5px 20px;
}

.stitre p {
  word-wrap: break-word;
  margin: 0px 25px ;
  height:30px;
  padding 20px 20px;
}

.scategorie {
  margin: 5px 5px ;
  height:30px;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.625em;*/
  font-size: clamp(1.125rem, 2.5vw, 1.625rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight:bold;
  color: #e73078;
  background-image: url(/images/pic/puce.png);
  background-repeat: no-repeat;
  background-position: left top; 
  padding: 5px 20px;
}

.scategorie p {
  font-family: 'Open Sans', sans-serif;
  color: #e73078;
  word-wrap: break-word;
  margin: 0px 25px ;
  height:30px;
  padding 10px 20px;
}

.bandagiste_ruban {
  margin: 5px 5px ;
  height:40px;
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-style: normal;
  font-variant: normal;
  font-weight:normal;
  color: #e73078;
  background-image: url(/images/pic/bandagisterie/ruban-rose_25x.png);
  background-repeat: no-repeat;
  background-position: left bottom; 
  padding: 10px 20px;
}

.bandagiste_ruban p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  color: #000;
  word-wrap: break-word;
  margin: 10px 20px ;
  height:40px;
  padding 15px 20px;
}

.titre_ul {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
  margin:5px 5px;
}

.texte {
  margin:10px;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.125em;*/
  font-size: clamp(1rem, 2.5vw, 1.125rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}
.texte_1250R {
  margin:10px;
  font-family: Roboto;
  /*font-size: 1.250em;*/
  font-size: clamp(1.1rem, 2.5vw, 1.250rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #e73078;
}

.texte_1250B {
  margin:1.250em;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.375em;*/
  font-size: clamp(1.125rem, 2.5vw, 1.375rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #025b7d;
}

.phrase_accroche{
  margin:1.125em;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.5em;*/
  font-size: clamp(1.1rem, 2.5vw, 1.5rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  color: #e73078;
  text-align: center;
}

.texte_centre {
  margin:10px 10px;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.375em;*/
  font-size: clamp(1.125rem, 2.5vw, 1.375rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #e73078;
  font-weight:bold;
  text-align: center;
}

.texte_centre2 {
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.25em;*/
  font-size: clamp(1.1rem, 2.5vw, 1.25rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: bold;
  text-decoration: none;
  color: #000;
}
.texte_centre3 {
  margin:10px 10px;
  font-family: 'Open Sans', sans-serif;
  /*font-size: 1.625em;*/
  font-size: clamp(1.250rem, 2.5vw, 1.625rem) !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #025b7d;
  font-weight:bold;
  text-align: center;
}


.jb_div {
  background: #fff;
  width: 100%;
  margin: 15px auto;
}
.jb_div div {
  float: left;
  height: auto;
  margin: 25px 25px 25px 25px;
  border:2px;
}
.jb_div div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}
.jb_div div img {
  border: 0px;
}

.jb_div150 {
  background: #fff;
  width: 100%;
  margin: 15px auto;
  overflow: hidden;
}
.jb_div150 div {
  float: left;
  background: #fff;
  width:150px;
  height: auto;
  margin: 20px 20px 20px 20px;
  border:0px;
}
.jb_div150 div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}

.jb_div150 div img {
  border: 0px;
}

.jb_div200 {
  background: #fff;
  width: 100%;
  margin: 10px auto;
  overflow: hidden;
}

.jb_div200 div {
  float: left;
  background: #fff;
  min-width: 75px;
  height: auto;
  margin: 5px 5px 5px 5px;
  border:0px;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
}

.jb_div200 div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}
.jb_div200 div img {
  border: 0px;
  min-width:75px;
}
.jb_div200 #categorie {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.5em;
  font-style: italic;
  font-variant: normal;
  font-weight: bold;
  text-decoration:normal;
  text-align: middle;
  color: #e73078;
}

.jb_div250 {
  background: #fff;
  width: 100%;
  margin: 10px auto;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
}
.jb_div250 div {
  float: left;
  background: #fff;
  min-width: 250px;
  height: auto;
  margin: 5px 5px 5px 5px;
  border:0px;
}
.jb_div250 div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.250em;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  color: #000;
}
.jb_div250 div img {
  border: 0px;
  min-width:75px;
}

.jb_div250 iframe {
  margin: 0;
  padding: 10px;
}



/*
-------------------------------------------
Halo lumineux */
.light div {
	position: relative;
}
.light div::before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	content: '';
	width: 0;
	height: 0;
	background: rgba(255,255,255,.2);
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;
}
.light div:hover::before {
	-webkit-animation: circle .75s;
	animation: circle .75s;
}
@-webkit-keyframes circle {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}
@keyframes circle {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	100% {
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}

/* Effet Zoom */
.zoom div img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.zoom div:hover img {
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
}

/* Rotation */
.rotate div img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
 
.rotate div:hover img {
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
}

/* Morph */
.morph div img {
  width: 200px;
  height: 150px;
  -webkit-filter: grayscale(0) blur(0px);
  filter: grayscale(0) blur(0px);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
 
.morph div:hover img {
  width: 150px; /* on affiche l'image au carré */
  height: 150px;
  border-radius: 50%;  /* on arrondit l'image */
  -webkit-transform: rotate(360deg); /* rotation de l'image */
  transform: rotate(360deg);
}

/* Image ronde */
.rounded div img {
  width: 200px; /* largeur de l'image */
  height: auto; /* hauteur de l'image */
  -webkit-transition: .3s ease-in-out !important; 
  transition: .3s ease-in-out !important; 
}
.rounded div:hover img:hover {
  width: 150px; /* on affiche l'image au carré */
  height: 150px;
  border-radius: 50%; 
}

/* Rotation */
.rotate div img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
 
.rotate div:hover img {
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
}


/* @media screen */

@media screen and (max-width: 64em) {
  .titre {
  font-size: 1.625em;
  }
  .stitre {
    font-size: 1.5em;
  }
  .texte {
    font-size: 1.125em;
  }
  .texte_centre {
     font-size: 1.375em;
  }
}
@media screen and (max-width: 50em) {
  .titre {
  font-size: 1.5em;
  }
  .stitre {
    font-size: 1.375em;
  }
  .texte {
    font-size: 1.0em;
  }
  .texte_centre {
     font-size: 1.375em;
  }

}
@media screen and (max-width: 30em) {
  .titre {
  font-size: 1.375em;
  }
  .stitre {
    font-size: 1.125em;
  }
  .texte {
    font-size: 1.0em;
  }
  .texte_centre {
     font-size: 1.125em;
  }
}

/* ==========================================================================
   ANIMATION EN FONDU (FADE-IN) POUR LES BLOCS PROMOTIONNELS
   ========================================================================== */

/* 1. Définition de l'animation CSS */
@keyframes fadeInPromo {
    from {
        opacity: 0;
        transform: translateY(-100px); /* Les blocs montent légèrement en apparaissant */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 2. Application de l'animation de base sur les blocs */
.promo-block {
    opacity: 0; /* Caché au départ pour éviter le flash visuel */
    animation: fadeInPromo 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 3. Effet cascade (décalage de l'apparition bloc par bloc) */
.row > div:nth-child(1) .promo-block { animation-delay: 0.1s; }
.row > div:nth-child(2) .promo-block { animation-delay: 0.2s; }
.row > div:nth-child(3) .promo-block { animation-delay: 0.3s; }
.row > div:nth-child(4) .promo-block { animation-delay: 0.4s; }
.row > div:nth-child(5) .promo-block { animation-delay: 0.4s; }
.row > div:nth-child(6) .promo-block { animation-delay: 0.4s; }

/* Force le conteneur du menu à devenir une ligne flexible */
.container-nav, 
.container-nav .grid-child {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important; /* Logo tout à gauche, menu tout à droite */
    align-items: center !important; /* Centre verticalement le logo et le menu sur la même ligne interne */
    width: 100% !important;
}

/* Ajustement du conteneur du logo */
.custom-logo-container {
    padding: 5px 0;
    display: flex;
    align-items: center;
}

.custom-logo-img {
    max-height: 200px; /* Ajustez la hauteur maximale de votre logo ici */
    width: auto;
    display: block;
}

/* Force le menu Joomla à s'aligner à droite et à se centrer verticalement */
.container-nav .navbar {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}

/* Optionnel : alignement sur la largeur du site avec retrait de 1cm comme le slogan */
.container-nav {
    max-width: 1320px;
    margin: 0 auto !important;
    padding-left: 1cm !important;
    padding-right: 1cm !important;
}



/* ==========================================
   ADAPTATION DU LOGO POUR LE FORMAT MOBILE
   ========================================== */
/* Cible les écrans (inférieurs à 1440px) */
@media (max-width: 1440px) {
    .custom-logo-img {
        /* Diminue la hauteur maximale du logo pour le mobile */
        max-height: 200px !important; /* Ajustez cette valeur (ex: 35px ou 45px) selon vos préférences */
        width: auto !important;
        transition: max-height 0.2s ease; /* Transition fluide lors du changement de taille */
    }

    /* Ajuste l'espacement pour que le logo reste bien aligné sur mobile */
    .custom-logo-container {
        padding: 5px 0 !important; 
    }
}

/* Cible les écrans (inférieurs à 1280px) */
@media (max-width: 1280px) {
    .custom-logo-img {
        /* Diminue la hauteur maximale du logo pour le mobile */
        max-height: 150px !important; /* Ajustez cette valeur (ex: 35px ou 45px) selon vos préférences */
        width: auto !important;
        transition: max-height 0.2s ease; /* Transition fluide lors du changement de taille */
    }

    /* Ajuste l'espacement pour que le logo reste bien aligné sur mobile */
    .custom-logo-container {
        padding: 5px 0 !important; 
    }
}
/* Cible les écrans de smartphones et tablettes (inférieurs à 992px) */
@media (max-width: 992px) {
    .custom-logo-img {
        /* Diminue la hauteur maximale du logo pour le mobile */
        max-height: 125px !important; /* Ajustez cette valeur (ex: 35px ou 45px) selon vos préférences */
        width: auto !important;
        transition: max-height 0.2s ease; /* Transition fluide lors du changement de taille */
    }

    /* Ajuste l'espacement pour que le logo reste bien aligné sur mobile */
    .custom-logo-container {
        padding: 5px 0 !important; 
    }
}

