/*
 Theme Name:   Malemort Toit Child
 Theme URI:    https://malemort-toit.fr
 Description:  Divi Child Theme — Malemort Toit — Refonte 2025
 Author:       Malemort Toit
 Author URI:   https://malemort-toit.fr
 Template:     Divi
 Version:      2.6.0
 Text Domain:  malemort-toit-child
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --mt-primary:  #1A2B3C;
  --mt-darkest:  #0F1E2D;
  --mt-accent:   #C8860A;
  --mt-accent-l: #E5A020;
  --mt-beige:    #F5F3EF;
  --mt-white:    #FFFFFF;
  --mt-text:     #4B5563;
}

/* ====================================================
   GLOBAL TYPOGRAPHY (Inter for Body, Montserrat for Headings)
   ================================================== */
body,
p,
li,
a,
span,
label,
input,
select,
textarea,
button,
.et_pb_text,
.et_pb_text p,
.et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_blurb,
.et_pb_blurb_content,
.et_pb_blurb_content p,
.et_pb_blurb_description,
.mt-subpage-checklist-content span,
.mt-subpage-process-desc {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3, .et_pb_text h4,
.et_pb_text_inner h1, .et_pb_text_inner h2, .et_pb_text_inner h3, .et_pb_text_inner h4,
.et_pb_module_header,
.et_pb_module_header span,
.et_pb_slide_title,
.et_pb_toggle_title,
.mt-checklist-title,
.mt-process-title,
.mt-subpage-checklist-title,
.mt-subpage-process-title,
.mt-process-number,
.mt-subpage-process-number,
.mt-contact-title,
.wpforms-field-label,
.wpforms-submit {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ====================================================
   LAYOUT & HEADER SPACING (Eliminate top white gap)
   ================================================== */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}
#page-container,
body #page-container,
body.et_fixed_nav #page-container,
.et_fixed_nav #page-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Suppress secondary top header */
#top-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* ====================================================
   HEADER & NAVIGATION
   Sticky header with solid dark background & prominent logo
   ================================================== */
#main-header,
#main-header.et_fixed_nav,
#main-header.et-fixed-header,
.et-fixed-header#main-header,
#main-header.et_fixed_nav.et_hide_fixed_logo {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  height: 80px !important;
  min-height: 80px !important;
  background: #1A2B3C !important;
  background-color: #1A2B3C !important;
  box-shadow: 0 2px 14px rgba(0,0,0,0.3) !important;
  margin-top: 0 !important;
}

#main-header .container {
  height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.et_header_style_left .logo_container,
#main-header .logo_container {
  position: relative !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  height: 80px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
#main-header .logo_helper {
  display: none !important;
}

#main-header #logo,
#main-header .logo_container img {
  height: 52px !important;
  max-height: 52px !important;
  width: auto !important;
  max-width: 250px !important;
  display: block !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,0.35)) !important;
  transition: transform 0.2s ease !important;
}
#main-header #logo:hover {
  transform: scale(1.02);
}

