/*
===========================================================
 Divi Enfant - DiviKit
-------------------------------------------
 Author: DrakMaker
 Template: Divi
 Description: Thème principal
===========================================
*/


/* =========================================================
   BASE & FONDATIONS
   ======================================================== */

/* ==============  SÉLECTION ================= */

/* --- Couleur de sélection du texte --- */
::selection {
  background-color: var(--brandColor);
  color: #FFF;
}

/* --- Compatibilité Firefox --- */
::-moz-selection {
  background-color: var(--brandColor);
  color: #FFF;
}

/* --- FONT --------------- */
@font-face {
  font-family: 'FunnelDisplay-SemiBold';
  src: url('/fonts/FunnelDisplay-SemiBold.otf') format('opentype'),
       url('/fonts/FunnelDisplay-SemiBold.woff') format('woff'),
       url('/fonts/FunnelDisplay-SemiBold.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins-Regular';
  src: url('/fonts/Poppins-Regular.otf') format('opentype'),
       url('/fonts/Poppins-Regular.woff') format('woff'),
       url('/fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}




/* ============== VARIABLES ================= */

:root {
  /* --- Couleurs principales --- */
  --anthracite: #161719;
  --anthraciteMoyen: #212226;
  --anthraciteClair: #2b2e33;
  --brandColor: #FF5500;
  --brandColorPale: #e5e5ff;
  --grisClair: #f9f9f9;
  --grisMoyen: #f3f3f3;

  /* --- Couleurs d’accent --- */
  --accent1: #ffea00;
  --accent1Pale: #ffffcc;
  --accent2: #0cf2a6;
  --accent2Pale: #d9ffec;

 /* --- Typographies --------------------------------------------------- */
 --fontMain: "Poppins", sans-serif;
 --fontHeading: "FunnelDisplay-SemiBold", sans-serif !important;


  /* --- Rayons, ombres, effets --- */
  --borderRadius: 0.66em;
  --ombrePortee: 0 10px 40px rgba(0, 0, 0, 0.05);
  --ombrePorteeForte: 0 10px 40px rgba(0, 0, 0, 0.08);
  --transition: all 0.3s ease-in-out;
  --agrandissement: scale(1.01);

  /* --- Échelles de tailles --- */
  --sizeNA: 0;
  --sizeXS: 0.5rem;  /* ~8px */
  --sizeS:  1rem;    /* ~16px */
  --sizeM:  1.5rem;  /* ~24px */
  --sizeL:  2rem;    /* ~32px */
  --sizeXL: 3rem;    /* ~48px */
}

/* ========= TOKENS (MOBILE) ========= */
@media (max-width: 767px){
  :root{
    --sizeNA: 0;
    --sizeXS: 0.5rem;  /* 8px */
    --sizeS:  0.75rem; /* 12px */
    --sizeM:  1.25rem; /* 20px */
    --sizeL:  1.75rem; /* 28px */
    --sizeXL: 2.5rem;  /* 40px */
  }
}




/* =========================================================
   LAYOUT GLOBAL
   ======================================================== */

/* ============== CONTAINERS ================= */

/* --- Largeurs de conteneurs --- */
#top-header .container,
header .container,
footer .container,
.et_pb_row,
.et_pb_post_title .et_pb_title_container,
.et_pb_fullwidth_header .et_pb_fullwidth_header_container {
  max-width: 1500px;
  width: 90%;
}

/* --- Helper pleine largeur --- */
.fullWidth {
  width: 100% !important;
  max-width: 99%;
}


/* =========================================================
   TYPOGRAPHIE
   ======================================================== */

/* ============== TEXTE GLOBAL ================= */

body,
.et_pb_module .et_pb_text_inner,
.et_pb_module .et_pb_text_inner p,
.et_pb_module .et_pb_text_inner span {
  font-family: var(--fontMain);
  line-height: 1.5em;
  font-weight: 400 !important;
}

.et_pb_module .et_pb_text_inner p {
  margin: 0 0 var(--sizeXS);
}

.et_pb_module strong {
  font-weight: 500 !important;
}

.et_pb_module small {
  font-size: 0.8em ;
}


/* ============== TITRES ================= */

/*-- styles titres --*/
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6,
.et_pb_module h1 span,
.et_pb_module h2 span,
.et_pb_module h3 span,
.et_pb_module h4 span,
.et_pb_module h5 span,
.et_pb_module h6 span {
  font-family: var(--fontHeading);
  line-height: 1.3em !important;
  font-weight: 500;
  padding-bottom: 0.5em;
}

/*-- calibrage --*/
.et_pb_module h1 {font-size: 3em}
.et_pb_module h2 {font-size: 2em;}
.et_pb_module h3 {font-size: 1.333em}
.et_pb_module h4 {font-size: 1em}
.et_pb_module h5 {font-size: 1em}
.et_pb_module h6 {font-size: 1em}

/*-- calibrage mobile--*/
@media (max-width: 600px) {
  .et_pb_module h1 {font-size: 2em ;}
  .et_pb_module h2 {font-size: 1.5em !important;}
  .et_pb_module h3 {font-size: 1.25em}
  .et_pb_module h4 {font-size: 1em}
  .et_pb_module h5 {font-size: 1em}
  .et_pb_module h6 {font-size: 1em}
}

/* ======== BLOCKQUOTE & SÉPARATEURS =========== */
 
blockquote { border-color: var(--brandColor);}

hr {
  border: none;
  border-top: 1px solid var(--grisClair);
  margin: 1em 0 1.5em;
}


/* ============== SUR TITRES ================= */

.surTitre {
  font-weight: 400 !important;
  font-size: 0.9em;
}
.surTitre:before {
  content:"— ";
  color: var(--brandColor);
}

/* ============== LIENS ================= */

/* Soulignement animé uniquement dans les blocs de texte Divi */
.et_pb_module p a {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: var(--brandColor);
}
.et_pb_module p a:hover {
  color: var(--brandColor);
}

/* Liens dans les titres : sans soulignement */
.et_pb_module h1 a,
.et_pb_module h2 a,
.et_pb_module h3 a,
.et_pb_module h4 a,
.et_pb_module h5 a,
.et_pb_module h6 a {
}

/* Hover des liens de titres */
.et_pb_module h1 a:hover,
.et_pb_module h2 a:hover,
.et_pb_module h3 a:hover,
.et_pb_module h4 a:hover,
.et_pb_module h5 a:hover,
.et_pb_module h6 a:hover {
}

/* Masquer séparateur meta DSM */
.dsm-meta-seperator {
  display: none;
}


/* =========================================================
   MODULES DIVI
   ======================================================== */

/* ============== HEADER ================= */

/* --- Menu principal --- */
nav ul li a {
  font-weight: 400;
  opacity: 1 !important;
}

nav ul li a:hover {
  color: var(--brandColor) !important;
}

nav ul li a:after {
  color: var(--brandColor);
}

.menu-item-44156 a:before {
  content: "+";
  color: var(--brandColor);
  display: inline-block;
  margin-right: 3px;
  font-weight: bold;
  font-size: 16px;
}

@media only screen and (min-width: 981px) {
  .cta-menu a {
   color: var(--anthracite) !important;
   border-radius: var(--borderRadius) !important;
   background-color: #FFFFFF!important;
   border-color: var(--brandColor) !important;
   padding: 0.7em 1.2em !important;
   font-size: 16px !important;
   font-weight: 500;
  }
  .cta-menu a:hover {
   color: #FFF !important;
   background-color: var(--brandColor) !important;
   border-color: var(--brandColor) !important;
  }
}


/* ============== FOOTER ================= */

footer p {
  line-height: 1.8em !important;
}

footer small {
  font-size: 15px !important;
}

footer p a {
  text-decoration : none !important;
}

footer p a:hover {
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  text-decoration-color: var(--brandColor) !important;
}


/* ============== IMAGES ================= */

.header-image img,
.et_pb_image img,
.et_portfolio_image img,
.dsm-entry-thumbnail img {
  border-radius: var(--borderRadius);
}

/* Images sans arrondi si besoin */
.sans-border-radius img {
  border-radius: 0px !important;
}

/* ==============  FORMULAIRES ================= */

input,
textarea {
  background-color: var(--grisClair) !important;
  border-radius: var(--borderRadius) !important;
  border: none !important;
  transition: 0.3s ease;
  font-size: 17px !important;
}

input:focus {
  background-color: var(--grisMoyen) !important;
}

.et_contact_bottom_container {
  margin-top: 1em;
}

.et_pb_contact_submit {
  max-height: 50px;
}

.et_pb_contact_form {
  margin-left: 0 !important;
}

p.et_pb_contact_field {
  margin-bottom: 1.333em;
  padding: 0;
}

p.et_pb_contact_field_half {
  padding-right: 1em;
}

/* ==============  BOUTONS ================= */
.et_pb_button:after{
  font-family: "ETmodules" !important;
  content: "\35" !important; /* icône flèche Divi (souvent) */
  speak: none;
  font-weight: normal;
  font-style: normal;
}

/* Variante bouton gris */
.btnGris {
  background-color: var(--grisMoyen) !important;
  color: var(--anthracite) !important;
  border-color: var(--grisMoyen)!important;
}

.btnGris:hover {
  background-color: var(--brandColor) !important;
  color: #FFF !important;
  border-color: var(--brandColor)  !important;
}

.et_pb_button:hover:after {
  color: #FFF !important;
}


/* ============== EN-TÊTE FULLWIDTH ================= */

.et_pb_fullwidth_header {}

.et_pb_fullwidth_header .et_pb_module_header {
  font-size: 1em;
  color:#FFF !important;
  font-weight: 500;
  font-family: var(--fontMain) !important;
}
.et_pb_fullwidth_header .et_pb_module_header:before {
  content:"- ";
  color: var(--brandColor);
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  font-size: 3em;
  font-weight: 500;
  margin-bottom: 0.5em;
  margin-top: 0.4em;
  line-height: 1.1em;
  font-family: var(--fontHeading);
}

@media (max-width: 600px) {
  .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  font-size: 2em;
  }
}

.et_pb_fullwidth_header .et_pb_header_content_wrapper p {}

.et_pb_fullwidth_header .header-image {
  margin: 0px;
  text-align: right;
}

.et_pb_fullwidth_header .header-image img {
  max-height: 500px;
  width: auto !important;
}

.et_pb_fullwidth_header .et_pb_button { 
  margin-top: var(--sizeL);
}

/* ============== EN-TÊTE POST TITLE ================= */
.et_pb_post_title h1 {
  font-size: 3em !important;
}


/* ==============  SLIDER ================= */

.et-pb-slider-arrows .et-pb-arrow-prev,
.et-pb-slider-arrows .et-pb-arrow-next {
  background-color: var(--brandColor);
  border-radius: 8px;
}

.et-pb-slider-arrows .et-pb-arrow-prev:before,
.et-pb-slider-arrows .et-pb-arrow-next:before {
  color: #fff;
}

/* ==============  TOGGLE & ACCORDÉON ================= */

.et_pb_toggle {
  border: none;
  border-bottom: 1px solid var(--grisMoyen) !important;
  color: var(--anthracite) !important;
  margin-bottom: 0em !important;
  transition: var(--transition);
  background: none;
  padding: var(--sizeM) 0;
}

.et_pb_toggle_title {
  color: var(--anthracite);
}

.et_pb_toggle_title:before {
  color: var(--brandColor);
}


/* ==============  PORTFOLIO FILTRABLE ================= */

.et_pb_filterable_portfolio .et_pb_portfolio_item .et_overlay {
  background-color: var(--anthracite);
  opacity: 0.8;
  border-radius: var(--borderRadius);
  border: none;
  transition: var(--transition);
}

/* Effet de transition fluide sur le portfolio */
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_overlay {
  opacity: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

/* Apparition au survol */
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_overlay {
  opacity: 0.9;
}

.et_pb_filterable_portfolio .et_pb_portfolio_item .et_overlay:before {
  color: var(--brandColor) !important;
  opacity: 1;
}

/* Filtres portfolio */
.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li {
margin-right: 0.5em;
margin-bottom: 0.5em;
width: auto !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  background-color: var(--grisClair);
  border-radius: var(--borderRadius) !important;
  text-decoration: none !important;
  border: none;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active {
  background-color: var(--anthracite);
  color: #fff;
}


/* ============== BLOG ================= */

/* Thumbnail */
article.has-post-thumbnail a img {
  border-radius: var(--borderRadius);
}

/*  ---- META ---- */

.post-meta,
.dsm-posted-category {
  color: #fff !important;
}

.post-meta a,
.dsm-posted-category a {
  background-color: var(--grisMoyen);
  display: inline-block;
  padding: 7px 10px 7px 7px;
  border-radius: 30px;
  color: var(--anthraciteMoyen);
  text-decoration: none;
  font-size: 13px;
  margin: var(--sizeXS) 0;
  line-height: 13px;
}

.post-meta a:before,
.dsm-posted-category a:before {
  content: "•";
  color: var(--brandColor);
  font-weight: 600;
  font-size: 20px;
  margin-right: 0.25em;
  vertical-align: -3px;
}



/* ============== PRICING TABLE ================= */

.et_pb_pricing > * {
  border: none !important;
}

/* Boîte principale */
.et_pb_pricing_table {
  border: 1px solid var(--grisMoyen);
  background-color: #fff;
  border-radius: var(--borderRadius);
  box-shadow: var(--ombrePortee);
}

/* En-tête */
.et_pb_pricing_heading {
  background-color: var(--anthraciteMoyen);
  border-radius: var(--borderRadius) var(--borderRadius) 0 0;
  padding: 2em 1em;
}

/* titre */
.et_pb_pricing_heading .et_pb_pricing_title:before {
  content: "•";
  color: var(--brandColor);
  display: inline-block;
  margin-right: 5px;
}

/* Table mise en avant */
.et_pb_featured_table .et_pb_pricing_heading {
  background-color: var(--brandColor);
}

/* Label "à la une" */
span.et_pb_best_value {
  color: #fff;
}

/* Bloc supérieur (prix + fréquence) */
.et_pb_pricing_content_top {
  border-bottom: 1px solid var(--grisMoyen);
  padding: 1em;
  color: var(--anthracite);
}

/* Content offre */
.et_pb_pricing_content {
  padding: 15px 30px;
}

/* Prix */
.et_pb_et_price,
.et_pb_sum {
  font-size: 1.5em !important;
  color: var(--anthracite) !important;
  font-weight: bold !important;
}

/* Symbole monétaire & fréquence */
.et_pb_dollar_sign,
.et_pb_frequency {
  font-size: 0.666em !important;
}

.et_pb_frequency:after {
  content: "*";
}

/* Slash */
.et_pb_frequency_slash {
  display: none;
}

/* Liste des avantages */
ul.et_pb_pricing li {
  padding: var(--sizeXS) var(--sizeM) 0 var(--sizeM);
}

/* Check icon des avantages */
.et_pb_pricing li span:before {
  border-color: var(--accent2);
}


/* ==============  CALL TO ACTION ================= */

.et_pb_promo {
  box-shadow: var(--ombrePortee);
  border-radius: var(--borderRadius);
  max-width: 900px;
  margin: auto;
}

.et_pb_promo_description {}
.et_pb_promo_description h2 {}
.et_pb_promo_description p {}
.et_pb_promo .et_pb_button_wrapper .et_pb_button {}
.et_pb_promo .et_pb_button_wrapper .et_pb_button:hover {}


/* ============== BLURB ================= */

.et_pb_blurb {}

.et_pb_blurb .et_pb_blurb_content {
  max-width: 100%;
  text-align: inherit;
}

.et_pb_blurb .et-pb-icon {
  color: var(--brandColor);
}
.et_pb_blurb_container {}

.et_pb_blurb_container .et_pb_module_header span {
  font-weight: 500 !important;
  font-size: 1em;
}


/* ============== TEAM MEMBER ================= */

.et_pb_team_member_image {
  max-width: 100%;
}
.et_pb_team_member_description .et_pb_member_position {
  margin-bottom: var(--sizeXS) !important;
  color: var(--brandColor) !important;
}


/* ============== TESTIMONIAL ================= */

.et_pb_testimonial {
  background: none !important;
  border: 1px solid var(--grisMoyen);
  border-radius: var(--borderRadius);
}

.et_pb_testimonial_description .et_pb_testimonial_content p {
  margin-bottom: var(--sizeXS) !important;
}

.et_pb_testimonial:before {
  color: var(--brandColor) !important;
}

.et_pb_testimonial_description .et_pb_testimonial_author {
  margin-top: 0;
  font-weight: 500;
}

.et_pb_testimonial_description .et_pb_testimonial_meta {
  margin-bottom: 0 !important;
}

.et_pb_testimonial_description .et_pb_testimonial_meta > * {
  font-size: 0.8em !important;
}


/* =========================================================
   MODULES DIVI SUPREME
   ======================================================== */

/* ==============  FIL ARIANE ================= */

.dsm_breadcrumbs a {
  text-decoration: none !important;
}


/* ==============  BLOG / POST / CARD CAROUSEL ================= */

/* Boîte principale + overflow pour le zoom image */
.dsm-blog-carousel-item,
.dsm-post-carousel-item,
.dsm_card_carousel_child {
  background-color: #FFF;
  border-radius: var(--borderRadius);
  overflow: hidden;
}

/* Image : état normal */
.dsm-blog-carousel-item img,
.dsm-post-carousel-item img,
.dsm_card_carousel_child_image_background img {
  transition: transform 0.6s ease;
  transform: scale(1);
}

/* Image : effet de survol (léger zoom) */
.dsm-blog-carousel-item:hover img,
.dsm-post-carousel-item:hover img,
.dsm_card_carousel_child:hover .dsm_card_carousel_child_image_background img {
  transform: scale(1.05);
}

/* Image (bord supérieur arrondi) */
.dsm-blog-carousel-item img,
.dsm-post-carousel-item img,
.dsm_card_carousel_child_image_background {
  border-radius: var(--borderRadius) var(--borderRadius) 0 0;
}

.dsm-blog-carousel-item .dsm-entry-wrapper,
.dsm-blog-carousel-item .dsm_card_wrapper,
.dsm-post-carousel-item .dsm_card_wrapper,
.dsm_card_wrapper {
  padding: 1em;
}

/* Titres dans les carrousels */
.dsm-blog-carousel-item,
.dsm-post-carousel-item,
.dsm_card_title {}

.dsm-blog-carousel-item:hover .dsm-entry-title a,
.dsm-post-carousel-item:hover .dsm-entry-title a,
.dsm_card_carousel_child:hover .dsm_card_title {
  color: var(--brandColor);
}


/* ==============  PAGINATION SWIPPER ================= */
.dsm_blog_carousel_wrapper .swiper-pagination,
.dsm_post_carousel_wrapper .swiper-pagination,
.dsm_card_carousel_wrapper .swiper-pagination {}

.swiper-pagination-bullet {
  background: var(--brandColor) !important;
}

.swiper-pagination-bullet-active {
  background: var(--brandColor) !important;
}

/* ==============  DSM IMAGE CAROUSEL ================= */
.dsm_image_carousel .dsm_image_carousel_item img {
  border-radius: var(--borderRadius);
}

/* ==============  DSM CARD CAROUSEL + BADGE ================= */
.dsm_card_carousel_child_badge_text {
  background: var(--brandColor);
  color: #FFF;
}


/* ==============  DSM ADVANCED TABS ================= */
/* NAV : wrapper des onglets */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper {
  margin: auto;
}

/* Onglet */
@media (min-width: 600px){
  .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab {
    margin-left: 1em;
    background: var(--grisClair) !important;
    border-radius: var(--borderRadius);
    padding: 0.5em 0.75em !important;
    font-size: 15px;
  }
}
@media (max-width: 600px){
  .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab {
    margin-left: 1em;
    background: var(--grisClair) !important;
    border-radius: var(--borderRadius);
    font-size: 15px;
    margin: auto;
  }
}

/* Onglet actif */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active {
  background: var(--anthracite) !important;
}

/* Titres & sous-titres d’onglet */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-title,
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-title-wrapper,
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-tab-subtitle {
  color: var(--anthraciteClair);
  font-weight: 400;;
  margin: auto;
}

@media (min-width: 600px){
  .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-image img {
    margin-top: 5px;
  } 
}
@media (max-width: 600px){
  .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-image img {
    margin-top: 10px !important;
  }
}

/* Hover sur onglet */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab:hover .dsm-title,
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab:hover .dsm-tab-subtitle {
  color: var(--anthracite);
}

/* Onglet actif (couleur texte) */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active .dsm-title,
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active .dsm-tab-subtitle {
  color: #FFF;
}

/* Wrapper du titre de l'onglet */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-title-wrapper {
  width: 80%;
}

/* Wrapper des panneaux */
/* TABS > Wrapper */
.dsm_advanced_tabs .dsm-inner-content-wrapper {
  background-color: var(--grisClair);
  border-radius: var(--borderRadius);
  padding: 0.5em;
}

/* Panneau de contenu */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-content-wrapper {
  border: none !important;
  background: none !important;
  margin-top: 2em;
  padding: 0px !important;
}

/* Wrapper interne (image + texte) */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-inner-content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

/* Titre du contenu du tab */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-title {
  font-size: 2em;
}

/* Colonnes internes */
.dsm_advanced_tabs .dsm-inner-content-wrapper > * {
  flex: 1 1 calc(50% - 1rem);
  box-sizing: border-box;
}

/* Colonne image */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-image  {
  padding-left: 10px !important;
}
@media (max-width: 768px) {
  .dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-image  {
    margin-bottom: 0px !important;
  }
}

.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-image img {
  border-radius: var(--borderRadius);
}

/* Colonne texte */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-inner-content {
  padding: 2em 3em 2em 2em;
}

/* H2 */
.dsm_advanced_tabs .dsm-advanced-tabs-content-wrapper .dsm-inner-content h2{
 font-size:1.5em;
}

/* Responsive : tabs en une colonne */
@media (max-width: 768px) {
  .dsm_advanced_tabs .dsm-inner-content-wrapper > * {
    flex: 1 1 100%;
  }
  .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab {
    width: 100%;
  }
  .dsm_advanced_tabs .dsm-content-wrapper {
    padding: 10px !important;
  }
  .dsm_advanced_tabs .dsm-inner-content {
    padding: 10px !important;
    margin-bottom: 10px !important;
  }
  .dsm_advanced_tabs .dsm-image {
    padding-bottom: 10px;
  }
}


/* ==============  DSM TOGGLE ================= */

.dsm_content_toggle .dsm-switch-inner {
  background-color: var(--grisClair)
}

.dsm-toggle-head-one,
.dsm-toggle-head-two {
  padding-bottom: 0px !important;
}

.dsm_content_toggle_0 .dsm-toggle-switch:checked + .dsm-switch-inner {
  background-color: var(--brandColor) !important;
}

.dsm_content_toggle {}
.dsm-content-toggle-front,
.dsm-content-toggle-back {
  background: none !important;
}



/* =========================================================
   PORTFOLIO EN GRILLE
   ======================================================== */

/* ==============  PORTFOLIO MULTI-COLONNES ================= */

@media only screen and (min-width: 768px) {
  .three-column-grid .et_pb_grid_item { width: 31% !important; margin: 0 3.5% 3.5% 0 !important; }
  .three-column-grid .et_pb_grid_item:nth-child(3n) { margin-right: 0 !important; }
  .three-column-grid .et_pb_grid_item:nth-child(3n+1) { clear: left; }
  .three-column-grid .et_pb_grid_item:nth-child(4n+1) { clear: unset !important; }
  .three-column-grid .et_pb_grid_item:nth-child(12n+1) { clear: both !important; }
}

/* Supprime l’animation d’apparition au filtrage */
.et_pb_filterable_portfolio .et_pb_portfolio_item {
  opacity: 1 !important;
  transform: none !important;
}

/* Supprime l’animation JS injectée par Divi */
.et_pb_filterable_portfolio .et_pb_portfolio_item.et_pb_animation_off {
  opacity: 1 !important;
  animation: none !important;
}

.et_pb_filterable_portfolio_items {
  height: auto !important;
}



/* =========================================================
   DARK MODE
   ======================================================== */

/* ==============  BASE DARK ================= */

.dark,
.dark body {
  background-color: var(--anthracite);
  color: #fff;
}

/* Textes & titres */
.dark .et_pb_module,
.dark .et_pb_module p,
.dark .et_pb_module span,
.dark .et_pb_module h1,
.dark .et_pb_module h2,
.dark .et_pb_module h3,
.dark .et_pb_module h4,
.dark .et_pb_module h5,
.dark .et_pb_module h6 {
  color: #fff;
}

/* Liens */
.dark .et_pb_module a {
  color: #FFF;
}

.dark .et_pb_module a:hover {
  color: var(--brandColor);
}

/* Séparateurs & blockquotes */
.dark hr {
  border-top: 1px solid var(--anthraciteClair);
}

.dark blockquote {
  border-left-color: var(--brandColor);
  color: #fff;
}

/* Formulaires */
.dark input,
.dark textarea {
  background-color: var(--anthraciteClair) !important;
  color: #fff !important;
}

.dark input:focus,
.dark textarea:focus {
  background-color: var(--anthraciteMoyen) !important;
  border: 1px solid var(--brandColor);
}

.dark .et_pb_button {
  background-color: var(--grisClair) !important;
  border-color : var(--grisClair) !important;
  color: var(--anthracite) !important;
}

.dark .et_pb_button:hover {
  background-color: var(--brandColor) !important;
  border-color : var(--brandColor) !important;
  color: #FFF;
}

.dark .et_pb_button::after {
  color : var(--brandColor) !important;
}

.dark .et_pb_button:hover::after {
  color : #FFF; !important;
}




/* ==============  MODULES DIVI EN DARK ================= */

/* En-tête (sous-titre) */
.dark .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  color: #FFF !important;
}

/* Accordéons / toggles */
.dark .et_pb_toggle {
  border-bottom: 1px solid var(--anthraciteClair) !important;
  background: none;
  color: #fff !important;
}

.dark .et_pb_toggle_title:before {
  color: var(--brandColor);
}

/* Pricing tables */
.dark .et_pb_pricing_table {
  background-color: var(--anthraciteMoyen) !important;
  border: 1px solid var(--anthraciteClair) !important;
  box-shadow: none;
}

.dark .et_pb_pricing_content_top {
  border-color: var(--anthraciteClair);
}

.dark .et_pb_pricing_heading {
  background-color: var(--anthraciteClair);
}

.dark .et_pb_featured_table .et_pb_pricing_heading {
  background-color: var(--brandColor);
}

.dark .et_pb_et_price,
.dark .et_pb_sum {
  color: #fff !important;
}

.dark .et_pb_featured_table {
  background: var(--anthraciteClair) !important;
}

.dark .et_pb_featured_table .et_pb_pricing_content_top {
  border-color: rgba(255, 255, 255, 0.3);
}

/* CTA */
.dark .et_pb_promo {
  background-color: var(--anthraciteMoyen);
  box-shadow: none;
}

.dark .et_pb_promo h2,
.dark .et_pb_promo p {
  color: #fff;
}

/* Blurb */
.dark .et_pb_blurb {}
.dark .et_pb_blurb:hover {}
.dark .et_pb_blurb_container .et_pb_module_header span {}

/* Team member */
.dark .et_pb_team_member {
  color: #fff;
}

.dark .et_pb_team_member_description .et_pb_member_position {
  color: var(--brandColor) !important;
}

/* Testimonial */
.dark .et_pb_testimonial {
  background-color: var(--anthraciteMoyen) !important;
}

.dark .et_pb_testimonial_description .et_pb_testimonial_content p {
  color: #fff;
}


/* ==============  DSM EN DARK ================= */

.dark .dsm-blog-carousel-item,
.dark .dsm-post-carousel-item,
.dark .dsm_card_carousel_child {
  background-color: var(--anthraciteMoyen) !important;
  color: #fff;
}

.dark .dsm-blog-carousel-item:hover,
.dark .dsm-post-carousel-item:hover,
.dark .dsm_card_carousel_child:hover {}

.dark .dsm-blog-carousel-item .dsm-entry-title a,
.dark .dsm-post-carousel-item .dsm-entry-title a,
.dark .dsm_card_carousel_child .dsm_card_title a {
  color: #fff;
}

.dark .dsm-blog-carousel-item .dsm-entry-title a:hover,
.dark .dsm-post-carousel-item .dsm-entry-title a:hover,
.dark .dsm_card_carousel_child .dsm_card_title a:hover {
  color: var(--brandColor);
}

/* Meta en dark (fond clair, texte sombre) */
.dark .post-meta {
  color: var(--anthracite) !important;
}

/* DSM Advanced Tabs (dark) */
.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab {
  color: #fff;
}

.dark .dsm-advanced-tabs-content-wrapper {
  border-top: 1px solid var(--anthraciteClair);
}

.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active {
  border-bottom: 2px solid var(--brandColor);
}

.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-title,
.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-tab-subtitle {
  color: #fff;
}

.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active .dsm-title,
.dark .dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active .dsm-tab-subtitle {
  color: var(--brandColor);
}

.dark .dsm_advanced_tabs .dsm-image img {
  border-radius: var(--borderRadius);
}

/* Portfolio dark */
.dark .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  background-color: var(--anthraciteMoyen);
  color: #fff;
}

.dark .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active {
  background-color: var(--brandColor);
}

.dark .et_pb_filterable_portfolio .et_pb_portofolio_pagination {
  border-top: 1px solid var(--anthraciteClair);
}

.dark .et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a {
  text-decoration: none;
}

.dark .et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a.active {
  color: var(--brandColor);
}

/* DSM Toggle dark */
.dark .dsm_content_toggle .dsm-switch-inner {
  background-color: var(--anthraciteClair);
}

.dark .dsm_content_toggle_0 .dsm-toggle-switch:checked + .dsm-switch-inner {
  background-color: var(--brandColor) !important;
}



/* =========================================================
   SECTIONS & PAGES SPÉCIFIQUES
   ======================================================== */

/* ==============  OFFRES ================= */

#offres .et_pb_blurb {
  background-color: #FFF;
  padding: 1em 2em;
  border-radius: var(--borderRadius);
}

#offres .et_pb_blurb ul li::marker {
  color: var(--brandColor) !important;
}


