 :root {
    --ink: #23262F;
    --muted: #8A8F9C;
    --faint: #C4C8D2;
    --accent: #2196F3;
    --accent-soft: #EFEBFF;
    --surface: #F7F7FA;
    --border: #E3E4EA;
    --radius: 50px;
	--white: #FFFFFF;
	--gray: #eee;
	--blue: 1976D2;
	--dark: #111;
  }
  
  a {
	  text-decoration:none;
  }
  
* { margin: 0; padding: 0; box-sizing: border-box; }

.spacer-20 {
  height: 20px;
  width: 100%;
}

.spacer-10 {
  height: 10px;
  width: 100%;
}

body {
    font-family: "Roboto", sans-serif;
    background-color: var(--white);
    padding-top: 0px;
    margin: 0;
}
 h1, h2, h3, h4, h5 {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: normal;
 }
 h1 {
    text-transform: none;
	font-size:2.7rem;
 }
 
.logodiv, .logo-footer {
  width: 76px;
  height: 76px;
  margin-top:20px;
}

.logodiv a {
  display: block;
  width: 100%;
  height: 100%;
}

.logo {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20id%3D%22Calque_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20800%20800%22%3E%3Cdefs%3E%3Cstyle%3E.st3%7Bfill%3A%232c2829%3B%7D.st4%7Bfill%3A%232196F3%3B%7D%3C/style%3E%3C/defs%3E%3Cpath%20class%3D%22st3%22%20d%3D%22M616.3%2C192.36c7.77%2C25.48%2C6.1%2C32.72%2C5.47%2C55.43-114.29-77.25-218.43-106.88-350.23-52.57-43.07%2C17.75-63.78%2C37.76-98.62%2C63.66-13.95%2C10.37-21.18%2C13.03-38.32%2C27.72-26.09%2C22.36-54.97%2C43.03-74%2C72.14%2C41.47%2C61.09%2C112.26%2C117.78%2C177.93%2C152.44%2C116.1%2C61.28%2C207.01%2C61.28%2C323.11%2C0%2C65.67-34.67%2C136.46-91.35%2C177.93-152.44l-74-72.14c2-14.14%2C5.84-36.86%2C5.47-49.89%2C50.46%2C27.22%2C84.46%2C75.61%2C123.25%2C116.64l2.05%2C12.47c-102%2C126.3-252.78%2C242.68-423.83%2C231.43-142.48-9.37-278.44-121.87-366.63-227.73l-2.05-12.47c8.01-8.66%2C13.64-20.16%2C21.32-28.85%2C28.08-31.79%2C75.71-77.55%2C109.45-102.58%2C11.31-8.39%2C37.28-25.91%2C49.26-33.26%2C142.99-87.76%2C289.41-88.58%2C432.43%2C0Z%22/%3E%3Cpath%20class%3D%22st4%22%20d%3D%22M134.6%2C225.62c-1.43-22.27%2C5.36-50.64%2C14.86-70.66C228.21-10.86%2C462.84-46.15%2C594.46%2C78.67c36.63%2C34.74%2C75.15%2C107.3%2C76.58%2C158.04.37%2C13.03-3.47%2C35.75-5.47%2C49.89-21.45%2C151.71-180.48%2C236.93-323.24%2C208.16-99.95-20.15-196.42-102.23-207.72-208.16%2C17.13-14.69%2C24.37-17.35%2C38.32-27.72%2C10.06%2C37.58%2C12.98%2C80.7%2C38.2%2C112.26%2C93.49%2C117.02%2C280.92%2C117.58%2C376.1%2C2.45%2C29.52-35.7%2C33.34-81.83%2C34.55-125.8.63-22.71%2C2.29-29.95-5.47-55.43-18.01-59.07-70.6-112.33-128.36-133.32-121.39-44.12-261.62%2C7.6-304.07%2C133.32-11.98%2C7.35-37.95%2C24.87-49.26%2C33.26Z%22/%3E%3C/svg%3E");
}
 
  header {
    position: fixed; /* flotte au-dessus de l'image, ne pousse plus le contenu */
    top: 0;
    left: 0;
    z-index: 15; /* toujours au-dessus du menu et de l'overlay */
    display: flex;
    justify-content: space-between; /* logo à gauche, burger à droite */
    align-items: center;
    padding: 10px 20px;
    height: 70px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }
 
.containt {
    position: relative; /* sert de repère pour l'image, le texte et le divider */
    width: 100%;
    line-height: 0; /* évite l'espace fantôme sous l'image */
}

.hero-container {
  position: relative;
  width: 100%;
  height: 660px;
  overflow: hidden;
}

/* L'image remplit le conteneur */
.hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.hero-img-page {
      display: block;
	  width: 100%;
	  height: 300px;
	  object-fit: cover;
	  object-position: center -260px;
}
@media (max-width: 768px) {
     .hero-img-page {
      object-position: top center;
   }
}

/* Le calque blanc semi-transparent appliqué sur le CONTENEUR */
.hero-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
}

.top-left {
  position: absolute;
  top: -50px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centré verticalement */
  align-items: flex-start; /* Aligné à gauche */
  padding: 0 30px;
  color: var(--ink);
  box-sizing: border-box; /* Empêche le padding d'agrandir la largeur */
}

/* Réinitialisation et gestion de l'espacement du texte */
.top-left h1 {
  margin: 0 0 10px 0;
  line-height: 1.2; /* Évite la superposition de lignes */
  position: static; /* S'assure que le h1 suit le flux flex */
}

.top-left p {
  margin: 0 0 20px 0px;
  line-height: 1.5;
  position: static; /* S'assure que le p suit le flux flex */
  max-width: 50vw;
  font-size: 1.5rem;
  text-shadow: 3px 3px 5px #FFF;
  color: var(--dark);
}
  

@media (max-width: 768px) {
  .top-left p {
    max-width: 100%;
  }
}

/* Container de boutons corrigé */
.container {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  align-items: center;
}

.custom-shape-divider-top-1756978020 {
    position: absolute;
    bottom: -2px; /* léger débord pour masquer la ligne fantôme au bas de l'image */
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
    z-index: 3; /* au-dessus du texte/boutons si jamais ils se chevauchent en bas */
}

.custom-shape-divider-top-1756978020 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 225px;
}

.custom-shape-divider-top-1756978020 .shape-fill {
    fill: #FFFFFF;
}

/** For mobile devices **/
@media (max-width: 767px) {
    .custom-shape-divider-top-1756978020 svg {
        width: calc(143% + 1.3px);
        height: 129px;
    }
}

.custom-shape-divider-bottom-1756978911 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-bottom-1756978911 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 225px;
}

.custom-shape-divider-bottom-1756978911 .shape-fill {
    fill: #FFFFFF;
}

  
  /* Nettoyage du menu et gestion de la mise en page Flexbox */
.desktop-menu {
    display: none;            /* Active l'alignement horizontal */
    list-style: none;          /* Supprime les puces (points) */
    padding: 0;                /* Retire les marges internes par défaut */
    margin: 0;                 /* Retire les marges externes par défaut */
    align-items: center;
    gap: 20px;                 /* Préserve l'espace exact entre les éléments */
}

.desktop-menu a {
    color: var(--ink);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-size: 1.0rem;
    font-weight: 400;
    font-family: sans-serif;
    transition: color .2s ease-in-out;
    display: inline-flex;
    align-items: center;
}

.desktop-menu a:hover {
    color: hsl(207deg 80% 54%);
}

.desktop-menu li.current-menu-item > a {
    color: hsl(207deg 80% 54%);
}

/* --- Configuration de l'icône Accueil --- */

/* Masque le texte "Accueil" */
.desktop-menu li.menu-home > a {
    font-size: 0;
}

/* Injection du SVG via un masque CSS pour pouvoir modifier sa couleur dynamiquement */
.desktop-menu li.menu-home > a::before {
    content: "";
    width: 24px;
    height: 24px;
    background-color: var(--ink); /* Couleur initiale du SVG */
    transition: background-color .2s ease-in-out;
    
    /* Intégration du SVG encodé */
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path d="M240-200h120v-240h240v240h120v-360L480-740 240-560v360Zm-80 80v-480l320-240 320 240v480H520v-240h-80v240H160Zm320-350Z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path d="M240-200h120v-240h240v240h120v-360L480-740 240-560v360Zm-80 80v-480l320-240 320 240v480H520v-240h-80v240H160Zm320-350Z"/></svg>') no-repeat center / contain;
}

/* Changement de couleur du SVG au survol et sur la page active */

