.elementor-kit-4{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#373D8A;--e-global-color-226b0b4:#B7B0B0;--e-global-color-eadc74c:#FAFAFA;--e-global-color-647cd89:#F5F7FA;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Outfit";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-c4b9acc-font-family:"Outfit";--e-global-typography-c4b9acc-font-size:20px;font-family:"Nunito", Sans-serif;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{font-family:"Nunito", Sans-serif;}.elementor-kit-4 h1{font-family:"Outfit", Sans-serif;font-weight:500;}.elementor-kit-4 h2{font-family:"Outfit", Sans-serif;}.elementor-kit-4 h4{font-family:"Outfit", Sans-serif;}.elementor-kit-4 h6{font-family:"Outfit", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ====== Highpoh – Titre aligné gauche avec souligné (accent à gauche) ====== */
:root{
  --hp-accent: #6C63FF;        /* couleur du segment à gauche */
  --hp-divider-color: #D7DAE0; /* gris de la ligne à droite */
  --hp-h3-max: 30px;           /* taille max pour les h3 */
}

.hp-title{
  position: relative;
  text-align: left;
  font-weight: 800;
  font-size: clamp(22px, 3.2vw, var(--hp-h3-max));
  line-height: 1.05;
  margin: 20px 0 15px;
  padding-bottom: 22px; /* espace pour le souligné */
}

/* Ligne grise qui se prolonge vers la droite */
.hp-title::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;
  width: clamp(160px, 32vw, 360px);
  height: 1px;
  background: var(--hp-divider-color);
}

/* Segment coloré qui démarre à gauche (plus épais) */
.hp-title::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px; /* chevauche léger de la ligne grise */
  width: clamp(38px, 8vw, 72px);
  height: 4px;
  border-radius: 2px;
  background: var(--hp-accent);
}

/* Sécurité : masquer si le titre est vide */
.hp-title:empty{ display:none; }

/* Citation */
.hp-quote{
  position: relative;
  margin: 16px 0 32px;
  padding: 18px 20px 16px 22px;
  border-left: 4px solid var(--hp-accent);
  background: #F7F8FA;
  border-radius: 10px;
}
.hp-quote p{
  margin: 0 0 10px 0;
  line-height: 1.65;
}
.hp-quote cite{
  display: block;
  margin-top: 6px;
  font-style: normal;
  opacity: .8;
}

/* ====== Variante : hp-title sans espace haut ====== */
/* Utilisation : <h2 class="hp-title hp-title--flush">Mon titre</h2> */
.hp-title--flush{
  margin: 0 0 15px;           /* supprime l’espace haut, conserve le bas */
  padding-bottom: 22px;       /* garde le souligné */
}

/* ================== HOME – PATCH COMPACT & WARM ================== */
/* Réduit les blancs et ajoute un léger rythme visuel */
.hp-home section{ padding: 28px 18px; }                 /* 40px -> 28px */
.hp-home section:nth-of-type(even){
  background: linear-gradient(180deg,#fff 0%,#fff 30%,#F9FAFC 100%);
  border-top: 1px solid #F1F3F6; border-bottom: 1px solid #F1F3F6;
}

/* Héro un peu plus ramassé */
.hp-home section:first-of-type{ padding: 56px 18px 36px; }
.hp-home section:first-of-type p{ max-width: 760px; }
.hp-home section:first-of-type p + p{ margin-top: 6px; }

/* Titres plus compacts sur la home */
.hp-home .hp-title{ margin: 18px 0 10px; }
.hp-home .hp-quote{ margin: 10px 0 24px; box-shadow: 0 6px 18px rgba(28,31,36,.06); }

/* Grilles plus serrées */
.hp-home section > div{ gap: 12px; }                     /* 16px -> 12px */
@media (min-width:960px){ .hp-home section > div{ gap: 14px; }}

/* Cartes compactes et plus chaudes au survol */
.hp-home section article{
  padding: 14px 14px 12px;                               /* 18px -> 14px */
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(28,31,36,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.hp-home section article:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(28,31,36,.10);
  background: #FFFFFF;
  border-color: rgba(108,99,255,.22);
}
.hp-home section article p{ margin: 6px 0 10px; line-height: 1.6; }

/* Boutons (liens) plus denses */
.hp-home section article p a,
.hp-home section:first-of-type p a,
.hp-home section:last-of-type p a{
  padding: 8px 12px; border-radius: 10px;
}
.hp-home section article p a:hover,
.hp-home section:first-of-type p a:hover,
.hp-home section:last-of-type p a:hover{
  transform: translateY(-1px);
}

/* ===== Corrige la ligne de soulignement qui déborde des cartes ===== */
.hp-home section article .hp-title{
  font-size: clamp(18px, 2vw, 24px);
  padding-bottom: 14px;  /* trait plus proche */
  margin: 8px 0 8px;
}
.hp-home section article .hp-title::before{ width: min(100%, 160px); }
.hp-home section article .hp-title::after{  width: min(64px, 45%);   bottom: 1px; height: 3px; }

/* Listes plus aérées mais compactes */
.hp-home ul{ padding-left: 1em; }
.hp-home ul li{ margin: 4px 0; line-height: 1.6; }

/* Séparateur visuel léger avant chaque grande section (sauf la 1ère) */
.hp-home section + section .hp-title.hp-title{          /* double sélecteur = priorité douce */
  margin-top: 8px;
}
.hp-home section + section .hp-title::before{ opacity: .55; }
.hp-home section + section .hp-title::after{ opacity: .9; }

/* Accessibilité : transitions réduites si demandé par l’OS */
@media (prefers-reduced-motion: reduce){
  .hp-home *{ transition: none !important; }
}
/* 2) Mouvement et surlignage des blocs Services */
.service-itema {
  transition: transform 0.3s ease, border-color 0.3s ease;
  border-bottom: 5px solid #ffffff; /* bordure initiale */
  border-left: 5px solid #f5f5f5; /* bordure initiale */
  
}
.service-itema:hover {
  transition: transform 0.3s ease, border-color 0.3s ease;
  border-bottom: 2px solid #6C63FF; /* bordure initiale */
  transform: translateY(-10px);        /* soulèvement */
  border-color: #2eca6a;               /* couleur accent */
}
/* 2) Mouvement et surlignage des blocs Services */
.service-item {
  transition: transform 0.3s ease, border-color 0.3s ease;
  border-bottom: 2px solid #ffffff; /* bordure initiale */
}
.service-item:hover {
  transition: transform 0.3s ease, border-color 0.3s ease;
  border-bottom: 2px solid #6C63FF; /* bordure initiale */
  transform: translateY(-10px);        /* soulèvement */
}

/* Neutraliser les couleurs automatiques de WordPress */
.has-vivid-red-color,
.elementor-widget-text-editor a.has-vivid-red-color {
  color: var(--hp-accent) !important;
}

/* Et lien standard */
.elementor-widget-text-editor a {
  color: var(--hp-accent);
  text-decoration: underline;
}

.elementor-widget-text-editor a:hover {
  color: #4e46d4;
}/* End custom CSS */