@media (min-width: 981px) {
  #et-top-navigation {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    padding-left: 0 !important;
    padding-top: 0 !important;
    float: none !important;
  }

  #top-menu-nav {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    float: none !important;
  }

  #top-menu {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Desktop Navigation Links */
  #top-menu.nav > li {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    padding: 0 !important;
    position: relative !important;
    white-space: nowrap !important;
  }

  #top-menu.nav > li > a,
  #main-header.et-fixed-header #top-menu.nav > li > a {
    line-height: 80px !important;
    height: 80px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.88) !important;
    white-space: nowrap !important;
    position: relative !important;
    transition: color 0.2s ease !important;
  }

  /* Submenu chevron indicator on parent items (Nos Services, Nos Travaux) */
  #top-menu.nav > li.menu-item-has-children > a:first-child,
  #main-header.et-fixed-header #top-menu.nav > li.menu-item-has-children > a:first-child {
    padding-right: 28px !important;
  }
  #top-menu.nav > li.menu-item-has-children > a:first-child:after,
  #main-header.et-fixed-header #top-menu.nav > li.menu-item-has-children > a:first-child:after {
    font-family: 'ETmodules' !important;
    content: "3" !important;
    font-size: 13px !important;
    line-height: 1 !important;
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    margin-top: -6px !important;
    color: rgba(255,255,255,0.7) !important;
    pointer-events: none !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
  }
  #top-menu.nav > li.menu-item-has-children:hover > a:first-child:after {
    color: var(--mt-accent-l) !important;
    transform: rotate(180deg) !important;
  }

  #top-menu.nav > li > a:hover,
  #top-menu.nav > li.current-menu-item > a,
  #main-header.et-fixed-header #top-menu.nav > li > a:hover,
  #main-header.et-fixed-header #top-menu.nav > li.current-menu-item > a {
    color: var(--mt-accent-l) !important;
  }

  /* Header CTA Button (Devis Gratuit) */
  #top-menu.nav > li.header-cta-btn {
    display: flex !important;
    align-items: center !important;
    height: 80px !important;
    padding: 0 !important;
    margin-left: 12px !important;
  }
  #top-menu.nav > li.header-cta-btn > a,
  #main-header.et-fixed-header #top-menu.nav > li.header-cta-btn > a {
    height: 42px !important;
    line-height: 42px !important;
    max-height: 42px !important;
    background: var(--mt-accent) !important;
    color: #FFFFFF !important;
    padding: 0 22px !important;
    border-radius: 6px !important;
    margin: 0 !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 12px rgba(200,134,10,0.3) !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
  }
  #top-menu.nav > li.header-cta-btn > a:hover,
  #main-header.et-fixed-header #top-menu.nav > li.header-cta-btn > a:hover {
    background: var(--mt-accent-l) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(200,134,10,0.45) !important;
  }

  /* Dropdown Submenus (Nos Services, Nos Travaux) */
  #main-header ul.sub-menu {
    position: absolute !important;
    top: 80px !important;
    left: 0 !important;
    background: #1A2B3C !important;
    border: 1px solid rgba(200,134,10,0.3) !important;
    border-radius: 8px !important;
    padding: 8px 0 !important;
    min-width: 230px !important;
    width: max-content !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.45) !important;
    z-index: 99999 !important;
    list-style: none !important;
    margin: 0 !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(6px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
  }
  #top-menu.nav > li:hover > ul.sub-menu,
  #main-header.et-fixed-header #top-menu.nav > li:hover > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  #main-header ul.sub-menu li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
    border: none !important;
    white-space: nowrap !important;
  }
  #main-header ul.sub-menu li a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 11px 22px !important;
    color: rgba(255,255,255,0.88) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    height: auto !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    white-space: nowrap !important;
    background: transparent !important;
    transition: all 0.15s ease !important;
    text-align: left !important;
  }
  #main-header ul.sub-menu li a:hover {
    background: rgba(200,134,10,0.15) !important;
    color: var(--mt-accent-l) !important;
    padding-left: 26px !important;
  }
}


/* Mobile Header (max-width: 980px) */
@media (max-width: 980px) {
  #main-header,
  #main-header .container {
    height: 70px !important;
    min-height: 70px !important;
  }
  #main-header .logo_container {
    height: 70px !important;
  }
  #main-header #logo,
  #main-header .logo_container img {
    height: 42px !important;
    max-height: 42px !important;
    max-width: 190px !important;
  }
  #et-top-navigation {
    height: 70px !important;
    padding-top: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  #top-menu {
    display: none !important;
  }
  .mobile_menu_bar {
    display: block !important;
  }
  .mobile_menu_bar:before {
    color: #FFFFFF !important;
    font-size: 32px !important;
  }
  .et_mobile_menu {
    background-color: #1A2B3C !important;
    border-top: 3px solid var(--mt-accent) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4) !important;
  }
  .et_mobile_menu li a {
    color: rgba(255,255,255,0.9) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  .et_mobile_menu li.current-menu-item > a {
    color: var(--mt-accent-l) !important;
  }
  .et_mobile_menu li.header-cta-btn a {
    background: var(--mt-accent) !important;
    color: #FFFFFF !important;
    text-align: center !important;
    border-radius: 6px !important;
    margin: 12px 20px !important;
    font-weight: 700 !important;
  }
}