.desktop-menu li.menu-home > a:hover::before,
.desktop-menu li.menu-home.current-menu-item > a::before,
.desktop-menu li.menu-home.current_page_item > a::before {
    background-color: hsl(207deg 80% 54%);
}

  .burger {
    position: relative;
    width: 40px;
    height: 30px;
    background: transparent;
    cursor: pointer;
    display: block;
  }

  .burger, .burger * {
    cursor: pointer;
  }

  .burger input {
    display: none;
  }

  .burger span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: var(--accent);
    border-radius: 9px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
  }

  .burger span:nth-of-type(1) {
    top: 0px;
    transform-origin: left center;
  }

  .burger span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left center;
  }

  .burger span:nth-of-type(3) {
    top: 100%;
    transform-origin: left center;
    transform: translateY(-100%);
  }

  #burger-toggle:checked ~ header .burger span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 0px;
    left: 5px;
  }

  #burger-toggle:checked ~ header .burger span:nth-of-type(2) {
    width: 0%;
    opacity: 0;
  }

  #burger-toggle:checked ~ header .burger span:nth-of-type(3) {
    transform: rotate(-45deg);
    top: 28px;
    left: 5px;
  }

  /* Menu déroulant depuis le bas du bandeau */
  #burger-toggle {
    display: none;
  }

  .menu {
    position: fixed;
    top: 71px; /* juste sous le bandeau */
    right: 0;
    width: 100%;
    height: calc(100% - 60px);
    background: rgba(255, 255, 255, 0.8);
    z-index: 10;
    padding: 5px 20px;
    box-shadow: -8px 0 20px rgba(0, 0, 0, 0.15);
    transform: translateX(100%);
    transition: transform .35s ease-in-out;
  }

  .menu ul {
    list-style: none;
  }

  .menu li {
  margin-bottom: 5px;
	padding:8px 0;
	border-bottom: 2px #8A8F9C dotted ;
  }

  .menu li:last-child {
    margin-bottom: 0;
  }

  .menu a {
    color: var(--ink);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    font-family: sans-serif;
  }

  .menu a:hover {
    color: var(--accent);
  }

  .menu li.current-menu-item > a {
        color: var(--accent);
  }
  
  /* ====== Liens contact affichés en bas du menu mobile ====== */
  .menu-contact {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 26px;
    padding-top: 20px;
  }

  .menu-contact a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    text-decoration: none;
    font-size: 1.0rem;
    transition: color .15s ease;
  	text-transform:none;
  }

  .menu-contact a:hover {
    color: var(--muted);
  }
  
  .mobile_contact {
	  color: var(--muted)!important;
	  text-transform:none !important;
    line-height: 1.4rem;
  }
  .mobile_contact:hover {
	  color: var(--accent)!important;
  }

  /* Overlay derrière le menu, cliquable pour fermer */
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 1);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease-in-out, visibility .35s ease-in-out;
    z-index: 5;
    cursor: pointer;
  }

  #burger-toggle:checked ~ .menu {
    transform: translateX(0);
  }

  #burger-toggle:checked ~ .overlay {
    opacity: 1;
    visibility: visible;
  }

  /* À partir du desktop : menu horizontal visible, burger + menu mobile masqués */
  /* Placé en fin de feuille de style pour bien surcharger les règles ci-dessus */
  @media (min-width: 1024px) {
    .desktop-menu {
      display: flex;
    }

    .burger,
    .menu,
    .overlay {
      display: none;
    }
  }

  .conteneur-flex {
    margin-top: 20px;
    display: flex;
    justify-content: center; align-items: center;  
    }
  
  .button {
  padding: 12px 25px;
  border-radius: var(--radius);
  cursor: pointer;
  border: 0;
  background-color: var(--accent);
  color: hsl(0deg 0% 100%);
  box-shadow: rgb(0 0 0 / 5%) 0 0 8px;
  letter-spacing: 0px;
  text-transform: uppercase;
  font-size: 1rem;
  transition: all 0.5s ease;
}

.button:hover {
  background-color: hsl(207deg 80% 54%);
  color: hsl(0, 0%, 100%);
  box-shadow: rgb(33 150 243) 0px 7px 29px 0px;
}

.button:active {
  background-color: hsl(207deg 90% 54%);
  color: hsl(0deg 0% 100%);
  box-shadow: hsla(207deg, 90%, 54%, 0.6) 0px 7px 29px 0px;
  transition: 0s;
}


.button2 {
  padding: 12px 25px;
  border-radius: var(--radius);
  cursor: pointer;
  border: 0;
  background-color: var(--white);
  color: var(--accent);
  box-shadow: rgb(0 0 0 / 5%) 0 0 8px;
  letter-spacing: 0px;
  text-transform: uppercase;
  font-size: 1rem;
  transition: all 0.5s ease;
  box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.35);
}

.button2:hover {
  background-color: hsl(207deg 80% 54%);
  color: hsl(0, 0%, 100%);
  box-shadow: rgb(33 150 243) 0px 7px 29px 0px;
}

.button2:active {
  background-color: hsl(207deg 90% 54%);
  color: hsl(0deg 0% 100%);
  box-shadow: hsla(207deg, 90%, 54%, 0.6) 0px 7px 29px 0px;
  transition: 0s;
}


 .readmore {
  padding: 11px 20px;
  border-radius: var(--radius);
  cursor: pointer;
  border: 0;
  background-color: var(--accent);
  color: hsl(0deg 0% 100%);
  box-shadow: rgb(0 0 0 / 5%) 0 0 8px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 15px;
  transition: all 0.5s ease;
}

.readmore:hover {
  background-color: hsl(207deg 80% 54%);
  color: hsl(0, 0%, 100%);
  box-shadow: rgb(33 150 243) 0px 7px 29px 0px;
}

.readmore:active {
  background-color: hsl(207deg 90% 54%);
  color: hsl(0deg 0% 100%);
  box-shadow: hsla(207deg, 90%, 54%, 0.6) 0px 7px 29px 0px;
  transition: 0s;
}

.site-main {
  width: 100%;
  max-width: 100%; /* S'assure de prendre tout l'écran */
  padding: 0;      /* À ajuster selon le besoin */
} 

/* Style de la section */
.section-hero {
  width: 100%;                  /* Prend 100% de la largeur */
  min-height: 500px;           /* Hauteur minimale de 500px */
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;      /* Évite que le padding ne dépasse des 100% */
}

/* Conteneur interne optionnel pour éviter que le texte ne soit trop large sur grand écran */
.section-content {
  width: 100%;
  display: flex;
  flex-direction: column;   /* Empile les éléments les uns sous les autres */
  align-items: center;      /* Centre les éléments horizontalement (boutons, divs, etc.) */
  justify-content: center;  /* Centre verticalement si le conteneur a une hauteur fixe */
  text-align: center;
  padding: 20px 20px 10px 20px;        /* Padding par défaut (ordis / tablettes) */
}

.section-content-single {
  width: 100%;
  display: flex;
  flex-direction: column;   /* Empile les éléments les uns sous les autres */
  align-items: flex-start;  /* Aligne les éléments enfants à gauche */
  justify-content: center;  /* Centre verticalement si le conteneur a une hauteur fixe */
  text-align: left;         /* Aligne le texte à gauche */
  padding: 40px 30px 10px 20px;  
  color: var(--muted);      /* Padding par défaut (ordis / tablettes) */
}

.section-content h2, .section-content-single.h2 { 
     color: var(--ink);
     font-size: 2.1rem;
     line-height:2.4rem;
}

.section-content .text, .section-content-single.text { 
     color: var(--muted);
	   padding: 20px 80px; 
	   line-height:1.4rem;
     font-size: 1.1rem;
     margin-top:6px;
	   margin-bottom:10px;
}

.section-content .text a, .section-content-single a {
	color: var(--accent);
}


/* Conteneur principal */
.parallax-section {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
  display: flex;
  align-items: center; /* Centre le bloc de texte verticalement */
}

/* Image d'arrière-plan */
.parallax-bg {
  position: absolute;
  top: -20%; /* Marge pour permettre le mouvement Parallax sans bordure blanche */
  left: 0;
  width: 100%;
  height: 140%; /* Taille supérieure pour le défilement */
  background-image: url('images/background-session.jpg'); /* Remplacez par votre image */
  background-size: cover;
  background-position: center;
  z-index: 1;
  will-change: transform;
}

/* Conteneur du contenu */
.parallax-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px;
}

/* Bloc texte aligné à gauche */
.texte-block {
  max-width: 500px;
  background: rgba(255, 255, 255, 0.6); /* Fond sombre semi-transparent */
  color: var(--ink);
  padding: 30px;
  border-radius: var(--radius);
  box-shadow: hsla(207deg, 90%, 54%, 0.6) 0px 7px 29px 0px;
}

@media (max-width: 1204px) {
	.texte-block {
		margin-left:20px;
		margin-right:20px;
	}	
}

.texte-block h2 {
  font-size: 2rem;
  margin-bottom: 15px;
}

.texte-block p {
  font-size: 1rem;
  line-height: 1.5;
}

.texte-block .linkblock {
  margin-top:20px;
}

/* Container Grid Responsive (4 col desktop / 3 col tablette / 1 col mobile) */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
	margin-bottom:40px;
}

.cards-grid2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
	margin-bottom:40px;
}

@media (max-width: 1024px) {
    .cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
	.cards-grid2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .cards-grid, .cards-grid2 {
        grid-template-columns: 1fr;
    }
	.section-content .text { 
	   padding: 20px 10px; 
	}
	.button, .button2 {
		padding: 12px 15px;
		font-size: 0.8rem;
	}
}

/* Style de la Card */
.card {
    background-color: var(--white, #ffffff);
    border-radius: var(--radius, 12px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.35);
}

.card:hover {
    transform: translateY(-3px);
}

/* Conteneur de l'image (pour positionner le badge) */
.card__media {
    position: relative !important; /* Force la référence de positionnement */
    width: 100%;
    height: 200px;
    overflow: hidden; /* Garantit que l'image et le badge respectent l'arrondi si besoin */
}

.card__media-single {
    position: relative !important; /* Force la référence de positionnement */
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

/* Badge de date aligné en bas à gauche sur l'image */
.card__badge {
    position: absolute;
    bottom: 0px;
    left: 0px;
    background-color: var(--white);
    color: var(--muted);
    padding: 12px 22px;
    border-radius: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
}

/* Stylisation du pictogramme */
.card__badge .picto {
    margin-bottom: 4px;
}

/* Jour en grand */
.card__badge-day {
    font-size: 1.25rem;
    font-weight: 700;
    color: inherit;
}

/* Mois en plus petit sous le jour */
.card__badge-month {
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 500;
    color: inherit;
}

/* Contenu textuel */
.card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card__title {
    margin: 0 0 0.5rem 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--faint);
}

.card_svg {
    margin: 20px 0 0.5rem 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--accent);
}

