/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* Style de base pour les icônes du menu */
.menu-item-icon {
    display: inline-flex;
    align-items: center;
    margin-right: 10px; /* Marge à droite de l'icône */
    vertical-align: middle;
    line-height: 1;
}

/* Pour les images */
.menu-item-icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Pour les SVG inline */
.menu-item-icon svg {
    width: 20px;
    height: 20px;
}

/* Ajustements pour les liens du menu */
.menu-item a {
    display: inline-flex;
    align-items: center;
}

/* Transition smooth pour tous les éléments */
.elementor-element-9291e3c .elementor-element-0d8a638,
.elementor-element-9291e3c .elementor-element-7c08beb,
.elementor-element-9291e3c .elementor-element-5555dda img {
    transition: all 0.3s ease;
}

/* Container des boutons - caché au scroll */
.elementor-element-9291e3c.header-scrolled .elementor-element-0d8a638 {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
}

/* Divider - caché au scroll */
.elementor-element-9291e3c.header-scrolled .elementor-element-7c08beb {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
}

/* Logo - réduit de 20% au scroll */
.elementor-element-9291e3c.header-scrolled .elementor-element-5555dda img {
    transform: scale(0.8);
    transform-origin: left center;
}

/* Menu - centré verticalement avec le logo au scroll */
.elementor-element-9291e3c.header-scrolled .elementor-element-baec438 {
    display: flex;
    align-items: center;
}

/* Ajuste le padding du container au scroll pour un header plus compact */
.elementor-element-9291e3c.header-scrolled {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Assure que le container interne s'aligne bien */
.elementor-element-9291e3c.header-scrolled .e-con-inner {
    align-items: center;
}

/* Timeline */

/* Ligne verticale en pointillés + progression visible */
.elementor-widget-jet-timeline .jet-timeline__line{
  background: repeating-linear-gradient(
    to bottom,
    #D0D5DD 0,
    #D0D5DD 14px,    /* longueur du trait */
    transparent 14px,
    transparent 24px /* trait + espace */
  ) !important;
  border: 0 !important;
}


/* Si on l'avait masquée avant, on la réactive */
.elementor-widget-jet-timeline .jet-timeline__line-progress{
  display: block !important;
  width: 100%;
  z-index: 1;           /* au-dessus du pointillé de fond */
}

/* Halo bleu sous l'icône active, 1.5x la taille de l'icône */
.elementor-widget-jet-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon{
  position: relative;      /* l'icône reste au-dessus du halo */
}

/* HALO PAR DÉFAUT (peut être surchargé) */
.elementor-widget-jet-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon::before{
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(1.5); /* 1,5× */
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: #C6D2FF; /* halo bleu par défaut */
  z-index: -1;          /* derrière l'icône */
  pointer-events: none;
}

/* HALO RAVENEL (vert) */
.elementor-widget-jet-timeline.ravenel-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon::before{
  background: #747C2B66; /* halo vert avec opacité */
}

/* HALO CPN (bleu turquoise avec opacité) */
.elementor-widget-jet-timeline.cpn-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon::before{
  background: rgba(0, 130, 152, 0.40); /* halo turquoise CPN */
}


.numero-gras {
  font-family: Avenir, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}

.e-search-submit{
    z-index: 2
}

/* Icon tab */

.jet-toggle__icon{
    border-radius: 5px;
    color: #fff;
    background-color: #0e2d94;
}


/* CSS Boutons Wordpress */

/* Styles principaux pour boutons WP natifs */
.wp-element-button,
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;

    background-color: var(--e-global-color-accent);
    color: #fff;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    line-height: var(--e-global-typography-accent-line-height);
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;

    border: 2px solid var(--e-global-color-accent); /* border solide ajouté */
    border-radius: var(--e-global-border-radius, 6px);

    transition: all 0.18s ease-in-out;
}

/* hover / focus */
.wp-element-button:hover,
.wp-element-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
    background-color: var(--e-global-color-338aa7a);
    color: var(--e-global-color-accent);
    fill: var(--e-global-color-accent);
    border: 2px solid var(--e-global-color-accent); /* border change au hover/focus */
}

/* active (press) */
.wp-element-button:active,
.wp-block-button__link:active,
.wp-block-button .wp-block-button__link:active {
    background-color: var(--e-global-color-accent);
    color: #fff;
    filter: brightness(0.9);
    border: 2px solid var(--e-global-color-accent); /* border au clic */
}

/* Focus accessibility (visuel) */
.wp-element-button:focus,
.wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:focus {
    outline: 3px solid rgba(51,122,183,0.12);
    outline-offset: 2px;
}


/* Boutons WP natifs - couleur par etablissement */
.etablissement-cpn .wp-element-button,
.etablissement-cpn .wp-block-button__link,
.etablissement-cpn .wp-block-button .wp-block-button__link {
    background-color: #008298;
    border-color: #008298;
}
.etablissement-cpn .wp-element-button:hover,
.etablissement-cpn .wp-element-button:focus,
.etablissement-cpn .wp-block-button__link:hover,
.etablissement-cpn .wp-block-button__link:focus,
.etablissement-cpn .wp-block-button .wp-block-button__link:hover,
.etablissement-cpn .wp-block-button .wp-block-button__link:focus {
    background-color: #fff;
    color: #008298;
    border-color: #008298;
}
.etablissement-ravenel .wp-element-button,
.etablissement-ravenel .wp-block-button__link,
.etablissement-ravenel .wp-block-button .wp-block-button__link {
    background-color: #747C2B;
    border-color: #747C2B;
}
.etablissement-ravenel .wp-element-button:hover,
.etablissement-ravenel .wp-element-button:focus,
.etablissement-ravenel .wp-block-button__link:hover,
.etablissement-ravenel .wp-block-button__link:focus,
.etablissement-ravenel .wp-block-button .wp-block-button__link:hover,
.etablissement-ravenel .wp-block-button .wp-block-button__link:focus {
    background-color: #fff;
    color: #747C2B;
    border-color: #747C2B;
}

/* Border radius exclu pour les SVG */ 
.elementor-kit-6 img:not([src$=".svg"]) {
    border-radius: 26px 26px 26px 26px;
}

.elementor-kit-6 svg {
    border-radius: 0px !important;
}

/* Masquer l'icône inactive quand le toggle est actif */
.jet-toggle.active-toggle .jet-toggle__label-icon .icon-normal {
    display: none !important;
}

/* Masquer l'icône active quand le toggle est inactif */
.jet-toggle:not(.active-toggle) .jet-toggle__label-icon .icon-active {
    display: none !important;
}

/* Afficher l'icône active quand le toggle est actif */
.jet-toggle.active-toggle .jet-toggle__label-icon .icon-active {
    display: inline-block !important;
}

/* Réinitialiser les styles de jet-toggle__icon */
.jet-toggle__icon {
    background-color: transparent !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    font-size: inherit !important;
    line-height: 1 !important;
    display: inline-block !important;
}

