/*---------------------------BODY---------------------------------*/

body {
    background-color: #ffffff !important;
}

body .fusion-footer-widget-area>.fusion-row {
  max-width: 100% !important;
}

body .fusion-footer-copyright-area .fusion-row {
  max-width: 100% !important;
}


/*---------------------------SLIDER / HERO LANDING---------------------------------*/

.slick-init {
    position: relative !important;
}

.slick-init::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.2) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

.slick-init img {
    width: 100% !important;
    height: 100vh !important;
    min-height: 480px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

.slick-init .slick-prev,
.slick-init .slick-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 999 !important;
    width: 50px !important;
    height: 50px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
}

.slick-init .slick-prev { left: 15px !important; }
.slick-init .slick-next { right: 15px !important; }

.slick-prev:before,
.slick-next:before {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    filter: brightness(0) invert(1);
}

.slick-prev:before {
    background-image: url('https://leagirard-architecte.fr/wp-content/uploads/2026/06/arrow-prev-small-svgrepo-com.svg') !important;
}

.slick-next:before {
    background-image: url('https://leagirard-architecte.fr/wp-content/uploads/2026/06/arrow-next-small-svgrepo-com.svg') !important;
}


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

.fusion-header .fusion-row {
    padding-left: clamp(16px, 3vw, 40px) !important;
    padding-right: clamp(16px, 3vw, 40px) !important;
}

.fusion-header-v6-content.fusion-header-has-flyout-menu-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 125px !important;
}

/* Bandeau sticky : hauteur fixe, seul le logo rétrécit */
.fusion-is-sticky .fusion-header,
.fusion-header-v6.fusion-is-sticky .fusion-header {
    min-height: 90px !important;
    height: 90px !important;
}

.fusion-is-sticky .fusion-header-v6-content.fusion-header-has-flyout-menu-content,
.fusion-header-v6.fusion-is-sticky .fusion-header-v6-content.fusion-header-has-flyout-menu-content {
    min-height: 90px !important;
    height: 90px !important;
}

.fusion-is-sticky .fusion-header-sticky-height,
.fusion-header-v6.fusion-is-sticky .fusion-header-sticky-height {
    height: 90px !important;
    min-height: 90px !important;
}

.fusion-is-sticky .fusion-logo,
.fusion-header-v6.fusion-is-sticky .fusion-logo {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    height: 90px !important;
    display: flex !important;
    align-items: center !important;
}