.card__text {
    margin: 0 0 1.25rem 0;
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card__title a {
  color:var(--muted);
}

.card__title a:hover{
  color:var(--accent);
}

.card__body .button, .card__body .readmore {
    margin-top: auto;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color:var(--white);
}

      /* ===== CARROUSEL ===== */
        .carousel-section {
            padding: 60px 0;
            background: linear-gradient(135deg, #f2f2f2 0%, #eee 100%);
        }

        .carousel-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .carousel-title {
            text-align: center;
            color: var(--accent);
            font-size: 2.5rem;
            margin-bottom: 40px;
        }

        .carousel-wrapper {
            position: relative;
            overflow: hidden;
        }

        .carousel-track {
            display: flex;
            gap: 20px;
            transition: transform 0.4s ease;
            cursor: grab;
            user-select: none;
        }

        .carousel-track.dragging {
            cursor: grabbing;
            transition: none;
        }

		  .carousel-item {
			position: relative; /* Indispensable pour ancrer le badge */
			flex: 0 0 calc(25% - 15px);
			background: white;
			border-radius: 15px;
			overflow: hidden;
			box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
		}

		.carousel-item img {
			width: 100%;
			height: 250px;
			object-fit: cover;
			display: block;
		}

		/* Nouveau style du Badge */
		.carousel-item-badge {
			position: absolute;
			top: 0px; /* Positionne le badge en bas de l'image de 250px */
			right: 0px;
			z-index: 2;
			background-color: var(--white, #ffffff);
			color: var(--muted);
			padding: 6px 15px;
			border-radius: 0px;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			line-height: 1.1;
			box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
		}

		.carousel-item-badge .picto {
			margin-bottom: 2px;
		}

		.carousel-item-badge .badge-day {
			font-size: 1.1rem;
			font-weight: 700;
		}

		.carousel-item-badge .badge-month {
			font-size: 0.75rem;
			text-transform: uppercase;
			font-weight: 500;
		}

		.carousel-item-content {
			padding: 20px;
		}

		.carousel-item-content h3 {
			margin-bottom: 10px;
			font-size: 1.3rem;
      color: var(--faint);
		}

		.carousel-item-content p {
			font-size: 0.95rem;
			margin: 0;
		}
		
		.carousel-item-content .btn {
			margin-top: 20px; 
			margin-bottom:0px;
			text-decoration: none;
			text-align:center !important;
		}

    .carousel-item-content .btn .readmore {
                color: var(--white);
    }

        .carousel-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.9);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            z-index: 10;
        }

        .carousel-arrow:hover {
            background: white;
            transform: translateY(-50%) scale(1.1);
        }

        .carousel-arrow-left {
            left: 10px;
        }

        .carousel-arrow-right {
            right: 10px;
        }

        .carousel-arrow svg {
            width: 24px;
            height: 24px;
            fill: var(--primary-color);
        }

        @media (max-width: 768px) {
            .carousel-title {
                font-size: 1.8rem;
                margin-bottom: 30px;
            }

            .carousel-item {
                flex: 0 0 calc(100% - 40px);
            }

            .carousel-arrow {
                width: 40px;
                height: 40px;
            }
        }


 /* ---------SIDEBAR COL -------*/

 .layout-container {
  display: grid;
  grid-template-columns: 1fr; /* 1 colonne par défaut sur mobile */
  gap: 20px;
  width: 100%;
}

/* À partir de 768px de largeur d'écran */
@media (min-width: 768px) {
  .layout-container {
    /* Crée 2 colonnes : 75% et 25% de l'espace disponible */
    grid-template-columns: 3fr 1fr; 
  }
}

.sidebarblock {
     background-color: var(--white, #ffffff);
     border-radius: var(--radius, 12px);
     overflow: hidden;
     box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.35);
     padding: 40px 20px;
     margin: 20px;
}

			.page-title {
				  width: 100%;
				  display: flex;
				  flex-direction: column;   /* Empile les éléments les uns sous les autres */
				  align-items: center;      /* Centre les éléments horizontalement (boutons, divs, etc.) */
				  justify-content: center;  /* Centre verticalement si le conteneur a une hauteur fixe */
				  text-align: center;
				  padding: 20px 20px; 
          font-size: 2.0rem;
			}
			.page-description {
				  width: 100%;
				  display: flex;
				  flex-direction: column;   /* Empile les éléments les uns sous les autres */
				  align-items: center;      /* Centre les éléments horizontalement (boutons, divs, etc.) */
				  justify-content: center;  /* Centre verticalement si le conteneur a une hauteur fixe */
				  text-align: center;
				  padding: 0px 20px; 
				  font-size: 2rem;
				  color:var(--faint);
			}

      .page-description a { 
            color: var(--accent);
      }
      .page-description a:hover {
            color: var(--muted);
      }


 /* ---------- FOOTER ---------- */

  .footer{
    position:relative;
    z-index:2;
    background:var(--gray);
    padding:4.2rem 6vw 2.2rem;
	  margin-top:0px;
  }

/* =========================================================
   STRUCTURE DU FOOTER (ORDINATEUR / TABLETTE LARGE)
========================================================= */
.footer_top {
    max-width: 1480px;
    margin: 0 auto;
    padding-bottom: 3rem;
    border-bottom: 1px solid #e6e1d6;
    
    /* On passe en Flexbox pour forcer l'alignement */
    display: flex !important;
    flex-wrap: wrap !important; /* Permet le retour à la ligne sur mobile */
    gap: 2.5rem;
}

/* Force la largeur de chaque bloc de colonne */
.footer_top .footer__col {
    /* (100% / 4 colonnes) moins l'espace des gaps */
    flex: 1 1 calc(25% - 2rem) !important; 
    min-width: 200px; /* Sécurité pour éviter que les colonnes ne deviennent trop petites */
    box-sizing: border-box;
}


/* =========================================================
   VERSION MOBILE (Écrans de moins de 768px)
========================================================= */
@media (max-width: 768px) {
    .footer_top {
        /* On réduit l'espace global sur mobile */
        gap: 1.5rem !important; 
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .footer_top .footer__col {
        /* Force chaque colonne à prendre 100% de la largeur de l'écran (1 seule colonne) */
        flex: 1 1 100% !important; 
        width: 100% !important;
    }
}

  .footer__brand__info {
	   display: inline-block;
  }
  .footer__brand__logo {
	   width:76px;
	   height:76px;
	   filter:drop-shadow(0 1px 6px rgba(0,0,0,.25));
  }
  
    .footer__brand__logo svg {
		width:100%;
        height:100%;
	}

  .footer__brand h3{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:1.3rem;
    margin-bottom:.9rem;
  }

  .footer__brand p{
    color:var(--mist);
    font-size:.92rem;
    line-height:1.6;
    max-width:280px;
  }


  .footer__bottom{
    max-width:1480px;
    margin:0 auto;
    padding-top:1.6rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
    font-size:.9rem;
    color:var(--mist);
  }

  .footer__bottom a {
    text-decoration: none;
    color:var(--accent);
  }
   .footer__bottom a:hover {
      color:var(--mist);
   }

   
   /* Pagination */
.pagination {
  margin-top: 2rem;
  margin-bottom: 4rem;
  text-align: center;
}

.pagination a, .pagination span {
  display: inline-block;
  margin: 0 0.3rem;
  padding: 0.3rem 0.3rem;
  text-decoration: none;
  color: var(--dark);
}
.pagination .page-numbers {
    border: 1px solid var(--muted);
    margin-bottom: 8px;
}

.pagination a:hover {
  background: var(--muted);
  color: var(--white);
}

.pagination .current {
  font-weight: bold;
  background: var(--accent);
  color: var(--white);
  margin-bottom: 8px;
}

.pagination .next, .pagination .prev {
    padding: 0.6rem 0.6rem;
    margin-bottom: 8px;
}
.post-content {
  padding: 10px 0px;
}

.post-content ul {
  padding-left: 30px;
}
.post-date {
  font-size: 0.9rem;
  color:var(--muted);
}
.post-categories {
    display:inline-block;
    font-size:.74rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:1rem;
}

.post-categories-home {
    display:inline-block;
    font-size:.74rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--muted);
    padding: 0px 20px;
}

.post-excerpt-news .post-title h1 {
    font-weight:600;
    font-size:1.28rem;
	  padding: 5px 18px;
}

.post-excerpt-news .card__num {
  text-align: center;
  font-size: 1.2rem;
}

.post-title a {
  font-weight:600;
  text-decoration: none;
  color: var(--muted);
}

.entry-content {
    margin:40px;
}

.entry-content ul {
    margin-left: 20px;
}

.entry-content a {
  text-decoration: none;
  color:var(--accent);
}

.entry-content a:hover {
    color: var(--muted);
}

.item-excerpt {
    margin-top:5px;
    margin-bottom: 5px;
    padding: 0px;
    line-height: 22px;
    text-transform: lowercase;
    color: var(--muted);
}
.item-excerpt a {
        text-decoration: none;
        color:var(--accent);
}
.item-excerpt a:hover {
        color:var(--muted);
}


/* NAVIGATION BETWEEN THE POST INSIDE THE SINGLE PAGE */

.post-navigation {
  display: flex;
  flex-direction: column; /* Sur mobile : empilés l'un sous l'autre */
  gap: 15px;               /* Espace entre les deux liens */
  width: 100%;
  margin-top: 40px;
  border-top: var(--accent-soft) 2px dotted;
}

.post-navigation .colpaging {
  color: var(--accent);
}

.post-navigation .colpaging: hover{
  color: var(--ink);
}

/* Alignement des éléments */
.post-navigation .colpaging:first-child {
  text-align: left; /* Le premier reste à gauche */
}

.post-navigation .colpaging:last-child {
  text-align: right; /* Le deuxième est aligné à droite (sur mobile et ordinateur) */
}

/* Sur écran plus grand (tablettes / ordinateurs) */
@media (min-width: 768px) {
  .post-navigation {
    flex-direction: row;            /* Aligne les deux blocs sur la même ligne */
    justify-content: space-between; /* Place le 1er à gauche et le 2e à droite */
    align-items: center;
  }
}

.video-responsive-container {
  width: 100%;            /* Prend toute la largeur disponible de son parent */
  max-width: 800px;       /* Optionnel : évite que la vidéo devienne gigantesque sur grand écran */
  margin: 20px auto;      /* Centre la vidéo horizontalement */
  aspect-ratio: 16 / 9;   /* Magie moderne : maintient le ratio cinéma automatiquement */
}

.video-responsive-container-single {
  width: 100%;            /* Prend toute la largeur disponible de son parent */
  max-width: 420px;       /* Optionnel : évite que la vidéo devienne gigantesque sur grand écran */
  aspect-ratio: 16 / 9;   /* Magie moderne : maintient le ratio cinéma automatiquement */
}

 @media (max-width: 800px) {
     .video-responsive-container-single {
         width: 100%;  
         aspect-ratio: auto;
         height: auto; 
     }
 }
.video-responsive-container iframe, .video-responsive-container-single iframe {
  width: 100%;
  height: 100%;
  border-radius: 0px;    
}

.widget-title {
    font-size:1.2rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--clay);
    margin-bottom:1.1rem;
}