/* ============== SERVICES ================= */

.services .et_pb_blurb {
  background-color: #FFF;
  padding : 2em 1em;
  border-radius : var(--borderRadius);
}

/* ============== Hub SERVICES ================= */

.hubExpertise .et_pb_blurb {
  background-color: #FFF;
  padding : 1em;
  border-radius : var(--borderRadius); 
}

.hubExpertise .et_pb_main_blurb_image {
  overflow: hidden;
  max-height: 300px !important;
}


/* ============== CAROUSSEL DE LOGO ================= */

#bandeauConfiance {
  position: relative;
  overflow: hidden;
}

#bandeauConfiance::before,
#bandeauConfiance::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

#bandeauConfiance::before {
  left: 0;
  background: linear-gradient(to right, #fff, transparent);
}

#bandeauConfiance::after {
  right: 0;
  background: linear-gradient(to left, #fff, transparent);
}


/* ============== SINGLE PROJECT ================= */

.single-project .et_pb_image {
  padding-bottom: 0px;
  margin-bottom: 0px !important;
}

.single-project .et_pb_image img {
  margin-bottom: 1em;
}

.single-project h1 {
  font-size:2em !important;
}

/*--FICHE CLIENT--*/

.single-project .et_pb_column_1_3 hr {
 margin : 0 0 1em 0;
}