/* Skip link */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  background: var(--mt-accent);
  color: #fff;
  z-index: 99999;
}
.skip-link:focus {
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  clip: auto;
  padding: 10px 20px;
  border-radius: 6px;
}

/* ====================================================
   SECTION BACKGROUNDS — ABSOLUTE PRIORITY
   ================================================== */
.et_pb_section.mt-hero-section,
.mt-hero-section {
  background-color: #1A2B3C !important;
  position: relative !important;
}
.mt-hero-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, rgba(26, 43, 60, 0.82) 0%, rgba(15, 30, 45, 0.72) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.mt-hero-section > .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
}
.mt-hero-section p {
  color: #FFFFFF !important;
}


.et_pb_section.mt-reassurance-section,
.mt-reassurance-section {
  background-color: #0F1E2D !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.mt-reassurance-section .et_pb_row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  max-width: 1280px !important;
  width: 95% !important;
}
.mt-reassurance-section .et_pb_column {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 25% !important;
  width: 25% !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
@media (max-width: 980px) and (min-width: 768px) {
  .mt-reassurance-section .et_pb_row {
    flex-wrap: wrap !important;
    width: 96% !important;
    padding: 10px 0 !important;
  }
  .mt-reassurance-section .et_pb_column {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    box-sizing: border-box !important;
  }
  .mt-reassurance-section .et_pb_column:nth-child(1),
  .mt-reassurance-section .et_pb_column:nth-child(2) {
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  .mt-reassurance-section .et_pb_column:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,0.08) !important;
  }
  .mt-reassurance-section .et_pb_column:nth-child(even) {
    border-right: none !important;
  }
  .mt-reassurance-section .et_pb_column .et_pb_text {
    border-right: none !important;
  }
}
.mt-reassurance-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 16px 12px !important;
  box-sizing: border-box !important;
}
.mt-reassurance-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 10px !important;
  background-color: rgba(200, 134, 10, 0.12) !important;
  border: 1px solid rgba(200, 134, 10, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.mt-reassurance-icon::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background-color: #C8860A !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}
.mt-reassurance-icon.icon-artisan::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
}
.mt-reassurance-icon.icon-devis::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") !important;
}
.mt-reassurance-icon.icon-toits::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 9.3V4h-3v2.6L12 3 2 12h3v8h5v-6h4v6h5v-8h3l-3-2.7z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 9.3V4h-3v2.6L12 3 2 12h3v8h5v-6h4v6h5v-8h3l-3-2.7z'/%3E%3C/svg%3E") !important;
}
.mt-reassurance-icon.icon-tel::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") !important;
}
.mt-reassurance-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.mt-reassurance-title,
.mt-reassurance-title a,
a.mt-reassurance-title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  color: #FFFFFF !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
.mt-reassurance-sub {
  display: block !important;
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.3 !important;
  margin-top: 2px !important;
}
@media (max-width: 767px) {
  .mt-reassurance-section .et_pb_row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 16px !important;
    box-sizing: border-box !important;
  }
  .mt-reassurance-section .et_pb_column {
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    box-sizing: border-box !important;
  }
  .mt-reassurance-section .et_pb_column:last-child {
    border-bottom: none !important;
  }
  .mt-reassurance-section .et_pb_column .et_pb_text {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-right: none !important;
  }
  .mt-reassurance-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 12px 8px !important;
    box-sizing: border-box !important;
  }
  .mt-reassurance-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    flex-shrink: 0 !important;
  }
  .mt-reassurance-text {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
  }
  .mt-reassurance-title {
    font-size: 0.92rem !important;
  }
  .mt-reassurance-sub {
    font-size: 0.78rem !important;
  }
}

.et_pb_section.mt-services-section,
.mt-services-section {
  background-color: #FFFFFF !important;
}

.et_pb_section.mt-pourquoi-section,
.mt-pourquoi-section {
  background-color: #F5F3EF !important;
}

