/*
 Theme Name:     Drakmaker Design System
 Theme URI:      https://drakmaker.fr/
 Description:    Child theme CSS — Design system simple pour Divi 5
 Author:         Drakmaker
 Template:       Divi
 Version:        1.1.0
*/


/* =========================================================
   1. ROOT
   Variables globales du projet
   À modifier à chaque nouveau client
========================================================= */

:root {

  /* =========================
     Couleurs
  ========================= */

  --brandDark: #0066cc;
  --brand: #0080ff;
  --brandLight: #3399ff;

  --darkDark: #061522;
  --dark: #0a1f33;
  --darkLight: #0f2e4c;

  --greyDark: #e6e8ed;
  --grey: #edeff2;
  --greyLight: #f5f6f7;

  --accentDark: #d99f00;
  --accent: #ffbf00;
  --accentLight: #ffd400;

  --white: #ffffff;
  --black: #111111;


  /* =========================
     Typographies
  ========================= */

  --fontBody: "Roboto", Arial, sans-serif;
  --fontTitle: "Roboto Condensed", Arial, sans-serif;

  --fontSizeBody: 1rem;
  --lineHeightBody: 1.6;

  --fontSizeH1: 3rem;
  --fontSizeH2: 2.25rem;
  --fontSizeH3: 1.333rem;

  --fontSizeH1Mobile: 2.2rem;
  --fontSizeH2Mobile: 1.75rem;
  --fontSizeH3Mobile: 1.333rem;

  --weightRegular: 400;
  --weightMedium: 500;
  --weightBold: 600;


  /* =========================
     Structure
  ========================= */

  --siteWidth: 90%;
  --siteMaxWidth: 1350px;

  --spaceXS: 0.5rem;
  --spaceS: 1rem;
  --spaceM: 1.5rem;
  --spaceL: 2rem;
  --spaceXL: 4rem;
  --spaceXXL: 6rem;

  --radius: 0.75rem;
  --radiusLarge: 1.5rem;

  --border: 1px solid var(--grey);
  --shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  --shadowStrong: 0 0 30px rgba(0, 0, 0, 0.10);

  --transition: all 0.25s ease;


  /* =========================
     Variables Divi
     Permet d’aligner Divi sur le design system
  ========================= */

  --gcid-primary-color: var(--brand);
  --gcid-secondary-color: var(--accentDark);
  --gcid-heading-color: var(--darkDark);
  --gcid-body-color: var(--darkDark);
  --gcid-link-color: var(--brand);

  --et_global_body_font: var(--fontBody);
  --et_global_heading_font: var(--fontTitle);

  --content-width: var(--siteWidth);
  --content-max-width: var(--siteMaxWidth);
}


/* =========================================================
   2. BASE
   Socle global commun au site
========================================================= */

/* =========================
   Reset léger
========================= */

html,
body {
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

::selection,
::-moz-selection {
  background-color: var(--brand);
  color: var(--white);
}

hr {
  height: 0;
  margin: var(--spaceM) 0;
  border: 0;
  border-top: 1px solid var(--grey) !important;
  background: transparent !important;
}

.et_pb_divider:before {
  border-top-color: var(--greyLight) !important;
}


/* =========================
   Containers
========================= */

.et_pb_row,
.container,
#top-header .container,
#main-header .container,
#main-footer .container,
#et-footer-nav .container,
#footer-bottom .container {
  width: var(--siteWidth) !important;
  max-width: var(--siteMaxWidth) !important;
}

.et_pb_section {
  background-color: var(--white);
}

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


/* =========================
   Typographie
========================= */

body,
.et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_module p,
.et_pb_module li {
  font-family: var(--fontBody);
  font-size: var(--fontSizeBody);
  font-weight: var(--weightRegular);
  line-height: var(--lineHeightBody);
  color: var(--darkDark);
}

strong,
b,
.et_pb_text_inner strong,
.et_pb_text_inner b,
.et_pb_module strong,
.et_pb_module b {
  font-family: var(--fontBody) !important;
  font-weight: var(--weightMedium) !important;
}

h1,
h2,
h3,
h4,
h5,
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 {
  font-family: var(--fontTitle);
  font-weight: var(--weightBold);
  line-height: 1.15 !important;
  color: var(--darkDark) !important;
}

.et_pb_module h1 {
  font-size: var(--fontSizeH1) !important;
}

.et_pb_module h2 {
  font-size: var(--fontSizeH2) !important;
}

.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6 {
  font-size: var(--fontSizeH3) !important;
}

.et_pb_text_inner p,
.et_pb_text_inner ul,
.et_pb_text_inner ol {
  margin-bottom: var(--spaceS) !important;
}

.et_pb_text_inner p:last-child,
.et_pb_text_inner ul:last-child,
.et_pb_text_inner ol:last-child {
  margin-bottom: 0 !important;
}

.et_pb_text_inner strong {
  font-weight: var(--weightBold);
}

.et_pb_module a {
  color: var(--brand);
  text-decoration: none;
}

.et_pb_module a:hover {
  text-decoration: underline;
}


/* Surtitre */
.surTitre,
.et_pb_module .surTitre,
.et_pb_module h1.surTitre,
.et_pb_module h2.surTitre,
.et_pb_module h3.surTitre,
.et_pb_module h4.surTitre,
.et_pb_module h5.surTitre,
.et_pb_module h6.surTitre {
  display: inline-block;
  margin-bottom: var(--spaceXS);
  font-family: var(--fontBody) !important;
  font-size: 0.75rem !important;
  font-weight: var(--weightBold) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  color: var(--brand) !important;
}


/* Titre hero manuel */
.heroTitle,
.heroTitle p,
.heroTitle span {
  font-family: var(--fontTitle) !important;
  font-size: var(--fontSizeH1) !important;
  font-weight: var(--weightBold) !important;
  line-height: 1.3em !important;
  color: var(--darkDark) !important;
  padding-bottom: var(--spaceS) !important;
}

@media (max-width: 767px) {
  .et_pb_module h1,
  .heroTitle,
  .heroTitle p,
  .heroTitle span {
    font-size: var(--fontSizeH1Mobile) !important;
  }

  .et_pb_module h2 {
    font-size: var(--fontSizeH2Mobile) !important;
  }

  .et_pb_module h3,
  .et_pb_module h4,
  .et_pb_module h5,
  .et_pb_module h6 {
    font-size: var(--fontSizeH3Mobile) !important;
  }
}


/* =========================
   Images
========================= */

.et_pb_image img,
.et_pb_gallery_image img,
.et_portfolio_image img,
.dica_divi_carousel img,
.et_pb_video .et_pb_video_wrap {
  border-radius: var(--radius);
}

.noRadius img,
.noRadius .et_pb_video_wrap {
  border-radius: 0 !important;
}


/* =========================
   Boutons
========================= */

/* Réinitialisation padding boutons Divi */
html body #page-container .et_pb_section a.et_pb_button,
html body #page-container .et_pb_section a.et_pb_promo_button,
html body #page-container .et_pb_section .et_pb_promo a.et_pb_button,
html body #page-container .et_pb_section .et_pb_promo a.et_pb_promo_button,
html body #page-container .et_pb_section .et_pb_promo.et_pb_module a.et_pb_button,
html body #page-container .et_pb_section .et_pb_promo.et_pb_module a.et_pb_promo_button,
html body #page-container .et_pb_section .et_pb_promo[class*="et_pb_cta_"] .et_pb_promo_button.et_pb_button,
html body #page-container .et_pb_slider .et_pb_slide[class*="et_pb_slide_"] .et_pb_more_button.et_pb_button,
html body #page-container .et_pb_slider .et_pb_slide .et_pb_button_wrapper .et_pb_more_button.et_pb_button {
  padding: 0.75em 3em 0.75em 2em !important;
}

/* Bouton standard */
.et_pb_button {
  background-color: var(--brand);
  border: none !important;
  color: var(--white) !important;
  font-family: var(--fontBody) !important;
  font-size: var(--fontSizeBody) !important;
  font-weight: var(--weightMedium) !important;
  text-align: center;
  opacity: 1 !important;
}

.et_pb_button:hover {
  background-color: var(--brandLight) !important;
  color: var(--white) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.et_pb_button:after {
  margin-left: 0.2em !important;
  color: var(--accent);
}

/* Bouton secondaire Divi */
.et_pb_button_two {
  background-color: transparent !important;
  border: 2px solid var(--brand) !important;
  color: var(--brand) !important;
}

.et_pb_button_two:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}

.et_pb_button_two:after {
  color: var(--brand) !important;
}

.et_pb_button_two:hover:after {
  color: var(--accent) !important;
}

/* Bouton lien */
html body #page-container .et_pb_section a.et_pb_button.buttonLink {
  padding: 0 !important;
}