.single-project .et_pb_column_1_3 .et_pb_text_inner ul {
 padding : 0;
}

.single-project .et_pb_column_1_3 .et_pb_text_inner ul li {
 border-top: 1px solid var(--grisMoyen);
 padding : 0.333em 0;
 list-style-type: none;
}

.single-project .et_pb_column_1_3 .et_pb_text_inner ul li a{
 color : var(--anthracite);
 font-size: 0.8em;
}

.single-project .et_pb_column_1_3 .et_pb_text_inner ul li a:hover{
 color : var(--brandColor);
}


/*--CONTENT--*/
.single-project .et_pb_column_3_tb_body .et_pb_post_content {
  background-color: #FFF;
  padding : 1.5em;
  border-radius: var(--borderRadius);
}


/* ============== VIDEOS ================= */

#videos .dsm_card_carousel .dsm_card_carousel_child_subtitle {
  font-size: 15px !important;
  line-height: 1.3em !important;
  margin-bottom: 1em !important;
}




/* =========================================================
   EFFETS & COMPORTEMENTS AVANCÉS
   ======================================================== */

/* ==============  RANDOM BACKGROUND ================= */

.random-bg {
  position: relative;
  overflow: hidden;
  background-color: #161719 !important;
}

.random-bg::before,
.random-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 0.8s ease-in-out;
}