.textwidget p {
    color:var(--muted);
    font-size:1.1rem;
    line-height:1.3;
	  margin-bottom:30px;
}

 /*widget last news */
        /* short code widget last news */
            .widgetlist {
            list-style: none;
            padding: 0;
            margin: 0;
            background-color: transparent;
            }

            .widgetlist .widgetitem {
            display: flex;
            align-items: left;
            gap: 8px;
            margin-bottom:8px;
            }

            .widgetlist .widgetthumbnail {
            width: 75px;
            height: 75px;
            object-fit: cover;
            flex-shrink: 0;
            border-radius: 10px;
            }

            .widgetlist .widgetcontent {
            display: flex;
            flex-direction: column;
            }

            .widgetlist .widgettitle {
            margin: 0;
            font-size: inherit;
            line-height: 22px;
            }

            .widgetlist .widgettitle a {
            text-decoration: none;
            color: var(--muted);
            font-weight: 400; 
            font-size:.94rem;

            }

            .widgetlist .widgettitle a:hover {
            text-decoration: none;
            color: var(--accent);
            }

            .widgetlist .widgetdate {
            margin: 2px 0 0 0;
            font-size: 12px;
            color: inherit;
            }

            /* Fin shortcode widget*/

        .rpwwt-widget ul {
        list-style: none!important;
        margin-left: 10px;;
        }

        .rpwwt-post-title {
        padding: 8px;
        }

        /* =========================
   MENU SECONDAIRE (footer)
   ========================= */