.buttonLink {
  background-color: transparent !important;
  color: var(--brand) !important;
  padding: 0 !important;
}

.buttonLink:hover,
.et_pb_button.buttonLink:hover,
html body #page-container .et_pb_section a.et_pb_button.buttonLink:hover {
  background-color: transparent !important;
  color: var(--brand) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.25em !important;
}

.buttonLink:after,
.et_pb_button.buttonLink:after,
html body #page-container .et_pb_section a.et_pb_button.buttonLink:after {
  color: var(--brandLight) !important;
}

.buttonLink:hover:after,
.et_pb_button.buttonLink:hover:after,
html body #page-container .et_pb_section a.et_pb_button.buttonLink:hover:after {
  color: var(--brandLight) !important;
}


/* =========================
   Formulaires
========================= */

.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_contact_form select {
  font-family: var(--fontBody) !important;
  font-size: var(--fontSizeBody) !important;
  border-radius: var(--radius) !important;
  border: var(--border) !important;
  background-color: var(--greyLight) !important;
  color: var(--darkDark) !important;
  padding: 0.9rem 1rem !important;
  transition: var(--transition);
}

.et_pb_contact_form input,
.et_pb_contact_form select {
  min-height: 50px !important;
}

.et_pb_contact_form textarea {
  min-height: 140px !important;
}

.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus,
.et_pb_contact_form select:focus {
  outline: none !important;
  border-color: var(--brand) !important;
  background-color: var(--white) !important;
}

.et_pb_contact_form input::placeholder,
.et_pb_contact_form textarea::placeholder {
  color: var(--darkDark) !important;
  opacity: 0.65 !important;
}

.et_pb_contact_form .et_pb_contact_field,
.et_pb_contact_form p.et_pb_contact_field,
.et_pb_contact_form .et_pb_contact_field_half,
.et_pb_contact_form .et_pb_contact_field_last {
  padding: 0 !important;
  margin-bottom: var(--spaceXS) !important;
}

.et_pb_contact_form .et_pb_contact_field:not(:last-child),
.et_pb_contact_form p.et_pb_contact_field:not(:last-child) {
  margin-bottom: var(--spaceXS) !important;
}

.et_contact_bottom_container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: var(--spaceS) !important;
  width: 100% !important;
  margin-top: 0 !important;
}

.et_pb_contact_right {
  display: flex !important;
  align-items: center !important;
  gap: var(--spaceXS) !important;
  margin: 0 !important;
}

.et_pb_contact_captcha_question {
  color: var(--darkDark) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.et_pb_contact_captcha {
  width: 56px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0.75rem !important;
  border-radius: var(--radius) !important;
  text-align: center !important;
}

html body #page-container .et_pb_contact_submit.et_pb_button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 1.5em 0 1.333em !important;
  border: none !important;
  border-radius: var(--radiusLarge) !important;
  background-color: var(--brand) !important;
  color: var(--white) !important;
  font-family: var(--fontBody) !important;
  font-size: var(--fontSizeBody) !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

html body #page-container .et_pb_contact_submit.et_pb_button:hover {
  background-color: var(--brandLight) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}

html body #page-container .et_pb_contact_submit.et_pb_button:after {
  position: static !important;
  display: inline-block !important;
  margin-left: 0.2em !important;
  transform: none !important;
  color: var(--accent) !important;
  opacity: 1 !important;
  line-height: 1 !important;
}


/* =========================================================
   3. MODULES DIVI — LIGHT THEME
   Styles par défaut des modules Divi
========================================================= */

/* =========================
   Base commune des cards Divi
========================= */

.et_pb_blurb.et_clickable,
.et_pb_post,
.et_pb_tabs,
.et_pb_audio_module,
.et_pb_team_member,
.et_pb_pricing_table,
.dica_divi_carousel .dica-item {
  background-color: var(--white) !important;
  border: var(--border) !important;
  border-radius: var(--radius);
  overflow: hidden;
}

.et_pb_blurb.et_clickable,
.et_pb_post,
.dica_divi_carousel .dica-item {
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.et_pb_blurb.et_clickable:hover,
.et_pb_post:hover,
.dica_divi_carousel .dica-item:hover {
  box-shadow: var(--shadow);
  border-color: var(--grey) !important;
}


/* =========================
   Pagination / dots
========================= */

.pagination {
  display: block !important;
}

.et_pb_blog_grid .pagination a,
.et_pb_blog_grid .wp-pagenavi a,
.et_pb_blog_grid .wp-pagenavi span,
.et_pb_portfolio .pagination a,
.et_pb_portfolio .wp-pagenavi a,
.et_pb_portfolio .wp-pagenavi span,
.et_pb_filterable_portfolio .pagination a,
.et_pb_filterable_portfolio .wp-pagenavi a,
.et_pb_filterable_portfolio .wp-pagenavi span,
html body #page-container [class*="et_pb_portfolio_"].et_pb_portfolio .pagination a,
html body #page-container [class*="et_pb_portfolio_"].et_pb_portfolio .wp-pagenavi a,
html body #page-container [class*="et_pb_portfolio_"].et_pb_portfolio .wp-pagenavi span,
html body #page-container [class*="et_pb_filterable_portfolio_"].et_pb_filterable_portfolio .pagination a,
html body #page-container [class*="et_pb_filterable_portfolio_"].et_pb_filterable_portfolio .wp-pagenavi a,
html body #page-container [class*="et_pb_filterable_portfolio_"].et_pb_filterable_portfolio .wp-pagenavi span,
html body #page-container [class*="et_pb_blog_"].et_pb_blog_grid .pagination a,
html body #page-container [class*="et_pb_blog_"].et_pb_blog_grid .wp-pagenavi a,
html body #page-container [class*="et_pb_blog_"].et_pb_blog_grid .wp-pagenavi span,
html body #page-container [class*="et_pb_blog_"].et_pb_blog .pagination a,
html body #page-container [class*="et_pb_blog_"].et_pb_blog .pagination a:hover,
html body #page-container [class*="et_pb_blog_"].et_pb_blog .wp-pagenavi a,
html body #page-container [class*="et_pb_blog_"].et_pb_blog .wp-pagenavi a:hover,
html body #page-container [class*="et_pb_blog_"].et_pb_blog .wp-pagenavi span {
  color: var(--greyDark) !important;
  text-decoration: none !important;
}


/* =========================
   Texte / Image
========================= */

.et_pb_text {
  color: var(--darkDark);
}

.et_pb_image {
  line-height: 0;
}


/* =========================
   Fullwidth Header
========================= */

.et_pb_fullwidth_header {
  background-color: var(--greyLight) !important;
  overflow: hidden;
  border-radius : var(--radius);
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container {
  width: var(--siteWidth) !important;
  max-width: var(--siteMaxWidth) !important;
}

.et_pb_fullwidth_header .header-logo {
  max-width: 250px !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: var(--spaceM) !important;
}

.et_pb_fullwidth_header .header-image img {
  border-radius: var(--radius) !important;
  overflow: hidden;
}

.et_pb_fullwidth_header .et_pb_module_header {
  display: block;
  margin: 0 0 var(--spaceXS) 0 !important;
  padding: 0 !important;
  font-family: var(--fontBody) !important;
  font-size: 0.75rem !important;
  font-weight: var(--weightBold) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  color: var(--brand) !important;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  display: block;
  margin: 0 0 var(--spaceS) 0 !important;
  padding: 0 !important;
  font-family: var(--fontTitle) !important;
  font-size: var(--fontSizeH1) !important;
  font-weight: var(--weightBold) !important;
  line-height: 1.1 !important;
  color: var(--darkDark) !important;
}

.et_pb_fullwidth_header .et_pb_header_content_wrapper {
  margin: 0 0 var(--spaceM) 0 !important;
  padding: 0 !important;
  color: var(--darkDark) !important;
}

.et_pb_fullwidth_header .et_pb_header_content_wrapper p {
  margin: 0 !important;
  color: var(--darkDark) !important;
}

.et_pb_fullwidth_header .et_pb_header_button_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaceS);
  margin-top: var(--spaceM) !important;
}


/* =========================
   Blurb / Résumé
========================= */

.et_pb_blurb .et-pb-icon {
  color: var(--brand) !important;
}

.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_module_header a {
  color: var(--dark) !important;
  text-decoration: none !important;
}

.et_pb_blurb .et_pb_module_header a:hover,
.et_pb_blurb.et_clickable:hover .et_pb_module_header,
.et_pb_blurb.et_clickable:hover .et_pb_module_header a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

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

.et_pb_blurb .et_pb_blurb_description,
.et_pb_blurb .et_pb_blurb_description p {
  color: var(--darkDark) !important;
}

.et_pb_blurb.et_clickable {
  padding: var(--spaceM) !important;
}