.fusion-is-sticky .fusion-logo-link,
.fusion-header-v6.fusion-is-sticky .fusion-logo-link {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* Logo : grand en haut de page, 60px au scroll */
.fusion-logo-link .fusion-standard-logo {
    width: clamp(60px, 8vw, 75px) !important;
    height: auto !important;
    max-height: none !important;
    transition: width 0.35s ease !important;
}

.fusion-logo-link .fusion-sticky-logo,
.fusion-is-sticky .fusion-logo-link img {
    width: 60px !important;
    height: auto !important;
    max-height: none !important;
    transition: width 0.35s ease !important;
}

.fusion-flyout-menu-icons {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: clamp(10px, 2vw, 18px) !important;
    flex-shrink: 0 !important;
}

.fusion-flyout-menu-icons:before {
    content: "MENU" !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    color: #fff !important;
    font-weight: 200 !important;
    font-size: clamp(11px, 1.2vw, 14px) !important;
    letter-spacing: 2px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.fusion-flyout-menu-toggle {
    width: auto !important;
    min-width: 40px !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
}

.fusion-flyout-menu-toggle .fusion-toggle-icon-line {
    height: 3px !important;
    border-radius: 999px !important;
    background: #fff !important;
}

.fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(1) {
    width: 88% !important;
    transform: translateX(50%) !important;
}

.fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(2) {
    width: 130% !important;
}

.fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(3) {
    width: 85% !important;
    left: 0 !important;
}

.fusion-header,
.fusion-header-wrapper {
    z-index: 10000 !important;
}


/*---------------------------LANDING PAGE---------------------------------*/

.landing-page {
    position: relative !important;
    overflow: hidden !important;
}

.landing-page .fusion-builder-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.landing-page .fusion-column-wrapper {
    position: relative !important;
}

.landing-page .fusion_builder_column,
.landing-page .fusion-layout-column {
    margin-bottom: 0 !important;
}

/* --- Accueil : texte hero (page-id-8) --- */
body.home .landing-page .text-principal,
body.home .landing-page .text-secondaire {
    position: absolute !important;
    z-index: 5 !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
    transform: translate(-50%, -50%) !important;
}

body.home .landing-page .text-principal {
    color: #fff !important;
    font-weight: 700 !important;
}

body.home .landing-page .text-principal h1 {
    color: #fff !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

body.home .landing-page .text-secondaire {
    color: #fff !important;
    font-weight: 200 !important;
}

body.home .landing-page .text-secondaire p {
    margin: 0 !important;
    color: #fff !important;
}

/* --- À propos : texte hero (page-id-53) --- */
body.page-id-53 .landing-page .text-principal-2,
body.page-id-53 .landing-page .text-secondaire {
    position: absolute !important;
    z-index: 5 !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
    transform: translate(-50%, -50%) !important;
}

body.page-id-53 .landing-page .text-principal-2 {
    color: #fff !important;
    font-weight: 700 !important;
}

body.page-id-53 .landing-page .text-principal-2 h1 {
    color: #fff !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    word-spacing: normal !important;
}

body.page-id-53 .landing-page .text-secondaire {
    color: #fff !important;
    font-weight: 200 !important;
}

body.page-id-53 .landing-page .text-secondaire p {
    margin: 0 !important;
    color: #fff !important;
}

/* --- Accueil : tablette + mobile (≤ 900px) --- */
@media screen and (max-width: 900px) {
    body.home .landing-page .text-principal {
        top: 44% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: min(90%, 420px) !important;
        max-width: 90% !important;
        padding: 0 16px !important;
        text-align: center !important;
        font-size: clamp(26px, 5vw, 32px) !important;
        box-sizing: border-box !important;
    }

    body.home .landing-page .text-principal h1 {
        font-size: inherit !important;
        line-height: 1.12 !important;
        letter-spacing: 2px !important;
        text-align: center !important;
        overflow-wrap: break-word !important;
    }

    body.home .landing-page .text-secondaire {
        top: 58% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: min(88%, 400px) !important;
        max-width: 88% !important;
        padding: 0 16px !important;
        text-align: center !important;
        font-size: clamp(16px, 2.5vw, 19px) !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .landing-page .text-secondaire p {
        font-size: inherit !important;
        line-height: 1.35 !important;
        text-align: center !important;
    }
}

/* --- À propos : tablette + mobile (≤ 900px) --- */
@media screen and (max-width: 900px) {
    body.page-id-53 .landing-page .text-principal-2 {
        top: 42% !important;
        left: 16px !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        padding: 0 !important;
        text-align: left !important;
        font-size: clamp(22px, 5.5vw, 28px) !important;
        box-sizing: border-box !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 {
        font-size: inherit !important;
        line-height: 1.15 !important;
        letter-spacing: 0.04em !important;
        word-spacing: normal !important;
        text-align: left !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
    }

    /* Pas de saut de ligne forcé qui crée un trou entre les mots */
    body.page-id-53 .landing-page .text-principal-2 h1 br {
        display: none !important;
    }

    body.page-id-53 .landing-page .text-secondaire {
        top: 56% !important;
        left: 16px !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        width: auto !important;
        max-width: calc(100% - 32px) !important;
        padding: 0 !important;
        text-align: left !important;
        font-size: clamp(15px, 2.3vw, 18px) !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        box-sizing: border-box !important;
    }

    body.page-id-53 .landing-page .text-secondaire p {
        font-size: inherit !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }
}

/* --- Accueil : desktop (≥ 901px) --- */
@media screen and (min-width: 901px) {
    body.home .landing-page .text-principal {
        top: 420px !important;
        left: 633px !important;
        transform: translate(-50%, -50%) !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: left !important;
        font-size: 40px !important;
    }

    body.home .landing-page .text-principal h1 {
        font-size: 50px !important;
        line-height: 1 !important;
        letter-spacing: 3px !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    body.home .landing-page .text-secondaire {
        top: 510px !important;
        left: 599px !important;
        transform: translate(-50%, -50%) !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: left !important;
        font-size: 21px !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
    }

    body.home .landing-page .text-secondaire p {
        font-size: 21px !important;
        font-weight: 200 !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }
}

/* --- À propos : desktop (≥ 901px) --- */
@media screen and (min-width: 901px) {
    body.page-id-53 .landing-page .text-principal-2 {
        top: 410px !important;
        left: 526px !important;
        transform: translate(-50%, -50%) !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: left !important;
        font-size: 40px !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 {
        font-size: 50px !important;
        line-height: 1 !important;
        letter-spacing: 3px !important;
        word-spacing: -0.15em !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    body.page-id-53 .landing-page .text-secondaire {
      top: 494px !important;
      left: 499px !important;
      transform: translate(-50%, -50%) !important;
      width: auto !important;
      max-width: none !important;
      padding: 0 !important;
      text-align: left !important;
      font-size: 21px !important;
      line-height: 1.2 !important;
      letter-spacing: 0 !important;
    }

    body.page-id-53 .landing-page .text-secondaire p {
        font-size: 21px !important;
        font-weight: 200 !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }
}


/*---------------------------RESPONSIVE HEADER + LANDING---------------------------------*/

/* Tablette */
@media screen and (max-width: 900px) {
    .slick-init img {
        height: 75vh !important;
        min-height: 420px !important;
    }

    .slick-init .slick-prev,
    .slick-init .slick-next {
        width: 36px !important;
        height: 36px !important;
    }

    .slick-prev:before,
    .slick-next:before {
        width: 26px !important;
        height: 26px !important;
    }

    .fusion-header-v6-content.fusion-header-has-flyout-menu-content {
        min-height: 110px !important;
    }

    .fusion-is-sticky .fusion-header,
    .fusion-header-v6.fusion-is-sticky .fusion-header,
    .fusion-is-sticky .fusion-header-v6-content.fusion-header-has-flyout-menu-content,
    .fusion-header-v6.fusion-is-sticky .fusion-header-v6-content.fusion-header-has-flyout-menu-content {
        min-height: 80px !important;
        height: 80px !important;
    }

    .fusion-is-sticky .fusion-header-sticky-height,
    .fusion-header-v6.fusion-is-sticky .fusion-header-sticky-height,
    .fusion-is-sticky .fusion-logo,
    .fusion-header-v6.fusion-is-sticky .fusion-logo {
        height: 80px !important;
        min-height: 80px !important;
    }

    .fusion-logo-link .fusion-standard-logo,
    .mobile-logo img,
    .fusion-mobile-logo img {
        width: 65px !important;
    }

    .fusion-logo-link .fusion-sticky-logo,
    .fusion-is-sticky .fusion-logo-link img {
        width: 58px !important;
    }

    .fusion-flyout-menu-icons {
        gap: 12px !important;
    }

    .fusion-flyout-menu-icons:before {
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
    }
}

/* Mobile */
@media screen and (max-width: 600px) {
    .slick-init img {
        height: 62vh !important;
        min-height: 360px !important;
    }

    body.home .landing-page .text-principal {
        top: 46% !important;
        left: 50% !important;
        font-size: clamp(24px, 7.2vw, 30px) !important;
        width: min(92%, 360px) !important;
        max-width: 92% !important;
        padding: 0 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.home .landing-page .text-principal h1 {
        letter-spacing: 1.5px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        hyphens: none !important;
    }

    body.home .landing-page .text-secondaire {
        top: 62% !important;
        left: 50% !important;
        font-size: clamp(15px, 4.2vw, 18px) !important;
        line-height: 1.4 !important;
        width: min(90%, 340px) !important;
        max-width: 90% !important;
        padding: 0 10px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    body.home .landing-page .text-secondaire p {
        text-align: center !important;
        overflow-wrap: break-word !important;
    }

    body.page-id-53 .landing-page .text-principal-2 {
        top: 44% !important;
        left: 14px !important;
        right: 14px !important;
        transform: translateY(-50%) !important;
        font-size: clamp(20px, 6.2vw, 26px) !important;
        width: auto !important;
        max-width: calc(100% - 28px) !important;
        padding: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 {
        letter-spacing: 0.03em !important;
        word-spacing: normal !important;
        line-height: 1.15 !important;
        text-align: left !important;
        overflow-wrap: break-word !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 br {
        display: none !important;
    }

    body.page-id-53 .landing-page .text-secondaire {
        top: 58% !important;
        left: 14px !important;
        right: 14px !important;
        transform: translateY(-50%) !important;
        font-size: clamp(13px, 3.8vw, 16px) !important;
        line-height: 1.4 !important;
        width: auto !important;
        max-width: calc(100% - 28px) !important;
        padding: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    body.page-id-53 .landing-page .text-secondaire p {
        text-align: left !important;
        overflow-wrap: break-word !important;
    }

    .fusion-header .fusion-row {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .fusion-logo-link .fusion-standard-logo {
        width: 58px !important;
    }

    .fusion-logo-link .fusion-sticky-logo,
    .fusion-is-sticky .fusion-logo-link img {
        width: 50px !important;
    }

    .fusion-flyout-menu-icons {
        gap: 10px !important;
    }

    .fusion-flyout-menu-icons:before {
        font-size: 10px !important;
    }

    .fusion-flyout-menu-toggle .fusion-toggle-icon-line {
        height: 2px !important;
    }

    .fusion-flyout-search-toggle {
        display: none !important;
    }
}

/* Petit mobile */
@media screen and (max-width: 400px) {
    .slick-init img {
        height: 58vh !important;
        min-height: 320px !important;
    }

    body.home .landing-page .text-principal {
        top: 45% !important;
        left: 50% !important;
        font-size: clamp(22px, 7vw, 26px) !important;
        text-align: center !important;
    }

    body.home .landing-page .text-principal h1 {
        letter-spacing: 1px !important;
    }

    body.home .landing-page .text-secondaire {
        top: 62% !important;
        left: 50% !important;
        font-size: clamp(14px, 4vw, 16px) !important;
        text-align: center !important;
    }

    body.page-id-53 .landing-page .text-principal-2 {
        top: 44% !important;
        left: 12px !important;
        right: 12px !important;
        transform: translateY(-50%) !important;
        font-size: clamp(18px, 6vw, 22px) !important;
        text-align: left !important;
        max-width: calc(100% - 24px) !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 {
        letter-spacing: 0.02em !important;
        text-align: left !important;
    }

    body.page-id-53 .landing-page .text-principal-2 h1 br {
        display: none !important;
    }

    body.page-id-53 .landing-page .text-secondaire {
        top: 58% !important;
        left: 12px !important;
        right: 12px !important;
        transform: translateY(-50%) !important;
        font-size: clamp(12px, 3.6vw, 14px) !important;
        text-align: left !important;
        max-width: calc(100% - 24px) !important;
    }

    .slick-init .slick-prev { left: 8px !important; }
    .slick-init .slick-next { right: 8px !important; }
}


/*---------------------------MAIN---------------------------------*/

#content{
    background-image: url('https://leagirard-architecte.fr/wp-content/uploads/2026/07/logo-Lea-GIRARD-SVG-SITE.svg') !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: repeat !important;
    background-attachment: scroll !important;
    z-index: 0 !important;
}


/*---------------------------SECTION LIGNE DIRECTRICE (row-3)---------------------------------*/

/* Conteneur : le row flex ne doit pas couper l'image en absolute */
.fusion-builder-row-3.fusion-flex-container {
  position: relative !important;
  overflow: visible !important;
}

.fusion-builder-row-3 > .fusion-builder-row {
  position: relative !important;
  overflow: visible !important;
  align-items: flex-start !important;
}

/* Colonne texte */
.fusion-builder-row-3 .fusion-builder-column-3 {
  position: relative !important;
  z-index: 2 !important;
}

/* Colonne portrait : réserve l'espace pour l'image absolute */
.fusion-builder-row-3 .fusion-builder-column-4 {
  position: relative !important;
  z-index: 3 !important;
  min-height: 540px !important;
}

/* Image portrait Léa — chevauchement design desktop */
.fusion-builder-row-3 .img-lea {
  position: absolute !important;
  top: 88px !important;
  right: 29px;
  width: 100% !important;
  max-width: 500px !important;
  z-index: 4 !important;
  display: block !important;
}

.fusion-builder-row-3 .img-lea img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Image panoramique en dessous */
.fusion-builder-row-3 .fusion-builder-column-5 {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 60px !important;
}

.fusion-builder-row-3 .fusion-builder-column-5 .fusion-imageframe img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* --- Responsive section row-3 (tablette + mobile) --- */
@media screen and (max-width: 900px) {
  .fusion-builder-row-3.fusion-flex-container {
    overflow: hidden !important;
    --awb-margin-top: 48px !important;
    --awb-margin-bottom: 48px !important;
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }

  .fusion-builder-row-3 > .fusion-builder-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .fusion-builder-row-3 .fusion-builder-column-3,
  .fusion-builder-row-3 .fusion-builder-column-4,
  .fusion-builder-row-3 .fusion-builder-column-5 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    --awb-spacing-left-small: 0 !important;
    --awb-spacing-right-small: 0 !important;
    --awb-spacing-left-medium: 0 !important;
    --awb-spacing-right-medium: 0 !important;
  }

  .fusion-builder-row-3 .fusion-builder-column-3 {
    order: 1 !important;
  }

  .fusion-builder-row-3 .fusion-builder-column-4 {
    order: 2 !important;
    display: block !important;
  }

  .fusion-builder-row-3 .fusion-builder-column-5 {
    order: 3 !important;
  }

  /* Wrappers : pleine largeur, plus de centrage flex qui fait déborder le texte */
  .fusion-builder-row-3 .fusion-column-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    text-align: left !important;
  }

  /* Image Entrée / autres images de la section */
  .fusion-builder-row-3 .fusion-image-element {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: center !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .fusion-builder-row-3 .fusion-imageframe,
  .fusion-builder-row-3 .fusion-imageframe img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* Portrait Léa (imageframe-1) uniquement : 328px centré */
  .fusion-builder-row-3 .img-lea {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    float: none !important;
    width: 328px !important;
    max-width: min(328px, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    z-index: 1 !important;
    display: block !important;
  }

  .fusion-image-element:has(.imageframe-1) > div,
  .fusion-image-element:has(.wp-image-48) > div,
  div:has(> .imageframe-1.imageframe-none) {
    width: 328px !important;
    max-width: min(328px, 92vw) !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }

  .imageframe-1 .wp-image-48,
  .wp-image-48 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
  }

  /* Texte "Notre vision" : reste dans l'écran, aligné à gauche */
  .fusion-builder-row-3 .fusion-text-4,
  .fusion-builder-row-3 .fusion-text-4 h2,
  .fusion-builder-row-3 .fusion-text-4 p,
  .fusion-builder-row-3 .fusion-text-4 div,
  .fusion-builder-row-3 .fusion-text-4 .x_elementToProof {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }

  .fusion-builder-row-3 .fusion-text-4 h2 {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 12px !important;
  }

  .fusion-builder-row-3 .fusion-text-4 + div[style*="text-align"],
  .fusion-builder-row-3 .fusion-text-4 ~ div[style*="text-align"] {
    text-align: left !important;
    width: 100% !important;
  }

  /* Texte "L'agence" */
  .fusion-builder-row-3 .fusion-text-3,
  .fusion-builder-row-3 .fusion-text-3 h2,
  .fusion-builder-row-3 .fusion-text-3 p {
    text-align: left !important;
    --awb-content-alignment: left !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 600px) {
  .fusion-builder-row-3.fusion-flex-container {
    --awb-margin-top: 32px !important;
    --awb-margin-bottom: 40px !important;
    margin-top: 32px !important;
    margin-bottom: 40px !important;
  }

  .fusion-builder-row-3 .fusion-builder-column-3,
  .fusion-builder-row-3 .fusion-builder-column-4,
  .fusion-builder-row-3 .fusion-builder-column-5 {
    margin-top: 14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .fusion-builder-row-3 .fusion-text-4 h2 {
    font-size: clamp(20px, 7vw, 26px) !important;
  }
}


/* --- Responsive section "Présentation de l'agence" (tablette) --- */
@media screen and (max-width: 900px) {
    /* Les colonnes 50% passent en pleine largeur et s'empilent proprement */
    .background-main .fusion-layout-column {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
        float: none !important;
    }

    /* img-lea dans background-main uniquement */
    .background-main .img-lea {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
    }

    /* Le fond fixe (parallax) saccade sur mobile : on repasse en scroll */
    .background-main img {
        background-attachment: scroll !important;
    }

    /* Images centrées et toujours adaptatives */
    .background-main .fusion-image-element {
        text-align: center !important;
    }

    .background-main .fusion-imageframe img {
        max-width: 100% !important;
        height: auto !important;
    }
}

/* --- Responsive section "Présentation de l'agence" (mobile) --- */
@media screen and (max-width: 600px) {
    .background-main .fusion-layout-column {
        margin-top: 12px !important;
        margin-bottom: 12px !important;
    }

    .background-main .fusion-text h2 {
        text-align: center !important;
    }
}


/*---------------------------MES REALISATIONS---------------------------------*/

.mes-realisations {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 20px 0;
}

/* --- En-tête : filtres à gauche, bouton à droite --- */
.mes-realisations__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.mes-realisations__filtres {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.mes-realisations__filtres li {
  margin: 0;
}

/* --- Boutons de filtre (#D0CBC1) --- */
.filtre-btn {
  background: #D0CBC1;
  border: 1px solid #D0CBC1;
  color: #3B3B3B;
  padding: 10px 28px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.25s ease;
  letter-spacing: 1.5px;
}

.filtre-btn:hover {
  background: #c2bcae;
  border-color: #c2bcae;
}

.filtre-btn.is-active {
  background: #3B3B3B;
  border-color: #3B3B3B;
  color: #fff;
  text-transform: uppercase;
}

/* --- Bouton "Toutes les réalisations" (même taille que les filtres) --- */
.mes-realisations__voir-plus {
  display: inline-block;
  box-sizing: border-box;
  background: #3B3B3B;
  border: 1px solid #3B3B3B;
  color: #fff !important;
  padding: 10px 28px;
  cursor: pointer;
  font-size: 14px;
  letter-spacing: 1.5px;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  transition: all 0.25s ease;
  text-transform: uppercase;
}

.mes-realisations__voir-plus:hover {
  background: #555;
  border-color: #555;
  color: #fff !important;
}

/* --- Grille : 2 colonnes --- */
.mes-realisations__grille {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.mes-realisations__item {
  overflow: hidden;
}

.mes-realisations__lien {
  display: block;
  text-decoration: none;
}

.mes-realisations__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #f2f2f2;
}

.mes-realisations__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.mes-realisations__item:hover .mes-realisations__image img {
  transform: scale(1.06);
}

/* --- Titre sous l'image --- */
.mes-realisations__titre {
  display: block;
  margin-top: 12px;
  color: #3B3B3B;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* --- Cas SANS image --- */
.mes-realisations__item.no-image .mes-realisations__image {
  background: #efe9e1;
}

/* Accueil : sur "Tous", masquer les réalisations au-delà de la limite (6) */
.mes-realisations.is-tous .mes-realisations__item.is-extra {
  display: none !important;
}

.text-realisations h2{
  color: white !important;
}

/* --- Responsive : 1 colonne sur mobile --- */
@media (max-width: 768px) {
  .mes-realisations__grille {
      grid-template-columns: 1fr;
  }

  .mes-realisations__header {
      flex-direction: column;
      align-items: flex-start;
  }
}


/*---------------------------MODALE PORTFOLIO---------------------------------*/

body.portfolio-modal-open {
  overflow: hidden;
}

.portfolio-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.portfolio-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.portfolio-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(30, 28, 26, 0.75);
  backdrop-filter: blur(2px);
}

.portfolio-modal__dialog {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  max-height: 95vh;
  margin: 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
  transform: translateY(16px);
  transition: transform 0.35s ease;
}

.portfolio-modal.is-open .portfolio-modal__dialog {
  transform: translateY(0);
}

/* --- Slider : le carrousel (flèches) est stylé dans functions.php --- */
.portfolio-modal__slider {
  position: relative;
  width: 100%;
  height: 58vh;
  min-height: 280px;
  max-height: 620px;
  background: #2b2926;
  overflow: hidden;
}

.portfolio-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 25;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.25);
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease, transform 0.25s ease;
}

.portfolio-modal__close:hover {
  background: rgba(0, 0, 0, 0.5);
  transform: rotate(90deg);
}

/* --- Bandeau info (titre + date + lieu | badge) --- */
.portfolio-modal__info {
  display: flex;
  width: 100%;
}

.portfolio-modal__info-main {
  flex: 1 1 80%;
  background: #6d665f;
  color: #ffffff;
  padding: 28px 36px;
  text-transform: uppercase;
  font-family: inherit;
}

.portfolio-modal__title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.25;
  color: #ffffff;
  text-transform: uppercase;
}

.portfolio-modal__date,
.portfolio-modal__location {
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.5px;
  line-height: 1.6;
  color: #ffffff;
  text-transform: uppercase;
}

.portfolio-modal__badge {
  flex: 0 0 20%;
  min-width: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #4d4945;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 20px;
}

/* Sans badge : le bandeau titre prend toute la largeur */
.portfolio-modal__info--no-badge .portfolio-modal__info-main {
  flex: 1 1 100%;
}

.portfolio-modal__info--no-badge .portfolio-modal__badge {
  display: none !important;
}

/* --- Description (fond beige clair) --- */
.portfolio-modal__description {
  background: #a19a8e;
  color: #ffffff;
  padding: 32px 36px 40px;
  font-size: 14px;
  line-height: 1.75;
  overflow-y: auto;
  max-height: 30vh;
}

.portfolio-modal__description p {
  margin: 0 0 14px;
  color: #ffffff;
}

.portfolio-modal__description p:last-child {
  margin-bottom: 0;
}

.portfolio-modal__description ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.portfolio-modal__description li {
  margin-bottom: 12px;
  padding-left: 16px;
  position: relative;
  color: #ffffff;
}

.portfolio-modal__description li::before {
  content: "•";
  position: absolute;
  left: 0;
  font-weight: 700;
}

.portfolio-modal__description strong,
.portfolio-modal__description b {
  font-weight: 700;
}

.portfolio-modal__loading {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 10;
  background: rgba(109, 102, 95, 0.85);
  color: #ffffff;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
}

.portfolio-modal__dialog.is-loading .portfolio-modal__loading {
  display: flex;
}

/* --- Archive Avada : grille 2 colonnes comme les shortcodes --- */
.fusion-portfolio-archive .fusion-portfolio-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}

.fusion-portfolio-archive .fusion-portfolio-post {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.fusion-portfolio-archive .fusion-image-wrapper {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.fusion-portfolio-archive .fusion-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.fusion-portfolio-archive .fusion-portfolio-post:hover .fusion-image-wrapper img {
  transform: scale(1.06);
}

.fusion-portfolio-archive .fusion-rollover {
  display: none !important;
}

.fusion-portfolio-archive .fusion-portfolio-content-wrapper {
  position: relative;
}

/* Titre sous l'image (injecté par JS) */
.portfolio-archive-title {
  display: block;
  margin-top: 12px;
  color: #3B3B3B;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media (max-width: 768px) {
  .fusion-portfolio-archive .fusion-portfolio-wrapper {
    grid-template-columns: 1fr;
  }

  .portfolio-modal__dialog {
    margin: 10px;
    max-height: 98vh;
  }

  .portfolio-modal__slider {
    height: 45vh;
    min-height: 220px;
  }

  .portfolio-modal__info {
    flex-direction: column;
  }

  .portfolio-modal__info-main {
    padding: 22px 20px;
  }

  .portfolio-modal__badge {
    flex: none;
    width: 100%;
    min-height: 70px;
    font-size: 18px;
  }

  .portfolio-modal__title {
    font-size: 17px;
  }

  .portfolio-modal__description {
    padding: 24px 20px 30px;
    max-height: none;
  }
}


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

.custom-avada-footer {
    background: #aaa59d !important;
    color: #5f5b56 !important;
    padding: 90px 10vw 55px !important;
    font-family: Arial, sans-serif !important;
    letter-spacing: 3px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
  }
  
  .custom-avada-footer a {
    color: #5f5b56 !important;
    text-decoration: none !important;
  }
  
  .fusion-widget-area.fusion-columns{
    display: grid !important;
    grid-template-columns: 1fr 2fr 1fr !important;
    grid-template-rows: 1fr !important;
    grid-column-gap: 0px !important;
    grid-row-gap: 0px !important;
    align-items: start !important;
  }

  .fusion-widget-area.fusion-columns .fusion-column{
    width: 100% !important;
  }
    .fusion-widget-area.fusion-columns .fusion-column:nth-child(1) {
      grid-area: 1 / 1 / 2 / 2;
    }

    .fusion-widget-area.fusion-columns .fusion-column:nth-child(2) {
      grid-area: 1 / 2 / 2 / 3;
    }

    .fusion-widget-area.fusion-columns .fusion-column:nth-child(3) {
      grid-area: 1 / 3 / 2 / 4;
    }

  .menu{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
  
  .footer-logo {
    width: 110px !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 35px !important;
  }
  
  .footer-address {
    line-height: 1.7 !important;
  }
  
  .footer-address a {
    text-decoration: underline !important;
  }
  
  .footer-nav {
    display: grid !important;
    grid-template-columns: repeat(5, auto) !important;
    gap: 38px !important;
    position: relative !important;
  }
  
  .footer-nav h4 {
    margin: 0 0 10px 0 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #3f3b37 !important;
  }
  
  .footer-nav a {
    display: block !important;
    margin-bottom: 7px !important;
    font-size: 9px !important;
    letter-spacing: 2px !important;
  }
  
  .footer-socials {
    display: flex !important;
    gap: 9px !important;
    justify-content: flex-end !important;
  }
  
  .footer-socials a {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #7c7871 !important;
    color: #aaa59d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: bold !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
  
  .footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 85px !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
    vertical-align: middle !important;
  }
  
  .footer-bottom strong {
    font-size: 15px !important;
    color: #222 !important;
    letter-spacing: -1px !important;
    text-transform: lowercase !important;
  }

  .footer-bottom__rights-wrap {
    display: inline !important;
  }

  .footer-bottom__rights-sep {
    display: inline !important;
  }
  
  @media screen and (max-width: 900px) {
    .custom-avada-footer {
      padding: 45px 25px !important;
    }
  
    .footer-inner {
      display: block !important;
    }
  
    .footer-nav {
      display: block !important;
      margin-top: 40px !important;
    }
  
    .footer-nav > div {
      margin-bottom: 25px !important;
    }
  
    .footer-newsletter {
      position: static !important;
      margin-top: 30px !important;
      width: 100% !important;
    }
  
    .footer-socials {
      justify-content: flex-start !important;
      margin-top: 35px !important;
    }
  
    .footer-bottom {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 12px !important;
      margin-top: 50px !important;
      line-height: 1.4 !important;
      text-align: left !important;
    }

    .footer-bottom br {
      display: none !important;
    }

    .footer-bottom > div {
      width: 100% !important;
    }

    .footer-bottom > div:last-child {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      gap: 8px !important;
    }

    .fusion-copyright-content,
    .fusion-copyright-notice {
      text-align: left !important;
    }

    .image-footer{
        border-style: none !important;
        width: 65px !important;
        max-width: 65px !important;
        height: auto !important;
        vertical-align: middle !important;
    }

    .fusion-social-networks .fusion-social-network-icon:before {
        color: #000000 !important;
    }

    .fusion-widget-area{
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 10px !important;
    }

    .fusion-footer .footer .fusion-row .fusion-columns {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 10px !important;
    }
  }
  .fusion-footer .img-footer-test{
    width: 200px !important;
  }

  /* ---------- RESPONSIVE FOOTER (tablette) ---------- */
  @media screen and (max-width: 900px) {
    /* La grille principale 3 colonnes passe en 1 colonne */
    .fusion-widget-area.fusion-columns {
      display: grid !important;
      grid-template-columns: 1fr !important;
      grid-template-rows: auto !important;
      grid-column-gap: 0px !important;
      grid-row-gap: 35px !important;
      align-items: start !important;
      justify-items: start !important;
      text-align: left !important;
    }

    /* On annule le placement explicite des colonnes pour qu'elles s'empilent */
    .fusion-widget-area.fusion-columns .fusion-column:nth-child(1),
    .fusion-widget-area.fusion-columns .fusion-column:nth-child(2),
    .fusion-widget-area.fusion-columns .fusion-column:nth-child(3) {
      grid-area: auto !important;
    }

    .fusion-widget-area.fusion-columns .fusion-column {
      width: 100% !important;
      max-width: 100% !important;
      text-align: left !important;
    }

    .fusion-footer-widget-column,
    .fusion-footer-widget-area .widget,
    .fusion-footer-widget-area .textwidget {
      text-align: left !important;
    }

    /* Logo aligné à gauche */
    .footer-logo {
      margin-left: 0 !important;
      margin-right: auto !important;
    }

    /* Le menu de navigation s'empile à gauche */
    .footer-nav {
      justify-content: flex-start !important;
      text-align: left !important;
    }

    .fusion-footer-widget-area .menu,
    .menu {
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      gap: 14px !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      text-align: left !important;
    }

    .fusion-footer-widget-area .menu li,
    .menu li {
      width: auto !important;
      text-align: left !important;
      list-style: none !important;
    }

    .open-newsletter-form {
      align-self: flex-start !important;
      width: auto !important;
      max-width: 100% !important;
    }

    .footer-socials {
      justify-content: flex-start !important;
    }

    .fusion-footer-widget-area .fusion-social-networks,
    .fusion-widget-area .fusion-social-networks {
      display: block !important;
      width: 100% !important;
      text-align: left !important;
    }

    .fusion-footer-widget-area .fusion-social-networks-wrapper,
    .fusion-widget-area .fusion-social-networks-wrapper {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: flex-start !important;
      align-items: center !important;
      gap: 10px !important;
      margin: 0 !important;
      text-align: left !important;
    }

    .fusion-footer-widget-area .fusion-social-network-icon,
    .fusion-widget-area .fusion-social-network-icon {
      margin-left: 0 !important;
      margin-right: 10px !important;
    }
  }

  /* ---------- RESPONSIVE FOOTER (mobile) ---------- */
  @media screen and (max-width: 600px) {
    .custom-avada-footer {
      padding: 30px 15px !important;
    }

    .fusion-widget-area.fusion-columns {
      grid-row-gap: 25px !important;
    }

    .footer-bottom {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 10px !important;
      text-align: left !important;
      margin-top: 30px !important;
      line-height: 1.35 !important;
      font-size: 11px !important;
      letter-spacing: 1.5px !important;
    }

    .footer-bottom br {
      display: none !important;
    }

    .footer-bottom__rights-wrap {
      display: block !important;
      width: 100% !important;
      margin-top: 4px !important;
    }

    .footer-bottom__rights-sep {
      display: none !important;
    }

    .footer-bottom > div:last-child {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      gap: 6px !important;
    }

    .fusion-copyright-content .image-footer,
    .footer-bottom .image-footer {
      width: 72px !important;
      max-width: 72px !important;
      height: auto !important;
    }
  }

  /* ---------- RESPONSIVE FOOTER (petit mobile) ---------- */
  @media screen and (max-width: 400px) {
    .custom-avada-footer {
      padding: 25px 12px !important;
    }
  }


/*---------------------------AVIS CLIENTS---------------------------------*/

/* Titre "AVIS DES CLIENTS" (élément texte Avada) sans marge */
.fusion-text-6 h2 {
  margin: 0 !important;
}

.avis-clients {
  max-width: 1400px;
  margin: 0 auto 80px;
  padding: 40px 20px 0;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

.avis-clients * {
  box-sizing: border-box;
}

.avis-clients__titre {
  font-size: 40px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #2f2b28;
  font-weight: 400;
  margin: 0 0 45px;
}

.avis-clients__carousel {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.avis-clients__viewport {
  overflow: hidden;
  flex: 1 1 0;
  min-width: 0;
}

.avis-clients__track {
  display: flex;
  gap: 30px;
  transition: transform 0.45s ease;
  will-change: transform;
}

.avis-clients__carte {
  flex: 0 0 calc((100% - 60px) / 3);
  box-sizing: border-box;
  background: #d8d1c4;
  padding: 30px 28px;
  min-height: 230px;
  display: flex;
  flex-direction: column;
}

.avis-clients__entete {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 22px;
}

.avis-clients__nom {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3f3b37;
}

.avis-clients__date {
  display: block;
  font-size: 12px;
  color: #8a857d;
  margin-top: 5px;
  letter-spacing: 1px;
}

.avis-clients__guillemet {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 55px;
  line-height: 0.7;
  font-weight: 700;
  color: #6f6b64;
}

.avis-clients__texte {
  font-size: 12px;
  line-height: 1.75;
  color: #6b6760;
}

.avis-clients__texte p {
  margin: 0 0 10px;
}

.avis-clients__texte p:last-child {
  margin-bottom: 0;
}

.avis-clients__fleche {
  flex: 0 0 auto;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 36px;
  line-height: 1;
  color: #555;
  padding: 10px 6px;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.avis-clients__fleche:hover {
  color: #000;
}

.avis-clients__fleche.is-disabled {
  opacity: 0.25;
  cursor: default;
}

.avis-clients__bouton {
  display: inline-block;
  margin-top: 40px;
  background: #6f6b64;
  color: #fff !important;
  padding: 15px 42px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
  transition: background 0.25s ease;
}

.avis-clients__bouton:hover {
  background: #5a564f;
}

/* --- Responsive avis clients (tablette : 2 cartes) --- */
@media screen and (max-width: 900px) {
  .avis-clients {
    margin: 0 auto 60px;
  }

  .avis-clients__titre {
    font-size: 30px;
    letter-spacing: 4px;
  }

  .avis-clients__carte {
    flex: 0 0 calc((100% - 30px) / 2);
  }
}

/* --- Responsive avis clients (mobile : 1 carte) --- */
@media screen and (max-width: 600px) {
  .avis-clients {
    margin: 0 auto 45px;
  }

  .avis-clients__titre {
    font-size: 24px;
    letter-spacing: 2px;
    text-align: center;
  }

  .avis-clients__carte {
    flex: 0 0 100%;
  }

  .avis-clients__bouton {
    display: block;
    text-align: center;
  }
}


/*---------------------------FORMULAIRE AVIS (tasty_form)---------------------------------*/
/* Encadrer le shortcode ainsi dans la page :
   <div class="tasty-form-wrap">[tasty_form]</div> */

/* --- Messages de confirmation / erreur --- */
#postbox .notif {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 700px;
  margin: 0 auto 35px;
  padding: 22px 26px;
  border-left: 4px solid #6f6b64;
  background: #e7e1d6;
  color: #3f3b37;
  font-size: 14px;
  line-height: 1.6;
}

#postbox .notif__titre {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3f3b37;
}

#postbox .notif__texte {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: #5f5b56;
}

#postbox .notif--success {
  border-left-color: #6f6b64;
  background: #d8d1c4;
}

#postbox .notif--success .notif__titre {
  color: #2f2b28;
}

#postbox .notif--error {
  border-left-color: #8a4a42;
  background: #efe4e2;
}

#postbox .notif--error .notif__titre {
  color: #6b3a34;
}

#postbox .notif--error .notif__texte {
  color: #7a5550;
}

#postbox .notif--info {
  border-left-color: #9a948b;
  background: #f3efe9;
}

@media screen and (max-width: 600px) {
  #postbox .notif {
    margin-bottom: 25px;
    padding: 18px 20px;
  }

  #postbox .notif__titre {
    font-size: 11px;
    letter-spacing: 1.5px;
  }

  #postbox .notif__texte {
    font-size: 13px;
  }
}

.tasty-form-wrap {
  max-width: 700px;
  margin: 40px auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.tasty-form-wrap * {
  box-sizing: border-box;
}

.tasty-form-wrap form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Labels / questions */
.tasty-form-wrap label,
.tasty-form-wrap legend,
.tasty-form-wrap p > strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3f3b37;
  margin-bottom: 6px;
}

/* Champs de saisie */
.tasty-form-wrap input[type="text"],
.tasty-form-wrap input[type="email"],
.tasty-form-wrap input[type="tel"],
.tasty-form-wrap input[type="number"],
.tasty-form-wrap input[type="date"],
.tasty-form-wrap select,
.tasty-form-wrap textarea {
  width: 100%;
  background: #f3efe9;
  border: 1px solid #cfc8bb;
  border-radius: 0;
  padding: 12px 14px;
  font-size: 14px;
  color: #3b3b3b;
  font-family: inherit;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.tasty-form-wrap textarea {
  min-height: 140px;
  resize: vertical;
}

.tasty-form-wrap input:focus,
.tasty-form-wrap select:focus,
.tasty-form-wrap textarea:focus {
  outline: none;
  border-color: #6f6b64;
  background: #fff;
}

.tasty-form-wrap input::placeholder,
.tasty-form-wrap textarea::placeholder {
  color: #9a948b;
}

/* Étoiles de notation (la plupart des plugins utilisent des labels/spans avec ☆) */
.tasty-form-wrap .etoiles,
.tasty-form-wrap .stars,
.tasty-form-wrap [class*="etoile"],
.tasty-form-wrap [class*="star"] {
  color: #c9a14a;
  font-size: 22px;
  letter-spacing: 3px;
}

/* Bouton d'envoi */
.tasty-form-wrap input[type="submit"],
.tasty-form-wrap button[type="submit"],
.tasty-form-wrap button {
  align-self: flex-start;
  background: #6f6b64;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 14px 42px;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s ease;
}

.tasty-form-wrap input[type="submit"]:hover,
.tasty-form-wrap button[type="submit"]:hover,
.tasty-form-wrap button:hover {
  background: #5a564f;
}

/* Message de confirmation / erreur */
.tasty-form-wrap .confirmation,
.tasty-form-wrap .message,
.tasty-form-wrap [class*="confirm"] {
  padding: 14px 16px;
  background: #e7e1d6;
  color: #3f3b37;
  font-size: 14px;
}

/* Responsive */
@media screen and (max-width: 600px) {
  .tasty-form-wrap {
    margin: 25px auto;
  }

  .tasty-form-wrap input[type="submit"],
  .tasty-form-wrap button[type="submit"],
  .tasty-form-wrap button {
    width: 100%;
    text-align: center;
  }
}


.open-newsletter-form{
  cursor: pointer;
  border: 1px solid #252525;
  padding: 10px 20px;
  color: #252525;
  background: transparent;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.open-newsletter-form:hover {
  transform: translateY(-2px);
}

.open-newsletter-form::after {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin-left: auto;
  background-image: url('https://leagirard-architecte.fr/wp-content/uploads/2026/06/arrow-next-small-svgrepo-com.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.open-newsletter-form:hover::after {
  transform: translateX(5px);
}


/*---------------------------NEWSLETTER POPUP---------------------------------*/

.newsletter-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.newsletter-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.newsletter-popup-open {
  overflow: hidden;
}

.newsletter-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(47, 43, 40, 0.55);
  backdrop-filter: blur(2px);
}

.news-form-container {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  background: #e7e1d6;
  border: 1px solid #cfc8bb;
  box-shadow: 0 20px 50px rgba(47, 43, 40, 0.25);
  padding: 35px 30px 30px;
  box-sizing: border-box;
  transform: translateY(20px) scale(0.97);
  transition: transform 0.35s ease;
}

.newsletter-popup.is-open .news-form-container {
  transform: translateY(0) scale(1);
}

.news-form-container__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #6f6b64;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: color 0.25s ease, transform 0.25s ease;
}

.news-form-container__close:hover {
  color: #3f3b37;
  transform: rotate(90deg);
}

.news-form-container__titre {
  margin: 0 0 25px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #3f3b37;
  text-align: center;
}

.news-form-container__inner {
  width: 100%;
}

/* Champs du formulaire Fusion dans la popup */
.news-form-container input[type="text"],
.news-form-container input[type="email"],
.news-form-container select,
.news-form-container textarea {
  width: 100%;
  background: #f3efe9;
  border: 1px solid #cfc8bb;
  border-radius: 0;
  padding: 12px 14px;
  font-size: 14px;
  color: #3b3b3b;
  font-family: inherit;
  box-sizing: border-box;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.news-form-container input:focus,
.news-form-container select:focus,
.news-form-container textarea:focus {
  outline: none;
  border-color: #6f6b64;
  background: #fff;
}

.news-form-container label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3f3b37;
  margin-bottom: 6px;
}

.news-form-container input[type="submit"],
.news-form-container button[type="submit"] {
  background: #6f6b64;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 14px 32px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s ease;
}

.news-form-container input[type="submit"]:hover,
.news-form-container button[type="submit"]:hover {
  background: #5a564f;
}

@media screen and (max-width: 600px) {
  .news-form-container {
    max-width: 100%;
    padding: 30px 20px 25px;
  }

  .news-form-container__titre {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .open-newsletter-form:hover {
    transform: none;
  }
}


/*---------------------------FORMULAIRE CONTACT (form 139)---------------------------------*/

/* Labels des champs */
.fusion-form-field[data-form-id="139"] .fusion-form-label-wrapper label {
  color: #8a857d !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  text-transform: none !important;
  margin-bottom: 8px !important;
}

/* Champs de saisie : blancs, plats, sans bordure */
.fusion-form-field[data-form-id="139"] .fusion-form-input {
  background: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px 18px !important;
  font-size: 15px !important;
  color: #3b3b3b !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.2s ease !important;
}

.fusion-form-field[data-form-id="139"] .fusion-form-input::placeholder {
  color: #b7b3ad !important;
  opacity: 1;
}

.fusion-form-field[data-form-id="139"] .fusion-form-input:focus {
  outline: none !important;
  box-shadow: inset 0 -2px 0 #736d62 !important;
}

/* Champ message plus haut */
.fusion-form-field[data-form-id="139"] textarea.fusion-form-input {
  min-height: 120px;
  resize: vertical;
}

/* On masque l'icône dans les champs Tel/Email pour un rendu épuré */
.fusion-form-field[data-form-id="139"] .fusion-form-input-with-icon .awb-form-icon {
  display: none !important;
}

.fusion-form-field[data-form-id="139"] .fusion-form-input-with-icon .fusion-form-input {
  padding-left: 18px !important;
}

/* Texte d'accroche en italique (colonne de droite) */
.fusion-text-11 p,
.fusion-text-11 em {
  color: #8a857d !important;
  font-style: italic !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

/* Bouton "Envoyer" */
.fusion-form-submit-field[data-form-id="139"] .form-form-submit {
  background: #736d62 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 34px !important;
  font-size: 15px !important;
  letter-spacing: 2px !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background 0.3s ease !important;
}

.fusion-form-submit-field[data-form-id="139"] .form-form-submit:hover {
  background: #5f5a51 !important;
}

.fusion-form-submit-field[data-form-id="139"] .form-form-submit .fusion-button-text {
  color: #ffffff !important;
}

/* Responsive : champs pleine largeur, bouton pleine largeur sur mobile */
@media screen and (max-width: 600px) {
  .fusion-form-submit-field[data-form-id="139"] .form-form-submit {
    width: 100%;
    text-align: center;
  }
}


/*---------------------------BANDEAU BEFORE (page à propos)---------------------------------*/

.bandeau-before {
  position: relative !important;
  z-index: 0 !important;
}

.bandeau-before::before {
  content: "" !important;
  position: absolute !important;
  top: -41px !important;
  left: calc(-50vw + 50%) !important;
  width: 90% !important;
  height: 756px !important;
  background: #dcd5c7 !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

@media screen and (max-width: 900px) {
  .bandeau-before::before {
    width: 100% !important;
  }
}

@media screen and (max-width: 600px) {
  .bandeau-before::before {
    width: 100% !important;
  }
}

.img-abso-a-propos{
  position: absolute;
  top: 340px;
  left: 130px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.img-3{
  position: absolute;
  top: 340px;
  left: 130px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 9999;
}


.after-a-propos::after{
  content: "" !important;
  position: absolute !important;
  top: -63px !important;
  width: 100% !important;
  height: 629px !important;
  background: #E5E0D6 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Images absolute : flux normal sur mobile uniquement */
@media screen and (max-width: 900px) {
  .img-abso-a-propos,
  .img-3 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 16px auto 0 !important;
    z-index: 1 !important;
  }

  .after-a-propos::after {
    width: 100% !important;
  }
}


/*---------------------------MENU FLYOUT PLEIN ECRAN---------------------------------*/

/* Le menu occupe tout l'écran, centré, avec un fond sombre semi-transparent */
.fusion-flyout-menu {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99998 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(30, 28, 26, 0.90) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease, visibility 0.4s ease !important;
}

/* Etat ouvert (piloté par la classe ajoutée sur le body) */
body.flyout-open .fusion-flyout-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.flyout-open {
  overflow: hidden !important;
}

/* Liste des liens : colonne centrée */
.fusion-flyout-menu .fusion-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fusion-flyout-menu .fusion-menu li {
  list-style: none !important;
  margin: 0 !important;
  text-align: center !important;
  /* Animation d'apparition des liens */
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

body.flyout-open .fusion-flyout-menu .fusion-menu li {
  opacity: 1;
  transform: translateY(0);
}

/* Apparition en cascade */
body.flyout-open .fusion-flyout-menu .fusion-menu li:nth-child(1) { transition-delay: 0.12s; }
body.flyout-open .fusion-flyout-menu .fusion-menu li:nth-child(2) { transition-delay: 0.20s; }
body.flyout-open .fusion-flyout-menu .fusion-menu li:nth-child(3) { transition-delay: 0.28s; }
body.flyout-open .fusion-flyout-menu .fusion-menu li:nth-child(4) { transition-delay: 0.36s; }

.fusion-flyout-menu .fusion-menu li a {
  display: inline-block !important;
  padding: 4px 0 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.fusion-flyout-menu .fusion-menu li a .menu-text,
.fusion-flyout-menu .fusion-menu li a {
  font-size: 30px !important;
  font-weight: 100 !important;
  letter-spacing: 9px !important;
  text-transform: uppercase !important;
  transition: opacity 0.3s ease, letter-spacing 0.3s ease !important;
}

.fusion-flyout-menu .fusion-menu li a:hover,
.fusion-flyout-menu .fusion-menu li a:hover .menu-text {
  opacity: 0.6 !important;
  letter-spacing: 12px !important;
}

/* Le bouton hamburger reste cliquable au-dessus du menu (pour fermer) */
.fusion-flyout-menu-toggle,
.fusion-flyout-menu-icons {
  position: relative !important;
  z-index: 99999 !important;
}

/* --- Animation du hamburger -> croix (fondu-morphing) --- */
/* Les traits du hamburger s'effacent en cascade pendant qu'une croix se
   "dessine" par-dessus (tracée en pseudo-éléments, donc nette et centrée).
   Réversible et fluide dans les deux sens. */

.fusion-flyout-menu-toggle {
  position: relative !important;
}

/* Les deux branches de la croix, dessinées sur le bouton */
.fusion-flyout-menu-toggle::before,
.fusion-flyout-menu-toggle::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 28px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) rotate(0deg) scaleX(0) !important;
  transform-origin: center center !important;
  transition:
    transform 0.55s cubic-bezier(0.65, 0, 0.20, 1),
    opacity 0.35s ease !important;
  pointer-events: none !important;
}

/* Les traits d'origine : transition douce pour le fondu */
.fusion-flyout-menu-toggle .fusion-toggle-icon-line {
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.65, 0, 0.20, 1) !important;
}

/* OUVERTURE : les traits s'effacent en cascade (haut -> bas) */
body.flyout-open .fusion-flyout-menu-toggle .fusion-toggle-icon-line {
  opacity: 0 !important;
}
body.flyout-open .fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(1) { transition-delay: 0s !important; }
body.flyout-open .fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(2) { transition-delay: 0.05s !important; }
body.flyout-open .fusion-flyout-menu-toggle .fusion-toggle-icon-line:nth-child(3) { transition-delay: 0.10s !important; }

/* ...puis la croix se dessine, une branche après l'autre */
body.flyout-open .fusion-flyout-menu-toggle::before {
  opacity: 1 !important;
  transform: translate(-50%, -50%) rotate(45deg) scaleX(1) !important;
  transition-delay: 0.20s !important;
}
body.flyout-open .fusion-flyout-menu-toggle::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(1) !important;
  transition-delay: 0.30s !important;
}

@media screen and (max-width: 600px) {
  .fusion-flyout-menu .fusion-menu li a .menu-text,
  .fusion-flyout-menu .fusion-menu li a {
    font-size: 22px !important;
    letter-spacing: 3px !important;
  }
}


/*---------------------------FORMULAIRE CONTACT (page contact, thème sombre)---------------------------------*/
/* Dans Avada : ajoute la classe CSS "contact-page-form" sur le conteneur
   (idéalement le container pleine largeur) qui entoure le titre + le formulaire. */

/* Fond sombre légèrement transparent : laisse apparaître le logo du body en filigrane */
.contact-page-form {
  --awb-background-color: rgba(43, 41, 38, 1) !important;
  background-color: rgba(43, 41, 38, 1) !important;
  /* Calque sombre semi-transparent PAR-DESSUS le logo => baisse son opacité visuelle.
     Plus l'alpha (0.85) est proche de 1, plus le logo est discret. */
  background-image:
    linear-gradient(rgba(43, 41, 38, 0.85), rgba(43, 41, 38, 0.85)),
    url('https://leagirard-architecte.fr/wp-content/uploads/2026/07/logo-Lea-GIRARD-SVG-SITE.svg') !important;
  background-size: cover, contain !important;
  background-position: center, center !important;
  background-repeat: no-repeat, repeat !important;
  background-attachment: scroll, scroll !important;
  z-index: 0 !important;
}

/* Sécurité : couvrir les couches internes Avada qui portent parfois le fond */
.contact-page-form.fusion-flex-container > .fusion-flex-container-overlay,
.contact-page-form .fusion-column-wrapper {
  background-color: transparent !important;
}

/* Titre "CONTACTEZ-MOI" en blanc */
.fusion-text-1 h1 {
  color: #ffffff !important;
}

/* Sous-titre + numéro de téléphone */
.fusion-text-2,
.fusion-text-2 p {
  color: #b8b2a8 !important;
}

.fusion-text-2 strong {
  color: #ffffff !important;
}

/* Labels */
.contact-page-form .fusion-form-label-wrapper label,
.contact-page-form label {
  color: #cfc9c0 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Champs : fond transparent, fin contour clair, texte blanc */
.contact-page-form .fusion-form-input {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 15px 16px !important;
  font-size: 14px !important;
  color: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease !important;
}

.contact-page-form .fusion-form-input::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
  opacity: 1;
}

.contact-page-form .fusion-form-input:focus {
  outline: none !important;
  border-color: #ffffff !important;
}

/* Champ message plus haut */
.contact-page-form textarea.fusion-form-input {
  min-height: 150px !important;
  resize: vertical !important;
}

/* On masque l'icône éventuelle (téléphone) pour un rendu épuré */
.contact-page-form .fusion-form-input-with-icon .awb-form-icon {
  display: none !important;
}
.contact-page-form .fusion-form-input-with-icon .fusion-form-input {
  padding-left: 16px !important;
}

/* Case à cocher (politique de confidentialité) */
.contact-page-form .fusion-form-checkbox-wrapper label,
.contact-page-form .fusion-checkbox label {
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  color: #cfc9c0 !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
}

.contact-page-form input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #ffffff !important;
}

/* Bouton "Envoyer ma demande" : contour, centré, remplissage au survol */
.contact-page-form .fusion-form-submit-field > div {
  text-align: left !important;
}

.btn-politique-confi{
  gap: 10px !important;
}

.contact-page-form .fusion-button,
.contact-page-form .form-form-submit {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  padding: 15px 40px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 13px !important;
  transition: background 0.3s ease, color 0.3s ease !important;
}

.contact-page-form .fusion-button:hover,
.contact-page-form .form-form-submit:hover {
  background: #ffffff !important;
  color: #2b2926 !important;
}

.contact-page-form .fusion-button .fusion-button-text,
.contact-page-form .form-form-submit .fusion-button-text {
  color: inherit !important;
}

@media screen and (max-width: 600px) {
  .contact-page-form .fusion-button,
  .contact-page-form .form-form-submit {
    width: 100% !important;
    text-align: center !important;
  }
}


/*---------------------------BOUTON CTA RÉUTILISABLE (Avada)---------------------------------*/

/*
  Dans Fusion Builder > élément Bouton > champ "Class" :
  lea-cta
  lea-cta lea-cta--dark
  lea-cta lea-cta--outline
  lea-cta lea-cta--light
*/

a.fusion-button.lea-cta,
button.fusion-button.lea-cta,
.fusion-button.lea-cta {
  --button_accent_color: #6f6b64 !important;
  --button_accent_hover_color: #5a564f !important;
  --button_border_color: #6f6b64 !important;
  --button_border_hover_color: #5a564f !important;
  --button_gradient_top_color: #6f6b64 !important;
  --button_gradient_bottom_color: #6f6b64 !important;
  --button_gradient_top_color_hover: #5a564f !important;
  --button_gradient_bottom_color_hover: #5a564f !important;
  background-color: #6f6b64 !important;
  background-image: none !important;
  border: 1px solid #6f6b64 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  padding: 15px 42px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

a.fusion-button.lea-cta .fusion-button-text,
a.fusion-button.lea-cta .awb-button__text,
button.fusion-button.lea-cta .fusion-button-text,
button.fusion-button.lea-cta .awb-button__text,
.fusion-button.lea-cta .fusion-button-text,
.fusion-button.lea-cta .awb-button__text {
  color: #ffffff !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

a.fusion-button.lea-cta:hover,
a.fusion-button.lea-cta:focus,
a.fusion-button.lea-cta:focus-visible,
button.fusion-button.lea-cta:hover,
button.fusion-button.lea-cta:focus,
button.fusion-button.lea-cta:focus-visible,
.fusion-button.lea-cta:hover,
.fusion-button.lea-cta:focus,
.fusion-button.lea-cta:focus-visible {
  background-color: #5a564f !important;
  background-image: none !important;
  border-color: #5a564f !important;
  color: #ffffff !important;
}

a.fusion-button.lea-cta:hover .fusion-button-text,
a.fusion-button.lea-cta:hover .awb-button__text,
button.fusion-button.lea-cta:hover .fusion-button-text,
button.fusion-button.lea-cta:hover .awb-button__text,
.fusion-button.lea-cta:hover .fusion-button-text,
.fusion-button.lea-cta:hover .awb-button__text {
  color: #ffffff !important;
}

/* Variante foncée */
a.fusion-button.lea-cta.lea-cta--dark,
button.fusion-button.lea-cta.lea-cta--dark,
.fusion-button.lea-cta.lea-cta--dark {
  --button_accent_color: #3b3b3b !important;
  --button_accent_hover_color: #555555 !important;
  --button_border_color: #3b3b3b !important;
  --button_border_hover_color: #555555 !important;
  --button_gradient_top_color: #3b3b3b !important;
  --button_gradient_bottom_color: #3b3b3b !important;
  --button_gradient_top_color_hover: #555555 !important;
  --button_gradient_bottom_color_hover: #555555 !important;
  background-color: #3b3b3b !important;
  border-color: #3b3b3b !important;
}

a.fusion-button.lea-cta.lea-cta--dark:hover,
button.fusion-button.lea-cta.lea-cta--dark:hover,
.fusion-button.lea-cta.lea-cta--dark:hover {
  background-color: #555555 !important;
  border-color: #555555 !important;
}

/* Variante contour */
a.fusion-button.lea-cta.lea-cta--outline,
button.fusion-button.lea-cta.lea-cta--outline,
.fusion-button.lea-cta.lea-cta--outline {
  --button_accent_color: transparent !important;
  --button_accent_hover_color: #6f6b64 !important;
  --button_border_color: #6f6b64 !important;
  --button_border_hover_color: #6f6b64 !important;
  background-color: transparent !important;
  border-color: #6f6b64 !important;
  color: #3b3b3b !important;
}

a.fusion-button.lea-cta.lea-cta--outline .fusion-button-text,
a.fusion-button.lea-cta.lea-cta--outline .awb-button__text,
.fusion-button.lea-cta.lea-cta--outline .fusion-button-text,
.fusion-button.lea-cta.lea-cta--outline .awb-button__text {
  color: #3b3b3b !important;
}

a.fusion-button.lea-cta.lea-cta--outline:hover,
button.fusion-button.lea-cta.lea-cta--outline:hover,
.fusion-button.lea-cta.lea-cta--outline:hover {
  background-color: #6f6b64 !important;
  border-color: #6f6b64 !important;
  color: #ffffff !important;
}

a.fusion-button.lea-cta.lea-cta--outline:hover .fusion-button-text,
a.fusion-button.lea-cta.lea-cta--outline:hover .awb-button__text,
.fusion-button.lea-cta.lea-cta--outline:hover .fusion-button-text,
.fusion-button.lea-cta.lea-cta--outline:hover .awb-button__text {
  color: #ffffff !important;
}

/* Variante claire (fond sombre) */
a.fusion-button.lea-cta.lea-cta--light,
button.fusion-button.lea-cta.lea-cta--light,
.fusion-button.lea-cta.lea-cta--light {
  --button_accent_color: #ffffff !important;
  --button_accent_hover_color: #e7e1d6 !important;
  --button_border_color: #ffffff !important;
  --button_border_hover_color: #e7e1d6 !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #3b3b3b !important;
}

a.fusion-button.lea-cta.lea-cta--light .fusion-button-text,
a.fusion-button.lea-cta.lea-cta--light .awb-button__text,
.fusion-button.lea-cta.lea-cta--light .fusion-button-text,
.fusion-button.lea-cta.lea-cta--light .awb-button__text {
  color: #3b3b3b !important;
}

a.fusion-button.lea-cta.lea-cta--light:hover,
button.fusion-button.lea-cta.lea-cta--light:hover,
.fusion-button.lea-cta.lea-cta--light:hover {
  background-color: #e7e1d6 !important;
  border-color: #e7e1d6 !important;
  color: #3b3b3b !important;
}

@media screen and (max-width: 600px) {
  a.fusion-button.lea-cta,
  button.fusion-button.lea-cta,
  .fusion-button.lea-cta {
    padding: 14px 28px !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
  }

  a.fusion-button.lea-cta .fusion-button-text,
  a.fusion-button.lea-cta .awb-button__text,
  .fusion-button.lea-cta .fusion-button-text,
  .fusion-button.lea-cta .awb-button__text {
    letter-spacing: 1.5px !important;
  }
}


/*---------------------------MOBILE ONLY : textes / titres / voir plus---------------------------------*/
/* Tout ce bloc est strictement limité au mobile. Le desktop n'est pas modifié. */

/* Filet de sécurité desktop : si le DOM mobile reste, on annule le clamp */
@media screen and (min-width: 901px) {
  .lea-voir-plus-btn {
    display: none !important;
  }

  .lea-voir-plus-wrap {
    max-height: none !important;
    overflow: visible !important;
  }

  .lea-voir-plus-wrap::after {
    display: none !important;
  }
}

@media screen and (max-width: 900px) {
  /* Titres longs (ex. NOS RÉALISATIONS) : ne plus déborder */
  .fusion-text-5 h2,
  .text-realisations h2,
  .fusion-text-6 h2,
  .avis-clients__titre {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
    box-sizing: border-box !important;
    letter-spacing: 0.08em !important;
    line-height: 1.2 !important;
    font-size: clamp(22px, 6.5vw, 32px) !important;
  }

  .avis-clients__titre {
    font-size: clamp(22px, 6vw, 30px) !important;
  }

  /* Texte L'agence : largeur utile + alignement gauche */
  .fusion-text-3 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .fusion-text-3 h2 {
    text-align: left !important;
    margin-bottom: 12px !important;
  }

  .fusion-text-3 p {
    text-align: left !important;
    --awb-content-alignment: left !important;
  }

  /* Notre vision : alignement gauche (écrase text-align:right inline) */
  .fusion-text-4,
  .fusion-text-4 h2,
  .fusion-text-4 p,
  .fusion-text-4 div,
  .fusion-text-4 .x_elementToProof {
    text-align: left !important;
  }

  .fusion-text-4 + div[style*="text-align"],
  .fusion-text-4 ~ div[style*="text-align"] {
    text-align: left !important;
  }

  /* Bloc "Voir plus" (injecté en JS, mobile uniquement) */
  .lea-voir-plus-wrap {
    position: relative;
    margin: 0;
  }

  .lea-voir-plus-wrap.is-collapsed {
    max-height: 11.5em;
    overflow: hidden;
  }

  .lea-voir-plus-wrap.is-collapsed::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3.2em;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 90%);
    pointer-events: none;
  }

  .bandeau-before .lea-voir-plus-wrap.is-collapsed::after,
  .fusion-builder-row-4 .lea-voir-plus-wrap.is-collapsed::after {
    background: linear-gradient(to bottom, rgba(220, 213, 199, 0), #dcd5c7 90%);
  }

  .lea-voir-plus-btn {
    display: inline-block;
    margin-top: 14px;
    padding: 0;
    border: none;
    background: none;
    color: #3b3b3b;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    font-family: inherit;
  }

  .lea-voir-plus-btn:hover,
  .lea-voir-plus-btn:focus {
    opacity: 0.7;
    outline: none;
  }
}

@media screen and (max-width: 600px) {
  .fusion-text-5 h2,
  .text-realisations h2,
  .fusion-text-6 h2 {
    font-size: clamp(20px, 7vw, 26px) !important;
    letter-spacing: 0.06em !important;
  }

  .fusion-text-3 p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .lea-voir-plus-wrap.is-collapsed {
    max-height: 10.5em;
  }

  /* --- Notre vision : forcer l'alignement à gauche (écrase les inline styles) --- */
  .fusion-text-4,
  .fusion-text-4 h2,
  .fusion-text-4 p,
  .fusion-text-4 div,
  .fusion-text-4 .x_elementToProof {
    text-align: left !important;
  }

  .fusion-text-4 + div[style*="text-align"],
  .fusion-text-4 ~ div[style*="text-align"] {
    text-align: left !important;
  }

  /* Image portrait Léa uniquement (pas toutes les images de row-3) */
  .fusion-image-element:has(.imageframe-1) > div,
  .fusion-image-element:has(.wp-image-48) > div,
  div:has(> .imageframe-1.imageframe-none) {
    width: 328px !important;
    max-width: min(328px, 92vw) !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }

  .imageframe-1,
  .wp-image-48 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }

  /* SUIVEZ-NOUS / SUR : sur deux lignes */
  .fusion-text-8 strong {
    display: inline-block !important;
    line-height: 1.35 !important;
  }

  /* --- Nos valeurs (bandeau) : fade beige --- */
  .bandeau-before .lea-voir-plus-wrap.is-collapsed::after,
  .fusion-builder-row-4 .lea-voir-plus-wrap.is-collapsed::after {
    background: linear-gradient(to bottom, rgba(220, 213, 199, 0), #dcd5c7 90%);
  }

  .bandeau-before .fusion-text-5,
  .fusion-builder-row-4 .fusion-text-5,
  .bandeau-before .fusion-text-5 h2,
  .fusion-builder-row-4 .fusion-text-5 h2,
  .bandeau-before .fusion-text-5 div,
  .fusion-builder-row-4 .fusion-text-5 div {
    text-align: left !important;
  }

  /* --- Section "Vous avez un projet ?" : layout compact --- */
  .fusion-builder-row-6 {
    --awb-margin-top: 36px !important;
    --awb-margin-bottom: 36px !important;
    margin-top: 36px !important;
    margin-bottom: 36px !important;
  }

  .fusion-builder-row-6 > .fusion-builder-row,
  .fusion-builder-row-6 .fusion-builder-row-inner,
  .fusion-builder-row-6 .fusion-form .fusion-builder-row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .fusion-builder-row-6 .fusion-layout-column {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  .fusion-builder-row-6 .fusion-text-7 h2 {
    font-size: clamp(20px, 6.5vw, 26px) !important;
    margin: 0 0 10px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.15 !important;
  }

  /* Bloc contact (logo + réseaux + adresse) en 2 colonnes compactes */
  .fusion-builder-row-6 .fusion-builder-column-9 .fusion-builder-row-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  .fusion-builder-row-6 .fusion-builder-nested-column-0,
  .fusion-builder-row-6 .fusion-builder-nested-column-1 {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .fusion-builder-row-6 .fusion-builder-nested-column-0 {
    flex: 0 0 auto !important;
    max-width: 42% !important;
  }

  .fusion-builder-row-6 .fusion-builder-nested-column-1 {
    flex: 1 1 auto !important;
  }

  .fusion-builder-row-6 .fusion-builder-nested-column-0 .fusion-image-element {
    --awb-max-width: 72px !important;
    max-width: 72px !important;
  }

  .fusion-builder-row-6 .fusion-builder-nested-column-0 .fusion-image-element img {
    width: 72px !important;
    max-width: 72px !important;
    height: auto !important;
  }

  .fusion-builder-row-6 .fusion-text-8 {
    --awb-margin-top: 10px !important;
    margin-top: 10px !important;
  }

  .fusion-builder-row-6 .fusion-text-8 p {
    margin: 0 0 4px !important;
    font-size: 12px !important;
  }

  .fusion-builder-row-6 .fusion-text-9 p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .fusion-builder-row-6 .fusion-social-links {
    margin-top: 4px !important;
  }

  /* Formulaire : moins de padding / moins de scroll */
  .fusion-builder-row-6 .fusion-builder-row-6-2,
  .fusion-builder-row-6 .fusion-form .fullwidth-box[style*="background-color"] {
    --awb-padding-top: 18px !important;
    --awb-padding-right: 16px !important;
    --awb-padding-bottom: 16px !important;
    --awb-padding-left: 16px !important;
    padding: 18px 16px 16px !important;
  }

  .fusion-builder-row-6 .fusion-text-10 {
    margin-bottom: 6px !important;
  }

  .fusion-builder-row-6 .fusion-text-10 p {
    margin: 0 !important;
    font-size: 13px !important;
  }

  .fusion-builder-row-6 .fusion-text-11 {
    margin-bottom: 8px !important;
  }

  .fusion-builder-row-6 .fusion-text-11 p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .fusion-builder-row-6 .fusion-form-field {
    margin-bottom: 10px !important;
  }

  .fusion-builder-row-6 .fusion-builder-column-9 .fusion-column-wrapper {
    justify-content: flex-start !important;
  }
}


/*---------------------------TITRE "Une architecture attentive" (contenu)---------------------------------*/
/* Ce titre est dans le contenu de page (pas le hero). Styles mobile uniquement. */

@media screen and (max-width: 900px) {
  .lea-title-fix,
  h1.lea-title-fix,
  h2.lea-title-fix,
  h3.lea-title-fix {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    font-size: clamp(22px, 6.2vw, 28px) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.04em !important;
    word-spacing: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none !important;
    white-space: normal !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .lea-title-fix br {
    display: none !important;
  }

  /* Alignement gauche forcé (bat Avada / styles inline) */
  .lea-text-left,
  .lea-text-left.fusion-text,
  .lea-text-left.fusion-title,
  .lea-text-left.fusion-column-wrapper,
  .lea-text-left .fusion-title-heading,
  .lea-text-left h1,
  .lea-text-left h2,
  .lea-text-left h3,
  .lea-text-left p,
  .lea-text-left div,
  .lea-text-left span,
  .lea-text-left .x_elementToProof,
  .lea-text-left .fusion-text,
  .lea-text-left .fusion-text p,
  .lea-text-left .fusion-text div {
    text-align: left !important;
    --awb-content-alignment: left !important;
  }

  .lea-text-left p,
  .lea-text-left div,
  .lea-text-left .fusion-text {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Filet de sécurité large sur mobile pour ce bloc texte */
  .fusion-text-3,
  .fusion-text-3 h1,
  .fusion-text-3 h2,
  .fusion-text-3 h3,
  .fusion-text-3 p,
  .fusion-text-3 div {
    text-align: left !important;
    --awb-content-alignment: left !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
}

@media screen and (max-width: 600px) {
  .lea-title-fix,
  h1.lea-title-fix,
  h2.lea-title-fix,
  h3.lea-title-fix {
    font-size: clamp(20px, 6.8vw, 24px) !important;
    letter-spacing: 0.03em !important;
    text-align: left !important;
  }

  .lea-text-left,
  .lea-text-left *,
  .fusion-text-3,
  .fusion-text-3 * {
    text-align: left !important;
  }
}