/* Image active */
.random-bg::before {
  opacity: 1;
  background-image: var(--current-bg);
}

/* Image suivante */
.random-bg::after {
  opacity: 0;
  background-image: var(--next-bg);
}

/* Crossfade */
.random-bg.fade-start::after {
  opacity: 1;
}

/* Contenu */
.random-bg > * {
  position: relative;
  z-index: 2;
}


/* =========================================================
   ESPACEMENT
   ======================================================== */

/* ========= PADDING TOP ========= */
.pt-na{padding-top:var(--sizeNA)!important;}
.pt-xs{padding-top:var(--sizeXS)!important;}
.pt-s{padding-top:var(--sizeS)!important;}
.pt-m{padding-top:var(--sizeM)!important;}
.pt-l{padding-top:var(--sizeL)!important;}
.pt-xl{padding-top:var(--sizeXL)!important;}

/* ========= PADDING BOTTOM ========= */
.pb-na{padding-bottom:var(--sizeNA)!important;}
.pb-xs{padding-bottom:var(--sizeXS)!important;}
.pb-s{padding-bottom:var(--sizeS)!important;}
.pb-m{padding-bottom:var(--sizeM)!important;}
.pb-l{padding-bottom:var(--sizeL)!important;}
.pb-xl{padding-bottom:var(--sizeXL)!important;}