.et_pb_blurb.et_clickable.et_pb_blurb_position_top .et_pb_only_image_mode_wrap {
  margin: calc(var(--spaceM) * -1);
  margin-bottom: 0.333rem;
}

.et_pb_blurb.et_clickable.et_pb_blurb_position_top .et_pb_only_image_mode_wrap img {
  width: 100% !important;
  display: block !important;
}

.et_pb_blurb.et_pb_blurb_position_left:not(.icon) .et_pb_only_image_mode_wrap {
  width: 150px !important;
  min-width: 150px !important;
  margin: 0 var(--spaceM) 0 0 !important;
}

.et_pb_blurb.et_pb_blurb_position_left:not(.icon) .et_pb_only_image_mode_wrap img {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
  border-radius: var(--radius) !important;
}

.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_only_image_mode_wrap {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  margin: 0 var(--spaceS) 0 0 !important;
}

.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_only_image_mode_wrap img,
.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_main_blurb_image img {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.et_pb_blurb.icon .et_pb_main_blurb_image img {
  max-width: 80px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.et_pb_blurb.et_clickable.icon .et_pb_only_image_mode_wrap {
  margin: 0 0 var(--spaceS) 0 !important;
}


/* =========================
   Call To Action / Promo
========================= */

.et_pb_promo {
  border-radius: var(--radiusLarge);
  background-color: var(--dark) !important;
  overflow: hidden;
  border: var(--border);
}

.et_pb_promo h1,
.et_pb_promo h2,
.et_pb_promo h3,
.et_pb_promo p {
  color: var(--white) !important;
}


/* =========================
   Tabs
========================= */

.et_pb_tabs {
  border: none !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background-color: var(--greyLight) !important;
}

.et_pb_tabs_controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaceXS);
  padding: var(--spaceXS) !important;
  background-color: var(--grey) !important;
  border-bottom: none !important;
}

.et_pb_tabs_controls li {
  border: none !important;
  background: transparent !important;
  border-radius: var(--radius) !important;
}

.et_pb_tabs_controls li a {
  color: var(--dark) !important;
  font-weight: var(--weightMedium) !important;
  border-radius: var(--radius) !important;
}

.et_pb_tabs_controls li.et_pb_tab_active a,
.et_pb_tabs_controls li.et_pb_tab_active a:hover {
  background-color: var(--white) !important;
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_tab {
  background-color: var(--greyLight) !important;
  padding: var(--spaceM) !important;
}

.et_pb_tabs_controls .et_pb_tab_nav_item a:hover {
  background-color: var(--greyDark) !important;
  text-decoration: none !important;
}


/* =========================
   Toggle / Accordéon
========================= */

.et_pb_toggle,
.et_pb_toggle_open,
.et_pb_toggle_close {
  background-color: transparent !important;
}

.et_pb_toggle {
  border: none !important;
  border-bottom: 1px solid var(--grey) !important;
  padding: var(--spaceS) 0 !important;
}

.et_pb_toggle_title {
  color: var(--dark) !important;
}

.et_pb_toggle_title:before {
  color: var(--brand) !important;
}


/* =========================
   Blog / Articles
========================= */

.et_pb_post {
  padding: 0 !important;
}

.et_pb_post .et_pb_image_container {
  margin-bottom: 15px !important;
}

.et_pb_post .entry-featured-image-url {
  display: block;
  margin: 0 !important;
  line-height: 0 !important;
}

.et_pb_post .entry-featured-image-url img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: var(--radius) var(--radius) 0 0 !important;
}

.et_pb_post .entry-title,
.et_pb_post .post-meta,
.et_pb_post .post-content {
  padding-left: var(--spaceM) !important;
  padding-right: var(--spaceM) !important;
}

.et_pb_post .entry-title {
  padding-top: var(--spaceS) !important;
  margin-top: 0 !important;
  margin-bottom: var(--spaceXS) !important;
}

.et_pb_post .entry-title,
.et_pb_post .entry-title a {
  font-family: var(--fontTitle) !important;
  font-size: var(--fontSizeH3) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_post .entry-title a:hover,
.et_pb_post:hover .entry-title,
.et_pb_post:hover .entry-title a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_post .post-content,
.et_pb_post .post-content p {
  color: var(--darkDark) !important;
}

.et_pb_post .post-content {
  padding-bottom: var(--spaceM) !important;
}

.et_pb_post .post-meta {
  margin-bottom: var(--spaceXS) !important;
  font-size: 0 !important;
}

.et_pb_post .post-meta,
.et_pb_post .post-meta a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_post .post-meta a,
.et_pb_post .post-meta .published {
  font-size: 0.8rem !important;
}

.et_pb_post .post-meta a {
  display: inline-block !important;
  padding: 0.333em 0.75em !important;
  margin-right: 0.333em;
  background-color: var(--greyLight) !important;
  border-radius: var(--radiusLarge) !important;
  color: var(--darkDark) !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  transition: var(--transition) !important;
}

.et_pb_post .post-meta a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}


