/*
Theme Name: Drakmaker
Author: Drakmaker
Template: Divi
*/


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

/* ============================
   FONTS LOCALES — Poppins
   ============================ */

@font-face {
  font-family: "Poppins";
  src: url("fonts/Poppins-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poppins";
  src: url("fonts/Poppins-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

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

:root {
  /* --- Couleurs principales --- */
  --anthracite: #121419;
  --anthraciteClair: #242933;
  --anthraciteMoyen: #3d424c;
  --brandColor: #ccae54;
  --AccentColor: #f0cc83;
  --grisClair: #f7f7f3;
  --grisMoyen: #edebe1;


/* --- Typographies --- */
--fontHeading: "Poppins", sans-serif;
--fontMain: "Poppins", sans-serif;

  /* --- Rayons, ombres, effets --- */
  --borderRadius: 0.66em;   /* 10px */
  --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 */
  }
}

/* =========================================================
   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: 768px){
  /* 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;}
}


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


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

/* ============== MODULE : 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: 1300px !important;
  width: 90%;
}

/* --- Helper pleine largeur --- */
.fullWidth {
  width: 100% !important;
  max-width: 99% !important;
}
@media (max-width: 768px){
  .fullWidth {
  width: 95% !important;
  max-width: 95% !important;
}}

/* --- Colonne centrée horizontalement --- */
.et_pb_column{
margin:auto;
}

/* =========================================================
   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);
  font-weight: 400;
  line-height: 1.4em !important;
}

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

.et_pb_module .et_pb_text_inner strong {
  font-weight: 700;
}

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


/* ============== 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: 700;
  padding-bottom: 0.5em;
}

.et_pb_module h1{font-size:2.75rem;}
.et_pb_module h2{font-size:2.125rem;}
.et_pb_module h3{font-size:1.5rem;}
.et_pb_module h4{font-size:1.25rem;}
.et_pb_module h5{font-size:1.125rem;}
.et_pb_module h6{font-size:1rem;}

@media (max-width: 768px){
  .et_pb_module h1{font-size:1.8rem;}
  .et_pb_module h2{font-size:1.55rem;}
  .et_pb_module h3{font-size:1.375rem;}
  .et_pb_module h4{font-size:1.125rem;}
  .et_pb_module h5{font-size:1.0625rem;}
  .et_pb_module h6{font-size:1rem;}
}
/* ============== BLOCKQUOTE & SÉPARATEURS ================= */

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

/* Version HTML*/
hr {
  border: none;
  border-top: 1px solid var(--grisClair);
  margin: var(--size1) 0px var(--size2) 0px !important;
}

/* Module Séparateur */
.et_pb_divider:before{
  border-top-color: var(--grisClair) !important;
}

/* ============== TEXTES SPÉCIAUX ================= */

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


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

/* Soulignement animé uniquement dans les blocs de texte Divi */
.et_pb_module p a {
  position: relative;
  text-decoration: none;
}

.et_pb_module p a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

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

/* Liens dans les metas : sans soulignement */
.et_pb_module .post-meta a::after {
  height: 0px;
}

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


/* ==============  META ================= */


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


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

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

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

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

/* --- Ajout icon pour lien spécifique dans le menu ---- */
.menu-item-44156 a:before {
  content: "+";
  color: var(--brandColor);
  display: inline-block;
  margin-right: 3px;
  font-weight: bold;
  font-size: 16px;
  text-transform: uppercase;
}

/* --- Prévour bouton CTA focus ---- */

@media only screen and (min-width: 981px) {
    .cta-menu-focus a {
        color: black !important;
        border-radius: var(--borderRadius);
        font-size: 15px !important;
        background-color: var(--brandColor);
        border-color: var(--brandColor);
        font-weight: 400;
        padding: 0.7em 1em !important;
        text-transform: uppercase;
    }
}
@media only screen and (min-width: 981px) {
    .cta-menu-focus a:hover {
        color: black !important;
    }
}

/* --- Enleve la ligne du menu ---- */
  #main-header {
    box-shadow: none;
  }
  /* --- Design du menu mobile ---- */
.et_mobile_menu{
    background-color: #FFF !important;
    border-color: var(--brandColor) !important;
  }
.mobile_menu_bar:before{
   color: var(--brandColor) !important;
  }
  
/* ============== FOOTER ================= utile ? */ 

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

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

footer ul,
#footer-info{
  text-align: center;
}
#footer-info {
  float: none;
}

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


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

.et_pb_fullwidth_header {}

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

.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  font-size: 2em;
  font-weight: 700;
  margin-bottom: 0.5em;
  line-height: 1.3em;
}

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


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

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


/* ============== MODULE : 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(--anthraciteClair) !important;
  color: #FFF !important;
}


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

input.et_pb_contact_captcha {
    padding: 13px !important;
}


/* ============== MODULE : 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_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);
  font-size: 0.8em;
}


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


/* ============== MODULE : BLOG ================= */

/* Thumbnail */
article.has-post-thumbnail a img {
  border-radius: var(--borderRadius);
}
.et_pb_post{
  border: none !important;
  padding: var(--sizeS) !important;
}

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


/* ============== MODULE : APPEL À ACTION ================= */

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


/* ============== MODULE : RÉSUMÉ ================= */ 

  .et_pb_blurb {
  border-radius: var(--borderRadius);
}
}

.et_pb_blurb .et_pb_blurb_content {
  max-width: 90%;
  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: 700 !important;
  font-size: 1em;
}
.et_pb_blurb_container{
    vertical-align: middle !important;
}


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


/* ============== MODULE : PERSONNE ================= */

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


/* ============== MODULE : TEMOIGNAGES ================= */

.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;
  background-color: #FFF !important;
}

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

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



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

/* ============== MODULE : FIL ARIANE ================= */

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


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

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


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


/* ============== MODULE : DSM IMAGE CAROUSEL ================= */

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


/* ============== MODULE : DSM CARD CAROUSEL + BADGE ================= */

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


/* ============== MODULE : 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: 1em;
  background: var(--grisClair) !important;
  border-radius: var(--borderRadius);
  padding: 0.333em 0.666em !important;
  font-size: 15px;
}

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


/* ============== MODULE : 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
   ======================================================== */

/* ============== MODULE : 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
   ======================================================== */

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


/* ============== MODULE : DIVI EN DARK ================= */

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

/* Blog */

/* Thumbnail */
article.has-post-thumbnail a img {
  border-radius: var(--borderRadius);
}
.dark .et_pb_post{
  border: none !important;
  padding: var(--sizeS) !important;
  background-color: var(--anthracite) !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;
}
.dark .et_pb_testimonial:before {
  color: #FFF!important;
  background-color: var(--anthraciteMoyen) !important;
}

/* ============== MODULE : 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,
.dark .dsm-posted-category a {
  color: var(--anthracite) !important;
}

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

.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 {
    background: var(--anthraciteMoyen)!important;
}
.dark .dsm_advanced_tabs .dsm-inner-content-wrapper {
  background-color: var(--anthraciteMoyen);
}

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

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

/