.et_pb_section.mt-realisations-section,
.mt-realisations-section {
  background-color: #1A2B3C !important;
}
.mt-realisations-section .et_pb_image_wrap img {
  height: 230px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* ====================================================
   NOTRE DIFFÉRENCE / POURQUOI CHOISIR SECTION
   ================================================== */
.et_pb_section.mt-pourquoi-section,
.mt-pourquoi-section {
  background-color: #F5F3EF !important;
}
.mt-checklist {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 0 32px 0 !important;
}
.mt-checklist li,
.mt-checklist-item {
  list-style: none !important;
  list-style-type: none !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 14px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.mt-checklist li:last-child,
.mt-checklist-item:last-child {
  border-bottom: none !important;
}
.mt-checklist-icon {
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: #C8860A !important;
  color: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 36px !important;
  text-align: center !important;
  margin-top: 2px !important;
}
.mt-checklist-content {
  flex: 1 !important;
}
.mt-checklist-title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 4px !important;
  line-height: 1.4 !important;
}
.mt-checklist-desc {
  display: block !important;
  font-size: 0.875rem !important;
  color: #6B7280 !important;
  line-height: 1.55 !important;
}
.mt-btn-navy {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #1A2B3C !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  padding: 14px 28px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(26,43,60,0.18) !important;
}
.mt-btn-navy:hover {
  background: #243B53 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(26,43,60,0.28) !important;
}

/* ====================================================
   PROCESSUS SECTION (Comment se déroule votre projet ?)
   ================================================== */
.et_pb_section.mt-processus-section,
.mt-processus-section {
  background-color: #F5F3EF !important;
}
.mt-processus-section .et_pb_row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}
.mt-processus-section .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
}
.mt-processus-section .mt-process-box,
.mt-process-box {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background-color: #FFFFFF !important;
  border-top: 4px solid var(--mt-accent) !important;
  border-radius: 12px !important;
  padding: 32px 20px 28px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  text-align: center !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
.mt-process-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.12) !important;
}
.mt-process-number {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #C8860A, #E5A020) !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 52px !important;
  text-align: center !important;
  margin: 0 auto 18px !important;
}
.mt-process-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 12px !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.3 !important;
}
.mt-process-desc {
  font-size: 0.875rem !important;
  color: #6B7280 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ====================================================
   ZONE SECTION (Notre secteur / et dans les environs)
   ================================================== */
.et_pb_section.mt-zone-section,
.mt-zone-section {
  background-color: #1A2B3C !important;
  background: #1A2B3C !important;
}
.mt-zone-section h2,
.mt-zone-section p {
  color: #FFFFFF !important;
}
.mt-city-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 24px !important;
}
.mt-city-tag {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 18px !important;
  border-radius: 100px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #FFFFFF !important;
  font-size: 0.85rem !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}
.mt-city-tag:hover {
  background: rgba(200,134,10,0.2) !important;
  border-color: #C8860A !important;
  color: #E5A020 !important;
  transform: translateY(-1px) !important;
}
.mt-zone-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 16px !important;
  padding: 36px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 18px !important;
  box-sizing: border-box !important;
}
.mt-zone-card h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 !important;
}
.mt-zone-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.mt-zone-phone::before {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  background-color: #E5A020 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
.mt-zone-email {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.95rem !important;
  color: #D1D5DB !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.mt-zone-email:hover {
  color: #FFFFFF !important;
}
.mt-zone-email::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  background-color: #E5A020 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
.mt-zone-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFFFFF !important;
  color: #C8860A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.15) !important;
  margin-top: 8px !important;
}
.mt-zone-cta-btn:hover {
  background: #C8860A !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25) !important;
}

/* ====================================================
   SUBPAGES: CHECKLIST & PROCESS CARDS
   ================================================== */