/* =========================
   Portfolio / Portfolio filtrable
========================= */

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item,
.et_pb_filterable_portfolio .et_pb_portfolio_item {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover,
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_portfolio_image,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_portfolio_image {
  display: block !important;
  position: relative !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_portfolio_image img,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_portfolio_image img {
  width: 100% !important;
  display: block !important;
  border-radius: var(--radius) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_overlay,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_overlay {
  border: none !important;
  background-color: rgba(10, 31, 51, 0.72) !important;
  border-radius: var(--radius) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_overlay:before,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_overlay:before {
  color: var(--brand) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header {
  margin-top: var(--spaceXS) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header,
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header a,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header a {
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header a:hover,
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover .et_pb_module_header,
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover .et_pb_module_header a,
.et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header a:hover,
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_pb_module_header,
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_pb_module_header a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta {
  margin-top: 0.25rem !important;
  color: var(--darkDark) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a {
  display: inline-block !important;
  padding: 0.333em 0.75em !important;
  background-color: var(--greyLight) !important;
  border: var(--border) !important;
  border-radius: var(--radiusLarge) !important;
  color: var(--darkDark) !important;
  font-size: 0.8rem !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a:hover,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}


/* Portfolio filtrable — filtres catégories */
.et_pb_filterable_portfolio .et_pb_portfolio_filters {
  margin-bottom: var(--spaceM) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--spaceXS) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.666em 1.5em !important;
  background-color: var(--greyLight) !important;
  border: var(--border) !important;
  border-radius: var(--radiusLarge) !important;
  color: var(--darkDark) !important;
  font-size: 0.85rem !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: var(--transition) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active,
.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active:hover {
  background-color: var(--brandLight) !important;
  border-color: var(--brandLight) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li:first-child a,
.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li:last-child a {
  border-radius: var(--radiusLarge) !important;
}


/* ==============================================
   Fullwidth Portfolio Carousel POST / PAGE / PROJECT
================================================= */

.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_item {
  padding: 0.5rem;
}

.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_image {
  border-radius: var(--radius) !important;
}

.et_pb_fullwidth_portfolio_carousel .et_overlay {
  background-color: color-mix(in srgb, var(--darkDark) 78%, transparent) !important;
}

.et_pb_fullwidth_portfolio_carousel .et_pb_module_header,
.et_pb_fullwidth_portfolio_carousel .post-meta {
  color: var(--white) !important;
}


/* =========================
   Flèches Portfolio / Slider
========================= */

.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev,
.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next,
.et_pb_slider .et-pb-arrow-prev,
.et_pb_slider .et-pb-arrow-next,
.et_pb_group_carousel .et_pb_group_carousel_arrow,
.dica_divi_carousel .swiper-button-prev,
.dica_divi_carousel .swiper-button-next {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--white) !important;
  border: var(--border) !important;
  border-radius: 999px !important;
  color: var(--brand) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev:hover,
.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next:hover,
.et_pb_slider .et-pb-arrow-prev:hover,
.et_pb_slider .et-pb-arrow-next:hover,
.et_pb_group_carousel .et_pb_group_carousel_arrow:hover,
.dica_divi_carousel .swiper-button-prev:hover,
.dica_divi_carousel .swiper-button-next:hover {
  background-color: var(--greyDark) !important;
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev span,
.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next span,
.et_pb_slider .et-pb-arrow-prev span,
.et_pb_slider .et-pb-arrow-next span {
  display: none !important;
}

.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev:before,
.et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next:before,
.et_pb_slider .et-pb-arrow-prev:before,
.et_pb_slider .et-pb-arrow-next:before,
.et_pb_group_carousel .et_pb_group_carousel_arrow:before,
.et_pb_group_carousel .et_pb_group_carousel_arrow:after,
.dica_divi_carousel .swiper-button-prev::before,
.dica_divi_carousel .swiper-button-next::before,
.dica_divi_carousel .swiper-button-prev::after,
.dica_divi_carousel .swiper-button-next::after {
  color: var(--brand) !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================
   Galerie
========================= */

.et_pb_gallery .et_pb_gallery_image {
  width: 100% !important;
  min-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background-color: var(--greyLight) !important;
}

.et_pb_gallery .et_pb_gallery_item {
  display: flex !important;
  align-items: stretch !important;
}

.et_pb_gallery .et_pb_gallery_image a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.et_pb_gallery .et_pb_gallery_image img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 96px !important;
  object-fit: contain !important;
  margin: auto !important;
  display: block !important;
  border-radius: var(--radius) !important;
}

.et_pb_gallery .et_overlay:before {
  color: var(--brand) !important;
  font-size: 20px;
}

.et_pb_gallery_caption,
.mfp-title,
.mfp-figure figcaption {
  display: none !important;
}


/* =========================
   Slider
========================= */

.et_pb_slider {
  border-radius: var(--radius);
  overflow: visible !important;
  background-color: var(--greyLight) !important;
}

.et_pb_slides,
.et_pb_slide {
  border-radius: var(--radius);
  overflow: hidden;
}

.et_pb_slider .et-pb-slider-arrows {
  overflow: visible !important;
}

.et_pb_slide_overlay_container {
  background-color: rgba(10, 31, 51, 0.666) !important;
}

.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_description,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_title,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_content,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_content p {
  text-align: center !important;
}

.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_content {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_title,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_title a,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_content,
.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_slide_content p {
  color: var(--white) !important;
}

.et_pb_slider .et_pb_slide.et_pb_slider_with_overlay:not(.et_pb_slide_with_image) .et_pb_button_wrapper {
  display: flex !important;
  justify-content: center !important;
}

.et_pb_slide_description .et_pb_slide_content {
  margin-bottom: var(--spaceM) !important;
}

.et_pb_slider .et_pb_slide_title,
.et_pb_slider .et_pb_slide_title a,
.et_pb_slider .et_pb_slide_description h2,
.et_pb_slider .et_pb_slide_description h2 a {
  text-decoration: none !important;
}

.et_pb_slider .et-pb-controllers a,
.et_pb_group_carousel .et_pb_group_carousel_dot,
.dica_divi_carousel .swiper-pagination-bullet {
  background-color: var(--grey) !important;
  opacity: 1 !important;
}

.et_pb_slider .et-pb-controllers a.et-pb-active-control,
.et_pb_group_carousel .et_pb_group_carousel_dot.active,
.et_pb_group_carousel .et_pb_group_carousel_dot_active,
.dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}

.et_pb_slide_description,
.et_pb_slide_title,
.et_pb_slide_title a,
.et_pb_slide_description h1,
.et_pb_slide_description h2,
.et_pb_slide_description h3,
.et_pb_slide_description h4,
.et_pb_slide_description p,
.et_pb_slide_description .post-meta,
.et_pb_slide_description .post-meta a {
  text-shadow: none !important;
}

.et_pb_slide_with_image .et_pb_slide_image img {
  border-radius : var(--radius);
}


/* =========================
   Post Slider
========================= */

.et_pb_post_slider .et_pb_slide_title,
.et_pb_post_slider .et_pb_slide_title a,
.et_pb_post_slider .et_pb_slide_content,
.et_pb_post_slider .et_pb_slide_content p,
.et_pb_post_slider .et_pb_slide_description p {
  color: var(--white) !important;
}

.et_pb_post_slider .post-meta,
.et_pb_post_slider .post-meta a,
.et_pb_post_slider .post-meta span,
.et_pb_post_slider .published,
.et_pb_post_slider .author,
.et_pb_post_slider .comments-number {
  color: var(--brand) !important;
  text-decoration: none !important;
}


/* =========================
   Icônes
========================= */

.et_pb_icon .et-pb-icon,
.et_pb_icon_list .et-pb-icon,
.et_pb_icon_list .et_pb_icon_list_item .et-pb-icon {
  color: var(--brand);
}

.et_pb_icon.et_flex_module {
  align-self: unset;
}

.et_pb_icon a,
.et_pb_icon a:hover,
.et_pb_social_icon a,
.et_pb_social_icon a:hover {
  text-decoration: none !important;
}

.buttonIcon .et-pb-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brand);
  color: var(--white) !important;
  border-radius: 50%;
  font-size: 30px !important;
}


/* =========================
   Login
========================= */

.et_pb_login {
  background-color: var(--greyLight) !important;
  border: var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  padding: var(--spaceM) !important;
}

.et_pb_login input {
  border-radius: var(--radius);
}

.et_pb_login_form .et_pb_newsletter_button {
  width: 160px;
}


/* =========================
   Search
========================= */

.et_pb_search {
  border-radius: var(--radius) !important;
  border: var(--border) !important;
}

.et_pb_search input.et_pb_searchsubmit {
  background-color: var(--brand) !important;
  color: var(--white);
  padding: 1em !important;
}

.et_pb_search input.et_pb_searchsubmit:hover {
  background-color: var(--brandLight) !important;
  color: var(--white);
}


/* =========================
   Pricing table
========================= */

.et_pb_pricing_tables {
  display: flex;
  gap: var(--spaceS);
}

.et_pb_pricing_table {
  border: var(--border);
  border-radius: var(--radius);
  background-color: var(--white) !important;
}

.et_pb_pricing_heading {
  background-color: var(--dark) !important;
  padding: 2em;
}

.et_pb_pricing_heading .et_pb_pricing_title,
.et_pb_pricing_heading .et_pb_pricing_title h1,
.et_pb_pricing_heading .et_pb_pricing_title h2,
.et_pb_pricing_heading .et_pb_pricing_title h3,
.et_pb_pricing_heading .et_pb_pricing_title h4,
.et_pb_pricing_heading .et_pb_pricing_title h5,
.et_pb_pricing_heading .et_pb_pricing_title h6,
.et_pb_pricing_heading .et_pb_best_value {
  color: var(--white) !important;
}

.et_pb_pricing_content_top {
  border-bottom: var(--border);
}

.et_pb_sum {
  color: var(--brand) !important;
  font-family: var(--fontTitle) !important;
  font-weight: var(--weightBold) !important;
}

.et_pb_dollar_sign {
  color: var(--brand);
}

.et_pb_pricing li {
  padding: 0 0 0.5em 14px;
}

.et_pb_pricing li > span:before {
  border-color: var(--brand) !important;
}

.et_pb_pricing li.et_pb_not_available > span:before {
  border-color: var(--accent) !important;
}


/* =========================
   Team Member
========================= */

.et_pb_team_member {
  text-align: left !important;
  padding: var(--spaceM) !important;
}

.et_pb_team_member .et_pb_team_member_image {
  margin-bottom: var(--spaceS) !important;
}

.et_pb_team_member .et_pb_team_member_image img {
  border-radius: 50% !important;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
}

.et_pb_team_member h4 {
  margin-bottom: var(--spaceXS) !important;
  color: var(--darkDark) !important;
}

.et_pb_team_member .et_pb_member_position {
  margin-bottom: var(--spaceXS) !important;
  color: var(--brand) !important;
  font-size: 0.8rem;
  font-weight: var(--weightBold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.et_pb_team_member .et_pb_team_member_description,
.et_pb_team_member .et_pb_team_member_description p {
  color: var(--darkDark) !important;
}

.et_pb_team_member .et_pb_member_social_links {
  display: flex !important;
  justify-content: flex-start !important;
  gap: var(--spaceS) !important;
  margin-top: var(--spaceM) !important;
  padding-left: 0 !important;
}

.et_pb_team_member .et_pb_member_social_links li {
  margin: 0 !important;
}

.et_pb_team_member .et_pb_member_social_links a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

.et_pb_team_member .et_pb_member_social_links a:hover {
  color: var(--brandLight) !important;
  text-decoration: none !important;
}


/* =========================
   Testimonial
========================= */

.et_pb_testimonial {
  border-radius: var(--radius) !important;
  background-color: var(--greyLight) !important;
}

.et_pb_testimonial:before {
  color: var(--brand);
}

.et_pb_testimonial .et_pb_testimonial_description {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--spaceS);
  row-gap: var(--spaceS);
}


/* =========================
   Audio
========================= */

.et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--white) !important;
}

.et_pb_audio_module h2,
.et_pb_audio_module .et_pb_module_header,
.et_pb_audio_module .et_pb_audio_module_content h2,
.et_pb_audio_module .et_audio_module_meta,
.et_pb_audio_module .et_audio_module_meta strong,
.et_pb_audio_module .et_audio_module_meta span {
  color: var(--dark) !important;
}

.et_pb_audio_module .mejs-container,
.et_pb_audio_module .mejs-inner,
.et_pb_audio_module .mejs-controls {
  background: transparent !important;
}

.et_pb_audio_module .mejs-time,
.et_pb_audio_module .mejs-currenttime,
.et_pb_audio_module .mejs-duration {
  color: var(--darkDark) !important;
}

.et_pb_audio_module .mejs-controls .mejs-button button {
  filter: invert(14%) sepia(32%) saturate(1230%) hue-rotate(174deg) brightness(92%) contrast(94%);
}

.et_pb_audio_module .mejs-time-total,
.et_pb_audio_module .mejs-horizontal-volume-total {
  background-color: var(--grey) !important;
}

.et_pb_audio_module .mejs-time-current,
.et_pb_audio_module .mejs-horizontal-volume-current,
.et_pb_audio_module .mejs-time-handle-content,
.et_pb_audio_module .mejs-horizontal-volume-handle {
  background-color: var(--brand) !important;
}


/* =========================
   Divi Group Carousel
========================= */

.et_pb_group_carousel {
  overflow: visible !important;
}

.et_pb_group_carousel .et_pb_group_carousel_items {
  margin-left: calc(var(--spaceS) / -2) !important;
  margin-right: calc(var(--spaceS) / -2) !important;
}

.et_pb_group_carousel .et_pb_group_carousel_item,
.et_pb_group_carousel .et_pb_group_carousel_slide,
.et_pb_group_carousel .et_pb_group_carousel_child {
  padding-left: calc(var(--spaceS) / 2) !important;
  padding-right: calc(var(--spaceS) / 2) !important;
}

.et_pb_group_carousel .et_pb_group {
  overflow: hidden !important;
  border-radius: var(--radius) !important;
}

.et_pb_group_carousel .et_pb_group_carousel_arrow {
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important;
}

.et_pb_group_carousel .et_pb_group_carousel_arrow span,
.et_pb_group_carousel .et_pb_group_carousel_arrow .et-pb-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: var(--brand) !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================
   Table des matières
========================= */

.et_pb_table_of_contents {
  border-radius: var(--radius);
  padding: var(--spaceM);
  background-color: var(--greyLight);
}

.et_pb_table_of_contents .et_pb_table_of_contents__list--level-2 {
  border-bottom: var(--border);
  border-color: var(--greyDark);
  padding-bottom: var(--spaceXS);
  margin-bottom: var(--spaceXS) !important;
}

ol.et_pb_table_of_contents__list--level-2 {
  border-bottom: none !important;
}

.et_pb_table_of_contents .et_pb_table_of_contents__marker {
  color: var(--brand);
}

.et_pb_table_of_contents .et_pb_table_of_contents__link-text {
  color: var(--dark);
}

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


/* =========================================================
   4. COMPOSANTS
   Classes réutilisables hors modules Divi
========================================================= */

/* =========================
   Backgrounds en dégradé
========================= */

.gradientLightToGrey {
  background: linear-gradient(
    to bottom,
    var(--white) 0%,
    var(--white) 50%,
    var(--greyLight) 50%,
    var(--greyLight) 100%
  ) !important;
}

.gradientGreyToLight {
  background: linear-gradient(
    to bottom,
    var(--greyLight) 0%,
    var(--greyLight) 50%,
    var(--white) 50%,
    var(--white) 100%
  ) !important;
}

.gradientGreyToDark {
  background: linear-gradient(
    to bottom,
    var(--greyLight) 0%,
    var(--greyLight) 50%,
    var(--darkDark) 50%,
    var(--darkDark) 100%
  ) !important;
}

.gradientLightToDark {
  background: linear-gradient(
    to bottom,
    var(--white) 0%,
    var(--white) 50%,
    var(--darkDark) 50%,
    var(--darkDark) 100%
  ) !important;
}


/* =========================
   Floating rows
========================= */

.floatingRow,
.floatingRowDark {
  position: relative;
  z-index: 2;
  border-radius: var(--radiusLarge);
  padding: var(--spaceL) !important;
}

.floatingRow {
  background-color: var(--white);
  border: var(--border);
  box-shadow: var(--shadow);
}

.floatingRowDark {
  background-color: var(--dark) !important;
  border: 1px solid var(--darkLight) !important;
}

.floatingRow,
.floatingRow .et_pb_module,
.floatingRow .et_pb_module p,
.floatingRow .et_pb_module li,
.floatingRow .et_pb_module h1,
.floatingRow .et_pb_module h2,
.floatingRow .et_pb_module h3,
.floatingRow .et_pb_module h4,
.floatingRow .et_pb_module h5,
.floatingRow .et_pb_module h6 {
  color: var(--darkDark) !important;
}

.floatingRowDark,
.floatingRowDark .et_pb_module,
.floatingRowDark .et_pb_module p,
.floatingRowDark .et_pb_module li,
.floatingRowDark .et_pb_module h1,
.floatingRowDark .et_pb_module h2,
.floatingRowDark .et_pb_module h3,
.floatingRowDark .et_pb_module h4,
.floatingRowDark .et_pb_module h5,
.floatingRowDark .et_pb_module h6 {
  color: var(--white) !important;
}

.floatingRow .surTitre,
.floatingRow .et_pb_module .surTitre,
.floatingRowDark .surTitre,
.floatingRowDark .et_pb_module .surTitre {
  color: var(--brand) !important;
}


/* =========================
   Cards / boîtes
========================= */

.cardShadow,
.cardBox {
  padding: var(--spaceM);
  border-radius: var(--radius);
}

.cardShadow {
  background-color: var(--white);
  box-shadow: var(--shadow) !important;
}

.cardBox {
  background: var(--greyLight);
}


/* =========================
   Hero avec overlay
========================= */

.heroOverlay {
  position: relative;
  overflow: hidden;
}

.heroOverlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--darkDark);
  opacity: 0.8;
  z-index: 1;
  pointer-events: none;
}

.heroOverlay > .et_pb_row {
  position: relative;
  z-index: 2;
}


/* =========================================================
   5. DIVI GEAR
   Modules et variantes Divi Gear
========================================================= */

/* =========================
   Divi Gear Carousel — Cards
========================= */

.dica_divi_carousel .dica-item {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--radius) !important;
}

.dica_divi_carousel .dica-image-container,
.dica_divi_carousel .dica-image-container .image {
  margin: 0 !important;
  line-height: 0 !important;
  display: block !important;
  position: relative !important;
}

.dica_divi_carousel .dica-image-container {
  overflow: hidden !important;
  border-radius: var(--radius) !important;
}

.dica_divi_carousel .dica-image-container img.dica-item-image {
  width: 100% !important;
  display: block !important;
  border-radius: var(--radius) !important;
}

.dica_divi_carousel .dica-image-container .image:after {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background-color: rgba(10, 31, 51, 0.72) !important;
  border-radius: var(--radius) !important;
  opacity: 0;
  transition: var(--transition);
  pointer-events: none;
}

.dica_divi_carousel .dica-item:hover .dica-image-container .image:after {
  opacity: 1;
}

.dica_divi_carousel .dica-item-content {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--spaceM) !important;
  text-align: center !important;
  opacity: 0;
  transition: var(--transition);
  pointer-events: none !important;
}

.dica_divi_carousel .dica-item:hover .dica-item-content {
  opacity: 1;
}

.dica_divi_carousel .dica-item-content .item-title {
  margin-bottom: var(--spaceXS) !important;
}

.dica_divi_carousel .dica-item-content .item-title,
.dica_divi_carousel .dica-item-content .item-title a,
.dica_divi_carousel .dica-item-content .item-subtitle,
.dica_divi_carousel .dica-item-content p {
  color: var(--white) !important;
  text-align: center !important;
  text-decoration: none !important;
}

.dica_divi_carousel .dica-item-content .item-title,
.dica_divi_carousel .dica-item-content .item-title a {
  font-family: var(--fontTitle) !important;
  font-weight: var(--weightBold) !important;
}

.dica_divi_carousel .dica-item-content .item-title a:hover,
.dica_divi_carousel .dica-item:hover .dica-item-content .item-title,
.dica_divi_carousel .dica-item:hover .dica-item-content .item-title a {
  color: var(--brand) !important;
  text-decoration: none !important;
}

.dica_divi_carousel .dica-item-content .item-subtitle {
  font-family: var(--fontBody) !important;
  font-size: 0.75rem !important;
  font-weight: var(--weightBold) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}


/* =========================
   Divi Gear Carousel — Variante icône
========================= */

.dica_divi_carousel .dica-item.icon {
  background-color: var(--white) !important;
  border: var(--border) !important;
  border-radius: var(--radius) !important;
  padding: var(--spaceM) !important;
}

.dica_divi_carousel .dica-item.icon .dica-image-container {
  width: 100px !important;
  max-width: 100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: var(--spaceS) !important;
  border-radius: 0 !important;
}

.dica_divi_carousel .dica-item.icon .dica-image-container .image:after {
  display: none !important;
}

.dica_divi_carousel .dica-item.icon img.dica-item-image {
  width: 100% !important;
  max-width: 100px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.dica_divi_carousel .dica-item.icon .dica-item-content {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  padding: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.dica_divi_carousel .dica-item.icon .dica-item-content .item-title,
.dica_divi_carousel .dica-item.icon .dica-item-content .item-title a {
  color: var(--darkDark) !important;
}

.dica_divi_carousel .dica-item.icon:hover .dica-item-content .item-title,
.dica_divi_carousel .dica-item.icon:hover .dica-item-content .item-title a {
  color: var(--brand) !important;
}


/* =========================
   Divi Gear Carousel — Variantes
========================= */

.carouselAuto {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  ) !important;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  ) !important;
}

.carouselRight {
  overflow: visible !important;
}

@media (min-width: 981px) {
  .carouselRight .swiper-container,
  .carouselRight .swiper {
    overflow: visible !important;
  }
}

.carouselRight .swiper-wrapper {
  align-items: stretch !important;
}

.carouselRight .swiper-slide {
  height: auto !important;
}

.carouselRight .dica-item {
  height: 100% !important;
}


/* =========================================================
   6. THEME GREY
   Background, variantes de modules et variantes de composants
========================================================= */

/* =========================
   Background et typographie globale
========================= */

.greyBackground {
  background-color: var(--greyLight) !important;
}

.greyBackground .et_pb_section {
  background-color: var(--greyLight);
}


/* =========================
   Modules Divi
========================= */

.greyBackground .et_pb_blurb.et_clickable,
.greyBackground .et_pb_post,
.greyBackground .et_pb_tabs,
.greyBackground .et_pb_audio_module,
.greyBackground .et_pb_team_member,
.greyBackground .et_pb_pricing_table,
.greyBackground .dica_divi_carousel .dica-item,
.greyBackground .et_pb_login {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_promo {
  background-color: var(--white) !important;
  border-color: var(--greyDark) !important;
}

.greyBackground .et_pb_promo h1,
.greyBackground .et_pb_promo h2,
.greyBackground .et_pb_promo h3,
.greyBackground .et_pb_promo p {
  color: var(--darkDark) !important;
}

.greyBackground .et_pb_tabs {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_tabs_controls {
  background-color: var(--grey) !important;
}

.greyBackground .et_pb_tab {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_toggle {
  border-bottom-color: var(--greyDark) !important;
}

.greyBackground .et_pb_fullwidth_header,
.greyBackground .et_pb_testimonial,
.greyBackground .et_pb_searchform input.et_pb_s,
.greyBackground .et_pb_gallery .et_pb_gallery_image,
.greyBackground .et_pb_slider,
.greyBackground .et_pb_table_of_contents {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_contact_form input,
.greyBackground .et_pb_contact_form textarea,
.greyBackground .et_pb_contact_form select,
.greyBackground .et_pb_contact_captcha {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_contact_form input:focus,
.greyBackground .et_pb_contact_form textarea:focus,
.greyBackground .et_pb_contact_form select:focus,
.greyBackground .et_pb_contact_captcha:focus {
  background-color: var(--white) !important;
}

.greyBackground .et_pb_login_form input {
  background-color: var(--greyLight) !important;
}

.greyBackground .et_pb_post .post-meta a {
  background-color: var(--greyLight) !important;
  border-color: var(--greyLight) !important;
}

.greyBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a,
.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a,
.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  background-color: var(--white) !important;
  border-color: var(--greyDark) !important;
}

.greyBackground .et_pb_post .post-meta a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
}

.greyBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a:hover,
.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a:hover,
.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
}

.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active,
.greyBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}

.greyBackground .et_pb_pricing_heading {
  background-color: var(--dark) !important;
}

.greyBackground .et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--white) !important;
}


/* =========================
   Composants
========================= */

.greyBackground .floatingRow,
.greyBackground .cardShadow,
.greyBackground .cardBox {
  background-color: var(--white) !important;
}

.greyBackground .floatingRow {
  border-color: var(--greyDark) !important;
}

.greyBackground .cardBox {
  border-color: var(--greyDark) !important;
}


/* =========================================================
   7. THEME DARK
   Background, variantes de modules et variantes de composants
========================================================= */

/* =========================
   Background et typographie globale
========================= */

.darkBackground {
  background-color: var(--darkDark) !important;
}

.darkBackground .et_pb_section {
  background-color: var(--darkDark);
}

.darkBackground,
.darkBackground .et_pb_module,
.darkBackground .et_pb_module p,
.darkBackground .et_pb_module li,
.darkBackground .et_pb_module h1,
.darkBackground .et_pb_module h2,
.darkBackground .et_pb_module h3,
.darkBackground .et_pb_module h4,
.darkBackground .et_pb_module h5,
.darkBackground .et_pb_module h6,
.darkBackground .heroTitle,
.darkBackground .heroTitle p,
.darkBackground .heroTitle span {
  color: var(--white) !important;
}

.darkBackground .surTitre,
.darkBackground .et_pb_module .surTitre,
.darkBackground .et_pb_module h1.surTitre,
.darkBackground .et_pb_module h2.surTitre,
.darkBackground .et_pb_module h3.surTitre,
.darkBackground .et_pb_module h4.surTitre,
.darkBackground .et_pb_module h5.surTitre,
.darkBackground .et_pb_module h6.surTitre {
  color: var(--brand) !important;
}

.darkBackground .et_pb_text a,
.darkBackground .et_pb_blurb_description a,
.darkBackground .et_pb_toggle_content a,
.darkBackground .et_pb_tab a {
  color: var(--brand) !important;
}

.darkBackground hr,
.darkBackground .et_pb_divider:before {
  border-color: var(--darkLight) !important;
}


/* =========================
   Boutons
========================= */

.darkBackground .buttonLink {
  color: var(--brandLight) !important;
}

.darkBackground .buttonLink:after {
  color: var(--accent) !important;
}

.darkBackground .et_pb_button_two,
.darkBackground a.et_pb_button_two,
html body #page-container .darkBackground .et_pb_button_two,
html body #page-container .darkBackground a.et_pb_button_two {
  background-color: transparent !important;
  border: 2px solid var(--brand) !important;
  color: var(--brand) !important;
}

.darkBackground .et_pb_button_two:hover,
.darkBackground a.et_pb_button_two:hover,
html body #page-container .darkBackground .et_pb_button_two:hover,
html body #page-container .darkBackground a.et_pb_button_two:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}

.darkBackground .et_pb_button_two:after,
.darkBackground a.et_pb_button_two:after,
html body #page-container .darkBackground .et_pb_button_two:after,
html body #page-container .darkBackground a.et_pb_button_two:after {
  color: var(--brand) !important;
}