.widget_nav_menu ul {
  display: flex;
  flex-direction: column;        /* vertical */
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget_nav_menu li {
  border-bottom: 2px dotted var(--muted);
}

.widget_nav_menu a {
  text-decoration: none;
  line-height: 1.6;
  color: var(--muted);
  font-weight: 400;
  font-size:.98rem;
  transition: color 0.3s ease;
}

.widget_nav_menu a:hover {
  color: var(--accent);
}

.widget_nav_menu .current-menu-item > a,
.widget_nav_menu .current_page_item > a {
  font-weight: 700;
  color: var(--accent);
}

  
   /* MENU SOCIAL NETWORK */
/* 1. Structure du menu avec Flexbox */
.social-menu {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
}

/* 2. Style des liens et masquage du texte */
.social-menu a {
    display: inline-flex;
    width: 24px;  /* Taille de votre picto */
    height: 24px;
    font-size: 0; /* Masque le texte du lien proprement */
    color: var(--muted);  /* Couleur par défaut de l'icône */
    transition: color 0.3s ease, transform 0.2s ease;
    position: relative;
}

/* Effet au survol global (facultatif) */
.social-menu a:hover {
    color: var(--accent); /* Couleur au survol */
   /* transform: translateY(-2px);*/
}

/* 3. Configuration du pseudo-élément pour accueillir le SVG */
.social-menu a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor; /* Permet au SVG de changer de couleur au :hover */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* 4. Injection dynamique des pictogrammes SVG selon l'URL */
.social-menu a[href*="facebook.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.social-menu a[href*="linkedin.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.23 0H1.77C.8 0 0 .77 0 1.72v20.56C0 23.23.8 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.2 0 22.23 0zM7.12 20.45H3.56V9H7.12v11.45zM5.34 7.43c-1.14 0-2.06-.92-2.06-2.06 0-1.14.92-2.06 2.06-2.06 1.14 0 2.06.92 2.06 2.06 0 1.14-.92 2.06-2.06 2.06zm15.11 13.02h-3.56v-5.6c0-1.34-.03-3.05-1.86-3.05-1.86 0-2.14 1.45-2.14 2.95v5.7H9.33V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.23 0H1.77C.8 0 0 .77 0 1.72v20.56C0 23.23.8 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.2 0 22.23 0zM7.12 20.45H3.56V9H7.12v11.45zM5.34 7.43c-1.14 0-2.06-.92-2.06-2.06 0-1.14.92-2.06 2.06-2.06 1.14 0 2.06.92 2.06 2.06 0 1.14-.92 2.06-2.06 2.06zm15.11 13.02h-3.56v-5.6c0-1.34-.03-3.05-1.86-3.05-1.86 0-2.14 1.45-2.14 2.95v5.7H9.33V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29z'/%3E%3C/svg%3E");
}

.social-menu a[href*="instagram.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
}

.social-menu a[href*="x.com"]::before,
.social-menu a[href*="twitter.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}

.social-menu a[href*="tiktok.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.02 1.59 4.23.73.9 1.69 1.63 2.77 2.06v4.01c-1.35-.11-2.68-.61-3.75-1.47-.66-.53-1.21-1.19-1.6-1.94v6.52c-.06 1.83-.58 3.65-1.58 5.14-1.46 2.13-3.9 3.45-6.48 3.44-2.83-.05-5.46-1.71-6.62-4.32-1.43-3.05-.6-6.86 2.02-8.98 1.55-1.29 3.59-1.9 5.61-1.64v3.99c-.71-.16-1.47-.1-2.11.23-.97.47-1.64 1.49-1.67 2.57-.08 1.62 1.2 3.05 2.81 3.09 1.46.08 2.83-.94 3.09-2.39.06-.29.08-.59.08-.88V.02z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.02 1.59 4.23.73.9 1.69 1.63 2.77 2.06v4.01c-1.35-.11-2.68-.61-3.75-1.47-.66-.53-1.21-1.19-1.6-1.94v6.52c-.06 1.83-.58 3.65-1.58 5.14-1.46 2.13-3.9 3.45-6.48 3.44-2.83-.05-5.46-1.71-6.62-4.32-1.43-3.05-.6-6.86 2.02-8.98 1.55-1.29 3.59-1.9 5.61-1.64v3.99c-.71-.16-1.47-.1-2.11.23-.97.47-1.64 1.49-1.67 2.57-.08 1.62 1.2 3.05 2.81 3.09 1.46.08 2.83-.94 3.09-2.39.06-.29.08-.59.08-.88V.02z'/%3E%3C/svg%3E");
}

.social-menu a[href*="youtube.com"]::before,
.social-menu a[href*="youtu.be"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

/* MENU SOCIAL NET WORK END */

 /*Mes Pictos*/
/* ==========================================================================
   Classe de Base commune pour tous les Pictogrammes
   ========================================================================== */
.picto {
    display: inline-block;
    width: 24px;   /* Taille par défaut ajustable */
    height: 24px;
    background-color: currentColor; /* Permet de changer la couleur via le CSS (ex: color: red;) */
    vertical-align: middle;
    
    /* Propriétés de masquage */
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

/* Modifier les tailles facilement si besoin */
.picto-sm { width: 16px; height: 16px; }
.picto-lg { width: 20px; height: 20px; }
.picto-xl { width: 25px; height: 25px; }
.picto-xxl { width: 30px; height: 30px; }
.picto-xxxl { width: 40px; height: 40px; }

/* ==========================================================================
   Attributs Spécifiques (SVG encodés en Data URI)
   ========================================================================== */

/* Clock */
.picto-clock {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z'/%3E%3C/svg%3E");
}

/* Charte */
.picto-charte {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M595-355q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35Zm113.5-56.5Q720-423 720-440t-11.5-28.5Q697-480 680-480t-28.5 11.5Q640-457 640-440t11.5 28.5Q663-400 680-400t28.5-11.5ZM440-40v-116q0-21 10-39.5t28-29.5q32-19 67.5-31.5T618-275l62 75 62-75q37 6 72 18.5t67 31.5q18 11 28.5 29.5T920-156v116H440Zm79-80h123l-54-66q-18 5-35 13t-34 17v36Zm199 0h122v-36q-16-10-33-17.5T772-186l-54 66Zm-76 0Zm76 0Zm-518 0q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v200q-16-20-35-38t-45-24v-138H200v560h166q-3 11-4.5 22t-1.5 22v36H200Zm80-480h280q26-20 57-30t63-10v-40H280v80Zm0 160h200q0-21 4.5-41t12.5-39H280v80Zm0 160h138q11-9 23.5-16t25.5-13v-51H280v80Zm-80 80v-560 137-17 440Zm480-240Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M595-355q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35Zm113.5-56.5Q720-423 720-440t-11.5-28.5Q697-480 680-480t-28.5 11.5Q640-457 640-440t11.5 28.5Q663-400 680-400t28.5-11.5ZM440-40v-116q0-21 10-39.5t28-29.5q32-19 67.5-31.5T618-275l62 75 62-75q37 6 72 18.5t67 31.5q18 11 28.5 29.5T920-156v116H440Zm79-80h123l-54-66q-18 5-35 13t-34 17v36Zm199 0h122v-36q-16-10-33-17.5T772-186l-54 66Zm-76 0Zm76 0Zm-518 0q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v200q-16-20-35-38t-45-24v-138H200v560h166q-3 11-4.5 22t-1.5 22v36H200Zm80-480h280q26-20 57-30t63-10v-40H280v80Zm0 160h200q0-21 4.5-41t12.5-39H280v80Zm0 160h138q11-9 23.5-16t25.5-13v-51H280v80Zm-80 80v-560 137-17 440Zm480-240Z'/%3E%3C/svg%3E");
}

/* Stetoscope */
.picto-stetoscope {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M540-80q-108 0-184-76t-76-184v-23q-86-14-143-80.5T80-600v-240h120v-40h80v160h-80v-40h-40v160q0 66 47 113t113 47q66 0 113-47t47-113v-160h-40v40h-80v-160h80v40h120v240q0 90-57 156.5T360-363v23q0 75 52.5 127.5T540-160q75 0 127.5-52.5T720-340v-67q-35-12-57.5-43T640-520q0-50 35-85t85-35q50 0 85 35t35 85q0 39-22.5 70T800-407v67q0 108-76 184T540-80Zm248.5-411.5Q800-503 800-520t-11.5-28.5Q777-560 760-560t-28.5 11.5Q720-537 720-520t11.5 28.5Q743-480 760-480t28.5-11.5ZM760-520Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M540-80q-108 0-184-76t-76-184v-23q-86-14-143-80.5T80-600v-240h120v-40h80v160h-80v-40h-40v160q0 66 47 113t113 47q66 0 113-47t47-113v-160h-40v40h-80v-160h80v40h120v240q0 90-57 156.5T360-363v23q0 75 52.5 127.5T540-160q75 0 127.5-52.5T720-340v-67q-35-12-57.5-43T640-520q0-50 35-85t85-35q50 0 85 35t35 85q0 39-22.5 70T800-407v67q0 108-76 184T540-80Zm248.5-411.5Q800-503 800-520t-11.5-28.5Q777-560 760-560t-28.5 11.5Q720-537 720-520t11.5 28.5Q743-480 760-480t28.5-11.5ZM760-520Z'/%3E%3C/svg%3E");
}

/* Handicap */
.picto-handicap {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M260-720q-33 0-56.5-23.5T180-800q0-33 23.5-56.5T260-880q33 0 56.5 23.5T340-800q0 33-23.5 56.5T260-720ZM200-80v-280h-80v-240q0-33 23.5-56.5T200-680h120q33 0 56.5 23.5T400-600v78q-63 36-101.5 100T260-280q0 57 21 107.5T340-84v4H200Zm340 0q-83 0-141.5-58.5T340-280q0-67 39.5-118.5T480-470v87q-27 16-43.5 43T420-280q0 50 35 85t85 35q50 0 85-35t35-85h80q0 83-58.5 141.5T540-80Zm297-92-99-148H520v-320h80v240h182l122 184-67 44Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M260-720q-33 0-56.5-23.5T180-800q0-33 23.5-56.5T260-880q33 0 56.5 23.5T340-800q0 33-23.5 56.5T260-720ZM200-80v-280h-80v-240q0-33 23.5-56.5T200-680h120q33 0 56.5 23.5T400-600v78q-63 36-101.5 100T260-280q0 57 21 107.5T340-84v4H200Zm340 0q-83 0-141.5-58.5T340-280q0-67 39.5-118.5T480-470v87q-27 16-43.5 43T420-280q0 50 35 85t85 35q50 0 85-35t35-85h80q0 83-58.5 141.5T540-80Zm297-92-99-148H520v-320h80v240h182l122 184-67 44Z'/%3E%3C/svg%3E");
}

/* Emergency */
.picto-emergency {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M410-120v-238L204-239l-70-121 206-120-206-119 70-121 206 119v-239h140v239l206-119 70 121-206 119 206 120-70 121-206-119v238H410Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M410-120v-238L204-239l-70-121 206-120-206-119 70-121 206 119v-239h140v239l206-119 70 121-206 119 206 120-70 121-206-119v238H410Z'/%3E%3C/svg%3E");
}

/* Vision */
.picto-vision {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M555-435q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400Zm86-80h308q-35-20-74-30t-80-10q-41 0-80 10t-74 30Zm182.5-251.5Q680-503 680-520t-11.5-28.5Q657-560 640-560t-28.5 11.5Q600-537 600-520t11.5 28.5Q623-480 640-480t28.5-11.5ZM640-520Zm0 280ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M555-435q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400Zm86-80h308q-35-20-74-30t-80-10q-41 0-80 10t-74 30Zm182.5-251.5Q680-503 680-520t-11.5-28.5Q657-560 640-560t-28.5 11.5Q600-537 600-520t11.5 28.5Q623-480 640-480t28.5-11.5ZM640-520Zm0 280ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z'/%3E%3C/svg%3E");
}

/* Priorité */
.picto-priorite {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M420-280h120v-100h100v-120H540v-100H420v100H320v120h100v100ZM160-120v-480l320-240 320 240v480H160Zm80-80h480v-360L480-740 240-560v360Zm240-270Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M420-280h120v-100h100v-120H540v-100H420v100H320v120h100v100ZM160-120v-480l320-240 320 240v480H160Zm80-80h480v-360L480-740 240-560v360Zm240-270Z'/%3E%3C/svg%3E");
}

/* Marquer */
.picto-marquer {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}

/* Marquer2 (Géolocalisation / Carte / Adresse) */
.picto-marquer2 {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Info */
.picto-info {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm68.5-331.5Q520-623 520-640t-11.5-28.5Q497-680 480-680t-28.5 11.5Q440-657 440-640t11.5 28.5Q463-600 480-600t28.5-11.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm68.5-331.5Q520-623 520-640t-11.5-28.5Q497-680 480-680t-28.5 11.5Q440-657 440-640t11.5 28.5Q463-600 480-600t28.5-11.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
}

/* Phone */
.picto-phone {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

/* Phone2 (Téléphone / Contact / Appel) */
.picto-phone2 {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* Fax */
.picto-fax {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 11H5c-1.66 0-3 1.34-3 3v4h4v3h12v-3h4v-4c0-1.66-1.34-3-3-3zm-3 8H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-2-8H7c-.55 0-1 .45-1 1v4h12V4c0-.55-.45-1-1-1z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 11H5c-1.66 0-3 1.34-3 3v4h4v3h12v-3h4v-4c0-1.66-1.34-3-3-3zm-3 8H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-2-8H7c-.55 0-1 .45-1 1v4h12V4c0-.55-.45-1-1-1z'/%3E%3C/svg%3E");
}

/* Email */
.picto-email {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z'/%3E%3C/svg%3E");
}

.picto-star-full {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,10 72,42 106,42 78,62 88,95 60,75 32,95 42,62 14,42 48,42'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,10 72,42 106,42 78,62 88,95 60,75 32,95 42,62 14,42 48,42'/%3E%3C/svg%3E");
}

/* Étoile avec Contour/Bordure (Star Border) */
.picto-star-border {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,15 71,44 102,44 77,62 86,92 60,74 34,92 43,62 18,44 49,44' fill='none' stroke='black' stroke-width='8' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,15 71,44 102,44 77,62 86,92 60,74 34,92 43,62 18,44 49,44' fill='none' stroke='black' stroke-width='8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.picto-plus {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cline x1='7' y1='1' x2='7' y2='13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='1' y1='7' x2='13' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cline x1='7' y1='1' x2='7' y2='13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='1' y1='7' x2='13' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Calendar (Calendrier / Date / Événement) */
.picto-calendar {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-188.5-11.5Q280-423 280-440t11.5-28.5Q303-480 320-480t28.5 11.5Q360-457 360-440t-11.5 28.5Q337-400 320-400t-28.5-11.5ZM640-400q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-188.5-11.5Q280-263 280-280t11.5-28.5Q303-320 320-320t28.5 11.5Q360-297 360-280t-11.5 28.5Q337-240 320-240t-28.5-11.5ZM640-240q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-188.5-11.5Q280-423 280-440t11.5-28.5Q303-480 320-480t28.5 11.5Q360-457 360-440t-11.5 28.5Q337-400 320-400t-28.5-11.5ZM640-400q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-188.5-11.5Q280-263 280-280t11.5-28.5Q303-320 320-320t28.5 11.5Q360-297 360-280t-11.5 28.5Q337-240 320-240t-28.5-11.5ZM640-240q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z'/%3E%3C/svg%3E");
}

/* Calendar2 (Calendrier / Date / Planning) */
.picto-calendar2 {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}

.picto-eye-call {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-80q-42 0-71-29t-29-71q0-42 29-71t71-29q42 0 71 29t29 71q0 42-29 71t-71 29Zm0 180q-139 0-252.5-76T60-500q64-126 177.5-203T480-780q139 0 252.5 76T900-500q-64 126-177.5 203T480-220Zm0-80q113 0 207.5-59.5T816-500q-34-97-128.5-156.5T480-700q-113 0-207.5 59.5T144-500q34 97 128.5 156.5T480-300Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-80q-42 0-71-29t-29-71q0-42 29-71t71-29q42 0 71 29t29 71q0 42-29 71t-71 29Zm0 180q-139 0-252.5-76T60-500q64-126 177.5-203T480-780q139 0 252.5 76T900-500q-64 126-177.5 203T480-220Zm0-80q113 0 207.5-59.5T816-500q-34-97-128.5-156.5T480-700q-113 0-207.5 59.5T144-500q34 97 128.5 156.5T480-300Z'/%3E%3C/svg%3E");
}

.picto-eye-tracking {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M223-40H100q-24 0-42-18t-18-42v-123h60v123h123v60Zm514 0v-60h123v-123h60v123q0 24-18 42t-42 18H737ZM479.17-225Q360-225 264-293.5 168-362 119-480q49-119 145-187.5T479.5-736q119.5 0 216 68.5T840-480q-48 118-144.83 186.5-96.83 68.5-216 68.5Zm-.17-60q93 0 173-52.5T774-480q-42-90-122-143t-173-53q-93 0-172.5 53T185-480q42 90 121.5 142.5T479-285Zm1.22-63Q535-348 574-386.72t39-93.5Q613-535 574.07-574t-94-39q-55.07 0-93.57 38.93-38.5 38.93-38.5 94t38.72 93.57q38.72 38.5 93.5 38.5Zm-.22-60q-30 0-51-21t-21-51q0-30 21-51.5t51-21.5q30 0 51.5 21.29T553-480q0 30-21.29 51T480-408ZM40-737v-123q0-24 18-42t42-18h123v60H100v123H40Zm820 0v-123H737v-60h123q24 0 42 18t18 42v123h-60Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M223-40H100q-24 0-42-18t-18-42v-123h60v123h123v60Zm514 0v-60h123v-123h60v123q0 24-18 42t-42 18H737ZM479.17-225Q360-225 264-293.5 168-362 119-480q49-119 145-187.5T479.5-736q119.5 0 216 68.5T840-480q-48 118-144.83 186.5-96.83 68.5-216 68.5Zm-.17-60q93 0 173-52.5T774-480q-42-90-122-143t-173-53q-93 0-172.5 53T185-480q42 90 121.5 142.5T479-285Zm1.22-63Q535-348 574-386.72t39-93.5Q613-535 574.07-574t-94-39q-55.07 0-93.57 38.93-38.5 38.93-38.5 94t38.72 93.57q38.72 38.5 93.5 38.5Zm-.22-60q-30 0-51-21t-21-51q0-30 21-51.5t51-21.5q30 0 51.5 21.29T553-480q0 30-21.29 51T480-408ZM40-737v-123q0-24 18-42t42-18h123v60H100v123H40Zm820 0v-123H737v-60h123q24 0 42 18t18 42v123h-60Z'/%3E%3C/svg%3E");
}

/* Visibility Off (Masquer / Mot de passe caché) */
.picto-visibility-off {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m629-419-44-44q26-71-27-118t-115-24l-44-44q17-11 38-16t43-5q71 0 120.5 49.5T650-500q0 22-5.5 43.5T629-419Zm129 129-40-40q49-36 85.5-80.5T857-500q-50-111-150-175.5T490-740q-42 0-86 8t-69 19l-46-47q35-16 89.5-28T485-800q143 0 261.5 81.5T920-500q-26 64-67 117t-95 93Zm58 226L648-229q-35 14-79 21.5t-89 7.5q-146 0-265-81.5T40-500q20-52 55.5-101.5T182-696L56-822l42-43 757 757-39 44ZM223-654q-37 27-71.5 71T102-500q51 111 153.5 175.5T488-260q33 0 65-4t48-12l-64-64q-11 5-27 7.5t-30 2.5q-70 0-120-49t-50-121q0-15 2.5-30t7.5-27l-97-97Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m629-419-44-44q26-71-27-118t-115-24l-44-44q17-11 38-16t43-5q71 0 120.5 49.5T650-500q0 22-5.5 43.5T629-419Zm129 129-40-40q49-36 85.5-80.5T857-500q-50-111-150-175.5T490-740q-42 0-86 8t-69 19l-46-47q35-16 89.5-28T485-800q143 0 261.5 81.5T920-500q-26 64-67 117t-95 93Zm58 226L648-229q-35 14-79 21.5t-89 7.5q-146 0-265-81.5T40-500q20-52 55.5-101.5T182-696L56-822l42-43 757 757-39 44ZM223-654q-37 27-71.5 71T102-500q51 111 153.5 175.5T488-260q33 0 65-4t48-12l-64-64q-11 5-27 7.5t-30 2.5q-70 0-120-49t-50-121q0-15 2.5-30t7.5-27l-97-97Z'/%3E%3C/svg%3E");
}

/* Symptoms Eye (Symptômes oculaires / Goutte / Collyre) */
.picto-symptoms-eye {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-200q-146 0-264-83T40-500q58-134 176-217t264-83q146 0 264 83t176 217q-9 20-19.5 39.5T878-423l-42-39q6-9 11-18.5t10-19.5q-53-109-154.32-174.5T480-740q-121.23 0-222.62 65.5Q156-609 102-500q54 109 155.38 174.5Q358.77-260 480-260q15.47 0 30.23-1 14.77-1 30.77-3-1 15 1 30t6 29q-17 3-34 4t-34 1Zm0-130q-70.83 0-120.42-49.62Q310-429.24 310-500.12t49.62-120.38q49.62-49.5 120.5-49.5T601-620.5Q651-571 651-499q0 16-3 32t-10 30l-30 28q-13.18 12.26-23.59 26.13T566-353q-19 11-40.81 17-21.82 6-45.19 6Zm79.5-90.74q32.5-32.73 32.5-79.5 0-46.76-32.74-79.26-32.73-32.5-79.5-32.5-46.76 0-79.26 32.74-32.5 32.73-32.5 79.5 0 46.76 32.74 79.26 32.73 32.5 79.5 32.5 46.76 0 79.26-32.74ZM751.47-105q-63.47 0-107-44.09-43.53-44.1-44.47-106.95 0-30.96 13-59.46t36-49.5l102-96 101 96q23 21 35.54 48.9Q900.07-288.21 901-257q0 63-43.5 107.5T751.47-105Zm-.47-60q38 0 64-26.91t25-65.03q0-19.06-8-35.56-8-16.5-22-29.5l-59-56-60 56q-14 13-22.5 29.5T661-256q0 38.2 25.88 64.6Q712.75-165 751-165Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-200q-146 0-264-83T40-500q58-134 176-217t264-83q146 0 264 83t176 217q-9 20-19.5 39.5T878-423l-42-39q6-9 11-18.5t10-19.5q-53-109-154.32-174.5T480-740q-121.23 0-222.62 65.5Q156-609 102-500q54 109 155.38 174.5Q358.77-260 480-260q15.47 0 30.23-1 14.77-1 30.77-3-1 15 1 30t6 29q-17 3-34 4t-34 1Zm0-130q-70.83 0-120.42-49.62Q310-429.24 310-500.12t49.62-120.38q49.62-49.5 120.5-49.5T601-620.5Q651-571 651-499q0 16-3 32t-10 30l-30 28q-13.18 12.26-23.59 26.13T566-353q-19 11-40.81 17-21.82 6-45.19 6Zm79.5-90.74q32.5-32.73 32.5-79.5 0-46.76-32.74-79.26-32.73-32.5-79.5-32.5-46.76 0-79.26 32.74-32.5 32.73-32.5 79.5 0 46.76 32.74 79.26 32.73 32.5 79.5 32.5 46.76 0 79.26-32.74ZM751.47-105q-63.47 0-107-44.09-43.53-44.1-44.47-106.95 0-30.96 13-59.46t36-49.5l102-96 101 96q23 21 35.54 48.9Q900.07-288.21 901-257q0 63-43.5 107.5T751.47-105Zm-.47-60q38 0 64-26.91t25-65.03q0-19.06-8-35.56-8-16.5-22-29.5l-59-56-60 56q-14 13-22.5 29.5T661-256q0 38.2 25.88 64.6Q712.75-165 751-165Z'/%3E%3C/svg%3E");
}

/* Eyeglasses (Lunettes / Optique / Correction visuelle) */
.picto-eyeglasses {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M262-320q-61 0-93-16.5T110-398q-15-25-25.5-59.5T65-520q-11 0-18-7t-7-18v-49q0-9 6-15.5t15-8.5q56-11 101.5-16t87.5-5q61 0 110.5 10t77.5 29h85q24-18 76-29t112-11q41 0 86.5 5.5T899-618q9 2 15 8.5t6 15.5v49q0 11-7 18t-18 7q-9 28-19.5 62.5T850-398q-26 44-58.5 61T698-320q-63 0-104.5-28T530-434q-6-16-9-32t-8-32q-4-12-12-17.5t-21-5.5q-12 0-20 6t-13 17q-5 16-8.5 32t-8.5 32q-17 60-61 87t-107 27Zm0-40q80 0 110-51.5T402-530q0-29-21.5-40T330-589q-32-8-70-9.5t-71 3.5q-33 5-50 19.5T122-538q0 29 5 55.5t15 49.5q19 42 44 57.5t76 15.5Zm436 0q51 0 77-16t43-57q10-23 15-50t5-56q0-24-17-38.5T770-596q-33-4-70.5-2.5T630-589q-29 8-50.5 19T558-530q0 67 30 118.5T698-360Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M262-320q-61 0-93-16.5T110-398q-15-25-25.5-59.5T65-520q-11 0-18-7t-7-18v-49q0-9 6-15.5t15-8.5q56-11 101.5-16t87.5-5q61 0 110.5 10t77.5 29h85q24-18 76-29t112-11q41 0 86.5 5.5T899-618q9 2 15 8.5t6 15.5v49q0 11-7 18t-18 7q-9 28-19.5 62.5T850-398q-26 44-58.5 61T698-320q-63 0-104.5-28T530-434q-6-16-9-32t-8-32q-4-12-12-17.5t-21-5.5q-12 0-20 6t-13 17q-5 16-8.5 32t-8.5 32q-17 60-61 87t-107 27Zm0-40q80 0 110-51.5T402-530q0-29-21.5-40T330-589q-32-8-70-9.5t-71 3.5q-33 5-50 19.5T122-538q0 29 5 55.5t15 49.5q19 42 44 57.5t76 15.5Zm436 0q51 0 77-16t43-57q10-23 15-50t5-56q0-24-17-38.5T770-596q-33-4-70.5-2.5T630-589q-29 8-50.5 19T558-530q0 67 30 118.5T698-360Z'/%3E%3C/svg%3E");
}

/* Eyeglasses 2 (Lunettes Variante / Optométrie / Mesures) */
.picto-eyeglasses-2 {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M262-360q80 0 110-51.5T402-530q0-29-21.5-40T330-589q-32-8-70-9.5t-71 3.5q-33 5-50 19.5T122-538q0 29 5 55.5t15 49.5q18 42 43.5 57.5T262-360Zm428 220v-240h60v240h-60Zm-110-60v-120h60v120h-60Zm220 0v-120h60v120h-60ZM262-320q-61 0-93-16.5T110-398q-15-26-25.5-60T65-520q-11 0-18-7t-7-18v-49q0-9 6-15.5t15-8.5q56-11 101.5-16.5T250-640q61 0 110.5 10.5T438-600h85q24-18 76-29t112-11q41 0 86.5 5.5T899-618q9 2 15 8.5t6 15.5v49q0 11-7 18t-18 7q-9 28-19.5 62T850-398q-8-8-17-15t-19-12q13-26 18.5-55.5T838-539q0-24-17-38.5T770-596q-33-4-70.5-2.5T630-589q-29 8-50.5 19T558-530q0 37 8.5 70t28.5 57q-8 7-15.5 15T566-372q-11-13-20-28t-16-34q-6-16-9-32t-8-32q-4-12-12-17.5t-21-5.5q-12 0-20.5 6T447-498q-5 16-8.5 32t-8.5 32q-17 60-61 87t-107 27Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M262-360q80 0 110-51.5T402-530q0-29-21.5-40T330-589q-32-8-70-9.5t-71 3.5q-33 5-50 19.5T122-538q0 29 5 55.5t15 49.5q18 42 43.5 57.5T262-360Zm428 220v-240h60v240h-60Zm-110-60v-120h60v120h-60Zm220 0v-120h60v120h-60ZM262-320q-61 0-93-16.5T110-398q-15-26-25.5-60T65-520q-11 0-18-7t-7-18v-49q0-9 6-15.5t15-8.5q56-11 101.5-16.5T250-640q61 0 110.5 10.5T438-600h85q24-18 76-29t112-11q41 0 86.5 5.5T899-618q9 2 15 8.5t6 15.5v49q0 11-7 18t-18 7q-9 28-19.5 62T850-398q-8-8-17-15t-19-12q13-26 18.5-55.5T838-539q0-24-17-38.5T770-596q-33-4-70.5-2.5T630-589q-29 8-50.5 19T558-530q0 37 8.5 70t28.5 57q-8 7-15.5 15T566-372q-11-13-20-28t-16-34q-6-16-9-32t-8-32q-4-12-12-17.5t-21-5.5q-12 0-20.5 6T447-498q-5 16-8.5 32t-8.5 32q-17 60-61 87t-107 27Z'/%3E%3C/svg%3E");
}

/* Mystery (Investigation / Diagnostic visuel) - CORRIGÉ */
.picto-mystery {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-220q125 0 212.5-87.5T740-520q0-125-87.5-212.5T440-820q-125 0-212.5 87.5T140-520q0 125 87.5 212.5T440-220Zm0-300Zm0 160q-83 0-147.5-44.5T200-520q28-70 92.5-115T440-680q82 0 146.5 45T680-520q-29 71-93.5 115.5T440-360Zm0-60q55 0 101-26.5t72-73.5q-26-46-72-73t-101-27q-56 0-102 27t-72 73q26 47 72 73.5T440-420Zm0-50q20 0 35-14.5t15-35.5q0-20-15-35t-35-15q-21 0-35.5 15T390-520q0 21 14.5 35.5T440-470Zm0 310q-75 0-140.5-28.5t-114-77q-48.5-48.5-77-114T80-520q0-74 28.5-139.5t77-114.5q48.5-49 114-77.5T440-880q74 0 139.5 28.5T694-774q49 49 77.5 114.5T800-520q0 67-22.5 126T715-287l164 165-42 42-165-165q-48 40-107 62.5T440-160Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-220q125 0 212.5-87.5T740-520q0-125-87.5-212.5T440-820q-125 0-212.5 87.5T140-520q0 125 87.5 212.5T440-220Zm0-300Zm0 160q-83 0-147.5-44.5T200-520q28-70 92.5-115T440-680q82 0 146.5 45T680-520q-29 71-93.5 115.5T440-360Zm0-60q55 0 101-26.5t72-73.5q-26-46-72-73t-101-27q-56 0-102 27t-72 73q26 47 72 73.5T440-420Zm0-50q20 0 35-14.5t15-35.5q0-20-15-35t-35-15q-21 0-35.5 15T390-520q0 21 14.5 35.5T440-470Zm0 310q-75 0-140.5-28.5t-114-77q-48.5-48.5-77-114T80-520q0-74 28.5-139.5t77-114.5q48.5-49 114-77.5T440-880q74 0 139.5 28.5T694-774q49 49 77.5 114.5T800-520q0 67-22.5 126T715-287l164 165-42 42-165-165q-48 40-107 62.5T440-160Z'/%3E%3C/svg%3E");
}

/* Visibility (Afficher / Rendre visible / Mot de passe apparent) */
.picto-visibility {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M600.5-379.5Q650-429 650-500t-49.5-120.5Q551-670 480-670t-120.5 49.5Q310-571 310-500t49.5 120.5Q409-330 480-330t120.5-49.5Zm-200-41Q368-453 368-500t32.5-79.5Q433-612 480-612t79.5 32.5Q592-547 592-500t-32.5 79.5Q527-388 480-388t-79.5-32.5ZM216-283Q98-366 40-500q58-134 176-217t264-83q146 0 264 83t176 217q-58 134-176 217t-264 83q-146 0-264-83Zm222.5 174.5Q804-391 857-500q-53-109-154.5-174.5T480-740q-121 0-222.5 65.5T102-500q54 109 155.5 174.5T480-260q121 0 222.5-65.5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M600.5-379.5Q650-429 650-500t-49.5-120.5Q551-670 480-670t-120.5 49.5Q310-571 310-500t49.5 120.5Q409-330 480-330t120.5-49.5Zm-200-41Q368-453 368-500t32.5-79.5Q433-612 480-612t79.5 32.5Q592-547 592-500t-32.5 79.5Q527-388 480-388t-79.5-32.5ZM216-283Q98-366 40-500q58-134 176-217t264-83q146 0 264 83t176 217q-58 134-176 217t-264 83q-146 0-264-83Zm222.5 174.5Q804-391 857-500q-53-109-154.5-174.5T480-740q-121 0-222.5 65.5T102-500q54 109 155.5 174.5T480-260q121 0 222.5-65.5Z'/%3E%3C/svg%3E");
}

/* Ophthalmology (Spécialité Ophtalmologique / Réfraction) */
.picto-ophthalmology {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M120-530v-60h70q30-72 89.5-122T414-783l-35-36 42-42 50 49q10 10 13.5 23.5T483-761q-5 14-15.5 23T443-727q-72 11-127 58.5T240-551l-6 21H120Zm490 50q0-44 19-82.5t56-60.5q-26-33-59-59t-74-38l17-57q60 18 107.5 58t76.5 96q39 18 58 58.5t19 84.5q0 45-18.5 85T753-337q-29 55-77 95.5T568-183l-17-57q43-13 75-37.5t59-59.5q-42-25-58.5-60T610-480Zm145 62.5q15-27.5 15-62.5t-15-62.5Q740-570 720-570t-35 27.5Q670-515 670-480t15 62.5q15 27.5 35 27.5t35-27.5ZM416-94l-42-43 40-40q-75-21-135-71t-89-122h-70v-60h114l6 21q21 70 75.5 117.5T442-233q14 2 25 11t16 23q5 14 1.5 27T471-149l-55 55Zm304-386Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M120-530v-60h70q30-72 89.5-122T414-783l-35-36 42-42 50 49q10 10 13.5 23.5T483-761q-5 14-15.5 23T443-727q-72 11-127 58.5T240-551l-6 21H120Zm490 50q0-44 19-82.5t56-60.5q-26-33-59-59t-74-38l17-57q60 18 107.5 58t76.5 96q39 18 58 58.5t19 84.5q0 45-18.5 85T753-337q-29 55-77 95.5T568-183l-17-57q43-13 75-37.5t59-59.5q-42-25-58.5-60T610-480Zm145 62.5q15-27.5 15-62.5t-15-62.5Q740-570 720-570t-35 27.5Q670-515 670-480t15 62.5q15 27.5 35 27.5t35-27.5ZM416-94l-42-43 40-40q-75-21-135-71t-89-122h-70v-60h114l6 21q21 70 75.5 117.5T442-233q14 2 25 11t16 23q5 14 1.5 27T471-149l-55 55Zm304-386Z'/%3E%3C/svg%3E");
}

/* Syringe (Seringue / Injection / Vaccin) */
.picto-syringe {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M149.13-519.61Q141-529 141-541.47q0-12.46 8-21.53l126-125-57-58-26 26q-9.07 9-21.53 9-12.47 0-21.34-8.84-8.13-8.11-8.13-20.63 0-12.53 8-21.53l94-94q9.07-9 21.53-9 12.47 0 21.34 9.39Q294-847 294-834.53q0 12.46-8 20.53l-26 27 57 57 126-127q9.07-8 21.53-8 12.47 0 21.47 8 8 9.07 8 21.53 0 12.47-8 21.47l-34 34 339 338q17 18 17 42.94 0 24.94-17 42.06l-50 50 172 172h-84L699-265l-50 50q-17.12 17-42.06 17T564-215L226-554l-34 34q-9.07 9-21.53 9-12.47 0-21.34-8.61ZM267-596l339 339 142-142-85-85-70 70q-8 9-20.5 9t-20.63-8.25q-8.87-9-8.87-21.38 0-12.37 9-21.37l70-70-85-85-70 70q-9.07 9-21.53 9-12.47 0-21.47-9-8-8-8-20.47 0-12.46 8-21.53l70-70-85-85-142 142Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M149.13-519.61Q141-529 141-541.47q0-12.46 8-21.53l126-125-57-58-26 26q-9.07 9-21.53 9-12.47 0-21.34-8.84-8.13-8.11-8.13-20.63 0-12.53 8-21.53l94-94q9.07-9 21.53-9 12.47 0 21.34 9.39Q294-847 294-834.53q0 12.46-8 20.53l-26 27 57 57 126-127q9.07-8 21.53-8 12.47 0 21.47 8 8 9.07 8 21.53 0 12.47-8 21.47l-34 34 339 338q17 18 17 42.94 0 24.94-17 42.06l-50 50 172 172h-84L699-265l-50 50q-17.12 17-42.06 17T564-215L226-554l-34 34q-9.07 9-21.53 9-12.47 0-21.34-8.61ZM267-596l339 339 142-142-85-85-70 70q-8 9-20.5 9t-20.63-8.25q-8.87-9-8.87-21.38 0-12.37 9-21.37l70-70-85-85-70 70q-9.07 9-21.53 9-12.47 0-21.47-9-8-8-8-20.47 0-12.46 8-21.53l70-70-85-85-142 142Z'/%3E%3C/svg%3E");
}

/* Download (Téléchargement / Enregistrer) */
.picto-download {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-313 287-506l43-43 120 120v-371h60v371l120-120 43 43-193 193ZM220-160q-24 0-42-18t-18-42v-143h60v143h520v-143h60v143q0 24-18 42t-42 18H220Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-313 287-506l43-43 120 120v-371h60v371l120-120 43 43-193 193ZM220-160q-24 0-42-18t-18-42v-143h60v143h520v-143h60v143q0 24-18 42t-42 18H220Z'/%3E%3C/svg%3E");
}

/* Document PDF / Fiche Textuelle */
.picto-doc-pdf {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M320-240h320v-60H320v60Zm0-120h320v-60H320v60Zm0-120h160v-60H320v60ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-570v-170H240v640h480v-470H520ZM240-820v170-170 640-640Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M320-240h320v-60H320v60Zm0-120h320v-60H320v60Zm0-120h160v-60H320v60ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-570v-170H240v640h480v-470H520ZM240-820v170-170 640-640Z'/%3E%3C/svg%3E");
}

/* Card Off / Carte désactivée */
.picto-card-off {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m871-203-71-71v-206H594L434-640h366v-80H354l-80-80h526q33 0 56.5 23.5T880-720v480q0 10-2 19.5t-7 17.5ZM385-462Zm192-35Zm-211 17H160v240h446L366-480ZM818-28 686-160H160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800l80 80h-80v80h46L26-820l57-57L875-85l-57 57Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m871-203-71-71v-206H594L434-640h366v-80H354l-80-80h526q33 0 56.5 23.5T880-720v480q0 10-2 19.5t-7 17.5ZM385-462Zm192-35Zm-211 17H160v240h446L366-480ZM818-28 686-160H160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800l80 80h-80v80h46L26-820l57-57L875-85l-57 57Z'/%3E%3C/svg%3E");
}
/* Document Edit / Formulaire Éditable */
.picto-doc-edit {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M360-600v-80h360v80H360Zm0 120v-80h360v80H360Zm120 320H200h280Zm0 80H240q-50 0-85-35t-35-85v-120h120v-560h600v361q-20-2-40.5 1.5T760-505v-295H320v480h240l-80 80H200v40q0 17 11.5 28.5T240-160h240v80Zm80 0v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T903-300L683-80H560Zm300-263-37-37 37 37ZM620-140h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M360-600v-80h360v80H360Zm0 120v-80h360v80H360Zm120 320H200h280Zm0 80H240q-50 0-85-35t-35-85v-120h120v-560h600v361q-20-2-40.5 1.5T760-505v-295H320v480h240l-80 80H200v40q0 17 11.5 28.5T240-160h240v80Zm80 0v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q8 9 12.5 20t4.5 22q0 11-4 22.5T903-300L683-80H560Zm300-263-37-37 37 37ZM620-140h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z'/%3E%3C/svg%3E");
}


.conatct-info {
display: flex;
align-items: center; 
gap: 10px; 
font-size: .96rem;
color:var(--muted);
}

.conatct-info a {
text-decoration: none;
color:var(--muted);
text-transform: none!important;
}
.conatct-info a:hover {
color:var(--accent);
} 

.horaire-info span {
font-size: 1.1rem;
line-height: 1.1;
color: var(--white, #ffffff);
}
.contact-info span {
font-size: 1.1rem;
line-height: 1.1;
color: var(--white, #ffffff);
}

.google-iframe {
  width: 100%;
  height: 320px;
  border: 0;           /* Supprime la bordure par défaut des iframes */
  display: block; 
  padding-left: 10px; 
  padding-right: 10px;    /* Évite les espaces blancs sous l'iframe */
}

/* Conteneur principal du divider (90% de largeur, centré) */
.divider {
  width: 90%;
  margin: 0px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px; /* Espacement entre les lignes/flèches et le SVG central */
}

/* Lignes horizontales */
.divider-line {
  flex: 1;
  height: 2px;
  background-color: var(--gray);
  position: relative;
}

/* Pointe de la flèche de gauche (pointant vers la gauche) */
.divider-line.left::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--gray);
  border-left: 2px solid var(--gray);
}

/* Pointe de la flèche de droite (pointant vers la droite) */
.divider-line.right::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--gray);
  border-right: 2px solid var(--gray);
}

/* Style et couleur du SVG central */
.divider-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  fill: var(--gray);
  color: var(--gray);
}

/* CONTACT FORM */

/*Formulaire de contact*/
.col-form, .colpaging {
  float: left;
  width: 50%;
  padding: 10px;
}

@media screen and (max-width: 800px) {
   .col-form {
    width: 100%;
    padding: 10px;
    }
    .colpaging {
    float: left;
    width: 100%;
    padding: 10px;
    }
}

    .col-form-big {
      float: left;
      width: 100%;
      padding: 10px;
    }


.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
		width: 100%; background-color: var(--gray);
		border-radius: var(--radius);
		border: none;
		padding: 14px;
		color: var(--accent);
		font-size: 16px;
		outline: none;
		transition: all 0.3s ease;
} 
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
		background-image: none;
		border:none;
		background-color: var(--white);
		color: #333;
		box-shadow: 0 4px 8px rgba(0,0,0,0.1);
} 

.wpcf7 input[type="submit"] {
		background-image: linear-gradient(to right, rgba(33,150,243,0.9), rgba(33,150,243,0.5));
		border: none;
		border-radius: var(--radius);
		padding: 14px 35px;
		color: var(--white);
		font-size: 16px;
		font-weight: 600;
		cursor: pointer;
		transition: all 0.3s ease;
    border: 1px solid var(--accent);
} 
.wpcf7 input[type="submit"]:hover {
		background-image: none;
		background-color: var(--white);
		border: 1px solid var(--accent);
		color: var(--accent);
} 
.wpcf7 input[type="submit"]:active {
       transform: scale(0.97);
} 
.wpcf7 textarea {
       resize: vertical;
       min-height: 120px;
} 

.wpcf7 input[type="text"]::placeholder,
.wpcf7 input[type="email"]::placeholder,
.wpcf7 input[type="tel"]::placeholder,
.wpcf7 input[type="number"]::placeholder,
.wpcf7 input[type="url"]::placeholder,
.wpcf7 textarea::placeholder {
  padding-left: 20px;
  font-family: inherit;
  color: var(--muted); 
  opacity: 1;    
}

  /* ====== Select natif restylé (compatible CF7) ====== */
  .select-wrap {
    position: relative;
  }

  select.wpcf7-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 14px 40px 14px 14px;
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    font-size: 16px;
    font-family: inherit;
    color: var(--ink);
    background-color: var(--gray);
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
  }

  select.wpcf7-select:hover {
    border-color: var(--accent);
  }

  select.wpcf7-select:focus {
    outline: none;
    background-color: var(--white);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }

  /* Valeur "placeholder" grisée tant que rien n'est choisi */
  select.wpcf7-select:invalid,
  select.wpcf7-select option[value=""][disabled] {
    color: var(--faint);
  }

  .select-wrap .arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent);
    pointer-events: none;
    display: flex;
    transition: transform .15s ease;
  }

  /* Utilisation de :has() sur le conteneur principal */
.select-wrap:has(select.wpcf7-select:focus) .arrow {
  transform: translateY(-50%) rotate(180deg);
}

   /* ====== Bouton retour en haut ====== */
  .scroll-top-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: none;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .15s ease;
    z-index: 30;
  }

  .scroll-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .scroll-top-btn:hover {
    background: #1976D2;
  }