.mt-subpage-checklist {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 0 28px 0 !important;
}
.mt-subpage-checklist li,
.mt-subpage-checklist-item {
  list-style: none !important;
  list-style-type: none !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #F3F4F6 !important;
}
.mt-subpage-checklist li:last-child,
.mt-subpage-checklist-item:last-child {
  border-bottom: none !important;
}
.mt-subpage-checklist-icon {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 50% !important;
  background: #C8860A !important;
  color: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  line-height: 32px !important;
  text-align: center !important;
  margin-top: 2px !important;
  box-shadow: 0 2px 8px rgba(200, 134, 10, 0.35) !important;
}
.mt-subpage-checklist-content {
  flex: 1 !important;
}
.mt-subpage-checklist-content strong,
.mt-subpage-checklist-title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 4px !important;
  line-height: 1.4 !important;
}
.mt-subpage-checklist-content span,
.mt-subpage-checklist-desc {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  color: #4B5563 !important;
  line-height: 1.6 !important;
}
.mt-subpage-process-card {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 28px 20px !important;
  text-align: center !important;
  height: 100% !important;
  border-top: 3px solid #C8860A !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.mt-subpage-process-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.1) !important;
}
.mt-subpage-process-number {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 50% !important;
  background: #C8860A !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 46px !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}
.mt-subpage-process-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}
.mt-subpage-process-desc {
  font-size: 0.875rem !important;
  color: #6B7280 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.et_pb_section.mt-faq-section,
.mt-faq-section {
  background-color: #FFFFFF !important;
}

/* CTA FINAL SECTION (Votre toiture nécessite un entretien...) */
.et_pb_section.mt-cta-final-section,
.mt-cta-final-section {
  background-color: #C8860A !important;
  background: #C8860A !important;
}
.mt-cta-final-section h2,
.mt-cta-final-section p {
  color: #FFFFFF !important;
}

/* ====================================================
   SERVICE CARDS (.mt-svc)
   ================================================== */
.mt-svc .et_pb_main_blurb_image {
  width: 100% !important;
  margin-bottom: 0 !important;
}
.mt-svc .et_pb_main_blurb_image img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 12px 12px 0 0 !important;
  display: block !important;
}
.mt-svc .et_pb_blurb_content {
  padding: 20px 24px 24px !important;
}
.mt-svc .et_pb_module_header {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}
.mt-svc p {
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}
.mt-svc {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.mt-svc:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.14) !important;
}

/* ====================================================
   FAQ ACCORDION
   ================================================== */
.et_pb_toggle,
.mt-faq-card {
  background-color: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  margin-bottom: 14px !important;
  padding: 18px 24px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
  transition: all 0.2s ease !important;
}
.et_pb_toggle:hover,
.mt-faq-card:hover {
  border-color: #CBD5E1 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06) !important;
}
.et_pb_toggle.et_pb_toggle_open,
.mt-faq-card.et_pb_toggle_open {
  border-color: var(--mt-accent) !important;
  background-color: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(200,134,10,0.1) !important;
}
.et_pb_toggle_title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--mt-primary) !important;
  cursor: pointer !important;
}
.et_pb_toggle_open > .et_pb_toggle_title {
  color: var(--mt-accent) !important;
}
.et_pb_toggle_content {
  color: #4B5563 !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  padding: 14px 0 0 0 !important;
}
.et_pb_toggle_content p {
  color: #4B5563 !important;
}
.et_pb_toggle:before {
  color: var(--mt-accent) !important;
}

/* ====================================================
   HERO & CTA BUTTONS (NO EMOJIS, PERFECT FLEX LAYOUT)
   ================================================== */
.mt-hero-btn-group {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
}
.mt-hero-btn-group.mt-hero-btn-center {
  justify-content: center !important;
}

.mt-hero-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #C8860A !important;
  color: #FFFFFF !important;
  border: 2px solid #C8860A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 14px 28px !important;
  min-height: 48px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(200, 134, 10, 0.35) !important;
  transition: all 0.2s ease !important;
}
.mt-hero-btn-primary:hover {
  background: #E5A020 !important;
  border-color: #E5A020 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(200, 134, 10, 0.45) !important;
}

.mt-hero-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255, 255, 255, 0.75) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 12px 26px !important;
  min-height: 48px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.mt-hero-btn-secondary:hover {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #1A2B3C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.mt-cta-btn-group {
  display: flex !important;
  gap: 18px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
}