.darkBackground .et_pb_button_two:hover:after,
.darkBackground a.et_pb_button_two:hover:after,
html body #page-container .darkBackground .et_pb_button_two:hover:after,
html body #page-container .darkBackground a.et_pb_button_two:hover:after {
  color: var(--accent) !important;
}


/* =========================
   Formulaires
========================= */

.darkBackground .et_pb_contact_form input,
.darkBackground .et_pb_contact_form textarea,
.darkBackground .et_pb_contact_form select {
  background-color: var(--dark) !important;
  color: var(--white) !important;
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_contact_form input:focus,
.darkBackground .et_pb_contact_form textarea:focus,
.darkBackground .et_pb_contact_form select:focus {
  background-color: var(--darkLight) !important;
  border-color: var(--brand) !important;
}

.darkBackground .et_pb_contact_form input::placeholder,
.darkBackground .et_pb_contact_form textarea::placeholder {
  color: var(--white) !important;
  opacity: 0.7 !important;
}

.darkBackground .et_pb_contact_captcha_question {
  color: var(--white) !important;
}


/* =========================
   Modules Divi — containers
========================= */

.darkBackground .et_pb_blurb.et_clickable,
.darkBackground .et_pb_post,
.darkBackground .et_pb_tabs,
.darkBackground .et_pb_audio_module,
.darkBackground .et_pb_team_member,
.darkBackground .et_pb_pricing_table,
.darkBackground .dica_divi_carousel .dica-item,
.darkBackground .et_pb_login,
.darkBackground .et_pb_table_of_contents,
.darkBackground .et_pb_testimonial {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_blurb.et_clickable:hover,
.darkBackground .et_pb_post:hover,
.darkBackground .dica_divi_carousel .dica-item:hover {
  box-shadow: var(--shadowStrong);
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_testimonial {
  background-color: var(--dark) !important;
}


/* =========================
   Fullwidth Header
========================= */

.darkBackground .et_pb_fullwidth_header {
  background-color: var(--darkLight) !important;
}

.darkBackground .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper,
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper p {
  color: var(--white) !important;
}


/* =========================
   Blurb
========================= */

.darkBackground .et_pb_blurb .et_pb_module_header,
.darkBackground .et_pb_blurb .et_pb_module_header a,
.darkBackground .et_pb_blurb .et_pb_blurb_description,
.darkBackground .et_pb_blurb .et_pb_blurb_description p {
  color: var(--white) !important;
}

.darkBackground .et_pb_blurb .et-pb-icon {
  color: var(--brand) !important;
}

.darkBackground .et_pb_blurb .et_pb_module_header a:hover,
.darkBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header,
.darkBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header a {
  color: var(--brand) !important;
  text-decoration: none !important;
}


/* =========================
   CTA
========================= */

.darkBackground .et_pb_promo {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_promo h1,
.darkBackground .et_pb_promo h2,
.darkBackground .et_pb_promo h3,
.darkBackground .et_pb_promo p {
  color: var(--white) !important;
}


/* =========================
   Tabs
========================= */

.darkBackground .et_pb_tabs,
.darkBackground .et_pb_tab {
  background-color: var(--dark) !important;
}

.darkBackground .et_pb_tabs_controls {
  background-color: var(--darkLight) !important;
}

.darkBackground .et_pb_tabs_controls li a {
  color: var(--white) !important;
}

.darkBackground .et_pb_tabs_controls li a:hover {
  background-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_tabs_controls li.et_pb_tab_active a,
.darkBackground .et_pb_tabs_controls li.et_pb_tab_active a:hover {
  background-color: var(--dark) !important;
  color: var(--brand) !important;
}


/* =========================
   Toggle
========================= */

.darkBackground .et_pb_toggle {
  border-bottom-color: var(--darkLight) !important;
}

.darkBackground .et_pb_toggle_title,
.darkBackground .et_pb_toggle_content,
.darkBackground .et_pb_toggle_content p {
  color: var(--white) !important;
}


/* =========================
   Blog
========================= */

.darkBackground .et_pb_post .entry-title,
.darkBackground .et_pb_post .entry-title a,
.darkBackground .et_pb_post .post-content,
.darkBackground .et_pb_post .post-content p {
  color: var(--white) !important;
}

.darkBackground .et_pb_post .entry-title a:hover,
.darkBackground .et_pb_post:hover .entry-title,
.darkBackground .et_pb_post:hover .entry-title a {
  color: var(--brand) !important;
}

.darkBackground .et_pb_post .post-meta a,
.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_post .post-meta a:hover,
.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a:hover,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}


/* =========================
   Portfolio
========================= */

.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header,
.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .et_pb_module_header a,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .et_pb_module_header a,
.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta {
  color: var(--white) !important;
}

.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover .et_pb_module_header,
.darkBackground .et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover .et_pb_module_header a,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_pb_module_header,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_pb_module_header a {
  color: var(--brand) !important;
}

.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a:hover {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}

/* Portfolio filtrable — pagination */
.darkBackground .et_pb_filterable_portfolio .et_pb_portofolio_pagination,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_pagination,
.darkBackground .et_pb_filterable_portfolio .et_pb_portofolio_pagination.clearfix,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_pagination.clearfix {
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_filterable_portfolio .et_pb_portofolio_pagination:after,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_pagination:after,
.darkBackground .et_pb_filterable_portfolio .et_pb_portofolio_pagination.clearfix:after,
.darkBackground .et_pb_filterable_portfolio .et_pb_portfolio_pagination.clearfix:after {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
}


/* =========================
   Galerie / Slider / Flèches
========================= */

.darkBackground .et_pb_gallery .et_pb_gallery_image,
.darkBackground .et_pb_slider {
  background-color: var(--dark) !important;
}

/* Pastilles next / prev — Divi + Divi Gear */
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev,
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next,
.darkBackground .et_pb_slider .et-pb-arrow-prev,
.darkBackground .et_pb_slider .et-pb-arrow-next,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow,
.darkBackground .dica_divi_carousel .swiper-button-prev,
.darkBackground .dica_divi_carousel .swiper-button-next {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  color: var(--brand) !important;
}

/* Icônes des flèches — Divi natif */
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev:before,
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next:before,
.darkBackground .et_pb_slider .et-pb-arrow-prev:before,
.darkBackground .et_pb_slider .et-pb-arrow-next:before,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow:before,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow:after,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow span,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow .et-pb-icon {
  color: var(--brand) !important;
}

/* Icônes des flèches — Divi Gear */
.darkBackground .dica_divi_carousel .swiper-button-prev:before,
.darkBackground .dica_divi_carousel .swiper-button-next:before,
.darkBackground .dica_divi_carousel .swiper-button-prev:after,
.darkBackground .dica_divi_carousel .swiper-button-next:after,
.darkBackground .dica_divi_carousel .swiper-button-prev::before,
.darkBackground .dica_divi_carousel .swiper-button-next::before,
.darkBackground .dica_divi_carousel .swiper-button-prev::after,
.darkBackground .dica_divi_carousel .swiper-button-next::after,
.darkBackground .dica_divi_carousel .swiper-button-prev i,
.darkBackground .dica_divi_carousel .swiper-button-next i,
.darkBackground .dica_divi_carousel .swiper-button-prev span,
.darkBackground .dica_divi_carousel .swiper-button-next span {
  color: var(--brand) !important;
}

/* Icônes SVG éventuelles — Divi Gear */
.darkBackground .dica_divi_carousel .swiper-button-prev svg,
.darkBackground .dica_divi_carousel .swiper-button-next svg,
.darkBackground .dica_divi_carousel .swiper-button-prev svg *,
.darkBackground .dica_divi_carousel .swiper-button-next svg * {
  fill: var(--brand) !important;
  stroke: var(--brand) !important;
}

/* Hover next / prev */
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-prev:hover,
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a.et-pb-arrow-next:hover,
.darkBackground .et_pb_slider .et-pb-arrow-prev:hover,
.darkBackground .et_pb_slider .et-pb-arrow-next:hover,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow:hover,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover,
.darkBackground .dica_divi_carousel .swiper-button-next:hover {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  color: var(--brand) !important;
  text-decoration: none !important;
}

/* Hover icônes Divi Gear */
.darkBackground .dica_divi_carousel .swiper-button-prev:hover:before,
.darkBackground .dica_divi_carousel .swiper-button-next:hover:before,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover:after,
.darkBackground .dica_divi_carousel .swiper-button-next:hover:after,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover::before,
.darkBackground .dica_divi_carousel .swiper-button-next:hover::before,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover::after,
.darkBackground .dica_divi_carousel .swiper-button-next:hover::after,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover i,
.darkBackground .dica_divi_carousel .swiper-button-next:hover i,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover span,
.darkBackground .dica_divi_carousel .swiper-button-next:hover span {
  color: var(--brand) !important;
}

.darkBackground .dica_divi_carousel .swiper-button-prev:hover svg,
.darkBackground .dica_divi_carousel .swiper-button-next:hover svg,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover svg *,
.darkBackground .dica_divi_carousel .swiper-button-next:hover svg * {
  fill: var(--brand) !important;
  stroke: var(--brand) !important;
}

/* Pagination / dots */
.darkBackground .et_pb_slider .et-pb-controllers a,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot,
.darkBackground .dica_divi_carousel .swiper-pagination-bullet {
  background-color: var(--darkLight) !important;
  opacity: 1 !important;
}

.darkBackground .et_pb_slider .et-pb-controllers a.et-pb-active-control,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot.active,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot_active,
.darkBackground .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}

/* Fix Divi Gear Carousel — flèches dark */
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev.dica-prev-btn,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next.dica-next-btn {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--darkLight) !important;
  background-color: var(--darkLight) !important;
  border: 1px solid var(--darkLight) !important;
  border-radius: 999px !important;
  color: var(--brand) !important;
  opacity: 1 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Supprime les couleurs/images éventuelles imposées par Swiper ou Divi Gear */
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev::after,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next::after,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn::after,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn::after {
  color: var(--brand) !important;
  background: none !important;
  background-image: none !important;
  font-size: 1.75rem !important;
}

/* Cas où Divi Gear utilise une icône interne */
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev i,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next i,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn i,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn i,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev span,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next span,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn span,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn span {
  color: var(--brand) !important;
}

/* Cas SVG */
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev svg,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next svg,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn svg,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn svg,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev svg *,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next svg *,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn svg *,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn svg * {
  fill: var(--brand) !important;
  stroke: var(--brand) !important;
}

/* Hover */
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev:hover,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next:hover,
html body #page-container .darkBackground .dica_divi_carousel .dica-prev-btn:hover,
html body #page-container .darkBackground .dica_divi_carousel .dica-next-btn:hover,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev.dica-prev-btn:hover,
html body #page-container .darkBackground .dica_divi_carousel .swiper-button-next.dica-next-btn:hover {
  background: var(--darkLight) !important;
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  color: var(--brand) !important;
}


/* =========================
   Login / Search
========================= */

.darkBackground .et_pb_search {
  border-color: var(--darkLight) !important;
  background-color: var(--dark) !important;
}

.darkBackground .et_pb_search input.et_pb_s {
  background-color: var(--dark) !important;
  color: var(--white) !important;
}


/* =========================
   Pricing
========================= */

.darkBackground .et_pb_pricing_table,
.darkBackground .et_pb_pricing_content,
.darkBackground .et_pb_pricing_content_top {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_pricing_heading {
  background-color: var(--darkLight) !important;
}

.darkBackground .et_pb_pricing_table li,
.darkBackground .et_pb_pricing_table span,
.darkBackground .et_pb_pricing_table p {
  color: var(--white) !important;
}

.darkBackground .et_pb_pricing_content_top {
  border-bottom-color: var(--darkLight) !important;
}


/* =========================
   Team
========================= */

.darkBackground .et_pb_team_member h4,
.darkBackground .et_pb_team_member p,
.darkBackground .et_pb_team_member .et_pb_team_member_description,
.darkBackground .et_pb_team_member .et_pb_team_member_description p {
  color: var(--white) !important;
}

.darkBackground .et_pb_team_member .et_pb_member_social_links a {
  color: var(--brand) !important;
}


/* =========================
   Audio
========================= */

.darkBackground .et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--dark) !important;
}

.darkBackground .et_pb_audio_module h2,
.darkBackground .et_pb_audio_module .et_pb_module_header,
.darkBackground .et_pb_audio_module .et_pb_audio_module_content h2,
.darkBackground .et_pb_audio_module .et_audio_module_meta,
.darkBackground .et_pb_audio_module .et_audio_module_meta strong,
.darkBackground .et_pb_audio_module .et_audio_module_meta span,
.darkBackground .et_pb_audio_module .mejs-time,
.darkBackground .et_pb_audio_module .mejs-currenttime,
.darkBackground .et_pb_audio_module .mejs-duration {
  color: var(--white) !important;
}

.darkBackground .et_pb_audio_module .mejs-controls .mejs-button button {
  filter: invert(100%);
}

.darkBackground .et_pb_audio_module .mejs-time-total,
.darkBackground .et_pb_audio_module .mejs-horizontal-volume-total {
  background-color: var(--darkLight) !important;
}


/* =========================
   Divi Gear
========================= */

.darkBackground .dica_divi_carousel .dica-item.icon {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
}

.darkBackground .dica_divi_carousel .dica-item.icon .dica-item-content .item-title,
.darkBackground .dica_divi_carousel .dica-item.icon .dica-item-content .item-title a,
.darkBackground .dica_divi_carousel .dica-item-content .item-title,
.darkBackground .dica_divi_carousel .dica-item-content p {
  color: var(--white) !important;
}

.darkBackground .dica_divi_carousel .dica-item:hover .dica-item-content .item-title,
.darkBackground .dica_divi_carousel .dica-item:hover .dica-item-content .item-title a {
  color: var(--brand) !important;
  text-decoration: none !important;
}


/* =========================
   Table des matières
========================= */

.darkBackground .et_pb_table_of_contents .et_pb_table_of_contents__list--level-2 {
  border-color: var(--darkLight) !important;
}

.darkBackground .et_pb_table_of_contents .et_pb_table_of_contents__link-text {
  color: var(--white) !important;
}


/* =========================
   Composants
========================= */

.darkBackground .floatingRow,
.darkBackground .cardShadow,
.darkBackground .cardBox {
  background-color: var(--dark) !important;
  border-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .floatingRow,
.darkBackground .floatingRow .et_pb_module,
.darkBackground .floatingRow .et_pb_module p,
.darkBackground .floatingRow .et_pb_module li,
.darkBackground .floatingRow .et_pb_module h1,
.darkBackground .floatingRow .et_pb_module h2,
.darkBackground .floatingRow .et_pb_module h3,
.darkBackground .floatingRow .et_pb_module h4,
.darkBackground .floatingRow .et_pb_module h5,
.darkBackground .floatingRow .et_pb_module h6,
.darkBackground .cardShadow,
.darkBackground .cardShadow .et_pb_module,
.darkBackground .cardShadow .et_pb_module p,
.darkBackground .cardShadow .et_pb_module li,
.darkBackground .cardShadow .et_pb_module h1,
.darkBackground .cardShadow .et_pb_module h2,
.darkBackground .cardShadow .et_pb_module h3,
.darkBackground .cardShadow .et_pb_module h4,
.darkBackground .cardShadow .et_pb_module h5,
.darkBackground .cardShadow .et_pb_module h6,
.darkBackground .cardBox,
.darkBackground .cardBox .et_pb_module,
.darkBackground .cardBox .et_pb_module p,
.darkBackground .cardBox .et_pb_module li,
.darkBackground .cardBox .et_pb_module h1,
.darkBackground .cardBox .et_pb_module h2,
.darkBackground .cardBox .et_pb_module h3,
.darkBackground .cardBox .et_pb_module h4,
.darkBackground .cardBox .et_pb_module h5,
.darkBackground .cardBox .et_pb_module h6 {
  color: var(--white) !important;
}




/* =========================================================
   8. SPÉCIFIQUE PROJET
   À modifier uniquement pour le projet en cours
========================================================= */

/* =========================
   Projet : Allan Lipsker / urologue.drakmaker.fr
========================= */

/* Header sombre */
#main-header,
#top-header {
  background-color: var(--darkDark) !important;
}

#main-header nav ul li a {
  color: var(--white) !important;
}

#main-header nav ul li a:hover {
  color: var(--brand) !important;
}

