/*
Theme Name: Divi Child Theme
Description: Theme enfant
Author: Sandrine Libouban
Author URI: https://www.aroundtheweb.fr
Template: Divi
Version: 1.1
*/

/*------------------------------------------------*/
/*--------------------[ MENU ]--------------------*/
/*------------------------------------------------*/

/*FOND FLOU DU MENU*/

/* =========================================
   MENU FIXE — AVANT SCROLL
   ========================================= */

body .et_pb_section.et_pb_section_0_tb_header.menu-sticky {
  background: transparent !important;

  padding-top: 20px !important;
  padding-bottom: 20px !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  transition:
    background-color 0.4s ease,
    padding-top 0.4s ease,
    padding-bottom 0.4s ease,
    -webkit-backdrop-filter 0.4s ease,
    backdrop-filter 0.4s ease;
}

/* Ligne : les espacements sont gérés par la section */
body .et_pb_section.menu-sticky > .et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Fonds internes transparents */
body .et_pb_section.menu-sticky > .et_pb_row,
body .et_pb_section.menu-sticky > .et_pb_row > .et_pb_column,
body .et_pb_section.menu-sticky .difl_advancedmenu,
body .et_pb_section.menu-sticky .df-am-container,
body .et_pb_section.menu-sticky .df-normal-menu-wrap {
  background: transparent !important;
}

/* Logo : conserver la taille définie dans le module */
body .et_pb_section.menu-sticky .df-site-logo {
  transform: scale(1) !important;
  transform-origin: left center;
  transition: transform 0.4s ease;
}

/* Liens du menu principal et icône mobile */
body .et_pb_section.menu-sticky .df-normal-menu-wrap .df-menu-nav > li > a,
body .et_pb_section.menu-sticky .df-mobile-menu-button {
  color: #fff !important;
}


/* =========================================
   MENU FIXE — APRÈS 50 PX DE SCROLL
   ========================================= */

body .et_pb_section.et_pb_section_0_tb_header.menu-sticky.is-scrolled {
  background: rgba(171, 171, 171, 0.65) !important;

  padding-top: 0px !important;
  padding-bottom: 0px !important;

  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}

/* Réduction visuelle : conserve la place du logo */
body .et_pb_section.menu-sticky.is-scrolled .df-site-logo {
  transform: scale(0.78) !important;
}

body .et_pb_section.et_pb_section_0_tb_header.menu-sticky.is-scrolled {
  background: rgba(23, 25, 23, 0.25) !important;
}
body .et_pb_section.menu-sticky .df-normal-menu-wrap .df-menu-nav > li > a:hover,
body .et_pb_section.menu-sticky .df-normal-menu-wrap .df-menu-nav > li > a:focus-visible {
  color: #0095d4 !important;
}

/* =========================================
   MENU PLEINE PAGE — DIVI 5 + DIVIFLASH
   ========================================= */

.difl_advancedmenu.atw-overlay-menu {
    --atw-menu-background: #00537D;
    --atw-menu-text: #0095D4;
    --atw-menu-accent: #ffffff;
    --atw-menu-separator: #0095D4;

    --atw-menu-font-family: "Open Sans", Arial, sans-serif;
    --atw-menu-font-size: 27px;
    --atw-menu-font-weight: 500;

    --atw-header-height: 210px;

    --atw-horizontal-padding: 24px;
    --atw-menu-top-space: 34px;
    --atw-menu-bottom-space: 40px;
    --atw-link-padding: 16px;

    --atw-menu-max-width: 320px;
    --atw-logo-width-mobile: 220px;
    --atw-contact-width: 250px;

    --atw-animation-duration: 0.45s;
}


/* Bloque la page derrière le menu */
body.atw-mobile-menu-open {
    overflow: hidden !important;
}


/* =========================================
   DESKTOP
   ========================================= */

@media screen and (min-width: 981px) {

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu {
        display: none !important;
    }

    /* Contact ajouté au menu : mobile uniquement */
    .atw-menu-rdv {
        display: none !important;
    }

}


/* =========================================
   TABLETTE + MOBILE
   ========================================= */