.mt-cta-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFFFFF !important;
  color: #1A2B3C !important;
  border: 2px solid #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 15px 34px !important;
  min-height: 52px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
  transition: all 0.2s ease !important;
}
.mt-cta-btn-primary:hover {
  background: #F5F3EF !important;
  border-color: #F5F3EF !important;
  color: var(--mt-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 26px rgba(0,0,0,0.25) !important;
}

.mt-cta-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 13px 32px !important;
  min-height: 52px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.mt-cta-btn-secondary:hover {
  background: #FFFFFF !important;
  color: #1A2B3C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
}

.mt-btn-dark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #1A2B3C !important;
  color: #FFFFFF !important;
  border: 2px solid #1A2B3C !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 13px 28px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(26, 43, 60, 0.25) !important;
  transition: all 0.2s ease !important;
}
.mt-btn-dark:hover {
  background: var(--mt-accent) !important;
  border-color: var(--mt-accent) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(200, 134, 10, 0.35) !important;
}


/* ====================================================
   FOOTER (4 Columns Grid & Centered Bottom)
   ================================================== */
#main-footer {
  background: #0F1E2D !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}
#main-footer > .container {
  max-width: 1200px !important;
  width: 92% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#main-footer #footer-widgets {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1fr 1.1fr !important;
  gap: 40px !important;
  width: 100% !important;
  padding: 50px 0 30px 0 !important;
}
#main-footer .footer-widget {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
#main-footer .fwidget h4.title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--mt-accent-l) !important;
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
#main-footer .fwidget p,
#main-footer .fwidget li,
#main-footer .fwidget a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
}
#main-footer .fwidget a {
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
#main-footer .fwidget a:hover {
  color: var(--mt-accent-l) !important;
}

/* FOOTER BOTTOM ELEMENTS — 100% CENTERED */
#et-footer-nav {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  visibility: hidden !important;
}

#footer-bottom {
  background: #07111A !important;
  padding: 16px 0 24px 0 !important;
  text-align: center !important;
}
#footer-bottom .container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  gap: 12px !important;
  margin: 0 auto !important;
}
#footer-bottom .et-social-icons {
  float: none !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
#footer-bottom #footer-info {
  float: none !important;
  text-align: center !important;
  margin: 0 auto !important;
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.82rem !important;
}

/* ====================================================
   SUPPRESS STICKY CTA
   ================================================== */