/* Définir la taille des icônes */
.jet-toggle__label-icon {
    font-size: 24px; /* Ajuste cette valeur selon tes besoins */
}

.jet-toggle__label-icon i,
.jet-toggle__label-icon svg {
    width: 1em;
    height: 1em;
    font-size: inherit;
}


/** Bouton CPN **/

.btn-cpn {
    display: inline-flex;
    padding: 14px 16px 14px 24px;
    align-items: center;
    gap: 8px;
    border-radius: 30px;
    background: var(--Bleu, #F8F8F8);
    border: 1px solid #008298;
    
    /* Styles texte */
    color: #008298;
    text-decoration: none;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    
    /* Transition */
    transition: all 0.3s ease;
    cursor: pointer;
    box-sizing: border-box;
}

.btn-cpn:hover {
    background: #008298;
    border: 1px solid #F8F8F8;
    color: #FFFFFF;
}

.btn-cpn span {
    color: inherit;
}

/* Icône qui suit la couleur du texte */
.btn-cpn svg {
    transition: all 0.3s ease;
}

.btn-cpn svg path {
    fill: currentColor;
}

/* ==================== */
/* ONGLETS - BASE */
/* ==================== */

/* Annulation du background par défaut Elementor (SAUF cpn-tab et ravenel-tab) */
.elementor .elementor-element.elementor-widget-n-tabs:not(.cpn-tab):not(.ravenel-tab) .e-n-tab-title[aria-selected=true],
.elementor .elementor-element.elementor-widget-n-tabs:not(.cpn-tab):not(.ravenel-tab) .e-n-tab-title:hover {
    background-color: transparent !important;
    background-image: initial !important;
}

/* Radius sur le premier et le dernier onglet */
.e-n-tabs-heading .e-n-tab-title:first-child {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}
.e-n-tabs-heading .e-n-tab-title:last-child {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
}

/* Radius sur l'onglet actif et au hover */
.e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
.e-n-tabs-heading .e-n-tab-title:hover {
    border-radius: 30px;
}

/* Séparateur */
.e-n-tabs-heading .e-n-tab-title:not(:last-child) {
    position: relative;
}
.e-n-tabs-heading .e-n-tab-title:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 26px;
    opacity: 0.36;
}

/* Pas de séparateur après l'onglet actif */
.e-n-tabs-heading .e-n-tab-title[aria-selected="true"]::after {
    display: none;
}

/* ==================== */
/* ONGLETS CPN */
/* ==================== */

.cpn-tab .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
.cpn-tab .e-n-tabs-heading .e-n-tab-title:hover {
    background: #008298 !important;
    border-style: none !important;
}

.cpn-tab .e-n-tabs-heading {
    background-color: #EAF0F1;
    border-radius: 30px;
}

/* Fix badge type de poste qui chevauche le titre dans les offres d'emploi */
.elementor-element-fa25535 {
    flex-shrink: 0;
}

.cpn-tab .e-n-tabs-heading .e-n-tab-title:not(:last-child)::after {
    background-color: #008298;
}

/* ==================== */
/* ONGLETS RAVENEL */
/* ==================== */

.ravenel-tab .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
.ravenel-tab .e-n-tabs-heading .e-n-tab-title:hover {
    background: #747C2B !important;
    border-style: none !important;
}

.ravenel-tab .e-n-tabs-heading .e-n-tab-title:not(:last-child)::after {
    background-color: #747C2B;
}

/* --- BASE : tous les liens (internes + externes) --- */
/* Couleur par défaut = Epsytera bleu marine #002149 */
.elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link) {
    text-decoration: none !important;
    color: #002149 !important;
    border-bottom: 1px solid currentColor;
    transition: all 0.3s ease;
}

.elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover {
    color: #111c33 !important;
    border-bottom-width: 1.5px !important;
}

/* --- Soulignement liens Icon List (sur le texte, pas le lien flex 100%) --- */
.elementor-widget-icon-list a .elementor-icon-list-text {
    border-bottom: 1px solid currentColor !important;
    transition: all 0.3s ease;
}
.elementor-widget-icon-list a:hover .elementor-icon-list-text {
    border-bottom-width: 1.5px !important;
}

/* --- COULEURS PAR ÉTABLISSEMENT --- */

/* === CPN : #008298 / hover #184652 === */
.etablissement-cpn .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-cpn .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-cpn .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-cpn .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link) {
    color: #008298 !important;
}
.etablissement-cpn .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-cpn .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-cpn .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-cpn .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover {
    color: #184652 !important;
    border-bottom-width: 1.5px !important;
}

/* === CH Ravenel : #747C2B / hover #5B5937 === */
.etablissement-ravenel .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-ravenel .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-ravenel .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-ravenel .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link) {
    color: #747C2B !important;
}
.etablissement-ravenel .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-ravenel .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-ravenel .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-ravenel .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover {
    color: #5B5937 !important;
    border-bottom-width: 1.5px !important;
}

/* === Epsytera (explicite) : #002149 / hover #111c33 === */
.etablissement-epsytera .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-epsytera .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-epsytera .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
.etablissement-epsytera .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link) {
    color: #002149 !important;
}
.etablissement-epsytera .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-epsytera .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-epsytera .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.etablissement-epsytera .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link):hover {
    color: #111c33 !important;
    border-bottom-width: 1.5px !important;
}

/* --- FLÈCHE : uniquement les liens EXTERNES --- */
.elementor-widget-text-editor p a[href^="http"]:not([href*="epsytera.fr"]),
.timeline-item__card-desc p a[href^="http"]:not([href*="epsytera.fr"]),
.timeline-item__card-desc li a[href^="http"]:not([href*="epsytera.fr"]),
.elementor-widget-theme-post-content a[href^="http"]:not([href*="epsytera.fr"]) {
    padding-right: 24px;
    position: relative;
}

.elementor-widget-text-editor p a[href^="http"]:not([href*="epsytera.fr"])::after,
.timeline-item__card-desc p a[href^="http"]:not([href*="epsytera.fr"])::after,
.timeline-item__card-desc li a[href^="http"]:not([href*="epsytera.fr"])::after,
.elementor-widget-theme-post-content a[href^="http"]:not([href*="epsytera.fr"])::after {
    content: '';
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-color: currentColor;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20,0H11c-.553,0-1,.448-1,1s.447,1,1,1h9c.179,0,.352,.024,.518,.068L.293,22.293c-.391,.391-.391,1.023,0,1.414,.195,.195,.451,.293,.707,.293s.512-.098,.707-.293L21.932,3.482c.044,.165,.068,.339,.068,.518V13c0,.552,.447,1,1,1s1-.448,1-1V4c0-2.206-1.794-4-4-4Z"/></svg>');
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20,0H11c-.553,0-1,.448-1,1s.447,1,1,1h9c.179,0,.352,.024,.518,.068L.293,22.293c-.391,.391-.391,1.023,0,1.414,.195,.195,.451,.293,.707,.293s.512-.098,.707-.293L21.932,3.482c.044,.165,.068,.339,.068,.518V13c0,.552,.447,1,1,1s1-.448,1-1V4c0-2.206-1.794-4-4-4Z"/></svg>');
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-position: center;
}