/* ========= MARGIN TOP ========= */
.mt-na{margin-top:var(--sizeNA)!important;}
.mt-xs{margin-top:var(--sizeXS)!important;}
.mt-s{margin-top:var(--sizeS)!important;}
.mt-m{margin-top:var(--sizeM)!important;}
.mt-l{margin-top:var(--sizeL)!important;}
.mt-xl{margin-top:var(--sizeXL)!important;}

/* ========= MARGIN BOTTOM ========= */
.mb-na{margin-bottom:var(--sizeNA)!important;}
.mb-xs{margin-bottom:var(--sizeXS)!important;}
.mb-s{margin-bottom:var(--sizeS)!important;}
.mb-m{margin-bottom:var(--sizeM)!important;}
.mb-l{margin-bottom:var(--sizeL)!important;}
.mb-xl{margin-bottom:var(--sizeXL)!important;}

/* ========= PADDING LEFT ========= */
.pl-na{padding-left:var(--sizeNA)!important;}
.pl-xs{padding-left:var(--sizeXS)!important;}
.pl-s{padding-left:var(--sizeS)!important;}
.pl-m{padding-left:var(--sizeM)!important;}
.pl-l{padding-left:var(--sizeL)!important;}
.pl-xl{padding-left:var(--sizeXL)!important;}

