/*
===========================================
 Divi Enfant - DiviKit
-------------------------------------------
 Author: DrakMaker
 Template: Divi
 Description: Thme principal
===========================================
*/

/* ==========================================================================
   TABLE DES MATIéRES
   --------------------------------------------------------------------------
   0. SŽlection & font-face (Larken)
   1. Root variables (couleurs, typo, rayons, tailles)
   2. Styles de base (layout, typo, liens, meta)
   3. Modules Divi (menu, header, boutons, formulaires, etc.)
   4. Modules Divi Supreme (DSM)
   5. Portfolio 3 colonnes
   6. Dark mode (thme sombre global + modules)
   7. Sections / pages spŽcifiques (#offres, #expertises)
   8. Random background (crossfade)
   ========================================================================== */


/* ==========================================================================
  SƒLECTION & FONT-FACE
   ========================================================================== */

/* --- Couleur de sŽlection du texte ----------------------------------- */

::selection {
  background-color: #26717F;
  color : #FFF;
}

/* CompatibilitŽ Firefox */
::-moz-selection {
  background-color:  #26717F;
  color : #FFF;
}




/* ==========================================================================
   1. ROOT VARIABLES
   ========================================================================== */

:root {
  /* --- 1.1 Couleurs principales ------------------------------------------ */
  --anthracite: #203A40;
  --anthraciteMoyen: #26454C;
  --anthraciteClair: #335C66;
  --brandColor: #26717F;
  --brandColorPale: #8FC2CC;
  --grisClair: #F2F4F5;
  --grisMoyen: #EBEEF0;

  /* --- 1.2 Couleurs dÕaccent --------------------------------------------- */
  --accent1: #F39669;
  --accent1Pale: #FFCBB2;
  --accent2: #F39669;
  --accent2Pale: #FFCBB2;

  /* --- 1.3 Typographies --------------------------------------------------- */
  --fontMain: "Poppins", sans-serif;
  --fontHeading: "Poppins", serif;
  --accentFont : 'Larken';

  /* --- 1.4 Rayons, ombres, effets ---------------------------------------- */
  --borderRadius: 0.666em;
  --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);

  /* --- 1.5 ƒchelles de tailles ------------------------------------------- */
  --sizeXS: 0.5em;
  --sizeS: 1em;
  --sizeM: 1.5em;
  --sizeL: 2em;
  --sizeXL: 3em;
}


/* ==========================================================================
   2. STYLES DE BASE (LAYOUT, TYPO, LIENSÉ)
   ========================================================================== */

/* --- 2.1 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: 1300px;
  width: 90%;
}

.fullWidth {
  width: 100% !important;
  max-width: 99%;
}

/* --- 2.2 Typographie globale --------------------------------------------- */

body,
.et_pb_module,
.et_pb_module p,
.et_pb_module span {
  font-family: var(--fontMain);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 300;
}

/* --- 2.3 Titres H1ÐH6 ---------------------------------------------------- */

.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.3;
  font-weight: 500;
  padding-bottom: 0.5em;
}

.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: 1.2em;}
.et_pb_module h5 { font-size: 1.15em;}
.et_pb_module h6 { font-size: 1em;}

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

.et_pb_module strong {
  font-weight: 500;
}

/* --- 2.4 Blockquotes & sŽparateurs --------------------------------------- */

blockquote {
  border-color: var(--brandColor);
}

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

/* --- 2.5 Sur-titres & gros texte ----------------------------------------- */

.surTitre {
  color: var(--brandColor) !important;
  margin-bottom: var(--sizeS) !important;
}

/* gros texte (intro, accroche) */
.big p{
  font-size:1.5em !important;
}

/* --- 2.6 Font dÕaccent ---------------------------------------------------- */

.accentFont {
  font-family: var(--accentFont);
}

/* --- 2.7 Liens globaux --------------------------------------------------- */

/* Soulignement animŽ uniquement dans les blocs de texte Divi */
.et_pb_text a {
  position: relative;
  text-decoration: none;
  color: var(--brandColor);
}

.et_pb_text a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px; /* distance sous le texte */
  width: 100%;
  height: 1px; /* Žpaisseur du trait */
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.et_pb_text a:hover::after {
  transform: scaleX(1);
}