.mt-sticky-mobile-cta {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body { padding-bottom: 0 !important; }

/* RESPONSIVE */
@media (max-width: 980px) {
  .et_pb_section { padding-top: 50px !important; padding-bottom: 50px !important; }
  #main-footer #footer-widgets {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }
}
@media (max-width: 767px) {
  .et_pb_section { padding-top: 40px !important; padding-bottom: 40px !important; }
  #main-footer #footer-widgets {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }
  .mt-processus-section .et_pb_column { margin-bottom: 20px !important; }
}
:focus-visible { outline: 2px solid var(--mt-accent); outline-offset: 2px; }

/* ====================================================
   SUBPAGES: HERO SECTION STYLING & CONTRAST
   ================================================== */
body.page:not(.home) .et_pb_section_0,
body.page:not(.home) .et_pb_section:first-of-type,
.mt-subpage-hero,
.et_pb_section[admin_label="HERO"] {
  background: linear-gradient(145deg, #0F1E2D 0%, #1A2B3C 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  position: relative !important;
}
body.page:not(.home) .et_pb_section_0 .et_pb_text p,
body.page:not(.home) .et_pb_section:first-of-type .et_pb_text p,
body.page:not(.home) .et_pb_section_0 p,
body.page:not(.home) .et_pb_section:first-of-type p,
.mt-subpage-hero .et_pb_text p,
.mt-subpage-hero p,
.et_pb_section[admin_label="HERO"] .et_pb_text p,
.et_pb_section[admin_label="HERO"] p {
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: 'Inter', sans-serif !important;
  line-height: 1.7 !important;
}
body.page:not(.home) .et_pb_section_0 h1,
body.page:not(.home) .et_pb_section:first-of-type h1,
.mt-subpage-hero h1,
.et_pb_section[admin_label="HERO"] h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.02em !important;
  line-height: 1.18 !important;
}
.mt-hero-badge {
  display: inline-block !important;
  background: rgba(200, 134, 10, 0.15) !important;
  border: 1px solid rgba(200, 134, 10, 0.4) !important;
  color: #E5A020 !important;
  padding: 6px 18px !important;
  border-radius: 50px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}
.mt-hero-breadcrumb {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  margin-bottom: 24px !important;
}
.mt-hero-breadcrumb a {
  color: #E5A020 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.mt-hero-breadcrumb span {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}

/* ====================================================
   SUBPAGES: IMAGE BADGES (OVERLAY)
   ================================================== */
.mt-subpage-img-badge {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  right: 20px !important;
  padding: 14px 20px !important;
  border-radius: 10px !important;
  border-left: 4px solid #C8860A !important;
  background: rgba(15, 30, 45, 0.9) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25) !important;
}
.mt-subpage-img-badge strong {
  display: block !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
}
.mt-subpage-img-badge span {
  display: block !important;
  color: rgba(255,255,255,0.75) !important;
  font-size: 0.8rem !important;
  margin-top: 2px !important;
}

/* ====================================================
   SUBPAGES: CATEGORY / HUB CARDS
   ================================================== */
.mt-category-card {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  border-top: 4px solid #C8860A !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.mt-category-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.12) !important;
}
.mt-category-card img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.mt-category-card-body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}
.mt-category-card-body h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 10px !important;
}
.mt-category-card-body p {
  color: #4B5563 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
  flex-grow: 1 !important;
}
.mt-category-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #C8860A !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  padding: 12px 18px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-top: auto !important;
  text-align: center !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(200, 134, 10, 0.25) !important;
}
.mt-category-btn:hover {
  background: #E5A020 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(200, 134, 10, 0.4) !important;
}

/* Page 109 Qui Sommes-Nous Hero Dark Overlay */
body.page-id-109 .et_pb_section_0 {
  position: relative !important;
}
body.page-id-109 .et_pb_section_0::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(15, 30, 45, 0.82) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
body.page-id-109 .et_pb_section_0 .et_pb_row {
  position: relative !important;
  z-index: 2 !important;
}

/* ====================================================
   CONTACT PAGE: COORDINATE CARDS & BOXES
   ================================================== */
.mt-contact-kicker {
  display: inline-block !important;
  color: #C8860A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
}
.mt-contact-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: #1A2B3C !important;
  margin-bottom: 24px !important;
  line-height: 1.25 !important;
}
.mt-contact-cards-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}
.mt-contact-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 20px !important;
  background: #F5F3EF !important;
  border: 1px solid #EDEAE3 !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.mt-contact-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06) !important;
  border-color: #C8860A !important;
}
.mt-contact-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 50% !important;
  background: #C8860A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.mt-contact-icon::after {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background-color: #FFFFFF !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}