/* Force l'application des styles de typographie du thème */
.elementor-widget-theme-post-content strong,
.elementor-widget-theme-post-content b {
    font-weight: 700 !important;
}

.elementor-widget-theme-post-content h2 {
    font-family: var(--e-global-typography-dc95404-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-dc95404-font-size) !important;
    font-weight: var(--e-global-typography-dc95404-font-weight) !important;
    color: inherit !important;
}

.elementor-widget-theme-post-content h3 {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-primary-font-size) !important;
    font-weight: var(--e-global-typography-primary-font-weight) !important;
    color: inherit !important;
}

.elementor-widget-theme-post-content h4 {
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-secondary-font-size) !important;
    font-weight: var(--e-global-typography-secondary-font-weight) !important;
    color: inherit !important;
}

/* Couleurs spécifiques pour les pages CPN — SUPPRIMÉ v2.7.0
   La classe page-cpn-custom est présente sur TOUTES les pages.
   Les couleurs sont désormais gérées via .etablissement-cpn/.ravenel/.epsytera
   dans le bloc BASE ci-dessus. */

/* Styles des boutons Gutenberg sur les pages CPN */
.etablissement-cpn .wp-element-button,
.etablissement-cpn .wp-block-button__link,
.etablissement-cpn .wp-block-button .wp-block-button__link {
    background-color: #008298 !important;
    color: #F8F8F8 !important;
    border: 1px solid #008298 !important;
    border-radius: 30px !important;
    padding: 14px 16px 14px 24px !important;
    font-size: 15px !important;
    font-family: Inter, sans-serif !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    position: relative;
    padding-right: 48px !important; /* Espace pour la flèche */
}

/* Flèche après le bouton */
.etablissement-cpn .wp-element-button::after,
.etablissement-cpn .wp-block-button__link::after,
.etablissement-cpn .wp-block-button .wp-block-button__link::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 12px;
    background-color: #F8F8F8;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 12"><path d="M17.792 0.287362C17.6982 0.374629 17.6238 0.478453 17.573 0.592845C17.5223 0.707238 17.4961 0.829934 17.4961 0.953857C17.4961 1.07778 17.5223 1.20048 17.573 1.31487C17.6238 1.42926 17.6982 1.53309 17.792 1.62035L21.4224 5.02793L1.00011 5.02793C0.734867 5.02793 0.480485 5.12683 0.292928 5.30288C0.105371 5.47892 2.73117e-06 5.71769 2.69853e-06 5.96666C2.66588e-06 6.21562 0.105371 6.45439 0.292928 6.63043C0.480485 6.80648 0.734867 6.90538 1.00011 6.90538L21.4124 6.90538L17.792 10.3036C17.6748 10.384 17.5776 10.4875 17.5073 10.6067C17.437 10.726 17.3952 10.8582 17.3848 10.9941C17.3744 11.1301 17.3957 11.2665 17.4472 11.394C17.4986 11.5214 17.579 11.6368 17.6828 11.7322C17.7866 11.8275 17.9112 11.9005 18.0481 11.946C18.185 11.9916 18.3307 12.0086 18.4753 11.9959C18.6199 11.9833 18.7598 11.9412 18.8853 11.8727C19.0108 11.8041 19.1189 11.7107 19.2021 11.599L23.1225 7.91921C23.6844 7.39117 24 6.6754 24 5.92911C24 5.18282 23.6844 4.46704 23.1225 3.93901L19.2021 0.2592C19.0108 0.0880514 18.7551 -0.0050579 18.4909 0.000218984C18.2266 0.00549587 17.9754 0.108731 17.792 0.287362Z"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: all 0.3s ease;
}

/* Hover : inversion des couleurs */
.etablissement-cpn .wp-element-button:hover,
.etablissement-cpn .wp-block-button__link:hover,
.etablissement-cpn .wp-block-button .wp-block-button__link:hover {
    background-color: #F8F8F8 !important;
    color: #008298 !important;
    border-color: #008298 !important;
}

/* Flèche au hover : prend la couleur du texte */
.etablissement-cpn .wp-element-button:hover::after,
.etablissement-cpn .wp-block-button__link:hover::after,
.etablissement-cpn .wp-block-button .wp-block-button__link:hover::after {
    background-color: #008298;
}

/* Augmente la taille du numéro pour l'élément actif dans le sommaire */
.elementor-toc__list-item-text.elementor-item-active::before {
    font-size: 1.2em;
    font-weight: 600;
    transition: all 0.3s ease;
}

/* Si le numéro est un marker, on le cible aussi */
.elementor-toc__list-item:has(.elementor-item-active)::marker {
    font-size: 1.2em;
    font-weight: 600;
}

/* Span téléphone */

@media (max-width: 767px) {
    .telephone-label {
        font-size: 15px !important;
    }
}

/* ============================================
   TIMELINE RAVENEL - CSS avec classe .ravenel-timeline
   Couleurs conformes au design Figma
   ============================================ */

/* Ligne verticale en pointillés - CENTRÉE sur les cercles */
.ravenel-timeline .jet-timeline__line {
  background: repeating-linear-gradient(
    to bottom,
    #747C2B 0,           /* Vert Ravenel */
    #747C2B 5px,         /* Longueur du trait */
    transparent 5px,
    transparent 10px     /* Trait + espace */
  ) !important;
  opacity: 0.32 !important;
  border: 0 !important;
  width: 1px !important;
  left: 24px !important; /* Centre du cercle de 48px (48/2 = 24) */
  transform: translateX(-50%) !important;
}

/* Ligne de progression (vert plein) */
.ravenel-timeline .jet-timeline__line-progress {
  display: block !important;
  width: 100%;
  background: #747C2B !important;
  opacity: 1 !important;
  z-index: 1;
  border: 0 !important;
}

/* Halo vert transparent derrière l'icône active */
.ravenel-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon {
  position: relative;
  z-index: 2;
}

.ravenel-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon::before {
  content: "";
  position: absolute;
  left: 50%; 
  top: 50%;
  transform: translate(-50%, -50%) scale(1.5);
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: #747C2B66; /* Vert transparent Figma */
  z-index: -1;
  pointer-events: none;
}

/* Cercles des icônes - PAS de background */
.ravenel-timeline .timeline-item__point {
  background: transparent !important;
  border: 0 !important;
}

/* L'icône reste transparente */
.ravenel-timeline .timeline-item__point-content {
  background: transparent !important;
  border: 0 !important;
  width: 48px !important;
  height: 48px !important;
}