/* 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 {
}

/* --- 2.8 Meta, catŽgories & helpers -------------------------------------- */

.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;
}

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

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


/* ==========================================================================
   3. MODULES DIVI (MENU, HEADER, BOUTONS, FORMULAIRESÉ)
   ========================================================================== */

/* --- HEADER -------------------------------------------------- */

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

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


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


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

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

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



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

/* --- En-tte fullwidth ---------------------------------------------- */

.et_pb_fullwidth_header {}

/* H1 de entete */
.et_pb_fullwidth_header .et_pb_module_header{
  font-size: 1em;
  color : var(--brandColor) !important;
  font-weight: 500;
}

/* Slogan de entete */
.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead{
  font-size: 3em;
  font-weight: 600;
  margin-bottom: 0.5em;
  line-height: 1.3em;
}

/* Texte de entete */
.et_pb_fullwidth_header .et_pb_header_content_wrapper p{}

/* Image de entete */
.et_pb_fullwidth_header .header-image {
  margin : 0px ;
  text-align: right;
}

/* <img> Image de entete */
.et_pb_fullwidth_header .header-image img{
  max-height: 500px;
  width: auto !important;
}



/* --- 3.4 Slider (flches) ----------------------------------------------- */
.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;
}

/* --- 3.5 Boutons & variantes -------------------------------------------- */
.et_button_no_icon.et_button_icon_visible.et_button_left .et_pb_button,
.et_button_no_icon.et_button_left .et_pb_button:hover,
.et_button_no_icon .et_pb_button,
.et_button_no_icon .et_pb_button:hover {
}


.et_pb_button,
.et_pb_button:focus,
.et_pb_button:active {
  
}

.et_pb_button:hover {
  
}

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

/* --- 3.6 Formulaires (input, textarea, bouton) -------------------------- */

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

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

.et_contact_bottom_container {
  margin-top: 1em;
}

.et_pb_contact_submit {
  max-height: 50px;
}

/* --- 3.7 Bascule & accordŽons ------------------------------------------- */

.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_open {}
.et_pb_toggle_close {}
.et_pb_toggle.et_pb_toggle_open {}

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

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

/* --- 3.8 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);
  opacity: 1;
}

/* Filtres portfolio */
.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li {
  margin-right: 0.5em;
}

.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);
}


/* --- 3.9 Pricing tables -------------------------------------------------- */

.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-tte */
.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;
}

/* 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);
}

/* --- 3.10 Blocs CTA (Promo) --------------------------------------------- */

.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 {}

/* --- 3.11 Blurbs (ic™ne + texte) ---------------------------------------- */

.et_pb_blurb {}

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

.et_pb_main_blurb_image {}
.et_pb_main_blurb_image img {}
.et_pb_main_blurb_image .et-pb-icon {}
.et_pb_blurb_container {}

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

.et_pb_blurb_container .et_pb_blurb_description {}
.et_pb_blurb a.et_pb_more_button {}
.et_pb_blurb:hover {}

/* --- 3.12 Team Member ---------------------------------------------------- */

.et_pb_team_member {}

.et_pb_team_member_image {
  max-width: 100%;
}

.et_pb_team_member_image img {}
.et_pb_team_member_description {}
.et_pb_team_member_description .et_pb_member_name {}

.et_pb_team_member_description .et_pb_member_position{
  margin-bottom: var(--sizeXS) !important;
  color : var(--brandColor) !important;
}

.et_pb_team_member_description .et_pb_member_description {}
.et_pb_team_member_description .et_pb_team_member_social_links {}
.et_pb_team_member_description .et_pb_team_member_social_links a {}
.et_pb_team_member_description .et_pb_team_member_social_links a:hover {}

/* --- 3.13 Testimonial ---------------------------------------------------- */

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

.et_pb_testimonial_portrait {}
.et_pb_testimonial_portrait img {}
.et_pb_testimonial_description {}

.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;
}

.et_pb_testimonial_description .et_pb_testimonial_company {}
.et_pb_testimonial_description .et_pb_testimonial_icon {}
.et_pb_testimonial:hover {}