/* ========= PADDING RIGHT ========= */
.pr-na{padding-right:var(--sizeNA)!important;}
.pr-xs{padding-right:var(--sizeXS)!important;}
.pr-s{padding-right:var(--sizeS)!important;}
.pr-m{padding-right:var(--sizeM)!important;}
.pr-l{padding-right:var(--sizeL)!important;}
.pr-xl{padding-right:var(--sizeXL)!important;}

/* ========= MARGIN LEFT ========= */
.ml-na{margin-left:var(--sizeNA)!important;}
.ml-xs{margin-left:var(--sizeXS)!important;}
.ml-s{margin-left:var(--sizeS)!important;}
.ml-m{margin-left:var(--sizeM)!important;}
.ml-l{margin-left:var(--sizeL)!important;}
.ml-xl{margin-left:var(--sizeXL)!important;}

/* ========= MARGIN RIGHT ========= */
.mr-na{margin-right:var(--sizeNA)!important;}
.mr-xs{margin-right:var(--sizeXS)!important;}
.mr-s{margin-right:var(--sizeS)!important;}
.mr-m{margin-right:var(--sizeM)!important;}
.mr-l{margin-right:var(--sizeL)!important;}
.mr-xl{margin-right:var(--sizeXL)!important;}

/* ========= MOBILE-ONLY OVERRIDES (use only when needed) ========= */
@media (max-width: 767px){
  /* Padding Top */
  .m-pt-na{padding-top:var(--sizeNA)!important;}
  .m-pt-xs{padding-top:var(--sizeXS)!important;}
  .m-pt-s{padding-top:var(--sizeS)!important;}
  .m-pt-m{padding-top:var(--sizeM)!important;}
  .m-pt-l{padding-top:var(--sizeL)!important;}
  .m-pt-xl{padding-top:var(--sizeXL)!important;}

  /* Padding Bottom */
  .m-pb-na{padding-bottom:var(--sizeNA)!important;}
  .m-pb-xs{padding-bottom:var(--sizeXS)!important;}
  .m-pb-s{padding-bottom:var(--sizeS)!important;}
  .m-pb-m{padding-bottom:var(--sizeM)!important;}
  .m-pb-l{padding-bottom:var(--sizeL)!important;}
  .m-pb-xl{padding-bottom:var(--sizeXL)!important;}

  /* Margin Top */
  .m-mt-na{margin-top:var(--sizeNA)!important;}
  .m-mt-xs{margin-top:var(--sizeXS)!important;}
  .m-mt-s{margin-top:var(--sizeS)!important;}
  .m-mt-m{margin-top:var(--sizeM)!important;}
  .m-mt-l{margin-top:var(--sizeL)!important;}
  .m-mt-xl{margin-top:var(--sizeXL)!important;}

  /* Margin Bottom */
  .m-mb-na{margin-bottom:var(--sizeNA)!important;}
  .m-mb-xs{margin-bottom:var(--sizeXS)!important;}
  .m-mb-s{margin-bottom:var(--sizeS)!important;}
  .m-mb-m{margin-bottom:var(--sizeM)!important;}
  .m-mb-l{margin-bottom:var(--sizeL)!important;}
  .m-mb-xl{margin-bottom:var(--sizeXL)!important;}

   /* Padding Left */
  .m-pl-na{padding-left:var(--sizeNA)!important;}
  .m-pl-xs{padding-left:var(--sizeXS)!important;}
  .m-pl-s{padding-left:var(--sizeS)!important;}
  .m-pl-m{padding-left:var(--sizeM)!important;}
  .m-pl-l{padding-left:var(--sizeL)!important;}
  .m-pl-xl{padding-left:var(--sizeXL)!important;}

  /* Padding Right */
  .m-pr-na{padding-right:var(--sizeNA)!important;}
  .m-pr-xs{padding-right:var(--sizeXS)!important;}
  .m-pr-s{padding-right:var(--sizeS)!important;}
  .m-pr-m{padding-right:var(--sizeM)!important;}
  .m-pr-l{padding-right:var(--sizeL)!important;}
  .m-pr-xl{padding-right:var(--sizeXL)!important;}

  /* Margin Left */
  .m-ml-na{margin-left:var(--sizeNA)!important;}
  .m-ml-xs{margin-left:var(--sizeXS)!important;}
  .m-ml-s{margin-left:var(--sizeS)!important;}
  .m-ml-m{margin-left:var(--sizeM)!important;}
  .m-ml-l{margin-left:var(--sizeL)!important;}
  .m-ml-xl{margin-left:var(--sizeXL)!important;}

  /* Margin Right */
  .m-mr-na{margin-right:var(--sizeNA)!important;}
  .m-mr-xs{margin-right:var(--sizeXS)!important;}
  .m-mr-s{margin-right:var(--sizeS)!important;}
  .m-mr-m{margin-right:var(--sizeM)!important;}
  .m-mr-l{margin-right:var(--sizeL)!important;}
  .m-mr-xl{margin-right:var(--sizeXL)!important;}
}