.ravenel-timeline .timeline-item__point-content--icon {
  background: transparent !important;
  border: 0 !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Icônes en blanc */
.ravenel-timeline .timeline-item__point-content--icon svg,
.ravenel-timeline .timeline-item__point-content--icon svg path,
.ravenel-timeline .timeline-item__point-content--icon svg g,
.ravenel-timeline .timeline-item__point-content--icon svg rect,
.ravenel-timeline .timeline-item__point-content--icon i {
  color: #F8F8F8 !important;
  stroke: #F8F8F8 !important;
  fill: none !important;
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
}

/* Garde les rect en fill pour le fond du cercle SVG */
.ravenel-timeline .timeline-item__point-content--icon svg rect[rx] {
  fill: #5B5937 !important;
}

/* Titres en vert Ravenel */
.ravenel-timeline .jet-timeline-item__card-title,
.ravenel-timeline .jet-timeline-item__card-title h2,
.ravenel-timeline .jet-timeline-item__card-title h3,
.ravenel-timeline .jet-timeline-item__meta-title,
.ravenel-timeline .timeline-item__card-title {
  color: #747C2B !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 1.2 !important;
  margin-bottom: 24px !important;
}

/* Boutons */
.ravenel-timeline .jet-timeline-item__card-btn,
.ravenel-timeline .jet-timeline-item__meta-btn {
  background: #747C2B !important;
  color: #F8F8F8 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  padding: 14px 24px !important;
  border-radius: 30px !important;
  border: 0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
  transition: all 0.3s ease !important;
}

.ravenel-timeline .jet-timeline-item__card-btn:hover,
.ravenel-timeline .jet-timeline-item__meta-btn:hover {
  background: #5B5937 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(116, 124, 43, 0.2) !important;
}

/* Ajouter l'icône flèche après le bouton */
.ravenel-timeline .jet-timeline-item__card-btn::after,
.ravenel-timeline .jet-timeline-item__meta-btn::after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4l5 5-5 5M15 9H3' stroke='%23F8F8F8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 4px;
}

/* Espacements entre items */
.ravenel-timeline .jet-timeline-item {
  margin-bottom: 88px !important;
  padding-bottom: 44px !important;
}