@media screen and (max-width: 980px) {

    /* Module principal */
    .difl_advancedmenu.atw-overlay-menu {
        position: relative;
        z-index: 99999;
        overflow: visible !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open {
        z-index: 2147483000 !important;
    }


    /* Conteneurs DiviFlash */
    .difl_advancedmenu.atw-overlay-menu .df-am-container,
    .difl_advancedmenu.atw-overlay-menu .df-am-row,
    .difl_advancedmenu.atw-overlay-menu .row-inner,
    .difl_advancedmenu.atw-overlay-menu .df-am-col {
        overflow: visible !important;
    }


    /* =====================================
       HEADER DU MENU OUVERT
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu
    .df-am-container.small-device {
        position: relative !important;
        z-index: 2147483002 !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device {
        display: block !important;

        box-sizing: border-box !important;

        width: 100% !important;
        max-width: none !important;
        height: var(--atw-header-height) !important;

        margin: 0 !important;
        padding: 0 !important;

        background-color: var(--atw-menu-background) !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device .df-am-row,

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device .row-inner {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .row-inner {
        position: relative !important;
        display: block !important;
    }


    /* Neutralise les colonnes DiviFlash */
    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-am-col {
        position: static !important;

        width: auto !important;
        max-width: none !important;

        flex: none !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-am-col.right {
        display: none !important;
    }


    /* =====================================
       CROIX
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-am-col.center {
        position: absolute !important;

        top: 24px !important;
        left: 50% !important;
        right: auto !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        transform: translateX(-50%) !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    .df-mobile-menu-button {
        position: relative;

        z-index: 2147483004 !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-mobile-menu-button {
        display: inline-block !important;

        margin: 0 auto !important;
    }


    /* =====================================
       LOGO
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-am-col.left {
        position: absolute !important;

        top: 78px !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        transform: none !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-am-col.left
    .df-am-item {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;
    }

    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    .df-am-container.small-device
    .df-site-logo:not(.sticky-logo) {
        position: relative;

        z-index: 2147483003;

        display: block !important;

        width: var(--atw-logo-width-mobile) !important;
        max-width: var(--atw-logo-width-mobile) !important;
        height: auto !important;

        margin: 0 auto !important;

        transform: none !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    .df-am-container.small-device
    .df-site-logo.sticky-logo {
        display: none !important;
    }


    /* =====================================
       PANNEAU PLEIN ÉCRAN
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap {
        position: static !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu {
        display: block !important;

        position: fixed !important;
        z-index: 2147483001 !important;

        inset: 0 !important;

        box-sizing: border-box !important;

        width: 100vw !important;

        height: 100vh !important;
        height: 100dvh !important;

        max-width: none !important;

        margin: 0 !important;

        padding:
            calc(
                var(--atw-header-height)
                + var(--atw-menu-top-space)
            )
            var(--atw-horizontal-padding)
            var(--atw-menu-bottom-space)
            !important;

        overflow: hidden !important;
        overscroll-behavior: none !important;

        background-color: var(--atw-menu-background) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform: translateY(100%) !important;

        transition:
            transform var(--atw-animation-duration) ease,
            opacity 0.35s ease,
            visibility 0s linear var(--atw-animation-duration);
    }


    /* Menu ouvert */
    .difl_advancedmenu.atw-overlay-menu.atw-menu-is-open
    > .df-mobile-menu-wrap
    > .df-mobile-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform: translateY(0) !important;

        transition:
            transform var(--atw-animation-duration) ease,
            opacity 0.35s ease,
            visibility 0s;
    }


    /* =====================================
       CONTENU DU MENU
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .mobile-slide-inner-wrap,

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-am-item {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
    }


    /* Largeur générale */
    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-wrap {
        position: relative;

        width: 100% !important;
        max-width: var(--atw-menu-max-width) !important;

        margin: 0 auto !important;
        padding: 0 !important;

        background: transparent !important;
    }


    /* Liste */
    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0 {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > .menu-item {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Liens */
    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > .menu-item
    > a {
        display: block !important;

        box-sizing: border-box !important;

        width: 100% !important;

        padding:
            var(--atw-link-padding)
            0
            !important;

        border: 0 !important;
        border-bottom:
            1px solid var(--atw-menu-separator)
            !important;

        color: var(--atw-menu-text) !important;

        font-family: var(--atw-menu-font-family) !important;
        font-size: var(--atw-menu-font-size) !important;
        font-weight: var(--atw-menu-font-weight) !important;

        line-height: 1.2 !important;
        letter-spacing: 0 !important;

        text-align: center !important;
        text-transform: none !important;
        text-decoration: none !important;

        background: transparent !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > .menu-item
    > a:hover {
        color: var(--atw-menu-accent) !important;
    }


    /* =====================================
       BOUTON CONTACT
       ===================================== */

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > li.atw-menu-rdv {
        margin-top: 28px !important;

        border: 0 !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > li.atw-menu-rdv
    > a {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: var(--atw-contact-width) !important;
        min-height: 54px;

        margin: 0 auto !important;

        padding: 12px 24px !important;

        border: 0 !important;
        border-bottom: 0 !important;
        border-radius: 6px;

        color: #0095D4 !important;

        background: #ffffff !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu
    .df-menu-nav-level-0
    > li.atw-menu-rdv
    > a:hover {
        color: #ffffff !important;

        background: #0095D4 !important;
    }

}

@media screen and (min-width: 768px) and (max-width: 980px) {

    .et_pb_column_0_tb_header,
    .difl_advancedmenu.atw-overlay-menu,
    .difl_advancedmenu.atw-overlay-menu .df-am-container.small-device,
    .difl_advancedmenu.atw-overlay-menu .df-am-container.small-device .df-am-row,
    .difl_advancedmenu.atw-overlay-menu .df-am-container.small-device .row-inner {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    .difl_advancedmenu.atw-overlay-menu
    > .df-mobile-menu-wrap
    > .df-mobile-menu {
        position: fixed !important;

        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;

        width: 100vw !important;
        max-width: 100vw !important;

        height: 100vh !important;
        height: 100dvh !important;
    }
    .df-am-container .df-am-col.right {
  grid-column: 3;
  width: 100%;
  display: none!important;
}

}

/* =========================================
   PETITS TÉLÉPHONES
   ========================================= */

@media screen and (max-width: 480px) {

    .difl_advancedmenu.atw-overlay-menu {
        --atw-menu-font-size: 24px;
        --atw-horizontal-padding: 7%;
        --atw-menu-max-width: 320px;
        --atw-logo-width-mobile: 220px;
        --atw-contact-width: 250px;
    }

}
/*************************************************************/
/*********[ MASQUER LE LOGO RECAPTCHA EN BAS A DROITE ]*******/
/************************************************************/
.grecaptcha-badge {
  opacity:0;
}
/*************************************************************/
/****************[ RESEAUX SOCIAUX DANS FOOTER ]**************/
/************************************************************/

/* Réseaux sociaux du footer */
.et_pb_social_media_follow_0_tb_footer
.et_pb_social_icon {
    transition: transform 0.3s ease-in-out;
}

.et_pb_social_media_follow_0_tb_footer
.et_pb_social_icon:hover {
    transform: translateY(-3px);
}

/*------------------------------------------------*/
/*-----------[ FORMULAIRE DE CONTACT ]------------*/
/*------------------------------------------------*/
/* =========================================
   NOTIFICATIONS FORMULAIRE DIVI
   ========================================= */

.et-pb-contact-message:empty {
    display: none !important;
}

.et-pb-contact-message:not(:empty) {
    margin: 0 0 28px;
    padding: 18px 22px;

    border-left: 4px solid #0095D4;
    border-radius: 6px;

    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;
}

.et-pb-contact-message p {
    margin: 0 0 10px;

    color: #ffffff !important;

    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.et-pb-contact-message ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.et-pb-contact-message li {
    position: relative;

    margin: 5px 0;
    padding-left: 20px;

    color: rgba(255, 255, 255, 0.85);

    font-size: 15px;
    line-height: 1.4;
}

.et-pb-contact-message li::before {
    content: "•";

    position: absolute;
    left: 3px;

    color: #0095D4;
}


/* Champs en erreur */

.et_pb_contact_field.et_contact_error {
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.et_pb_contact_form input.et_contact_error,
.et_pb_contact_form textarea.et_contact_error,
.et_pb_contact_form select.et_contact_error {
    border: 0 !important;
    border-bottom: 1px solid #e05252 !important;

    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}
.et_pb_contact .et_pb_contact_field .et_contact_error {
    border: 0 !important;
    border-bottom: 1px solid #e05252 !important;
    box-shadow: none !important;
    outline: none !important;
}
.et_pb_contact .et_pb_contact_field input,
.et_pb_contact .et_pb_contact_field textarea,
.et_pb_contact .et_pb_contact_field select {
    border: 0 !important;
    border-bottom: 1px solid #0095D4 !important;
    box-shadow: none !important;
    outline: none !important;
}

.et_pb_contact .et_pb_contact_field .et_contact_error {
    border: 0 !important;
    border-bottom: 1px solid #e05252 !important;
}

/*************************************************************/
/*******[ AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA ]*******/
/*************************************************************/
.et_pb_contact_right p input {
max-width: 50px;
}

/**********************************************************/
/**[ TAILLE VISIONNEUSE LORSQUE IMAGE OUVERTE EN GRAND ]***/
/**********************************************************/
.mfp-img{
  max-height: none!important;
}

/*------------------------------------------------*/
/*-----------------[ RESPONSIVE ]-----------------*/
/*------------------------------------------------*/

/*-------------------------------------------------------------------*/
/*-------------------[ Desktop de plus de 1405px  ]------------------*/
/*-------------------------------------------------------------------*/

 @media all and (min-width: 1405px) {

}

/*-------------------------------------------------------------------*/
/* -------------[Desktop compris entre 1100px et 1405px ]----------- */
/*-------------------------------------------------------------------*/

@media all and (min-width: 1100px) and (max-width: 1404px) {

}

/*-------------------------------------------------------------------*/
/*---[ Ordi portables/tablettes comprises entre 980px et 1099px ]--*/
/*-------------------------------------------------------------------*/

@media all and (min-width: 981px) and (max-width: 1099px) {
.difl_advancedmenuitem_1_tb_header .df-normal-menu-wrap .df-menu-nav {
  gap: 40px !important;
}
}



/*----------------------------------------------------------------*/
/*----------[ Tablettes comprises entre 768px et 980px ]----------*/
/*----------------------------------------------------------------*/

@media all and (min-width: 768px) and (max-width: 980px) {

}

/*------------------------------------------------------------------*/
/*-------------[ Petits Smartphones de moins de 767px ]-------------*/
/*------------------------------------------------------------------*/

@media only screen and (max-width: 767px) {

}