/* ==========================================================================
   4. MODULES DIVI SUPREME (DSM)
   ========================================================================== */

/* --- 4.1 Fil dÕAriane DSM ----------------------------------------------- */

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

/* --- 4.2 Blog / Post / Card Carousel (cards) ---------------------------- */

/* Bo”te principale */
.dsm-blog-carousel-item,
.dsm-post-carousel-item,
.dsm_card_carousel_child {
  background-color: #FFF;
  border-radius: var(--borderRadius);
}

/* Conteneur principal : 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; /* important pour Žviter que l'image dŽborde pendant le zoom */
}

/* 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); /* lŽger zoom */
}

/* 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;
}

/* Wrapper de contenu (texte + meta) */
.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);
}

/* --- 4.3 Pagination Swiper ---------------------------------------------- */

.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;
}

/* --- 4.4 DSM Image Carousel --------------------------------------------- */

.dsm_image_carousel .dsm_image_carousel_item img{
  border-radius : var(--borderRadius);
}

/* --- 4.5 DSM Card Carousel (badge) -------------------------------------- */

.dsm_card_carousel_child_badge_text {
  background: var(--brandColor);
  color: #FFF;
}

/* --- 4.6 DSM Advanced Tabs ---------------------------------------------- */

.dsm_advanced_tabs {}

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

/* Onglet */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab {
  margin-left: 10px;
  background: var(--grisClair) !important;
  border-radius: 10px;
  padding : 0.5em 1em;
}

/* Onglet actif */
.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab.dsm-active {
  background: var(--brandColorPale)!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-tab-subtitle{
  color: var(--anthraciteClair);
  font-weight: 400;
}

.dsm_advanced_tabs .dsm-advanced-tabs-wrapper .dsm-tab .dsm-image img {
  margin-top: 5px;
}

/* 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: var(--brandColor);
}

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

/* ===== Wrapper des panneaux ====== */
.dsm-advanced-tabs-content-wrapper {
}

/* 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: 2rem;
}

/* 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 img {
  max-height: 500px;
}

/* Image colonne */
.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;
}

/* 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 : 5px !important;
  }
  .dsm_advanced_tabs .dsm-inner-content {
    padding : 5px !important;
  }
  .dsm_advanced_tabs .dsm-image {
    padding-bottom: 10px;
  }
}

/* --- 4.7 DSM Toggle (switch) -------------------------------------------- */

.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;
}


/* ==========================================================================
   5. PORTFOLIO 3 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; }
}


/* ==========================================================================
   6. DARK MODE (THéME SOMBRE GLOBAL + MODULES)
   ========================================================================== */

/* --- 6.1 Base du thme sombre ------------------------------------------- */

.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);
}

/* --- 6.2 Modules Divi en dark mode -------------------------------------- */

/* En-tte (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;
}

/* --- 6.3 Modules DSM en dark mode --------------------------------------- */

.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;
}


/* ==========================================================================
   7. SECTIONS / PAGES SPƒCIFIQUES
   ========================================================================== */

/*======Section #offres : cartes dÕoffre=======*/
#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;
}

/* Section #expertises : ic™nes colorŽes */
#expertises .et_pb_blurb .et-pb-icon {
  color: var(--accent2);
  font-size : 25px;
}

/* =======RESUME FINANCEMENT========= */
#financement {
  background-color: var(--grisMoyen) !important;
  max-width: 900px;
  margin : auto;
}

#financement .et_pb_module_header span{
  background-color: var(--accent2);
  padding : 0.2em 0.4em;
  border-radius: 5px;
  font-size: 14px;
}

#financement .et_pb_blurb_container {
}

#financement .et_pb_blurb_description h4{
  font-weight: 600 !important;
  font-size: 1.666em !important;
  padding-bottom: 0px;
}


/* ======Bandeau Confiance====== */
#bandeauConfiance {
  position: relative;
  overflow: hidden;
}

#bandeauConfiance::before,
#bandeauConfiance::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10%; /* largeur du fondu */
  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);
}


/* ==========================================================================
   8. RANDOM BACKGROUND Ñ CROSSFADE
   ========================================================================== */

.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;
   }