.ravenel-timeline .jet-timeline-item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Cards */
.ravenel-timeline .jet-timeline-item__card,
.ravenel-timeline .timeline-item__card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Meta content (si utilisé au lieu de card) */
.ravenel-timeline .jet-timeline-item__meta {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Tablette */
@media (max-width: 768px) {
  .ravenel-timeline .jet-timeline-item__card-title,
  .ravenel-timeline .jet-timeline-item__card-title h2,
  .ravenel-timeline .jet-timeline-item__card-title h3,
  .ravenel-timeline .jet-timeline-item__meta-title,
  .ravenel-timeline .timeline-item__card-title {
    font-size: 26px !important;
  }
  
  .ravenel-timeline .jet-timeline-item {
    margin-bottom: 60px !important;
    padding-bottom: 30px !important;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .ravenel-timeline .jet-timeline-item__card-title,
  .ravenel-timeline .jet-timeline-item__card-title h2,
  .ravenel-timeline .jet-timeline-item__card-title h3,
  .ravenel-timeline .jet-timeline-item__meta-title,
  .ravenel-timeline .timeline-item__card-title {
    font-size: 22px !important;
    margin-bottom: 16px !important;
  }
  
  .ravenel-timeline .jet-timeline-item__card-btn,
  .ravenel-timeline .jet-timeline-item__meta-btn {
    font-size: 14px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    justify-content: center !important;
  }
  
  .ravenel-timeline .jet-timeline-item {
    margin-bottom: 48px !important;
    padding-bottom: 24px !important;
  }
}

/* ============================================
   CORRECTIF BOUTONS TIMELINE EPSYTERA
   À ajouter à la fin de style.css du thème enfant
   ============================================ */

/* Exclure les boutons .cpn-timeline-button des règles de liens CPN */
.etablissement-cpn .cpn-timeline-button,
.etablissement-cpn .timeline-item__card-desc .cpn-timeline-button,
.etablissement-cpn .cpn-timeline-content .cpn-timeline-button {
    color: white !important;
    background-color: var(--primary-color, #008298) !important;
    border: 2px solid var(--primary-color, #008298) !important;
    border-bottom: 2px solid var(--primary-color, #008298) !important;
    text-decoration: none !important;
    padding-right: 25px !important;
}

.etablissement-cpn .cpn-timeline-button:hover,
.etablissement-cpn .timeline-item__card-desc .cpn-timeline-button:hover,
.etablissement-cpn .cpn-timeline-content .cpn-timeline-button:hover {
    background-color: transparent !important;
    color: var(--primary-color, #008298) !important;
    border: 2px solid var(--primary-color, #008298) !important;
    border-bottom: 2px solid var(--primary-color, #008298) !important;
    opacity: 1 !important;
}

.etablissement-cpn .cpn-timeline-button::after,
.etablissement-cpn .timeline-item__card-desc .cpn-timeline-button::after,
.etablissement-cpn .cpn-timeline-content .cpn-timeline-button::after {
    display: none !important;
    content: none !important;
}

/* Alternative : Modifier la règle existante pour exclure .cpn-timeline-button */
/* Remplacer la règle ligne 527-532 par celle-ci : */
/*
body.page-cpn-custom .elementor-widget-text-editor p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
body.page-cpn-custom .timeline-item__card-desc p a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
body.page-cpn-custom .timeline-item__card-desc li a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link),
body.page-cpn-custom .elementor-widget-theme-post-content a:not(.cpn-timeline-button):not(.wp-element-button):not(.wp-block-button__link) {
    color: var(--e-global-color-4ba8dd9) !important;
    border-bottom-color: var(--e-global-color-4ba8dd9) !important;
}
*/
/* ========================================
   MENU BURGER & OFF-CANVAS - MULTI-MENUS
   CORRIGÉ : Cible uniquement les vrais off-canvas
   ======================================== */

/* === BOUTON DE FERMETURE === */
.custom-close-button {
    position: absolute;
    top: 20px;
    left: 20px;
    width: auto;
    height: 24px;
    cursor: pointer;
    z-index: 10000;
    background: transparent !important;
    border: none !important;
    border-style: none !important;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 0 !important;
}

.custom-close-button .close-icon {
    position: relative;
    width: 30px;
    height: 24px;
    display: inline-block;
    flex-shrink: 0;
}

.custom-close-button .close-icon::before,
.custom-close-button .close-icon::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 3px;
    background-color: #002149;
    border-radius: 2px;
    transition: all 0.3s ease;
    left: 0;
    top: 50%;
}

.custom-close-button .close-icon::before {
    transform: translateY(-50%) rotate(45deg);
}

.custom-close-button .close-icon::after {
    transform: translateY(-50%) rotate(-45deg);
}

.custom-close-button .close-text {
    color: #002149 !important;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    position: relative;
}

.custom-close-button:hover {
    background: transparent !important;
}

.custom-close-button:hover .close-icon::before,
.custom-close-button:hover .close-icon::after {
    background-color: #666;
}

.custom-close-button:hover .close-text {
    color: #666 !important;
}

/* === BURGER BUTTON === */
.custom-burger-menu {
    width: 80px;
    height: 24px;
    position: relative;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.custom-burger-menu::before,
.custom-burger-menu::after,
.custom-burger-menu .burger-lines {
    content: '';
    position: absolute;
    width: 30px;
    height: 3px;
    background-color: #002149;
    transition: all 0.3s ease;
    left: 0;
    border-radius: 2px;
}

.custom-burger-menu::before {
    top: 0;
}

.custom-burger-menu .burger-lines {
    top: 50%;
    transform: translateY(-50%);
}

.custom-burger-menu::after {
    bottom: 0;
}

.custom-burger-menu .menu-text {
    position: absolute;
    left: 40px;
    color: #002149;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
}

.custom-burger-menu.active::before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.custom-burger-menu.active .burger-lines {
    opacity: 0;
    transform: translateX(20px);
}

.custom-burger-menu.active::after {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

/* === OFF-CANVAS STRUCTURE === */
/* CORRIGÉ : Cible UNIQUEMENT les off-canvas spécifiques, pas tous les menus */

/* Padding du contenu - off-canvas uniquement */
.e-off-canvas .e-off-canvas__content {
    height: 100%;
    overflow-y: auto;
    padding: 70px 20px 20px 20px;
}

/* Force l'off-canvas à droite */
.e-off-canvas .e-off-canvas__main {
    position: fixed !important;
    right: 0 !important;
    left: auto !important;
    top: 0;
    height: 100vh;
    width: 400px;
    max-width: 90vw;
    background: #fff;
    transform: translateX(100%) !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
}

/* Quand le menu est ouvert */
.e-off-canvas[aria-hidden="false"] .e-off-canvas__main {
    transform: translateX(0) !important;
}

/* Animation de l'overlay */
.e-off-canvas .e-off-canvas__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.e-off-canvas[aria-hidden="false"] .e-off-canvas__overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Cache le off-canvas par défaut */
.e-off-canvas[aria-hidden="true"] {
    pointer-events: none;
}

.e-off-canvas[aria-hidden="false"] {
    pointer-events: auto;
}

/* === SOUS-MENUS DANS OFF-CANVAS UNIQUEMENT === */
/* CORRIGÉ : Utilise la classe .e-off-canvas au lieu de [id^="menu-"] */

.e-off-canvas .sub-menu {
    position: static !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    padding-left: 25px;
    background: #f8f9fa;
    margin-top: 10px;
    border-radius: 8px;
    width: 100% !important;
    left: 0 !important;
    top: auto !important;
}

/* Affiche le sous-menu quand actif */
.e-off-canvas .menu-item-has-children.submenu-open > .sub-menu {
    display: block !important;
}

/* Style des items de sous-menu */
.e-off-canvas .sub-menu .elementor-sub-item {
    padding: 12px 15px;
    color: #002149 !important;
    font-size: 14px;
    transition: background 0.2s ease;
    display: block;
}

.e-off-canvas .sub-menu .elementor-sub-item:hover {
    background: rgba(0, 33, 73, 0.05);
}

/* === CHEVRON === */
.e-off-canvas .sub-arrow {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 20px;
    height: 20px;
    margin-left: auto;
    flex-shrink: 0;
}

.e-off-canvas .sub-arrow svg {
    fill: #002149 !important;
    width: 12px !important;
    height: 12px !important;
    transition: transform 0.3s ease;
}

/* Rotation du chevron quand ouvert */
.e-off-canvas .menu-item-has-children.submenu-open .sub-arrow svg {
    transform: rotate(180deg);
}

/* Aligne correctement le lien */
.e-off-canvas .menu-item-has-children > .elementor-item {
    display: flex !important;
    align-items: center !important;
    width: 100%;
}

/* Icônes personnalisées */
.e-off-canvas .menu-item-icon {
    flex-shrink: 0;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.e-off-canvas .menu-item-icon svg {
    width: 100%;
    height: 100%;
}

/* ========================================
   FIX SAFARI - Numéros de téléphone
   ======================================== */

/* Empêche Safari de colorer les numéros de téléphone */
a[href^="tel"],
a[href^="tel:"]:link,
a[href^="tel:"]:visited,
a[href^="tel:"]:hover,
a[href^="tel:"]:active {
    color: inherit !important;
    text-decoration: none !important;
    -webkit-text-fill-color: inherit !important;
}

/* Pour les numéros détectés automatiquement par Safari */
* {
    -webkit-text-size-adjust: 100%;
}

/* ============================================
   BOUTONS WORDPRESS - Border radius 60px et sans flèche
   ============================================ */

/* Border radius 60px pour tous les boutons WP */
.wp-element-button,
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
    border-radius: 60px !important;
}

/* Supprimer l'icône flèche sur tous les boutons WP */
.wp-element-button::after,
.wp-block-button__link::after,
.wp-block-button .wp-block-button__link::after {
    display: none !important;
    content: none !important;
}

/* Réinitialiser le padding-right (plus besoin d'espace pour la flèche) */
.wp-element-button,
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
    padding-right: calc(1.333em + 2px) !important;
}

/* Override spécifique pour les pages CPN */
.etablissement-cpn .wp-element-button,
.etablissement-cpn .wp-block-button__link,
.etablissement-cpn .wp-block-button .wp-block-button__link {
    border-radius: 60px !important;
    padding-right: 24px !important;
}

.etablissement-cpn .wp-element-button::after,
.etablissement-cpn .wp-block-button__link::after,
.etablissement-cpn .wp-block-button .wp-block-button__link::after {
    display: none !important;
    content: none !important;
}

/* ========== BARRE DE RECHERCHE - MOBILE UNIQUEMENT ========== */

/* Tablette */
@media (max-width: 1024px) {
  .e-search-input::placeholder {
    font-size: 14px;
  }
}

/* Mobile uniquement */
@media (max-width: 767px) {
  
  /* Conteneurs parents - éviter le crop */
  .elementor-widget-search,
  .elementor-widget-container,
  .e-search {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Formulaire en colonne + centré */
  .e-search-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Wrapper de l'input */
  .e-search-input-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Input */
  .e-search-input {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 50px !important;
    padding: 16px 24px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
  }
  
  /* Bouton centré */
  .e-search-submit {
    width: auto !important;
    min-width: 200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 50px !important;
    padding: 16px 24px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
  }
}

/* Très petits écrans */
@media (max-width: 480px) {
  .e-search {
    padding: 0 15px !important;
  }
  
  .e-search-input,
  .e-search-submit {
    padding: 14px 20px !important;
    font-size: 13px !important;
  }
  
  .e-search-input::placeholder {
    font-size: 12px !important;
  }
}

/* Espacement des titres H2 */
.elementor-widget-theme-post-content h2.wp-block-heading {
    margin-top: 2.5em;
    margin-bottom: 1em;
}

/* Premier titre : pas de marge en haut */
.elementor-widget-theme-post-content h2.wp-block-heading:first-of-type {
    margin-top: 0;
}

/* Espacement des paragraphes */
.elementor-widget-theme-post-content p {
    margin-bottom: 1.2em;
}

/* Espacement des images/figures */
.elementor-widget-theme-post-content figure {
    margin-top: 2em;
    margin-bottom: 2em;
}

/* === Couleurs liens par établissement — DÉPLACÉ v2.7.0
   Voir bloc "COULEURS PAR ÉTABLISSEMENT" dans la section BASE des liens.
   Couvre désormais tous les sélecteurs : text-editor, timeline, post-content === */

/* TAG DYNAMIQUES LONGUEUR AUTO */

.elementor-4977 .jet-listing-dynamic-field.display-inline {
    flex-shrink: 0;
    min-width: fit-content;
    margin-right: 15px;
}


/* PAGINATION */

.jet-filters-pagination__link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Cible tous les éléments avec un id */
[id] {
  scroll-margin-top: 250px;
}

.elementor-4657 .elementor-element.elementor-element-7f4f2d8 .elementor-icon-list-icon svg
{
	margin-right: 0px
}

.elementor-2111 .elementor-element.elementor-element-7f4f2d8 .elementor-icon-list-icon svg
{
	margin-right: 0px
}

/* ============================================
   TIMELINE CPN - CSS avec classe .cpn-timeline
   Couleurs conformes au design Figma
   ============================================ */

/* Ligne verticale en pointillés - CENTRÉE sur les cercles */
.cpn-timeline .jet-timeline__line {
  background: repeating-linear-gradient(
    to bottom,
    #008298 0,
    #008298 5px,
    transparent 5px,
    transparent 10px
  ) !important;
  opacity: 0.32 !important;
  border: 0 !important;
  width: 1px !important;
  left: 24px !important;
  transform: translateX(-50%) !important;
}

/* Ligne de progression (bleu plein) */
.cpn-timeline .jet-timeline__line-progress {
  display: block !important;
  width: 100%;
  background: #008298 !important;
  opacity: 1 !important;
  z-index: 1;
  border: 0 !important;
}

/* Halo bleu transparent derrière l'icône active */
.cpn-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon {
  position: relative;
  z-index: 2;
}

.cpn-timeline
  .jet-timeline-item.is--active
  .timeline-item__point-content--icon::before {
  content: "";
  position: absolute;
  left: 50%; 
  top: 50%;
  transform: translate(-50%, -50%) scale(1.5);
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: rgba(0, 130, 152, 0.40);
  z-index: -1;
  pointer-events: none;
}

/* Cercles des icônes - PAS de background */
.cpn-timeline .timeline-item__point {
  background: transparent !important;
  border: 0 !important;
}

/* L'icône reste transparente */
.cpn-timeline .timeline-item__point-content--icon {
  background: transparent !important;
  border: 0 !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Icônes en blanc - Desktop 48px */
.cpn-timeline .timeline-item__point-content--icon svg,
.cpn-timeline .timeline-item__point-content--icon svg path,
.cpn-timeline .timeline-item__point-content--icon svg g,
.cpn-timeline .timeline-item__point-content--icon i {
  color: #F8F8F8 !important;
  stroke: #F8F8F8 !important;
  fill: none !important;
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
}

/* Titres en bleu CPN */
.cpn-timeline .jet-timeline-item__card-title,
.cpn-timeline .jet-timeline-item__card-title h3,
.cpn-timeline .jet-timeline-item__meta-title {
  color: #008298 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 1.2 !important;
  margin-bottom: 24px !important;
}

/* Contenu texte en bleu foncé */
.cpn-timeline .jet-timeline-item__card-desc,
.cpn-timeline .jet-timeline-item__card-desc p,
.cpn-timeline .jet-timeline-item__meta-content,
.cpn-timeline .jet-timeline-item__card-desc div {
  color: #184652 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 21.76px !important;
  margin-bottom: 16px !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

/* Texte en gras */
.cpn-timeline .jet-timeline-item__card-desc strong,
.cpn-timeline .jet-timeline-item__card-desc b {
  font-weight: 600 !important;
  color: #184652 !important;
}

/* Boutons */
.cpn-timeline .jet-timeline-item__card-btn,
.cpn-timeline .jet-timeline-item__meta-btn {
  background: #008298 !important;
  color: #F8F8F8 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  padding: 14px 24px !important;
  border-radius: 30px !important;
  border: 0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
  transition: all 0.3s ease !important;
}

.cpn-timeline .jet-timeline-item__card-btn:hover,
.cpn-timeline .jet-timeline-item__meta-btn:hover {
  background: #006d7f !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 130, 152, 0.2) !important;
}

/* Icône flèche après le bouton */
.cpn-timeline .jet-timeline-item__card-btn::after,
.cpn-timeline .jet-timeline-item__meta-btn::after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4l5 5-5 5M15 9H3' stroke='%23F8F8F8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 4px;
}

/* Espacements entre items */
.cpn-timeline .jet-timeline-item {
  margin-bottom: 88px !important;
  padding-bottom: 44px !important;
}

.cpn-timeline .jet-timeline-item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Cards */
.cpn-timeline .jet-timeline-item__card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Meta content */
.cpn-timeline .jet-timeline-item__meta {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ============================================
   RESPONSIVE TIMELINE CPN
   ============================================ */

/* Tablette */
@media (max-width: 768px) {
  /* Ligne verticale - ajustée pour icônes 38px */
  .cpn-timeline .jet-timeline__line {
    left: 19px !important; /* 38/2 = 19 */
  }
  
  .cpn-timeline .timeline-item__point-content--icon,
  .cpn-timeline .timeline-item__point-content--icon svg,
  .cpn-timeline .timeline-item__point-content--icon i {
    width: 28px !important;
    height: 28px !important;
    max-width: 38px !important;
    max-height: 38px !important;
  }
  
  .cpn-timeline .jet-timeline-item__card-title,
  .cpn-timeline .jet-timeline-item__card-title h3,
  .cpn-timeline .jet-timeline-item__meta-title {
    font-size: 26px !important;
    margin-bottom: 20px !important;
  }
  
  .cpn-timeline .jet-timeline-item {
    margin-bottom: 60px !important;
    padding-bottom: 30px !important;
  }
}

/* Mobile */
@media (max-width: 480px) {
  /* Ligne verticale - ajustée pour icônes 32px */
  .cpn-timeline .jet-timeline__line {
    left: 12px !important; /* 32/2 = 16 */
  }
  
  .cpn-timeline .timeline-item__point-content--icon,
  .cpn-timeline .timeline-item__point-content--icon svg,
  .cpn-timeline .timeline-item__point-content--icon i {
    width: 24px !important;
    height: 24px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }
  
  .cpn-timeline .jet-timeline-item__card-title,
  .cpn-timeline .jet-timeline-item__card-title h3,
  .cpn-timeline .jet-timeline-item__meta-title {
    font-size: 22px !important;
    margin-bottom: 16px !important;
  }
  
  .cpn-timeline .jet-timeline-item__card-desc,
  .cpn-timeline .jet-timeline-item__card-desc p,
  .cpn-timeline .jet-timeline-item__meta-content {
    font-size: 14px !important;
    line-height: 19px !important;
    margin-bottom: 12px !important;
  }
  
  .cpn-timeline .jet-timeline-item__card-btn,
  .cpn-timeline .jet-timeline-item__meta-btn {
    font-size: 14px !important;
    padding: 12px 20px !important;
    width: 100% !important;
    justify-content: center !important;
  }
  
  .cpn-timeline .jet-timeline-item {
    margin-bottom: 48px !important;
    padding-bottom: 24px !important;
  }
}

/* ============================================
   EPSYTERA - Boutons liens uniformisés
   À ajouter dans : Apparence > Personnaliser > CSS additionnel
   ============================================ */

/* === LIENS INTERNES ET BOUTONS RETOUR === */
/* Les classes sont sur le wrapper, on cible le bouton à l'intérieur */
.lien-interne .elementor-button,
.button-retour .elementor-button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    text-decoration: underline !important;
    transition: opacity 0.3s ease;
}

.lien-interne .elementor-button:hover,
.button-retour .elementor-button:hover {
    text-decoration: underline !important;
}

/* Couleurs par établissement - cibler le bouton dans le wrapper */
.color-epsytera .elementor-button,
.color-epsytera .elementor-button:focus,
.color-epsytera .elementor-button:active { 
    color: #002149 !important; 
}
.color-epsytera .elementor-button:hover {
    color: #001530 !important;
}

.color-cpn .elementor-button,
.color-cpn .elementor-button:focus,
.color-cpn .elementor-button:active { 
    color: #008298 !important; 
}
.color-cpn .elementor-button:hover {
    color: #184652 !important;
}

.color-ravenel .elementor-button,
.color-ravenel .elementor-button:focus,
.color-ravenel .elementor-button:active { 
    color: #747C2B !important; 
}
.color-ravenel .elementor-button:hover {
    color: #5B5937 !important;
}

/* Variante claire pour boutons sur fonds colorés */
.color-light .elementor-button,
.color-light .elementor-button:focus,
.color-light .elementor-button:active { 
    color: #FFFFFF !important; 
}
.color-light .elementor-button:hover {
    color: #FFFFFF !important;
    opacity: 0.85;
}

/* Variante claire spécifique Ravenel (fond olive) */
.color-light-ravenel .elementor-button,
.color-light-ravenel .elementor-button:focus,
.color-light-ravenel .elementor-button:active { 
    color: #FFFFFF !important; 
}
.color-light-ravenel .elementor-button:hover {
    color: #FFFFFF !important;
    opacity: 0.85;
}



/* Icône flèche droite pour lien-interne */
.lien-interne .elementor-button::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 12px;
    background-color: currentColor;
    flex-shrink: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M17.792 11.7126C17.6982 11.6254 17.6238 11.5215 17.573 11.4072C17.5223 11.2928 17.4961 11.1701 17.4961 11.0461C17.4961 10.9222 17.5223 10.7995 17.573 10.6851C17.6238 10.5707 17.6982 10.4669 17.792 10.3796L21.4224 6.97207L1.00011 6.97207C0.734865 6.97207 0.480483 6.87317 0.292926 6.69712C0.105369 6.52108 0 6.28231 0 6.03335C0 5.78438 0.105369 5.54561 0.292926 5.36957C0.480483 5.19352 0.734865 5.09462 1.00011 5.09462L21.4124 5.09462L17.792 1.69643C17.6748 1.61597 17.5776 1.51252 17.5073 1.39326C17.437 1.27401 17.3952 1.14182 17.3848 1.00587C17.3744 0.869922 17.3957 0.733483 17.4472 0.606033C17.4986 0.478584 17.579 0.363182 17.6828 0.267848C17.7866 0.172513 17.9112 0.0995336 18.0481 0.0539807C18.185 0.00842777 18.3307 -0.00860586 18.4753 0.0040639C18.6199 0.0167337 18.7598 0.0588027 18.8853 0.127347C19.0108 0.195892 19.1189 0.289268 19.2021 0.400986L23.1225 4.08079C23.6844 4.60883 24 5.3246 24 6.07089C24 6.81718 23.6844 7.53296 23.1225 8.06099L19.2021 11.7408C19.0108 11.912 18.7551 12.0051 18.4908 11.9998C18.2266 11.9945 17.9753 11.8913 17.792 11.7126Z'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M17.792 11.7126C17.6982 11.6254 17.6238 11.5215 17.573 11.4072C17.5223 11.2928 17.4961 11.1701 17.4961 11.0461C17.4961 10.9222 17.5223 10.7995 17.573 10.6851C17.6238 10.5707 17.6982 10.4669 17.792 10.3796L21.4224 6.97207L1.00011 6.97207C0.734865 6.97207 0.480483 6.87317 0.292926 6.69712C0.105369 6.52108 0 6.28231 0 6.03335C0 5.78438 0.105369 5.54561 0.292926 5.36957C0.480483 5.19352 0.734865 5.09462 1.00011 5.09462L21.4124 5.09462L17.792 1.69643C17.6748 1.61597 17.5776 1.51252 17.5073 1.39326C17.437 1.27401 17.3952 1.14182 17.3848 1.00587C17.3744 0.869922 17.3957 0.733483 17.4472 0.606033C17.4986 0.478584 17.579 0.363182 17.6828 0.267848C17.7866 0.172513 17.9112 0.0995336 18.0481 0.0539807C18.185 0.00842777 18.3307 -0.00860586 18.4753 0.0040639C18.6199 0.0167337 18.7598 0.0588027 18.8853 0.127347C19.0108 0.195892 19.1189 0.289268 19.2021 0.400986L23.1225 4.08079C23.6844 4.60883 24 5.3246 24 6.07089C24 6.81718 23.6844 7.53296 23.1225 8.06099L19.2021 11.7408C19.0108 11.912 18.7551 12.0051 18.4908 11.9998C18.2266 11.9945 17.9753 11.8913 17.792 11.7126Z'/%3E%3C/svg%3E") no-repeat center;
}

/* Icône flèche gauche pour button-retour */
.button-retour .elementor-button::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 12px;
    background-color: currentColor;
    flex-shrink: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M6.20804 11.7126C6.30178 11.6254 6.37618 11.5215 6.42696 11.4072C6.47773 11.2928 6.50387 11.1701 6.50387 11.0461C6.50387 10.9222 6.47773 10.7995 6.42696 10.6851C6.37618 10.5707 6.30178 10.4669 6.20804 10.3796L2.57764 6.97207L22.9999 6.97207C23.2651 6.97207 23.5195 6.87317 23.7071 6.69712C23.8946 6.52108 24 6.28231 24 6.03335C24 5.78438 23.8946 5.54561 23.7071 5.36957C23.5195 5.19352 23.2651 5.09462 22.9999 5.09462L2.58764 5.09462L6.20804 1.69643C6.32525 1.61597 6.42238 1.51252 6.49269 1.39326C6.56301 1.27401 6.6048 1.14182 6.61519 1.00587C6.62558 0.869922 6.6043 0.733483 6.55284 0.606033C6.50138 0.478584 6.42096 0.363182 6.31718 0.267848C6.21341 0.172513 6.08876 0.0995336 5.9519 0.0539807C5.81504 0.00842777 5.66926 -0.00860586 5.52468 0.0040639C5.3801 0.0167337 5.24019 0.0588027 5.11468 0.127347C4.98917 0.195892 4.88107 0.289268 4.79788 0.400986L0.877455 4.08079C0.31559 4.60883 0 5.3246 0 6.07089C0 6.81718 0.31559 7.53296 0.877454 8.06099L4.79788 11.7408C4.9892 11.912 5.24492 12.0051 5.50915 11.9998C5.77339 11.9945 6.02465 11.8913 6.20804 11.7126Z'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M6.20804 11.7126C6.30178 11.6254 6.37618 11.5215 6.42696 11.4072C6.47773 11.2928 6.50387 11.1701 6.50387 11.0461C6.50387 10.9222 6.47773 10.7995 6.42696 10.6851C6.37618 10.5707 6.30178 10.4669 6.20804 10.3796L2.57764 6.97207L22.9999 6.97207C23.2651 6.97207 23.5195 6.87317 23.7071 6.69712C23.8946 6.52108 24 6.28231 24 6.03335C24 5.78438 23.8946 5.54561 23.7071 5.36957C23.5195 5.19352 23.2651 5.09462 22.9999 5.09462L2.58764 5.09462L6.20804 1.69643C6.32525 1.61597 6.42238 1.51252 6.49269 1.39326C6.56301 1.27401 6.6048 1.14182 6.61519 1.00587C6.62558 0.869922 6.6043 0.733483 6.55284 0.606033C6.50138 0.478584 6.42096 0.363182 6.31718 0.267848C6.21341 0.172513 6.08876 0.0995336 5.9519 0.0539807C5.81504 0.00842777 5.66926 -0.00860586 5.52468 0.0040639C5.3801 0.0167337 5.24019 0.0588027 5.11468 0.127347C4.98917 0.195892 4.88107 0.289268 4.79788 0.400986L0.877455 4.08079C0.31559 4.60883 0 5.3246 0 6.07089C0 6.81718 0.31559 7.53296 0.877454 8.06099L4.79788 11.7408C4.9892 11.912 5.24492 12.0051 5.50915 11.9998C5.77339 11.9945 6.02465 11.8913 6.20804 11.7126Z'/%3E%3C/svg%3E") no-repeat center;
}

/* Soulignement des liens de téléchargement (JetEngine dynamic field) */
.elementor .jet-listing-dynamic-field__content a {
    text-decoration: underline !important;
    text-decoration-color: var(--e-global-color-f48a5dd) !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    transition: text-decoration-thickness 0.2s ease;
}
.elementor .jet-listing-dynamic-field__content a:hover {
    text-decoration: underline !important;
    text-decoration-color: var(--e-global-color-f48a5dd) !important;
    text-decoration-thickness: 2.5px;
}

/* Soulignement du sous-label téléchargement (JetEngine download widget) */
.elementor .jet-download__sub-label {
    text-decoration: underline !important;
    text-decoration-color: var(--e-global-color-f48a5dd) !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
}
.elementor .jet-download__sub-label:hover {
    text-decoration: underline !important;
    text-decoration-color: var(--e-global-color-f48a5dd) !important;
    text-decoration-thickness: 2.5px;
}

/* ============================================
   CORRECTIFS RAPPORT DE BUGS — Avril 2026
   ============================================ */

/* Bug #12 — Icône SVG suit la couleur du texte au hover sur boutons fond coloré */
.elementor-button svg,
.elementor-button svg path {
    fill: currentColor;
    transition: fill 0.3s ease;
}
.elementor-button:hover svg,
.elementor-button:hover svg path {
    fill: currentColor !important;
}

/* Bug #13 — Footer bouton urgences : hover + suppression ombre CHR */
footer .elementor-button[href*="urgence"],
footer a[href*="urgence"] {
    transition: all 0.3s ease;
    box-shadow: none !important;
}
footer .elementor-button[href*="urgence"]:hover,
footer a[href*="urgence"]:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

/* Bug #19 — Galerie Filebird bords arrondis en bas */
.filebird-block-filebird-gallery .blocks-gallery-item figure,
.filebird-block-filebird-gallery figure {
    border-radius: 26px !important;
    overflow: hidden !important;
}
.filebird-block-filebird-gallery .blocks-gallery-item__caption {
    border-bottom-left-radius: 26px !important;
    border-bottom-right-radius: 26px !important;
}

/* Bug #29 — Texte "Filtrer par" non cliquable : cursor default */
.jet-smart-filters-label,
.jet-filter-label,
.jet-smart-filters .jet-filters-label {
    cursor: default !important;
    pointer-events: none;
}

/* Bug #31 — Supprimer le hover sur le type de pathologie (non cliquable) */
.sante-pathologie__type,
.pathologie-type-tag,
.jet-listing-dynamic-field__content [class*="pathologie-type"] {
    cursor: default !important;
}
.sante-pathologie__type:hover,
.pathologie-type-tag:hover {
    text-decoration: none !important;
    color: inherit !important;
}

/* Bug #39 — Suppression du contour au clic sur les cartes structure */
.structure-finder__map *:focus,
.structure-finder__map *:active,
.leaflet-container *:focus,
.leaflet-container *:active,
.gm-style *:focus,
.gm-style *:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Bug #41 — Transition fluide des onglets : angles toujours arrondis + pas de flash */
.e-n-tabs-heading .e-n-tab-title {
    border-radius: 30px !important;
    transition: all 0.3s ease !important;
}
.e-n-tabs-content > .e-con {
    transition: opacity 0.3s ease !important;
}
.e-n-tabs-content > .e-con[hidden] {
    display: block !important;
    opacity: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    pointer-events: none;
}
.e-n-tabs-content > .e-con:not([hidden]) {
    opacity: 1;
    height: auto;
    position: relative;
    pointer-events: auto;
}