.mt-contact-icon.icon-phone::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") !important;
}
.mt-contact-icon.icon-mail::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") !important;
}
.mt-contact-icon.icon-pin::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
}
.mt-contact-details {
  display: flex !important;
  flex-direction: column !important;
}
.mt-contact-title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
}
.mt-contact-sub {
  display: block !important;
  font-size: 0.85rem !important;
  color: #6B7280 !important;
  margin-top: 3px !important;
}
.mt-contact-delay-box {
  padding: 22px 24px !important;
  background: #1A2B3C !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  margin-top: 24px !important;
}
.mt-contact-delay-box strong {
  font-family: 'Montserrat', sans-serif !important;
  color: #FFFFFF !important;
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 0.95rem !important;
}
.mt-contact-delay-box a {
  color: #E5A020 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ====================================================
   WPFORMS: MODERN FORM STYLING
   ================================================== */
div.wpforms-container-full,
.wpforms-container {
  margin: 0 !important;
  padding: 0 !important;
}
.wpforms-container-full .wpforms-form {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
  box-sizing: border-box !important;
}
.wpforms-container-full .wpforms-form .wpforms-field-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.wpforms-container-full .wpforms-form input[type="text"],
.wpforms-container-full .wpforms-form input[type="email"],
.wpforms-container-full .wpforms-form select,
.wpforms-container-full .wpforms-form textarea {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.95rem !important;
  border: 1.5px solid #D1D5DB !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  background: #FFFFFF !important;
  color: #1A2B3C !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
  line-height: 1.5 !important;
}
.wpforms-container-full .wpforms-form input:focus,
.wpforms-container-full .wpforms-form select:focus,
.wpforms-container-full .wpforms-form textarea:focus {
  border-color: #C8860A !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(200, 134, 10, 0.15) !important;
}
.wpforms-container-full .wpforms-form .wpforms-submit-container {
  padding-top: 10px !important;
}
.wpforms-container-full .wpforms-form button.wpforms-submit {
  background: linear-gradient(135deg, #C8860A 0%, #D99515 100%) !important;
  color: #FFFFFF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 16px 28px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(200, 134, 10, 0.35) !important;
}
.wpforms-container-full .wpforms-form button.wpforms-submit:hover {
  background: #B37409 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(200, 134, 10, 0.45) !important;
}

/* ====================================================
   BACK TO TOP BUTTON & DIVI ICON FONT RESTORATION
   ================================================== */
.et-pb-icon,
.et-pb-icon:before,
.et-pb-icon:after {
  font-family: 'ETmodules' !important;
  speak: none !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased !important;
}

.et_pb_scroll_top.et-pb-icon {
  background: #C8860A !important;
  color: #FFFFFF !important;
  border-radius: 8px 0 0 8px !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.2) !important;
  transition: all 0.25s ease !important;
  z-index: 99999 !important;
  text-decoration: none !important;
  padding: 0 !important;
}
.et_pb_scroll_top.et-pb-icon.et-visible {
  display: flex !important;
}
.et_pb_scroll_top.et-pb-icon:hover {
  background: #E5A020 !important;
  transform: translateX(-4px) !important;
}
.et_pb_scroll_top:before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background-color: #FFFFFF !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E") !important;
}

/* ====================================================
   QUI SOMMES-NOUS: STATS CARDS
   ================================================== */
.mt-about-stats {
  display: flex !important;
  gap: 18px !important;
  margin-top: 28px !important;
  flex-wrap: wrap !important;
}
.mt-about-stat {
  flex: 1 1 120px !important;
  background: #F5F3EF !important;
  border: 1px solid #EDEAE3 !important;
  border-radius: 10px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.mt-about-stat:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
.mt-about-stat-number {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: #C8860A !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}
.mt-about-stat-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: #4B5563 !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

/* ====================================================
   QUI SOMMES-NOUS: VALEURS & ENGAGEMENTS CARDS
   ================================================== */
.mt-values-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 768px) {
  .mt-values-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}
.mt-value-card {
  background: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 36px 24px !important;
  text-align: center !important;
  border-top: 4px solid #C8860A !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.mt-value-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.12) !important;
}
.mt-value-icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  border-radius: 50% !important;
  background: #C8860A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  box-shadow: 0 4px 12px rgba(200, 134, 10, 0.3) !important;
}
.mt-value-icon::after {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-color: #FFFFFF !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}
.mt-value-icon.icon-shield::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z'/%3E%3C/svg%3E") !important;
}
.mt-value-icon.icon-pin::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
}
.mt-value-icon.icon-bolt::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11 21h-1l1-7H7.5c-.88 0-.33-.75-.31-.78C8.48 10.94 10.42 7.54 13 3h1l-1 7h3.5c.49 0 .73.3.4.74l-5.9 10.26z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11 21h-1l1-7H7.5c-.88 0-.33-.75-.31-.78C8.48 10.94 10.42 7.54 13 3h1l-1 7h3.5c.49 0 .73.3.4.74l-5.9 10.26z'/%3E%3C/svg%3E") !important;
}
.mt-value-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #1A2B3C !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}
.mt-value-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  color: #6B7280 !important;
  line-height: 1.6 !important;
}