#main-header .et_mobile_menu {
  background-color: var(--darkDark) !important;
}

#main-header .et_mobile_menu li a,
.mobile_menu_bar:before {
  color: var(--white) !important;
}


/* =========================
   Section En bref
========================= */

.enBref {
  padding: var(--spaceL) 0 !important;
}

.enBref .et_pb_blurb .et-pb-icon {
  font-size: 20px !important;
}


/* =========================
   Bouton Urgence
========================= */

.et_pb_button.buttonUrgence,
.buttonUrgence.et_pb_button,
.greyBackground .et_pb_button.buttonUrgence,
.greyBackground .buttonUrgence.et_pb_button,
.darkBackground .et_pb_button.buttonUrgence,
.darkBackground .buttonUrgence.et_pb_button {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}

.et_pb_button.buttonUrgence:hover,
.buttonUrgence.et_pb_button:hover,
.greyBackground .et_pb_button.buttonUrgence:hover,
.greyBackground .buttonUrgence.et_pb_button:hover,
.darkBackground .et_pb_button.buttonUrgence:hover,
.darkBackground .buttonUrgence.et_pb_button:hover {
  background-color: var(--accentLight) !important;
  border-color: var(--accentLight) !important;
  color: var(--white) !important;
}

.et_pb_button.buttonUrgence:after,
.buttonUrgence.et_pb_button:after,
.greyBackground .et_pb_button.buttonUrgence:after,
.greyBackground .buttonUrgence.et_pb_button:after,
.darkBackground .et_pb_button.buttonUrgence:after,
.darkBackground .buttonUrgence.et_pb_button:after,
.et_pb_button.buttonUrgence:hover:after,
.buttonUrgence.et_pb_button:hover:after,
.greyBackground .et_pb_button.buttonUrgence:hover:after,
.greyBackground .buttonUrgence.et_pb_button:hover:after,
.darkBackground .et_pb_button.buttonUrgence:hover:after,
.darkBackground .buttonUrgence.et_pb_button:hover:after {
  color: var(--white) !important;
}


/* =========================================================
   9. ANIMATIONS
========================================================= */

.drakRevealReady .et_pb_row {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.drakRevealReady .et_pb_column {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.drakRevealReady .et_pb_row.isVisible,
.drakRevealReady .et_pb_row.isVisible .et_pb_column {
  opacity: 1;
  transform: translateY(0);
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(1) {
  transition-delay: 0.05s;
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(2) {
  transition-delay: 0.15s;
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(3) {
  transition-delay: 0.25s;
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(4) {
  transition-delay: 0.35s;
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(5) {
  transition-delay: 0.45s;
}

.drakRevealReady .et_pb_row.isVisible .et_pb_column:nth-child(6) {
  transition-delay: 0.55s;
}

@media (prefers-reduced-motion: reduce) {
  .drakRevealReady .et_pb_row,
  .drakRevealReady .et_pb_column {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
