/* ==========================================================================
   Poppins auto-hébergé (RGPD/CNIL : plus aucune requête vers Google Fonts).
   Graisses 300-800 (celles réellement utilisées par le thème), styles normaux.
   Remplace la feuille distante fonts.googleapis.com retirée de header.php.
   Fichiers : assets/fonts/poppins-{poids}-{latin|latin-ext}.woff2
   ========================================================================== */
/* 300 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap;
    src: url("../fonts/poppins-300-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap;
    src: url("../fonts/poppins-300-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 400 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap;
    src: url("../fonts/poppins-400-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap;
    src: url("../fonts/poppins-400-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 500 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap;
    src: url("../fonts/poppins-500-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap;
    src: url("../fonts/poppins-500-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 600 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap;
    src: url("../fonts/poppins-600-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap;
    src: url("../fonts/poppins-600-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 700 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap;
    src: url("../fonts/poppins-700-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap;
    src: url("../fonts/poppins-700-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* 800 */
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap;
    src: url("../fonts/poppins-800-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap;
    src: url("../fonts/poppins-800-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
    font-family: "Poppins", sans-serif !important;
}

td {
    padding: 4px !important;
    border: 1px solid #ccc !important;
}

.poppins-thin {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.poppins-extralight {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: normal;
}

.poppins-light {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.poppins-regular {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.poppins-medium {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.poppins-semibold {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.poppins-extrabold {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: normal;
}

.poppins-black {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.poppins-thin-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.poppins-extralight-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 200;
    font-style: italic;
}

.poppins-light-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.poppins-regular-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: italic;
}


.poppins-medium-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.poppins-semibold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: italic;
}

.poppins-bold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.poppins-extrabold-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    font-style: italic;
}

.poppins-black-italic {
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-style: italic;
}

li {
    list-style: none;
}

.no-padding {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.header_home_page {

    background-position: center !important;

    background-repeat: no-repeat !important;

    background-size: cover !important;

    height: 85vh;

    transition: 0.3s;

    animation: ease-in;

}



.header_home_page h1 {

    text-transform: none;

    margin-bottom: 15px;

    font-size: 38px;

    line-height: 40px;

    font-weight: 600;

    letter-spacing: 0;

    color: #fff;

    transition: 0.3s;

    text-align: center;

}

.header_home_page h1>span {

    color: #ff7a59;

}



.header_home_page p {

    color: #ffffff;

    line-height: 24px;

    font-size: 16px;

    font-weight: 400;

    text-align: left;

    margin: 0 0 15px;
    text-align: center;
}



.site-logo img {

    width: 100%;

    max-width: 220px;

    height: auto;

}



.cta {

    line-height: normal;

    background-color: #ff7a59;

    font-size: 16px;

    color: #fff;

    border-radius: 25px;

    padding: 10px 20px;

    text-decoration: none;

    display: flex;

    align-items: center;

    justify-content: center;

    width: fit-content;

    font-weight: 500;

    border: none;
    transition: 0.3s;

}

.cta:hover {
    background: #FF7A59;
    background: linear-gradient(0deg, rgba(255, 122, 89, 1) 0%, rgba(222, 98, 67, 1) 100%);
}



.cta.fixed {

    display: flex;

    top: 35%;

    position: fixed;

    right: 15px;

    z-index: 9999999;

}



.cta-v2 {

    line-height: normal;

    background-color: #fff;

    border: 1px solid #ff7a59;

    font-size: 16px;

    color: #FF7A59;

    border-radius: 25px;

    padding: 10px 20px;

    text-decoration: none;

    display: flex;

    align-items: center;

    justify-content: center;

    width: fit-content;

    font-weight: 500;

    transition: 0.3s;

    position: relative;

    overflow: hidden;

}



.cta-v2 span {

    position: relative;

    z-index: 1;

}



.cta-v2::before {

    background-color: #ff7a59;

    border: 1px solid #ff7a59;

    width: 0;

    display: flex;

    content: '';

    position: absolute;

    left: 0;

    top: 0;

    z-index: 0;

    transition: 0.3s;

}



.cta-v2:hover {

    color: #FFF;

}



.cta-v2:hover::before {

    color: #FFF;

    width: 100%;

    height: 100%;

}

.cta-v3 {
    line-height: normal;
    background: #04395e;
    font-size: 16px;
    color: #fff;
    border-radius: 25px;
    padding: 10px 20px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-weight: 500;
    border: none;
    transition: 0.3s;
}

.cta-v3:hover {
    background: #04395E;
    background: linear-gradient(0deg, rgba(4, 57, 94, 1) 0%, rgba(3, 23, 38, 1) 100%);
}

.cta-v4 {
    line-height: normal;
    background: #fff;
    font-size: 16px;
    color: #ff7a59;
    border-radius: 25px;
    padding: 10px 20px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-weight: 500;
    border: none;
    transition: 0.3s;
}

.cta-v4:hover {
    background: #04395E;
    color: #fff;
}

.primary-navigation {
    width: -webkit-fill-available;
    transition: 0.3s;
}



.primary-navigation .menu-wrapper {

    display: flex;

    align-items: center;

    margin: 0;

    padding: 0;

    justify-content: space-around;

}



.primary-navigation .menu-wrapper>.menu-item {

    display: flex;

    align-items: start;

    padding: 0 13px 0 0;

    transition: 0.3s;

}



.primary-navigation .menu-wrapper>.current-menu-item a {

    color: #ff7a59 !important;

}



.primary-navigation>.menu-wrapper>.menu-item {

    text-align: center;

}



.primary-navigation .menu-wrapper>.menu-item:nth-child(4)>a:hover::after,

.primary-navigation .menu-wrapper>.menu-item:nth-child(5)>a:hover::after,

.primary-navigation .menu-wrapper>.menu-item:nth-child(6)>a:hover::after,



.primary-navigation .menu-wrapper>.current-menu-item:nth-child(4)>a::after,

.primary-navigation .menu-wrapper>.current-menu-item:nth-child(5)>a::after,

.primary-navigation .menu-wrapper>.current-menu-item:nth-child(6)>a::after {

    content: '';

    position: absolute;

    background-color: #ff7a59;

    width: 110%;

    height: 4px;

    /* border-bottom: 4px solid #ff7a59; */

    bottom: 0;

    left: -3px;

}



.primary-navigation .menu-wrapper .menu-item>a {

    display: block;

    line-height: 30px;

    padding: 15px 0;

    position: relative;

    font-size: 16px;

    font-weight: 500;

    letter-spacing: 0px;

    color: #fff;

    text-decoration: none;

    display: flex;

    align-items: center;

    gap: 5px;

}



.primary-navigation .menu-wrapper>.menu-item:last-of-type>a {

    line-height: normal;

    background-color: #ff7a59;

    font-size: 16px;

    color: #fff !important;

    border-radius: 25px;

    padding: 10px 20px;

    text-decoration: none;

    display: flex;

    align-items: center;

    justify-content: center;

    width: fit-content;

    font-weight: 500;

}

.primary-navigation .menu-wrapper>.menu-item:last-of-type>a:hover {
    background: #FF7A59;
    background: linear-gradient(0deg, rgba(255, 122, 89, 1) 0%, rgba(222, 98, 67, 1) 100%);
}

.primary-navigation .menu-wrapper .menu-item.current-menu-ancestor>a {

    color: #ff7a59;

}



.primary-navigation .menu-wrapper .sub-menu {

    display: none;

    background-color: #fff;

    position: absolute;

    margin: 60px 0 0 0;

    transition: 0.3s;

    padding: 0;

}



.primary-navigation .menu-wrapper .sub-menu a {

    padding: 10px 20px;

    display: block;

    border-bottom: 1px solid rgba(0, 0, 0, .05);

    color: #5f5f5f;

    transition: 0.3s;

}



.primary-navigation .menu-wrapper .sub-menu a:hover {

    text-decoration: none;

    background: rgba(0, 0, 0, .06);

}



.primary-navigation .menu-wrapper>.menu-item-has-children:hover .sub-menu {

    display: flex;

    flex-direction: column;

    background: #fff;

    border-radius: 5px;

}



.primary-navigation .menu-wrapper>.menu-item-has-children>a::after {

    content: '';

    display: block;

    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath fill="%23cccccc" d="M182.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z"/%3E%3C/svg%3E');

    width: 10px;

    height: 16px;

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center -4px;

}

.primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2):hover>.sub-menu {
    display: flex;
    flex-direction: row;
    width: 100%;
    left: 0;
    background: #fff;
    min-height: 490px;
    border-radius: 5px;
    overflow: hidden;
}

.primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2)>.sub-menu .sub-menu {
    display: flex;
    flex-direction: column;
}

.primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2)>.sub-menu>.menu-item {
    width: 33.33%;
    position: relative;
}



.primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2)>.sub-menu>.menu-item>a {

    font-weight: 600;

}



.primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2)>.sub-menu .menu-item>.sub-menu {

    margin: 0;

    width: -webkit-fill-available;

}



.site-branding,

.sub-menu-toggle,

.menu-button-container {

    display: none;

}



.slide_container {

    height: 60vh;

    display: flex;

    flex-direction: column;

    justify-content: center;

}



.exit-popup .second_title,
.solutions .second_title,
.chiffres_cles .second_title,
.avis_client .second_title,
.nos-offres .second_title,
.nos-actualites .second_title,
.references_block .second_title,
.secteur_block .second_title {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 40px;
    color: #33475b;
}

.exit-popup .second_title span,
.solutions .second_title span,
.chiffres_cles .second_title span,
.avis_client .second_title span,
.secteur_block .second_title span,
.nos-offres .second_title span,
.nos-actualites .second_title span,
.references_block .second_title span,
.tabs_left .tab-content .description a,
.nos-secteurs .description a,
.nos-secteurs .description button,
.solutions .description a {
    color: #ff7a59;
    text-decoration: none;
    background: transparent;
    padding: 0;
    border: none;
}

.nos-secteurs {
    margin-top: 48px;
}

.nos-secteurs .description a:hover,
.tabs_left .tab-content .description a:hover,
.nos-secteurs .description button:hover,
.solutions .description a:hover {

    text-decoration: underline;

}



.solutions .description {

    font-size: 16px;

    font-weight: 400;

    line-height: normal;

    margin-bottom: 15px;

    color: #33475b;

}



.solutions .box_solution {

    -webkit-box-shadow: 0 0 10px 3px #f3f3f3;

    -moz-box-shadow: 0 0 10px 3px #f3f3f3;

    box-shadow: 0 0 10px 3px #f3f3f3;

    background-color: #ffffff;

    padding: 20px 20px;

    border-radius: 5px;

    min-height: 430px;

}



.solutions .box_solution .icon {

    margin-bottom: 35px;

    width: 93px;

    height: 93px;

}



.solutions .box_solution h3 a {

    font-size: 22px;

    line-height: 24px;

    font-weight: 600;

    letter-spacing: 0;

    margin-bottom: 15px;

    text-decoration: none;

    color: #33475b;

}



.solutions .box_solution .description {

    font-size: 16px;

    font-weight: 400;

    line-height: 26px;

}



.chiffre_box {

    width: 20% !important;

    flex: 0 0 auto;

}



.chiffres_cles .unite {

    color: #ff7a59;

    font-size: 40px;

    line-height: 70px;

    font-weight: 600;

}



.chiffres_cles .chiffre {

    color: #33475b;

    font-size: 60px;

    font-weight: 600;

    line-height: 60px;

}



.chiffres_cles .chiffre_description {

    color: #33475b;

    font-size: 16px;

}



.chiffres_cles .chiffre_box:nth-of-type(5) .d-flex {

    flex-direction: row-reverse;

}



.chiffres_cles .chiffre_box:nth-of-type(2) {

    margin-left: 40px;

}

/* Phrase de synthèse sous les compteurs : reprend les mêmes valeurs en texte continu,
   citable par les moteurs génératifs. Frère du .row, jamais un .chiffre_box — les
   sélecteurs nth-of-type ci-dessus visent des <div> et ne sont pas affectés. */
.chiffres_cles .chiffres_synthese {
    max-width: 900px;
    margin: 32px auto 0;
    color: #33475b;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
}



.avis_carrousel {

    margin: 32px 0;

    overflow: hidden;

}



.avis_carrousel .item {

    position: relative;

    transition-property: transform;

    overflow: hidden;

    background: #fff;

    margin-left: 15px;

    margin-right: 15px;

    border-radius: 15px;

    box-shadow: 0 0 5px 0 #33475B0F;

    padding: 20px;

    display: flex !important;

    flex-direction: column;

    align-items: center;

    max-height: 430px;

}

.avis_devis .item {

    position: relative;

    transition-property: transform;

    overflow: hidden;

    background: #ffffffe0;

    margin-left: 15px;

    margin-right: 15px;

    margin-bottom: 15px;

    border-radius: 15px;

    box-shadow: 0 0 5px 0 #33475B0F;

    padding: 20px;

    display: flex !important;

    flex-direction: row;

    align-items: center;
    gap: 20px;

}

.avis_devis .profile {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
}



.avis_carrousel .item img,
.avis_devis .item img {

    border-radius: 50%;

    width: 85px;

    height: 85px;

    margin-bottom: 15px;

}



.avis_carrousel .item h3,
.avis_devis .item h3 {

    color: #33475b;

    text-align: center;

    font-size: 16px;

    margin-bottom: 10px;

    min-height: 40px;

}



.avis_carrousel .item .description,
.avis_devis .item .description {

    color: #444444;

    font-style: italic;

    font-size: 16px;

    line-height: 1.4;

    padding: 20px;

    background: #f8f8f8;

    position: relative;

    height: -webkit-fill-available;

}

.avis_carrousel .item .description p,
.avis_devis .item .description p {
    margin: 0;
    padding: 0;
}

.avis_devis .item .description {
    width: 60%;
}



.avis_carrousel .item .description::before,
.avis_devis .item .description::before {

    content: "";

    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" id="Calque_2" data-name="Calque 2" viewBox="0 0 229.14 179.13"%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23eaeaea; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cg id="objects"%3E%3Cg%3E%3Cpath class="cls-1" d="M125.39,179.13v-88.07C125.39,24.63,181.37,0,181.37,0l4.48,7.46s-33.59,34.33-27.62,67.92h70.91v103.75h-103.75Z"/%3E%3Cpath class="cls-1" d="M0,179.13v-88.07C0,24.63,55.98,0,55.98,0l4.48,7.46s-33.59,34.33-27.62,67.92h70.91v103.75H0Z"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');

    position: absolute;

    display: block;

    left: 0;

    top: -15px;

    width: 27px;

    height: 20px;

    background-repeat: no-repeat;

    background-size: cover;

}



.slick-list {

    padding: 15px 0 !important;

}



.avis_client .slick_arrows {

    display: flex;

    justify-content: space-between;

    position: absolute;

    width: 100%;

    top: 50%;

    left: 0;

}



.avis_client .slick_arrows .slick_next,

.avis_client .slick_arrows .slick_prev {

    cursor: pointer;

}



.avis_client .slick_arrows .slick_next::before {

    content: "";

    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_1" x="0px" y="0px" viewBox="0 0 320 512" style="enable-background:new 0 0 320 512;" xml:space="preserve"%3E%3Cstyle type="text/css"%3E .st0%7Bfill:%23053A5E;%7D%0A%3C/style%3E%3Cpath class="st0" d="M310.6,233.4c12.5,12.5,12.5,32.8,0,45.3l-192,192c-12.5,12.5-32.8,12.5-45.3,0s-12.5-32.8,0-45.3L242.7,256 L73.4,86.6c-12.5-12.5-12.5-32.8,0-45.3s32.8-12.5,45.3,0l192,192L310.6,233.4z"/%3E%3C/svg%3E');

    display: block;

    width: 25px;

    height: 40px;

    background-repeat: no-repeat;

    background-size: cover;

}



.avis_client .slick_arrows .slick_prev::before {

    content: "";

    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_1" x="0px" y="0px" viewBox="0 0 320 512" style="enable-background:new 0 0 320 512;" xml:space="preserve"%3E%3Cstyle type="text/css"%3E .st0%7Bfill:%23053A5E;%7D%0A%3C/style%3E%3Cpath class="st0" d="M9.4,233.4c-12.5,12.5-12.5,32.8,0,45.3l192,192c12.5,12.5,32.8,12.5,45.3,0c12.5-12.5,12.5-32.8,0-45.3 L77.3,256L246.6,86.6c12.5-12.5,12.5-32.8,0-45.3s-32.8-12.5-45.3,0L9.4,233.4L9.4,233.4z"/%3E%3C/svg%3E');

    display: block;

    width: 25px;

    height: 40px;

    background-repeat: no-repeat;

    background-size: cover;

}



.secteur_block,

.references_block {

    padding: 64px 0;

}



.tabs_left .nav-pills,

.secteur_block .nav-pills {

    width: 30%;

    float: left;

}



.tabs_left .tab-content,

.secteur_block .tab-content {

    width: 70%;

    font-size: 16px;

    color: #33475b;

    text-align: left;

    line-height: 32px;

    background-color: #f6f9fc;

    padding: 20px;

    min-height: 420px;

}



.tabs_left .nav-pills .nav-link,

.secteur_block .nav-pills .nav-link {

    font-weight: 300;

    color: #33475b;

    text-transform: uppercase;

    font-size: 18px;

    text-align: left;

    padding: 20px;

    border-radius: 0;

    transition: 0.3s;

}



.tabs_left .nav-pills .nav-link.active,

.secteur_block .nav-pills .nav-link.active {

    background-color: #f6f9fc;

    color: #ff7a59;

    font-weight: 500;

}



.tabs_left .tab-content .description,
.secteur_block .tab-content .description {
    font-size: 16px;
    color: #33475b;
    text-align: left;
    line-height: 32px;
}

.tabs_left .tab-content .description p,
.secteur_block .tab-content .description p {
    margin-bottom: 10px;
}

.tabs_left .tab-content .description ul li,
.secteur_block .tab-content .description ul li {
    list-style: disc;
}

.tabs_left .tab-content .description ol li,
.secteur_block .tab-content .description ol li {
    list-style: decimal;
}

.nos-offres .description {
    color: #33475b;
    line-height: normal;
    font-size: 16px;
    font-weight: 400;
}

.nos-offres .description span {
    color: #ff7a59;
}

.nos-offres .card {
    border: none;
    gap: 0;
    border-radius: 15px;
}

.nos-offres .col-xl-4:nth-of-type(1) .card {
    background-color: #f3f8ff;
}

.nos-offres .col-xl-4:nth-of-type(2) .card {
    background-color: #f7f7fb;
}

.nos-offres .col-xl-4:nth-of-type(3) .card {
    background-color: #fff7f2;
}

.nos-offres .card .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.nos-offres .card .icon::before {
    content: '';
    width: 95px;
    height: 95px;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.nos-offres .col-xl-4:nth-of-type(1) .card .icon::before {
    background: url(../images/rdv_icon.webp);
}

.nos-offres .col-xl-4:nth-of-type(2) .card .icon::before {
    background: url(../images/btob_icon.webp);
}

.nos-offres .col-xl-4:nth-of-type(3) .card .icon::before {
    background: url(../images/btoc_icon.webp);
}

.nos-offres .card .card-body {
    padding: 30px;
}

.nos-offres .card .card-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 35px;
    color: #ff7a59;
    margin-bottom: 35px;
}

.nos-offres .card .card-subtitle {
    font-size: 24px;
    line-height: 26px;
    font-weight: 700;
    letter-spacing: 0;
    color: #04395e;
}

.nos-offres .card .card-text {
    color: #33475b;
    font-size: 16px;
    font-weight: 400;
    margin-top: 15px;
    min-height: 250px;
}

.nos-offres .card ul li {
    list-style-type: none;
    padding-left: 22px;
    position: relative;
    margin-bottom: 10px;
}

.nos-offres .card ul li::before {
    content: '';
    display: block;
    background: url(../images/puce_checked.png);
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 4px;
}

.nos-offres .card ul li::marker {
    margin-top: 10px;
}

.nos-offres .card ul {
    padding: 0 1rem;
}

.nos-offres .card .cta-v2 {
    margin: 0 auto;
}

.references_block {
    position: relative;
}

.references_block .logos_reference {
    margin: 32px 0;
    overflow: hidden;
    background: transparent;
    border-radius: 0;
}

.logos_reference {
    margin: -70px 0 0 0;
    overflow: hidden;
    background: #fcfcfc;
    border-radius: 10px;
    padding: 0 25px;
}

.logos_reference .item {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    padding: 10px 15px;
    margin: 10px;
    background: rgba(0, 0, 0, .01);
    text-align: center;
    height: 75px;
    line-height: 75px;
    position: relative;
}

.logos_reference .item img {
    width: 100%;
    height: auto;
    filter: grayscale(1);
    margin: auto 0;
}

.logos_reference .item:hover img {
    filter: grayscale(0);
}

/* Évite le FOUC du carrousel logos avant l'initialisation de Slick :
   on dispose les items sur une seule ligne (comme slidesToShow) et on clippe le reste. */
.logos_reference:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
}

.logos_reference:not(.slick-initialized) .item {
    flex: 0 0 auto;
    width: calc(100% / 7 - 20px);
}

@media (max-width: 1400px) {
    .logos_reference:not(.slick-initialized) .item { width: calc(100% / 5 - 20px); }
}

@media (max-width: 1024px) {
    .logos_reference:not(.slick-initialized) .item { width: calc(100% / 4 - 20px); }
}

@media (max-width: 768px) {
    .logos_reference:not(.slick-initialized) .item { width: calc(100% / 3 - 20px); }
}

@media (max-width: 480px) {
    .logos_reference:not(.slick-initialized) .item { width: calc(100% / 2 - 20px); }
}

.references_block .slick_arrows {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: -webkit-fill-available;
    top: 45%;
    left: 0;
}

.references_block .slick_arrows .slick_next,
.references_block .slick_arrows .slick_prev {
    cursor: pointer;
}



.references_block .slick_arrows .slick_next::before {
    content: "";
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_1" x="0px" y="0px" viewBox="0 0 320 512" style="enable-background:new 0 0 320 512;" xml:space="preserve"%3E%3Cstyle type="text/css"%3E .st0%7Bfill:%23747474;%7D%0A%3C/style%3E%3Cpath class="st0" d="M310.6,233.4c12.5,12.5,12.5,32.8,0,45.3l-192,192c-12.5,12.5-32.8,12.5-45.3,0s-12.5-32.8,0-45.3L242.7,256 L73.4,86.6c-12.5-12.5-12.5-32.8,0-45.3s32.8-12.5,45.3,0l192,192L310.6,233.4z"/%3E%3C/svg%3E');
    display: block;
    width: 10px;
    height: 15px;
    background-repeat: no-repeat;
    background-size: cover;
}



.references_block .slick_arrows .slick_prev::before {
    content: "";
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Calque_1" x="0px" y="0px" viewBox="0 0 320 512" style="enable-background:new 0 0 320 512;" xml:space="preserve"%3E%3Cstyle type="text/css"%3E .st0%7Bfill:%23747474;%7D%0A%3C/style%3E%3Cpath class="st0" d="M9.4,233.4c-12.5,12.5-12.5,32.8,0,45.3l192,192c12.5,12.5,32.8,12.5,45.3,0c12.5-12.5,12.5-32.8,0-45.3 L77.3,256L246.6,86.6c12.5-12.5,12.5-32.8,0-45.3s-32.8-12.5-45.3,0L9.4,233.4L9.4,233.4z"/%3E%3C/svg%3E');
    display: block;
    width: 10px;
    height: 15px;
    background-repeat: no-repeat;
    background-size: cover;
}



.nos-actualites .card {

    border: 1px solid #fff2ee;

    box-shadow: 0 0 90px 0 #33475B0F;

    gap: 0;

    border-radius: 15px;

    overflow: hidden;

}



.nos-actualites .card .thumbnail {

    height: 200px;

    width: 100%;

    border-radius: 15px;

    background-repeat: no-repeat !important;

    background-size: cover !important;

    background-position: center !important;

    transition: 0.3s;

}



.nos-actualites .card .thumbnail:hover {

    opacity: 0.8;

    background-position: bottom !important;

}



.nos-actualites .card .card-body {

    padding: 15px;

    min-height: 100px;

}



.nos-actualites .card .card-title {

    font-size: 14px;

    line-height: 22px;

    font-weight: 600;

    letter-spacing: 0;

}



.page-numbers,

.nos-actualites .card a {

    color: #ff7a59;

    text-decoration: none;

}



.nos-actualites .card .card-text {

    color: #33475b;

    font-size: 16px;

    font-weight: 400;

    margin-top: 15px;

}



footer {

    background: #eff2f6;

    padding: 64px 0;

    color: #04395e;

}



footer .widget-title {

    font-weight: 600;

    margin-bottom: 15px;

    font-size: 13px;

}



footer .menu-menu-footer-container ul {

    margin: 0;

    padding: 0;

}



footer .menu-menu-footer-container ul li a {

    font-weight: 600;

    color: #04395e;

    text-decoration: none;

    padding: 0;

    font-size: 13px;

    margin-bottom: 5px;

    line-height: 30px;

}



footer .menu-menu-footer-container ul li.current-menu-item a {

    color: #ff7a59;

}



footer .textwidget {

    font-size: 13px;

    font-weight: 400;

}



footer .textwidget img {

    margin-bottom: 0.4rem;

}



footer .textwidget ul.social {

    margin: 0;

    padding: 0;

    display: flex;

    margin-bottom: 1rem;

}



footer .textwidget ul.social i::before {

    content: '';

    width: 20px;

    height: 20px;

    display: block;

    background-size: contain !important;

    background-repeat: no-repeat !important;

    background-position: center !important;

    margin: 5px;

}



footer .textwidget ul.social .icon-facebook::before {

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%2304395e" d="M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z"/></svg>');

}



footer .textwidget ul.social .icon-x-twitter::before {

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%2304395e" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>');

}



footer .textwidget ul.social .icon-linkedin::before {

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%2304395e" d="M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z"/></svg>');

}



footer .textwidget h3 {

    font-weight: 600;

    margin: 15px 0;

    font-size: 13px;

}



footer .powered-by {

    font-size: 14px;

    font-weight: 300;

}



footer .powered-by strong {

    font-weight: 700;

}



.header_page_interne {

    background-position: center !important;

    background-repeat: no-repeat !important;

    background-size: cover !important;

    /*height: 40vh;*/

}



.header_actualite_page {

    background-position: top !important;

    background-repeat: no-repeat !important;

    background-size: cover !important;

    height: 50vh;

    position: relative;

}



.header_actualite_page::before {

    content: '';

    background-color: rgb(0 0 0 / .5);

    display: flex;

    width: 100%;

    height: 100%;

    position: absolute;

    z-index: 0;

}



.header_page_interne h1 {

    text-transform: uppercase;

    margin-bottom: 15px;

    font-size: 40px;

    line-height: 45px;

    font-weight: 600;

    letter-spacing: 0;

    color: #fff;

    text-align: center;

}



.header_actualite_page h1 {

    margin-bottom: 15px;

    font-size: 40px;

    line-height: 45px;

    font-weight: 600;

    letter-spacing: 0;

    color: #fff;

    text-align: center;

}



.header_actualite_page h1>span,

.header_page_interne h1>span {

    color: #ff7a59;

}



.header_actualite_page p,

.header_page_interne p {

    color: #ffffff;

    line-height: 24px;

    font-size: 16px !important;

    font-weight: 400;

    text-align: left;

    margin: 0 0 15px;

}



.header_actualite_page .chevron-down {

    margin-top: 4rem;

}



.header_actualite_page .chevron-down::before {

    content: "";

    display: flex;

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%23ffffff" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>');

    background-repeat: no-repeat;

    background-size: contain;

    width: 40px;

    height: 40px;

    opacity: 0.5;

}



.header_actualite_page .chevron-down:hover:before {

    opacity: 0.7;

}



.bg_main_menu {

    padding: 1rem 0;

    z-index: 999998;

}



.bg_main_menu.white {

    background-color: #ffffffe0;

}



.bg_main_menu.sticky .primary-navigation .menu-wrapper .menu-item>a,

.bg_main_menu.white .primary-navigation .menu-wrapper .menu-item>a {

    color: #04395e;

}



.bg_main_menu.sticky .primary-navigation .menu-wrapper .menu-item.current-menu-ancestor>a,

.bg_main_menu.white .primary-navigation .menu-wrapper>.menu-item.current-menu-ancestor>a {

    color: #ff7a59;

}



.bg_main_menu.white .primary-navigation .menu-wrapper .menu-item.current-menu-item .menu-item.current-menu-ancestor>a,

.bg_main_menu.white .primary-navigation .menu-wrapper li .current-menu-parent>a,

.bg_main_menu.white .primary-navigation .menu-wrapper .menu-item .current-menu-item>a {

    background-color: rgba(0, 0, 0, .06);

}



.bg_main_menu .site-logo .white-logo,

.bg_main_menu.white .site-logo .black-logo,

.bg_main_menu.sticky .site-logo .black-logo {

    display: block;

}



.bg_main_menu.white .site-logo .white-logo,

.bg_main_menu.sticky .site-logo .white-logo,

.bg_main_menu .site-logo .black-logo {

    display: none;

}



.bg_main_menu.sticky {

    position: fixed !important;

    top: 0;

    left: 0;

    width: 100%;

    background-color: rgba(255, 255, 255, 0.95);

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    z-index: 999 !important;

    transition: all 0.3s ease;

}



.about h2 {

    color: #04395e;

    font-size: 24px;

    font-weight: 600;

    line-height: 35px;

}



.about h3 {

    font-size: 22px;

    line-height: 24px;

    font-weight: 600;

    letter-spacing: 0;

    margin-bottom: 15px;

    color: #33475b;

}



.about img {

    width: 100%;

    border-radius: 7px;

}



.about p {

    color: #04395e;

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

}



.about ul {

    margin: 15px 0 15px 30px;

    color: #33475b;

    font-size: 16px;

}



.about ul li {

    list-style: disc;

    margin-bottom: 10px;

    line-height: 24px;

}



.about .icon {

    width: 85px;

    height: 85px;

    margin-bottom: 30px;

}



.about .icon_approche h3 {

    color: #5b6674;

    font-size: 20px;

    font-weight: 600;

    line-height: 35px;

}



.bg_F6F9FC {

    background-color: #F6F9FC;

}

.bg_04395e {

    background-color: #04395e;

}

.bg_ff7a59 {

    background-color: #ff7a59;

}



.padding_t_b_64 {

    padding: 64px 0;

}



.color_33475b {

    color: #33475b;

}



.color_ff7a59 {

    color: #ff7a59 !important;

}



.border_radius_10 {

    border-radius: 10px;

}



.teams img {

    width: 100%;

}



.teams .description {

    font-size: 16px;

    font-weight: 400;

    line-height: 28px;

    color: #33475b;

}



.teams .description ul {

    margin: 15px 0 15px 30px;

    padding: 0;

}



.teams .description ul li {

    margin-bottom: 10px;

    line-height: 24px;

    list-style: disc;

}



.about a,

.teams .description a {

    color: #ff7a59;

    text-decoration: none;

    transition: 0.3s;

}



.about a:hover,

.teams .description a:hover {

    text-decoration: underline;

}



.teams.poles_de_competences .col-xl-4:first-of-type h2 {

    background: #fff;

    display: flex;

    font-size: 25px;

    color: #ff613b;

    flex-direction: column;

    padding: 2rem;

    border-radius: 7px;

    margin: 2rem 2rem 2rem 0px;

    font-weight: 400;

}



.teams.poles_de_competences .col-xl-4:first-of-type h2 span {

    font-size: 72px;

    color: #ff7a59;

    font-weight: 600;

}



.teams.poles_de_competences .col-xl-4 h3.titre {

    font-size: 22px;

    line-height: 24px;

    font-weight: 600;

    letter-spacing: 0;

    margin-bottom: 15px;

    color: #33475b;

    border-bottom: 1px solid rgba(0, 0, 0, .08);

    padding-bottom: 15px;

}



.teams.poles_de_competences .col-xl-4 .description {

    font-size: 16px;

    font-weight: 400;

    line-height: 24px;

    color: #33475b;

    margin-bottom: 3rem;

}



.teams.poles_de_competences .col-xl-4 .description h4 {

    font-size: 16px;

    line-height: 24px;

    font-weight: 600;

    letter-spacing: 0;

}



.teams.poles_de_competences .col-xl-4 .description ul {

    margin: 15px 0 15px 30px;

    padding: 0;

}



.teams.poles_de_competences .col-xl-4 .description ul li {

    list-style: disc;

    margin-bottom: 10px;

    line-height: 24px;

}



.btn_mobile_menu {
    position: absolute;
    top: 55px;
    right: 45px;
}



.btn_mobile_menu .bars_icon,

.btn_mobile_menu .close_icon {

    display: none;

    cursor: pointer;

    transition: 0.3s;

}



.bars_icon::before {

    content: '';

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%23ff7a59" d="M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>');

    display: block;

    width: 30px;

    height: 25px;

    background-repeat: no-repeat;

    background-size: contain;

}



.close_icon::before {

    content: '';

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%23ff7a59" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>');

    display: block;

    width: 30px;

    height: 25px;

    background-repeat: no-repeat;

    background-size: contain;

}



.nos-solutions .tabs_top_block .nav-tabs {

    justify-content: space-between;

}



.nos-solutions .tabs_top_block .nav-tabs .nav-link {

    color: #aba9a8;

    font-size: 18px;

    border: none;

    display: block;

    font-weight: 700;

    padding: 14px 30px;

    width: calc((100%)/4);

    transition: 0.3s;

    border-radius: 0;

}



.nos-solutions .tabs_top_block .nav-tabs .nav-link:hover,

.nos-solutions .tabs_top_block .nav-tabs .nav-link.active {

    color: #ff7a59;

    border-bottom: 4px solid #ff7a59;

    background-color: #f6f9fc;

}



.nos-solutions .tabs_top_block .tab-content>.active {

    display: block;

    -webkit-box-sizing: border-box;

    -moz-box-sizing: border-box;

    box-sizing: border-box;

    background-image: url(../images/box_shadow.png);

    border-width: 0;

    padding: 15px 0;

    margin: 0;

    overflow: hidden;

    background-repeat: repeat-x;

}



.nos-solutions .tabs_top_block .tab-content h2 {

    color: #04395e;

    letter-spacing: 0;

    font-size: 24px;

    font-weight: 600;

    line-height: 35px;

}



.nos-solutions .tabs_top_block .tab-content h3 {

    color: #04395e;

    font-size: 20px;

    line-height: 34px;

    letter-spacing: 0;

    font-weight: 600;

}



.nos-solutions .tabs_top_block .tab-content a {

    color: #ff7a59;

    text-decoration: none;

    transition: 0.3s;

}



.nos-solutions .tabs_top_block .tab-content a:hover {

    text-decoration: underline;

}



.nos-solutions .tabs_top_block .tab-content ul,

.nos-solutions .tabs_top_block .tab-content ol,

.nos-solutions .tabs_top_block .tab-content p {

    color: #04395e;

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

}



.nos-solutions .tabs_top_block .tab-content ul li {

    list-style-type: disc;

}



.nos-solutions .tabs_top_block .tab-content ol li {

    list-style-type: decimal;

}



.nos-solutions .avantage {

    display: flex;

    float: left;

    margin-bottom: 15px;

    width: 100%;

    align-items: center;

    flex-direction: row;

}



.nos-solutions .avantage .numerotation {

    float: left;

    width: 10%;

    font-size: 75px;

    text-align: center;

    color: #ff7a59;

}



.nos-solutions .avantage .desc-avanatge {

    float: left;

    width: 90%;

    background: #f5f8fa;

    padding: 24px;

}



.nos-solutions .avantage .desc-avanatge h3,

.nos-solutions .avantage .desc-avanatge h4 {

    font-size: 17px;

    font-style: italic;

    line-height: 24px;

    font-weight: 600;

    letter-spacing: 0;

    color: #04395e;

}



.nos-solutions .avantage .desc-avanatge ul {

    margin: 15px 0 15px 30px;

}



.nos-solutions .avantage .desc-avanatge ul li {

    list-style: disc;

}



.nos-secteurs .faqs_block h2,
.nos-solutions .faqs_block h2 {

    font-size: 32px;

    letter-spacing: 0;

    color: #04395e;

    font-weight: 600;

    line-height: 35px;

}



.nos-secteurs .faqs_block .accordion-item,
.nos-solutions .faqs_block .accordion-item {

    border: none;

    position: relative;

}



.nos-secteurs .faqs_block .accordion-item:after,
.nos-solutions .faqs_block .accordion-item:after {

    content: "";

    width: 60px;

    height: 100%;

    background: rgba(0, 0, 0, .03);

    position: absolute;

    left: 0;

    top: 0;

    z-index: 1;

}



.nos-secteurs .faqs_block .accordion-button,
.nos-solutions .faqs_block .accordion-button {

    font-size: 18px;

    font-weight: 500;

    line-height: 21.6px;

    padding: 20px 40px 20px 80px;

    color: #ff7a59;

    background-color: transparent;

}



.nos-secteurs .faqs_block .accordion-button:not(.collapsed),
.nos-solutions .faqs_block .accordion-button:not(.collapsed) {

    color: #ff7a59;

    background-color: transparent;

    box-shadow: none;

}



.nos-secteurs .faqs_block .accordion-button span,
.nos-solutions .faqs_block .accordion-button span {

    width: 60px;

    height: 60px;

    font-weight: 700;

    font-size: 16px;

    display: flex;

    justify-content: center;

    align-items: center;

    color: #444;

    position: absolute;

    left: 0;

}



.nos-secteurs .faqs_block .accordion-collapse,
.nos-solutions .faqs_block .accordion-collapse {

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

    color: #33475b;

    padding: 0 20px 20px 80px;

    overflow: hidden;

}



.nos-secteurs .faqs_block .accordion-collapse ol li,
.nos-solutions .faqs_block .accordion-collapse ol li {

    list-style: decimal;

}



.nos-solutions h2,
.nos-secteurs h2 {

    font-size: 24px;

    font-weight: 600;

    line-height: 35px;

    color: #33475b;

}



.nos-solutions h3,

.nos-secteurs h3 {

    font-size: 20px;

    font-weight: 600;

    line-height: 35px;

    color: #33475b;

}



.nos-secteurs h4,

.nos-secteurs ul,

.nos-secteurs ol,

.nos-solutions h4,

.nos-solutions ul,

.nos-solutions ol {

    color: #33475b;

    font-size: 16px;

    font-weight: 400;

}



.nos-secteurs p,

.nos-solutions p {

    color: #33475b;

    font-size: 16px;

    font-weight: 400;

    line-height: 30px;

}



.nos-solutions ul li,

.nos-secteurs ul li {

    list-style: disc;

}



.menu-item-description {

    display: none;

}



.wpcf7-form label {

    font-size: 16px;

    font-weight: 500;

    line-height: 35px;

    color: #33475b;

    width: 100%;

}


.wpcf7-form input,

.wpcf7-form textarea {

    font-size: 16px;

    font-weight: 400;

    line-height: 28px;

    color: #626262;

    border: 1px solid #04395e;

    border-radius: 10px;

    width: 100%;

    padding: 0 15px;

    transition: 0.3s;

    margin: 1rem 0;

}



.wpcf7-form select {

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

    color: #626262;

    border: 1px solid #04395e;

    border-radius: 25px;

    width: 100%;

    padding: 0 15px;

    transition: 0.3s;

    margin: 1rem 0;

    height: 35px;

}



.wpcf7-form textarea {

    max-height: 125px;

}



.wpcf7-form input:focus-visible,

.wpcf7-form textarea:focus-visible {

    outline: #ff7a59 auto 1px;

}



.wpcf7-form input[type=submit] {

    border: 1px solid #ff7a59;

    padding-top: 5px;

    background-color: transparent;

    color: #ff7a59;

    width: fit-content;

    padding: 3px 25px;

    transition: 0.3s;

}



.wpcf7-form input[type=submit]:hover {

    border: 1px solid #fff;

    padding-top: 5px;

    background-color: #ff7a59;

    color: #fff;

}



.contact {

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

    color: #33475b;

}



.contact h2 {

    font-size: 24px;

    font-weight: 600;

    line-height: 35px;

}



.contact h3 {

    font-size: 20px;

    font-weight: 600;

    line-height: 26px;

}



.contact li {

    list-style: disc;

}



.contact a {

    color: #ff7a59;

    text-decoration: none;

}



.contact a:hover {

    text-decoration: underline;

}



.card_actualite {

    display: flex;

    gap: 16px;

    float: none;

    width: auto;

    padding-left: 100px;

    margin-bottom: 0;

    padding-bottom: 40px;

    background: url(../images/timeline_right.png) 0 top no-repeat;

    position: relative;

    align-items: center;

}



.card_actualite::before {

    content: "";

    box-sizing: content-box;

    width: 7px;

    height: 7px;

    border-width: 4px;

    border-style: solid;

    -webkit-border-radius: 100%;

    border-radius: 100%;

    border-color: #ff7a59;

    position: absolute;

    left: 35px;

    top: 10px;

    display: block;

    visibility: visible;

    z-index: 1;

}



.card_actualite .thumbnail {

    border: 8px solid #f8f8f8;

    width: 40%;

    height: 200px;

    background-size: cover !important;

    background-repeat: no-repeat !important;

    background-position: center !important;

}



.card_actualite .card-body {

    width: 60%;

}



.card_actualite .card-body .title {

    font-size: 16px;

    line-height: 22px;

    font-weight: 600;

    letter-spacing: 0;

    color: #33475b;

}



.card_actualite .card-body .excerpt {

    margin-bottom: 15px;

    font-size: 16px;

    line-height: 22px;

    color: #9198a1;

    text-align: justify;

}



.card_actualite .card-body a {

    text-decoration: none;

    color: #ff7a59;

}



.card_actualite .card-body a:hover {

    text-decoration: underline;

}



.fixed_devis_btn.active {

    display: none;

}



.wpm-language-switcher {

    margin: 0;

    padding: 0;

}



.wpm-language-switcher.wpm-switcher-dropdown>li {

    background-color: #04395e;

    color: #fff;

    border-radius: 50%;

    width: 45px;

    height: 45px;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 10px;

    font-weight: 600;

    text-align: center;

}



.wpm-language-switcher.wpm-switcher-dropdown .wpm-language-dropdown {

    background-color: #fff;

    color: #04395e;

    border-radius: 50%;

    width: 45px;

    height: 45px;

    padding: 10px;

    font-weight: 600;

    top: 75px;

    margin-left: 10px;

    display: none;

}



.wpm-language-switcher.wpm-switcher-dropdown .wpm-language-dropdown a {

    color: #04395e;

}



.wpm-language-switcher.wpm-switcher-dropdown:hover .wpm-language-dropdown {

    display: flex;

    position: absolute;

    justify-content: center;

    align-items: center;

}



.success_stories .description {

    font-size: 16px;

    font-weight: 400;

    line-height: 35px;

    color: #33475b;

}



.mobile {

    display: none;

}



.actualite {

    font-size: 16px;

    font-weight: 400;

    line-height: normal;

    margin-bottom: 15px;

    color: #33475b;

}



.actualite a {

    color: #ff7a59;

    text-decoration: none;

}



.actualite a:hover {

    text-decoration: underline;

}



.actualite ul li {

    list-style: disc;

}



.actualite ol li {

    list-style: decimal;

}



.actualite .share .icon {

    display: flex;

}



.actualite .share a>i {

    content: '';

    display: block;

    width: 20px;

    height: 20px;

    background-position: center;

    background-repeat: no-repeat;

    background-size: cover;

    margin: 4px 10px;

    opacity: 0.7;

    transition: 0.3s;

}



.actualite .share a>i:hover {

    opacity: 1;

}



.actualite .share a>i.fb {

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ff7a59" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>');

}



.actualite .share a>i.tw {

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ff7a59" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm297.1 84L257.3 234.6 379.4 396H283.8L209 298.1 123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5L313.6 116h47.5zM323.3 367.6L153.4 142.9H125.1L296.9 367.6h26.3z"/></svg>');

}



.actualite .share a>i.in {

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ff7a59" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>');

}



.actualite .share a>i.pn {

    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23ff7a59" d="M384 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h72.6l-2.2-.8c-5.4-48.1-3.1-57.5 15.7-134.7c3.9-16 8.5-35 13.9-57.9c0 0-7.3-14.8-7.3-36.5c0-70.7 75.5-78 75.5-25c0 13.5-5.4 31.1-11.2 49.8c-3.3 10.6-6.6 21.5-9.1 32c-5.7 24.5 12.3 44.4 36.4 44.4c43.7 0 77.2-46 77.2-112.4c0-58.8-42.3-99.9-102.6-99.9C153 139 112 191.4 112 245.6c0 21.1 8.2 43.7 18.3 56c2 2.4 2.3 4.5 1.7 7c-1.1 4.7-3.1 12.9-4.7 19.2c-1 4-1.8 7.3-2.1 8.6c-1.1 4.5-3.5 5.5-8.2 3.3c-30.6-14.3-49.8-59.1-49.8-95.1C67.2 167.1 123.4 96 229.4 96c85.2 0 151.4 60.7 151.4 141.8c0 84.6-53.3 152.7-127.4 152.7c-24.9 0-48.3-12.9-56.3-28.2c0 0-12.3 46.9-15.3 58.4c-5 19.3-17.6 42.9-27.4 59.3H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z"/></svg>');

}

.bg_main_menu .email a,
.bg_main_menu .phone a {
    color: #fff;
    display: flex;
    text-decoration: none;
    padding: 0 0 0 24px;
    align-items: center;
    transition: 0.3s;
    font-size: 14px;
}

.bg_main_menu .email a:hover,
.bg_main_menu .phone a:hover,
.bg_main_menu.sticky .email a,
.bg_main_menu.sticky .phone a,
.bg_main_menu.white .email a,
.bg_main_menu.white .phone a {
    color: #ff7a59;
}

.bg_main_menu .phone a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23fff' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    display: block;
    margin-right: 10px;
}

.bg_main_menu .email a::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23ffffff' d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    display: block;
    margin-right: 10px;
}

.bg_main_menu .phone a:hover::before,
.bg_main_menu.sticky .phone a::before,
.bg_main_menu.white .phone a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23ff7a59' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");

}

.bg_main_menu .email a:hover::before,
.bg_main_menu.sticky .email a::before,
.bg_main_menu.white .email a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23ff7a59' d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E");
}

.success-story ul li {
    list-style: disc;
}

.color_04395e {
    color: #04395e;
}

.header_success_story_single {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.header_success_story_single h1,
.header_success_story_single p {
    color: #fff;
}

.banner_leads_qualifies h2,
.canaux_prospection h2 {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 40px;
    color: #33475b;
}

.banner_leads_qualifies h2 span,
.canaux_prospection h2 span {
    color: #ff7a59;
}

.banner_leads_qualifies h3,
.canaux_prospection h3 {
    font-size: 22px;
}

.canaux_prospection .icon_canal {
    background-color: #e1e1e1;
    border-radius: 50%;
    margin: 0 auto;
    padding: 10%;
    width: 50%;
}

.canaux_prospection .icon_canal img {
    width: 100%;
    height: auto;
}

.story_details h3 {
    font-size: 20px;
    color: #04395e;
}

.story_details .description {
    font-size: 20px;
    font-weight: 700;
}

.avis_story img {
    border-radius: 50% !important;
    overflow: hidden;
}

.avis_story .description {
    font-size: 32px;
}

.story_header p {
    font-size: 20px;
}

.success-story li {
    list-style: disc;
}

.success-story img,
.story_header img {
    border-radius: 10px;
    overflow: hidden;
}

.checked_list {
    padding-left: 0;
    display: flex;
}

.checked_list li {
    list-style: none;
    display: flex;
    gap: 5px;
    align-items: center;
}

.sticky-contact {
    position: -webkit-sticky;
    position: sticky !important;
    top: 140px;
    z-index: 1;
}

.sticky-contact h2 {
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    color: #33475b;
}

.sticky-contact .wpcf7-form input {
    margin: 0;
}

.checked_list li::before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='20' height='20' viewBox='0 0 256 256' xml:space='preserve'%3E%3Cg style='stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;' transform='translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)'%3E%3Cpath d='M 89.122 3.486 L 89.122 3.486 c -2.222 -3.736 -7.485 -4.118 -10.224 -0.742 L 33.202 59.083 c -1.118 1.378 -3.245 1.303 -4.262 -0.151 L 17.987 43.291 c -3.726 -5.322 -11.485 -5.665 -15.666 -0.693 l 0 0 c -2.883 3.428 -3.102 8.366 -0.533 12.036 L 24.206 86.65 c 2.729 3.897 8.503 3.89 11.222 -0.014 l 6.435 -9.239 L 88.87 10.265 C 90.28 8.251 90.378 5.598 89.122 3.486 z' style='stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(6,188,66); fill-rule: nonzero; opacity: 1;' transform=' matrix(1 0 0 1 0 0) ' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E");
    display: block;
}

#scrollTopBtn {
    display: none;
    /* caché par défaut */
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
    font-size: 20px;
    background-color: #ff7a59;
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease;
}

#scrollTopBtn:hover {
    background-color: #e96345;
}

#fixed_devis_btn {
    display: none;
}

.news-item {
    display: none;
}

.exit-popup {
    display: none;
    /* caché par défaut */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.exit-popup-content {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    max-width: 400px;
    width: 90%;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    position: relative;
}

.exit-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 22px;
    cursor: pointer;
    /* Reset des styles UA du <button> pour conserver l'aspect d'une croix. */
    background: none;
    border: 0;
    padding: 0;
    line-height: 1;
    color: inherit;
    font-family: inherit;
}

.exit-popup .wpcf7-form input[type=submit],
.exit-popup .wpcf7-form-control-wrap input {
    width: 100%;
    padding: 10px 20px;
    margin: 0;
}

/* Bouton flottant */
.chat-button {
    position: fixed;
    bottom: 95px;
    right: 30px;
    background-color: #4fce5d;
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    transition: transform 0.2s;
}

.chat-button svg,
.chat-footer svg {
    fill: #fff;
    width: 25px;
}

.chat-button:hover {
    transform: scale(1.1);
}

/* Badge notification */
.chat-button .badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #04395e;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.2);
        opacity: 0.7;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Popup container */
.chat-popup {
    position: fixed;
    bottom: 100px;
    right: 20px;
    width: 320px;
    max-width: 90%;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    display: none;
    flex-direction: column;
    font-family: Arial, sans-serif;
    z-index: 1001;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.chat-popup.show {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

/* En-tête */
.chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: #f5f5f5;
    border-radius: 12px 12px 0 0;
}

.chat-header .title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    font-size: 14px;
}

.chat-header img {
    border-radius: 50%;
}

.chat-header .close {
    cursor: pointer;
    font-size: 20px;
    color: #888;
    transition: color 0.2s;
}

.chat-header .close:hover {
    color: #000;
}

/* Contenu message */
.chat-body {
    padding: 15px;
    font-size: 14px;
    color: #333;
    background: #fff;
}

.chat-body small {
    color: #888;
}

.chat-body .msg {
    background: #f0f0f0;
    padding: 12px 15px;
    border-radius: 10px;
    margin: 10px 0;
    line-height: 1.4;
}

/* Bouton WhatsApp */
.chat-footer {
    padding: 15px;
    text-align: center;
}

.chat-footer a {
    background: #25D366;
    color: #fff;
    padding: 12px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    display: inline-block;
    transition: background 0.3s;
}

.chat-footer a:hover {
    background: #1ebe5b;
}


/* Responsive */
@media only screen and (max-width: 1399px) {

    .primary-navigation .menu-wrapper .menu-item>a,
    .primary-navigation .menu-wrapper>.menu-item:last-of-type>a,
    .wpm-language-switcher.wpm-switcher-dropdown>li {
        font-size: 14px;
    }

    .primary-navigation .menu-wrapper>.menu-item:last-of-type>a {
        padding: 7px 15px;
    }

    .wpm-language-switcher.wpm-switcher-dropdown>li {
        width: 35px;
        height: 35px;
        padding: 10px;
    }

    .bg_main_menu .email a,
    .bg_main_menu .phone a {
        font-size: 12px;
        font-weight: 600;
    }

    .header_home_page h1 {
        font-size: 32px;
    }

    .chiffre_box {
        width: 19% !important;
    }
}

@media only screen and (max-width: 1239px) {

    .btn_mobile_menu {
        top: 31px !important;
        right: 55px !important;
    }

    .btn_mobile_menu .bars_icon {
        display: flex;
    }



    .btn_mobile_menu.active .bars_icon {

        display: none;

    }



    .btn_mobile_menu.active .close_icon {

        display: flex;

        position: fixed;

        z-index: 999999999;

        top: 10px;

        right: 0px;

    }



    .primary-navigation {

        background-color: #04395e;

        border-color: #04395e;

        display: block;

        position: fixed;

        top: 0;

        right: -290px;

        max-width: 100%;

        width: 290px;

        height: 100%;

        overflow: auto;

        border-bottom-width: 60px;

        border-bottom-style: solid;

        z-index: 99999999;

    }



    .bg_main_menu.active::before {

        content: '';

        display: block;

        background-color: rgba(0, 0, 0, .6);

        width: 100%;

        position: fixed;

        height: 100%;

        left: 0;

        top: 0;

        z-index: 9999999;

    }



    .primary-navigation.active {

        right: 0px;

        padding: 25px 25px 0 25px;

    }



    .primary-navigation.active .menu-wrapper {

        flex-direction: column;

        align-items: flex-start;

    }



    .bg_main_menu.sticky .primary-navigation .menu-wrapper>.menu-item>a,

    .bg_main_menu.white .primary-navigation .menu-wrapper>.menu-item>a {

        color: #fff;

    }



    .primary-navigation .menu-wrapper .sub-menu {

        position: relative;

        margin: 0;

        padding: 0;

    }



    .primary-navigation .menu-wrapper>.menu-item,

    .primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2):hover>.sub-menu {

        flex-direction: column;

    }



    .primary-navigation .menu-wrapper>.menu-item-has-children:nth-of-type(2)>.sub-menu>.menu-item {

        width: 100%;

    }



    .primary-navigation .menu-wrapper .menu-item>a {

        line-height: 24px;

    }



    .primary-navigation .menu-wrapper .menu-item>a {

        padding: 6px 15px;

        line-height: 24px;

        font-size: 13px;

    }



    .primary-navigation .menu-wrapper>.menu-item:last-of-type {

        order: 1;

    }



}



@media only screen and (max-width: 479px) {
    .checked_list {
        flex-direction: column;
    }

    .wpcf7-form input[type=submit] {
        width: 100%;
    }

    .resulat_details .col-xl-4>div {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 1rem;
    }

    .resulat_details .col-xl-4>div::after {
        content: "";
        width: 100px;
        height: 1px;
        background-color: #ff7a59;
        display: block;
        margin-top: 5px;
    }

    .story_details .description {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 1rem;
    }

    .story_details .description::after {
        content: "";
        width: 100px;
        height: 1px;
        background-color: #04395E;
        display: block;
        margin-top: 5px;
    }

    .canaux_prospection .row>.col-xl-3 {
        width: 50%;
    }

    .story_header {
        background: #04395e;
    }

    .avis_devis .item {
        flex-direction: column;
        margin: 0 0 15px 0;
    }

    .avis_devis .profile {
        width: 100%;
    }

    .avis_devis .item .description {
        width: 100%;
    }

    .card_actualite {

        padding-left: 0;

        flex-direction: column;

        align-items: flex-start;

        background: none;

    }

    .card_actualite::before {

        display: none;

    }

    .card_actualite .thumbnail,

    .card_actualite .card-body {

        width: 100%;

    }

    .nos-solutions .avantage .numerotation {

        width: 30%;

    }

    .nos-solutions .avantage .desc-avanatge {

        width: 70%;

    }

    .nos-solutions .tabs_top_block .nav-tabs .nav-link {

        padding: 14px 5px;

        font-size: 14px;

    }

    /*.header_page_interne {

        height: 60vh;

    }*/

    .mobile {

        display: block;

    }

    .desktop {

        display: none !important;

    }

    .header_home_page h1 {

        font-size: 24px;

        line-height: 30px;

    }

    .header_home_page p {

        line-height: 18px;

        font-size: 12px;

        /*display: none;*/

    }

    .header_home_page {

        height: 550px;

        background-position: right !important;

    }

    .slide_container {

        height: 400px;

    }

    .padding_t_b_64 {

        padding: 34px 0;

    }

    .solutions .second_title,
    .chiffres_cles .second_title,
    .avis_client .second_title,
    .nos-offres .second_title,
    .nos-actualites .second_title,
    .references_block .second_title,
    .secteur_block .second_title {

        font-size: 26px;

    }

    .chiffres_cles .chiffre {

        font-size: 46px;

    }

    .chiffre_box {

        width: 100% !important;

        margin-bottom: 1rem;

    }

    .chiffres_cles .chiffre_box:nth-of-type(2) {

        margin-left: initial;

    }

    .tabs_left .nav-pills .nav-link,
    .secteur_block .nav-pills .nav-link {

        font-size: 14px;

        padding: 5px;

    }

    .tabs_left .nav-pills,
    .secteur_block .nav-pills {

        width: 40%;

    }

    .tabs_left .tab-content,
    .secteur_block .tab-content {

        width: 60%;

        font-size: 14px;

        line-height: 22px;

        padding: 6px;

    }

    .tabs_left .tab-content .description,
    .secteur_block .tab-content .description {

        font-size: 14px;

        line-height: 22px;

    }

    .cta {
        font-size: 14px;
        padding: 5px 15px;
    }

    .nos-actualites .card {
        margin-bottom: 1rem;
    }

    .wpm-switcher-dropdown {
        position: absolute !important;
        top: 52px;
        right: 10px;
    }

    .wpm-language-switcher.wpm-switcher-dropdown>li {
        width: 30px;
        height: 30px;
    }

    .wpm-language-switcher.wpm-switcher-dropdown .wpm-language-dropdown {

        width: 30px;

        height: 30px;

        padding: 3px;

        top: 23px;

    }

    .header_actualite_page h1,

    .header_page_interne h1 {

        font-size: 28px;

        line-height: 30px;

    }

    .nos-solutions .tabs_top_block .nav-tabs .nav-link {

        width: 100%;

    }

    .btn_mobile_menu {
        top: 55px !important;
        right: 45px !important;
    }

}



/* End Responsive */

body.menu-open {
    overflow: hidden;
    touch-action: none;
}

/*.primary-navigation {
    pointer-events: none;
}

.primary-navigation.active {
    pointer-events: auto;
}

.bg_main_menu {
    pointer-events: none;
}

.bg_main_menu.active {
    pointer-events: auto;
}*/
/* ── Hero Split — nos-solutions ── */
.header_nos_solutions {
    background: #fff !important;
}

.hero-split {
    display: grid;
    grid-template-columns: 56% 44%;
    /*height: 480px;*/
}

.hero-split__left {
    background: #fff;
    padding-top: 48px;
    padding-bottom: 44px;
    padding-right: 56px;
    /* aligne le contenu sur le bord gauche du container Bootstrap (xl: 1140px) */
    padding-left: max(1.5rem, calc((100vw - 1140px) / 2 + 12px));
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

@media (min-width: 1400px) {
    .hero-split__left {
        /* container xxl: 1320px */
        padding-left: max(1.5rem, calc((100vw - 1320px) / 2 + 6px));
    }
}

.hero-split__left::after {
    content: '';
    position: absolute;
    right: -32px;
    top: 50%;
    transform: translateY(-50%);
    border-left: 32px solid #fff;
    border-top: 36px solid transparent;
    border-bottom: 36px solid transparent;
    z-index: 5;
}

.hero-split__right {
    position: relative;
    overflow: hidden;
}

.hero-split__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.hero-split__tint {
    position: absolute;
    inset: 0;
    background: #04395e;
    opacity: .38;
    /*mix-blend-mode: multiply;*/
    pointer-events: none;
}

.hero-split__crumb {
    align-items: center;
    gap: 6px;
    font-size: .72rem;
    color: #aaa;
    letter-spacing: .3px;
}

.hero-split__crumb .sep {
    color: #ddd;
}

.hero-split__crumb .cur {
    color: var(--accent, #FF7A59);
    font-weight: 600;
}

.hero-split__badge {
    display: inline-block;
    background: color-mix(in srgb, var(--accent, #FF7A59) 10%, transparent);
    color: var(--accent, #FF7A59);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 8px 10px 5px 10px;
    border-radius: 4px;
    margin-bottom: 16px;
}

.hero-split__left h1 {
    font-size: 2.6rem;
    font-weight: 300;
    color: #111;
    line-height: 1.1;
    letter-spacing: -1.5px;
    margin-bottom: 14px;
}

.hero-split__left h1 span {
    color: #FF7A59;
    font-weight: 600;
}

.hero-split__rule {
    width: 44px;
    height: 3px;
    background: var(--accent, #FF7A59);
    border-radius: 2px;
    margin-bottom: 16px;
}

.hero-split__left p {
    font-size: .92rem;
    color: #555;
    line-height: 1.7;
    margin-bottom: 24px;
    max-width: 440px;
}

.hero-split__chips,
.hero-split__left ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0;
    padding-left: 0;
}

.hero-split__left ul {
    list-style: none;
}

.hero-split__chip,
.hero-split__left ul li {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #f5f5f5;
    border: 1px solid #e8e8e8;
    color: #333;
    font-size: .72rem;
    font-weight: 600;
    padding: 5px 7px;
    border-radius: 20px;
    list-style: none;
}

.hero-split__chip::before,
.hero-split__left ul li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent, #FF7A59);
}

@media (max-width: 768px) {
    .hero-split {
        grid-template-columns: 1fr;
        height: auto;
    }

    .hero-split__right {
        height: 110px;
        order: -1;
    }

    .hero-split__left {
        padding: 10px 15px 10px 15px;
    }

    .hero-split__left::after {
        display: none;
    }

    .hero-split__left h1 {
        font-size: 2rem;
    }

    .hero-split__badge,
    .hero-split__rule {
        margin-bottom: 10px;
    }

    .hero-split__chip,
    .hero-split__left ul li {
        font-size: .6rem;
    }
}


.lp-cta-wrap {
    font-family: 'Sora', sans-serif;
    display: flex;
    gap: 10px;
    max-width: fit-content;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}

/* CTA principal — orange plein */
.lp-cta-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #ff7a59 !important;
    color: #ffffff !important;
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 24px !important;
    border-radius: 10px;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer;
    transition: background 0.2s ease;
}

.lp-cta-primary:hover {
    background: #e76e50 !important;
    color: #ffffff !important;
}

/* CTA secondaire — bleu clair */
.lp-cta-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #ebf2f7 !important;
    color: #04395e !important;
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 24px !important;
    border-radius: 10px;
    border: 1.5px solid #B5D4F4 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.lp-cta-secondary:hover {
    background: #04395e !important;
    color: #ffffff !important;
    border-color: #04395e !important;
}

/* Icône */
.lp-cta-icon {
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}

/* Responsive — pleine largeur sur mobile */
@media (max-width: 480px) {
    .lp-cta-wrap {
        max-width: 100%;
    }
}

.lp-voir-aussi {
    font-family: 'Sora', sans-serif;
    margin: 2rem 0;
}

.lp-voir-aussi__title {
    font-size: 20px;
    font-weight: 600;
    color: #1A3A5C;
    margin-bottom: 8px;
}

.lp-voir-aussi__intro {
    font-size: 14px;
    color: #4a6a8a;
    line-height: 1.6;
    margin-bottom: 16px;
}

/* Grille 2 colonnes */
.lp-voir-aussi__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

/* Card */
.lp-voir-aussi__card {
    background: #ffffff !important;
    border: 1px solid #C8DFEF !important;
    border-left: 4px solid #0057A8 !important;
    border-radius: 0 10px 10px 0;
    padding: 16px 18px !important;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: box-shadow 0.2s ease, border-left-color 0.2s ease;
}

.lp-voir-aussi__card:hover {
    border-left-color: #D4600A !important;
    box-shadow: 0 4px 16px rgba(0, 87, 168, 0.10) !important;
}

.lp-voir-aussi__card-title {
    font-size: 14px;
    font-weight: 600;
    color: #D4600A;
}

.lp-voir-aussi__card-desc {
    font-size: 12.5px;
    color: #4a6a8a;
    line-height: 1.5;
}

.lp-voir-aussi__card-arrow {
    font-size: 12px;
    font-weight: 600;
    color: #0057A8;
    margin-top: 4px;
}

/* Responsive mobile — 1 colonne */
@media (max-width: 560px) {
    .lp-voir-aussi__grid {
        grid-template-columns: 1fr;
    }
}

.lp-callout-pv {
    font-family: 'Sora', sans-serif;
    background: linear-gradient(135deg, #EBF3FB 0%, #FFF8F0 100%);
    border: 1px solid #C8DFEF;
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 1.5rem 0;
}

.lp-callout-pv__icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: #FFF3E0;
    border: 2px solid #F39C12;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
}

.lp-callout-pv__body {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
}

.lp-callout-pv__text {
    font-size: 14px;
    line-height: 1.5;
    color: #1A3A5C;
    margin: 0;
}

.lp-callout-pv__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #0057A8;
    color: #ffffff;
    font-family: 'Sora', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.lp-callout-pv__cta:hover {
    background: #004080;
    color: #ffffff;
}

/* Responsive mobile */
@media (max-width: 520px) {
    .lp-callout-pv {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .lp-callout-pv__body {
        flex-direction: column;
        align-items: flex-start;
    }
}

.lp-testimonial {
    font-family: 'Sora', sans-serif;
    background: linear-gradient(135deg, #1A3A5C 0%, #0057A8 100%);
    border-radius: 12px;
    padding: 36px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin: 1.5rem 0;
}

/* Guillemets décoratifs */
.lp-testimonial::before,
.lp-testimonial::after {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 130px;
    line-height: 1;
    color: rgba(255, 255, 255, .06) !important;
    position: absolute;
    pointer-events: none;
}

.lp-testimonial::before {
    content: '\201C';
    top: -15px;
    left: 20px;
}

.lp-testimonial::after {
    content: '\201D';
    bottom: -40px;
    right: 20px;
}

/* Étoiles */
.lp-testimonial__stars {
    color: #F39C12 !important;
    font-size: 15px;
    letter-spacing: 4px;
    margin-bottom: 16px;
    position: relative;
}

/* Citation */
.lp-testimonial__quote,
.lp-testimonial__quote p {
    font-size: 16px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .93) !important;
    font-style: italic;
    max-width: 680px;
    margin: 0 auto 22px;
    position: relative;
}

/* Séparateur */
.lp-testimonial__divider {
    width: 40px;
    height: 2px;
    background: rgba(255, 255, 255, .3) !important;
    margin: 0 auto 18px;
}

/* Nom */
.lp-testimonial__name {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff !important;
    margin: 0 0 4px;
}

/* Rôle */
.lp-testimonial__role {
    font-size: 13px;
    color: rgba(255, 255, 255, .6) !important;
    margin: 0;
}

/* Responsive mobile */
@media (max-width: 600px) {
    .lp-testimonial {
        padding: 28px 24px;
    }

    .lp-testimonial__quote {
        font-size: 14.5px;
    }
}

.author-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px;
    background: #f9f9f9;
    border-left: 4px solid #0073aa;
    border-radius: 8px;
    margin: 40px 0;
}

.author-avatar img {
    border-radius: 50%;
    width: 96px;
    height: 96px;
    object-fit: cover;
}

.author-title {
    margin: 0 0 10px;
    font-size: 1.1rem;
}

.author-title a {
    color: #0073aa;
    text-decoration: none;
}

.author-bio {
    margin: 0 0 12px;
    color: #555;
    line-height: 1.6;
}

.author-link {
    display: inline-block;
    font-weight: 600;
    color: #0073aa;
    text-decoration: none;
}

.author-link:hover {
    text-decoration: underline;
}

.lp-calc {
    font-family: inherit;
    color: #1f2937;
    background: #f9fafb;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
    margin: 24px auto;
}

.lp-calc *,
.lp-calc *::before,
.lp-calc *::after {
    box-sizing: border-box;
}

.lp-calc h2 {
    color: var(--lp-accent);
    font-size: 1.6rem;
    margin: 0 0 4px;
}

.lp-calc .lp-sub {
    color: #6b7280;
    margin: 0 0 20px;
    font-size: .95rem;
}

.lp-calc .lp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media(max-width:820px) {
    .lp-calc .lp-grid {
        grid-template-columns: 1fr;
    }
}

.lp-calc .lp-card {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
}

.lp-calc .lp-card h3 {
    margin: 0 0 14px;
    font-size: 1.05rem;
    color: var(--lp-accent);
    border-bottom: 2px solid var(--lp-accent);
    padding-bottom: 8px;
}

.lp-calc .lp-toggle {
    display: inline-flex;
    background: #e5e7eb;
    border-radius: 999px;
    padding: 4px;
    margin-bottom: 16px;
}

.lp-calc .lp-toggle button {
    border: 0;
    background: transparent;
    padding: 8px 18px;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
    color: #374151;
    font-size: .9rem;
}

.lp-calc .lp-toggle button.active {
    background: var(--lp-accent);
    color: #fff;
}

.lp-calc .lp-field {
    margin-bottom: 14px;
}

.lp-calc .lp-field label {
    display: block;
    font-weight: 600;
    font-size: .9rem;
    margin-bottom: 6px;
    color: #374151;
}

.lp-calc .lp-field small {
    display: block;
    color: #6b7280;
    font-size: .78rem;
    margin-top: 4px;
}

.lp-calc .lp-field input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    background: #fff;
    transition: border .15s, box-shadow .15s;
}

.lp-calc .lp-field input[type="number"]:focus {
    outline: none;
    border-color: var(--lp-accent);
    box-shadow: 0 0 0 3px rgba(4, 57, 94, .15);
}

.lp-calc .lp-advanced-toggle {
    cursor: pointer;
    color: var(--lp-accent);
    font-weight: 600;
    font-size: .92rem;
    padding: 10px 0;
    display: flex;
    align-items: center;
    gap: 6px;
    user-select: none;
}

.lp-calc .lp-advanced-toggle::before {
    content: "+";
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 16px;
    text-align: center;
    border: 1px solid var(--lp-accent);
    border-radius: 50%;
    font-weight: 700;
    font-size: .9rem;
}

.lp-calc .lp-advanced-toggle.open::before {
    content: "−";
}

.lp-calc .lp-advanced {
    display: none;
    border-top: 1px dashed #d1d5db;
    padding-top: 14px;
    margin-top: 6px;
}

.lp-calc .lp-advanced.open {
    display: block;
}

.lp-calc .lp-actions {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.lp-calc button.lp-btn {
    padding: 11px 22px;
    border-radius: 8px;
    border: 0;
    cursor: pointer;
    font-weight: 600;
    font-size: .95rem;
    transition: transform .12s, opacity .12s;
}

.lp-calc button.lp-btn:hover {
    transform: translateY(-1px);
}

.lp-calc .lp-btn-primary {
    background: var(--lp-accent);
    color: #fff;
}

.lp-calc .lp-btn-secondary {
    background: #fff;
    color: var(--lp-accent);
    border: 1px solid var(--lp-accent);
}

.lp-calc .lp-result {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

@media(max-width:600px) {
    .lp-calc .lp-result {
        grid-template-columns: 1fr;
    }
}

.lp-calc .lp-result-box {
    background: #04395e;
    color: #fff;
    padding: 18px;
    border-radius: 10px;
    text-align: center;
}

.lp-calc .lp-result-box .lp-label {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    opacity: .85;
    margin-bottom: 6px;
}

.lp-calc .lp-result-box .lp-value {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.1;
}

.lp-calc .lp-result-box .lp-hint {
    font-size: .72rem;
    opacity: .8;
    margin-top: 4px;
}

.lp-calc .lp-transparency {
    background: #eef4f8;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: .88rem;
    color: #1f2937;
    margin-bottom: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.lp-calc .lp-transparency strong {
    color: var(--lp-accent);
}

.lp-calc table.lp-kpi {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}

.lp-calc table.lp-kpi th,
.lp-calc table.lp-kpi td {
    padding: 9px 10px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.lp-calc table.lp-kpi th {
    background: #f3f4f6;
    color: #374151;
    font-weight: 600;
}

.lp-calc table.lp-kpi tbody tr:hover {
    background: #fafafa;
}

.lp-calc .lp-exports {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.lp-calc .lp-exports .lp-export-csv,
.lp-calc .lp-exports .lp-print {
    background-color: #333;
    color: #fff;
}

.lp-calc .lp-cta {
    margin-top: 18px;
    background: #ff7a59;
    color: #fff;
    padding: 16px 20px;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.lp-calc .lp-cta p {
    margin: 0;
    font-size: .98rem;
    color: #fff;
}

.lp-calc .lp-cta .lp-btn {
    background: #fff;
    color: var(--lp-accent);
}

@media print {

    .lp-calc .lp-actions,
    .lp-calc .lp-exports,
    .lp-calc .lp-cta,
    .lp-calc .lp-advanced-toggle {
        display: none !important;
    }
}

/* =====================================================================
   Simulateur ROI Leads — shortcode [simulateur_roi]
   Tout est scopé sous .lp-sim pour éviter les collisions avec le thème.
   ===================================================================== */
.lp-sim,.lp-sim *,.lp-sim *::before,.lp-sim *::after{box-sizing:border-box}
.lp-sim{font-size:15px;color:#1a1814;line-height:1.6;margin:0 auto; padding: 64px 0;}
.lp-sim h2,.lp-sim h3{line-height:1.1;margin:0}
.lp-sim button{cursor:pointer;border:none;font:inherit}

.lp-sim .sec-head{text-align:center;margin-bottom:2.25rem}
.lp-sim .sec-lbl{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#d97706;margin-bottom:.4rem}
.lp-sim .sec-ttl{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:.7rem}
.lp-sim .sec-ttl em{color:#d97706;font-style:normal}
.lp-sim .sec-sub{font-size:.9rem;color:#6b6860;max-width:58ch;margin:0 auto;line-height:1.7}

.lp-sim .calc-grid{display:grid;grid-template-columns:1fr 360px;gap:1.5rem;align-items:start}
@media(max-width:960px){.lp-sim .calc-grid{grid-template-columns:1fr}}
.lp-sim .card{background:#fff;border:1px solid #e0dcd6;border-radius:1rem;padding:1.4rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.lp-sim .card+.card{margin-top:.85rem}
.lp-sim .card-head{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700;margin-bottom:1.1rem;color:#1a1814}
.lp-sim .card-head svg{color:#d97706;flex-shrink:0}

.lp-sim .sg{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:520px){.lp-sim .sg{grid-template-columns:1fr}}
.lp-sim .sf,.lp-sim .tier-sf{background:#f5f4f0;border:1px solid #e8e6e2;border-radius:.6rem;padding:.8rem .9rem}
.lp-sim .sf-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}
.lp-sim .sf-lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b6860}
.lp-sim .sf-val{font-size:1.05rem;font-weight:700;line-height:1;color:#1e3a5f}
.lp-sim input[type=range]{display:block;width:100%;height:5px;border-radius:3px;background:#ddd;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;margin-bottom:.35rem;accent-color:#1e3a5f}
.lp-sim input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#1e3a5f;border:2.5px solid #fff;box-shadow:0 0 0 2px #1e3a5f;cursor:pointer}
.lp-sim .sf-range{display:flex;justify-content:space-between;font-size:.62rem;color:#aaa9a4}

.lp-sim .tier-steps{display:flex;gap:3px;margin-bottom:.4rem}
.lp-sim .tier-step{flex:1;height:5px;border-radius:3px;background:#e8e6e2;transition:all .2s}
.lp-sim .tier-step.act{background:#1e3a5f;transform:scaleY(1.7)}
.lp-sim .tier-step.past{background:#93c5fd}
.lp-sim .tier-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px}
.lp-sim .tier-lbl{font-size:.7rem;font-weight:700;border-radius:99px;padding:.15rem .6rem;background:#e8eef7;color:#1e3a5f}
.lp-sim .tier-sav{font-size:.67rem;color:#16a34a;font-weight:700}

.lp-sim .funnel{display:flex;align-items:stretch;gap:.25rem}
.lp-sim .f-step{flex:1;min-width:0}
.lp-sim .f-block{padding:.6rem .4rem;border-radius:.5rem;text-align:center}
.lp-sim .f-step:nth-child(1) .f-block{background:#dce8f5}
.lp-sim .f-step:nth-child(3) .f-block{background:#e5eef8}
.lp-sim .f-step:nth-child(5) .f-block{background:#edf4fb}
.lp-sim .f-step:nth-child(7) .f-block{background:#dcf5e8}
.lp-sim .f-n{font-size:1rem;font-weight:700;color:#1a1814;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-sim .f-l{font-size:.6rem;color:#6b6860;margin-top:.1rem}
.lp-sim .f-pct{font-size:.58rem;font-weight:700;padding:.1rem .28rem;border-radius:99px;margin-top:.25rem;display:inline-block;background:rgba(30,58,95,.1);color:#1e3a5f}
.lp-sim .f-bar{height:3px;border-radius:2px;margin-top:.4rem;background:#ddd;overflow:hidden}
.lp-sim .f-fill{height:100%;border-radius:2px;transition:width .4s ease;background:#1e3a5f}
.lp-sim .f-fill.grn{background:#16a34a}
.lp-sim .f-arr{color:#c0bdb8;font-size:1rem;align-self:center;flex-shrink:0}

.lp-sim .rpanel{border-radius:.85rem;padding:1.25rem;background:linear-gradient(140deg,#1e3a5f,#0d2240);color:#fff}
.lp-sim .rp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.85rem}
.lp-sim .rp-c{text-align:center}
.lp-sim .rp-v{font-size:1.35rem;font-weight:700;color:#fcd34d;line-height:1}
.lp-sim .rp-l{font-size:.65rem;color:rgba(255,255,255,.5);margin-top:.25rem}
.lp-sim .roi-box{background:rgba(22,163,74,.18);border:1px solid rgba(74,222,128,.3);border-radius:.6rem;padding:.9rem;text-align:center}
.lp-sim .roi-n{font-size:2rem;font-weight:800;color:#4ade80;line-height:1}
.lp-sim .roi-t{font-size:.72rem;color:rgba(255,255,255,.6);margin-top:.3rem}
.lp-sim .roi-t strong{color:#4ade80}

.lp-sim .eg{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.lp-sim .ec{background:#fff;border:1px solid #e0dcd6;border-radius:.6rem;padding:.65rem .9rem}
.lp-sim .ec-v{font-size:1.05rem;font-weight:700;color:#1a1814}
.lp-sim .ec-l{font-size:.65rem;color:#6b6860;margin-top:.1rem}

.lp-sim .export-row{display:flex;gap:.45rem;flex-wrap:wrap}
.lp-sim .ebtn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.76rem;font-weight:600;border:1.5px solid #d4d0ca;border-radius:99px;background:transparent;color:#6b6860;transition:all .15s}
.lp-sim .ebtn:hover{border-color:#d97706;color:#d97706;background:#fef3c7}
.lp-sim .note{font-size:.67rem;color:#aaa9a4;margin:.55rem 0 0;line-height:1.5}
.lp-sim .right-col{display:flex;flex-direction:column;gap:.85rem;position:sticky;top:5.5rem;align-self:start}
@media(max-width:960px){.lp-sim .right-col{position:static}}

/* Dark mode — auto via prefers-color-scheme, activé par JS sur le conteneur */
.lp-sim.is-dark{color:#e8e6e0}
.lp-sim.is-dark .card,.lp-sim.is-dark .ec{background:#1c1b18;border-color:#2a2926}
.lp-sim.is-dark .sf,.lp-sim.is-dark .tier-sf{background:#201f1c;border-color:#2a2926}
.lp-sim.is-dark .sf-val,.lp-sim.is-dark .ec-v,.lp-sim.is-dark .f-n{color:#e8e6e0}
.lp-sim.is-dark .sf-lbl,.lp-sim.is-dark .ec-l,.lp-sim.is-dark .f-l{color:#8a8880}
.lp-sim.is-dark .tier-step{background:#2a2926}
.lp-sim.is-dark .tier-step.act{background:#3b82f6}
.lp-sim.is-dark .tier-step.past{background:#1e3a5f}
.lp-sim.is-dark .tier-lbl{background:#0d1f36;color:#93c5fd}
.lp-sim.is-dark .f-step:nth-child(1) .f-block{background:#0d1f36}
.lp-sim.is-dark .f-step:nth-child(3) .f-block{background:#091928}
.lp-sim.is-dark .f-step:nth-child(5) .f-block{background:#06131f}
.lp-sim.is-dark .f-step:nth-child(7) .f-block{background:#0a1f12}
.lp-sim.is-dark .f-bar{background:#2a2926}
.lp-sim.is-dark .ebtn{border-color:#353330;color:#8a8880}
.lp-sim.is-dark .ebtn:hover{border-color:#d97706;color:#fcd34d;background:#1c1000}
.lp-sim.is-dark .note{color:#5a5955}

@media print{
  .lp-sim .export-row,.lp-sim .note{display:none}
  .lp-sim .right-col{position:static}
  .lp-sim .calc-grid{grid-template-columns:1fr}
  .lp-sim .rpanel{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}


/* ═══ TOKENS ═══ */
:root,[data-theme="light"]{
  --text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);
  --text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,4.5rem);
  --sp1:.25rem;--sp2:.5rem;--sp3:.75rem;--sp4:1rem;--sp5:1.25rem;--sp6:1.5rem;--sp8:2rem;--sp10:2.5rem;--sp12:3rem;--sp16:4rem;--sp20:5rem;
  --bg:#f7f6f2;--surf:#f9f8f5;--surf2:#ffffff;--surfoff:#f0ede8;--div:#e0dcd6;--brd:#d4d0ca;
  --txt:#1a1814;--txtm:#6b6860;--txtf:#aaa9a4;
  --pri:#FF7A59;--prih:#e05535;--pria:#b33a1a;--pril:#fff0ec;
  --sec:#425B76;--sech:#354a60;--grn:#16a34a;--grnl:#dcfce7;--acc:#00A4BD;--acch:#008fa6;--accl:#e6f7fa;
  --r-sm:.375rem;--r-md:.5rem;--r-lg:.75rem;--r-xl:1rem;--r-2xl:1.5rem;--r-full:9999px;
  --sh-sm:0 1px 3px rgba(30,20,0,.08);--sh-md:0 4px 16px rgba(30,20,0,.10);--sh-lg:0 12px 40px rgba(30,20,0,.14);
  --fd:'Fraunces','Georgia',serif;--fb:'Plus Jakarta Sans','Helvetica Neue',sans-serif;
  --cw:1200px;--cn:960px;--tr:180ms cubic-bezier(.16,1,.3,1);
}
[data-theme="dark"]{
  --bg:#0f0e0c;--surf:#161512;--surf2:#1c1b18;--surfoff:#201f1c;--div:#2a2926;--brd:#353330;
  --txt:#e8e6e0;--txtm:#8a8880;--txtf:#5a5955;
  --pri:#f59e0b;--prih:#fbbf24;--pril:#292210;--pria:#78350f;
  --sec:#354a60;--sech:#2b3d50;--grn:#4ade80;--grnl:#0f2a1a;
  --sh-sm:0 1px 3px rgba(0,0,0,.3);--sh-md:0 4px 16px rgba(0,0,0,.4);--sh-lg:0 12px 40px rgba(0,0,0,.5);
}

/* ═══ RESET ═══ */
.cn{max-width:var(--cn);margin-inline:auto;padding-inline:var(--sp6)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}


/* ═══ URGENCY BANNER ═══ */
.urgency-bar{background:linear-gradient(90deg,#FF7A59,#e05535);color:#fff;text-align:center;padding:.55rem var(--sp4);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em}
.urgency-bar a{color:#fff;text-decoration:underline;text-underline-offset:2px;opacity:.85}
.urgency-bar a:hover{opacity:1}

/* ═══ HERO ═══ */
.hero{background:linear-gradient(135deg in oklab,var(--sec) 0%,#2b3d50 100%);color:#fff;padding:clamp(var(--sp16),10vw,var(--sp20)) 0 clamp(var(--sp12),8vw,var(--sp16));position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 50%,rgba(255,122,89,.18) 0%,transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp12);align-items:center;position:relative}
.badge{display:inline-flex;align-items:center;gap:var(--sp2);background:rgba(255,122,89,.22);border:1px solid rgba(255,122,89,.5);color:#ffb39a;padding:var(--sp1) var(--sp3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--sp5)}
.hero h1{font-size:var(--text-3xl);font-weight:800;line-height:1.06;color:#fff;margin-bottom:var(--sp5)}
.hero h1 em{color:var(--pri);font-style:normal}
.hero-sub{font-size:var(--text-base);color:rgba(255,255,255,.8);max-width:52ch;margin-bottom:var(--sp8);line-height:1.7}
.stats{display:flex;gap:var(--sp8);flex-wrap:wrap;margin-bottom:var(--sp8)}
.stat-v{font-size:var(--text-xl);font-weight:700;color:#ffb39a}
.stat-l{font-size:var(--text-xs);color:rgba(255,255,255,.6)}
.actions{display:flex;gap:var(--sp3);flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:var(--sp2);padding:var(--sp3) var(--sp6);border-radius:var(--r-full);font-weight:700 !important;font-size:var(--text-sm);transition:all var(--tr)}
.btn-pri{background-color:var(--pri) !important;color:#fff !important}
.btn-pri:hover{background:var(--prih);transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,122,89,.4)}
.btn-ghost{border:2px solid rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sec{background:var(--sec) !important;color:#fff !important}
.btn-sec:hover{background:var(--sech) !important;transform:translateY(-2px) !important}
.btn-wh, .cta-sec .wpcf7 .wpcf7-form input[type=submit]{background:#fff !important;color:var(--prih) !important}
.btn-wh:hover{background:#fff8ed !important ;transform:translateY(-2px)}
.hero-card{background:rgba(0,164,189,.1);border:1px solid rgba(0,164,189,.25);border-radius:var(--r-2xl);padding:var(--sp8);backdrop-filter:blur(8px)}
.hero-card-ttl{font-size:var(--text-xs);font-weight:700;color:rgba(255,255,255,.45);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp5)}
.g-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp4)}
.g-list li{display:flex;align-items:flex-start;gap:var(--sp3);font-size:var(--text-sm);color:rgba(255,255,255,.9)}
.g-icon{width:22px;height:22px;border-radius:var(--r-full);background:rgba(255,122,89,.3);color:#ffb39a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;margin-top:1px}
.hero-proof{margin-top:var(--sp6);padding-top:var(--sp6);border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:var(--sp3);flex-wrap:wrap}
.proof-badge{background:rgba(22,163,74,.25);border:1px solid rgba(22,163,74,.4);color:#4ade80;padding:var(--sp1) var(--sp3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:700}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-card{display:none}}

/* ═══ TRUST BAR ═══ */
.trust-bar{background:var(--sec);color:#fff;padding:var(--sp5) 0}
.trust-inner{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:center}
.t-item{display:flex;align-items:center;gap:var(--sp2);font-size:var(--text-sm);font-weight:600}
.dot{width:6px;height:6px;border-radius:50%;background:var(--pri);flex-shrink:0}

/* ═══ SECTIONS ═══ */
.sec{padding:clamp(var(--sp12),8vw,var(--sp20)) 0}
.sec-alt{background:var(--surf)}
.sec-lbl{font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pri);margin-bottom:var(--sp3)}
.sec-ttl{font-size: 24px;font-weight: 600;line-height: 35px;margin-bottom:var(--sp4)}
.sec-ttl em{color:var(--pri);font-style:normal}
.sec-sub{font-size:var(--text-base);color:var(--txtm);max-width:60ch;margin-bottom:var(--sp10);line-height:1.7}

/* ═══ PILLARS ═══ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp6)}
.pcard{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-2xl);padding:var(--sp8);transition:box-shadow var(--tr),transform var(--tr)}
.pcard:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.pnum{font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--pri);opacity:.18;line-height:1;margin-bottom:var(--sp2)}
.ptag{display:inline-flex;padding:var(--sp1) var(--sp3);background:var(--pril);color:var(--prih);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:700;margin-bottom:var(--sp4)}
.ptitle{font-size: 20px;font-weight: 600;margin-bottom:var(--sp3)}
.pdesc{font-size:var(--text-sm);color:var(--txtm);line-height:1.7;margin-bottom:var(--sp5)}
.pfeat{list-style:none;display:flex;flex-direction:column;gap:var(--sp2)}
.pfeat li{display:flex;gap:var(--sp2);font-size:var(--text-sm);align-items:flex-start}
.pfeat li::before{content:"✓";color:var(--grn);font-weight:800;flex-shrink:0}
@media(max-width:900px){.pillars{grid-template-columns:1fr}}

/* ═══ STEPS ═══ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp4);position:relative}
.steps::before{content:'';position:absolute;top:2.5rem;left:calc(12.5% + 1.5rem);right:calc(12.5% + 1.5rem);height:2px;background:linear-gradient(90deg,var(--pri),var(--prih));z-index:0}
.step{text-align:center;position:relative;z-index:1}
.step-n{width:5rem;height:5rem;border-radius:50%;background:var(--pri);color:#fff;font-size:var(--text-xl);font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp5);box-shadow:0 4px 16px rgba(255,122,89,.4)}
.step-ttl{font-size:var(--text-base);font-weight:600;margin-bottom:var(--sp2)}
.step-desc{font-size:var(--text-sm);color:var(--txtm);line-height:1.6}
@media(max-width:768px){.steps{grid-template-columns:1fr 1fr}.steps::before{display:none}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}

/* ═══ GUARANTEES ═══ */
.g-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp5)}
.gcard{display:flex;gap:var(--sp4);background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-xl);padding:var(--sp5);transition:box-shadow var(--tr)}
.gcard:hover{box-shadow:var(--sh-md)}
.gcard-icon{font-size:1.75rem;flex-shrink:0}
.gcard-ttl{font-size:var(--text-base);font-weight:500;margin-bottom:var(--sp2)}
.gcard-desc{font-size:var(--text-sm);color:var(--txtm);line-height:1.7}
@media(max-width:768px){.g-grid{grid-template-columns:1fr}}
@media(max-width:900px){[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}

/* ═══ VIDEO ═══ */
.vid-wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp12);align-items:center}
.vid-box{background:var(--sec);border-radius:var(--r-2xl);overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;box-shadow:var(--sh-lg)}
.vid-box::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg in oklab,#425B76,#2b3d50)}
.vid-play{position:relative;z-index:1;width:80px;height:80px;background:var(--pri);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(255,122,89,.5);transition:transform var(--tr),box-shadow var(--tr)}
.vid-box:hover .vid-play{transform:scale(1.1);box-shadow:0 12px 40px rgba(255,122,89,.6)}
.vid-lbl{position:absolute;bottom:var(--sp5);left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:var(--text-sm);z-index:1}
@media(max-width:768px){.vid-wrap{grid-template-columns:1fr}}

/* ═══ CALCULATEUR — NOUVEAU ═══ */
.calc-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--sp8);align-items:start}
@media(max-width:960px){.calc-layout{grid-template-columns:1fr}}
.calc-card{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-2xl);padding:var(--sp6);box-shadow:var(--sh-sm)}
.calc-card+.calc-card{margin-top:var(--sp4)}
.calc-head{display:flex;align-items:center;gap:var(--sp3);font-size:var(--text-base);font-weight:700;margin-bottom:var(--sp5)}
.calc-head svg{color:var(--pri)}
.calc-badge{background:var(--pri);color:#fff;padding:2px var(--sp3);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:700}
.csliders{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp4)}
@media(max-width:520px){.csliders{grid-template-columns:1fr}.cta-sec .wpcf7 p{flex-wrap: wrap;}}
.csf{background:var(--surfoff);border:1px solid var(--div);border-radius:var(--r-lg);padding:var(--sp4)}
.csf-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp3)}
.csf-lbl{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--txtm)}
.csf-val{font-size:var(--text-lg);font-weight:700;color:var(--sec);line-height:1}
[data-theme="dark"] .csf-val{color:#93c5fd}
input[type=range]{display:block;width:100%;height:5px;border-radius:3px;background:var(--div);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;margin-bottom:var(--sp2);accent-color:var(--sec)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;border-radius:50%;background:var(--sec);border:3px solid var(--surf2);box-shadow:0 0 0 2px var(--sec);cursor:pointer}
.csf-range{display:flex;justify-content:space-between;font-size:.625rem;color:var(--txtf)}
.tier-sf{background:var(--surfoff);border:1px solid var(--div);border-radius:var(--r-lg);padding:var(--sp4)}
.tier-steps{display:flex;gap:3px;margin-bottom:var(--sp2)}
.tier-step{flex:1;height:5px;border-radius:3px;background:var(--div);transition:all .2s}
.tier-step.act{background:var(--sec);transform:scaleY(1.7)}
.tier-step.past{background:#93c5fd}
[data-theme="dark"] .tier-step.act{background:#60a5fa}
[data-theme="dark"] .tier-step.past{background:#425B76}
.tier-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp2)}
.tier-lbl{font-size:var(--text-xs);font-weight:700;border-radius:var(--r-full);padding:.15rem .6rem;background:color-mix(in oklab,var(--sec) 12%,transparent);color:var(--sec)}
[data-theme="dark"] .tier-lbl{background:#0d1f36;color:#93c5fd}
.tier-sav{font-size:var(--text-xs);color:var(--grn);font-weight:700}
/* FUNNEL */
.cfunnel{display:flex;align-items:stretch;gap:.25rem}
.cf-step{flex:1;min-width:0}
.cf-block{padding:.65rem .4rem;border-radius:.55rem;text-align:center}
.cf-step:nth-child(1) .cf-block{background:color-mix(in oklab,var(--sec) 12%,transparent)}
.cf-step:nth-child(3) .cf-block{background:color-mix(in oklab,var(--sec) 8%,transparent)}
.cf-step:nth-child(5) .cf-block{background:color-mix(in oklab,var(--sec) 5%,transparent)}
.cf-step:nth-child(7) .cf-block{background:color-mix(in oklab,var(--grn) 10%,transparent)}
.cf-n{font-size:var(--text-base);font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-l{font-size:.625rem;color:var(--txtm);margin-top:.1rem}
.cf-pct{font-size:.6rem;font-weight:700;padding:.1rem .28rem;border-radius:var(--r-full);margin-top:.25rem;display:inline-block;background:color-mix(in oklab,var(--sec) 12%,transparent);color:var(--sec)}
[data-theme="dark"] .cf-pct{background:#0d1f36;color:#93c5fd}
.cf-bar{height:3px;border-radius:2px;margin-top:.4rem;background:var(--div);overflow:hidden}
.cf-fill{height:100%;border-radius:2px;transition:width .4s ease;background:var(--sec)}
.cf-fill-grn{background:var(--grn)}
.cf-arr{color:var(--txtf);font-size:1rem;align-self:center;flex-shrink:0}
/* RESULTS */
.rpanel{border-radius:var(--r-xl);padding:var(--sp5);background:linear-gradient(140deg,var(--sec),#2b3d50)}
.rp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp3);margin-bottom:var(--sp4)}
.rp-c{text-align:center}
.rp-v{font-size:var(--text-xl);font-weight:700;color:#ffb39a;line-height:1}
.rp-l{font-size:.625rem;color:rgba(255,255,255,.5);margin-top:.25rem}
.roi-box{background:rgba(22,163,74,.18);border:1px solid rgba(74,222,128,.3);border-radius:var(--r-lg);padding:var(--sp4);text-align:center}
.roi-big{font-size:var(--text-2xl);font-weight:800;color:#4ade80;line-height:1}
.roi-t{font-size:var(--text-xs);color:rgba(255,255,255,.6);margin-top:.3rem}
.roi-t strong{color:#4ade80}
/* EXTRA METRICS */
.ceg{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp3)}
.cec{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-lg);padding:.7rem var(--sp4)}
.cec-v{font-size:var(--text-lg);font-weight:700;color:var(--txt)}
.cec-l{font-size:.625rem;color:var(--txtm);margin-top:.1rem}
/* EXPORT */
.export-row{display:flex;gap:var(--sp2);flex-wrap:wrap;margin-top:var(--sp5)}
.ebtn{display:inline-flex;align-items:center;gap:var(--sp2);padding:.45rem .9rem;font-size:var(--text-xs);font-weight:600;border:1.5px solid var(--brd);border-radius:var(--r-full);background:transparent;color:var(--txtm);transition:all var(--tr);cursor:pointer}
.ebtn:hover{border-color:var(--pri);color:var(--pri);background:var(--pril)}
/* HOW-IT-WORKS BOX */
.how-box{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-2xl);padding:var(--sp8) var(--sp10);margin-top:var(--sp12)}
.how-box h3{font-size:var(--text-lg);font-weight:600;color:var(--txt);margin-bottom:var(--sp5);display:flex;align-items:center;gap:var(--sp3)}
.how-box h3 svg{color:var(--pri)}
.how-chips{display:flex;flex-wrap:wrap;gap:var(--sp3);margin-top:var(--sp6)}
.chip{display:inline-flex;align-items:center;gap:var(--sp2);font-size:var(--text-xs);font-weight:700;padding:.3rem .85rem;border-radius:var(--r-full);border:1px solid}
.chip-grn{background:var(--grnl);color:#166534;border-color:#86efac}
.chip-amb{background:var(--pril);color:var(--pria);border-color:#ffb39a}
[data-theme="dark"] .chip-grn{background:#0a1f12;color:#4ade80;border-color:#166534}
[data-theme="dark"] .chip-amb{background:#1c1000;color:#ffb39a;border-color:#78350f}
@media(max-width:768px){.how-box{padding:var(--sp6)}}

/* ═══ FAQ ═══ */
.faq-list{display:flex;flex-direction:column;gap:var(--sp3)}
details.faq{background:var(--surf2);border:1px solid var(--brd);border-radius:var(--r-xl);overflow:hidden;transition:box-shadow var(--tr)}
details.faq:hover{box-shadow:var(--sh-sm)}
details.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--sp4);padding:var(--sp5) var(--sp6);font-size:var(--text-base);font-weight:600;cursor:pointer;list-style:none;color:var(--txt)}
details.faq summary::-webkit-details-marker{display:none}
.faq-chev{width:22px;height:22px;flex-shrink:0;color:var(--pri);transition:transform .25s ease}
details.faq[open] .faq-chev{transform:rotate(180deg)}
.faq-ans{padding:0 var(--sp6) var(--sp5);font-size:var(--text-sm);color:var(--txtm);line-height:1.75;border-top:1px solid var(--div);padding-top:var(--sp4)}

/* ═══ CTA SECTION ═══ */
.cta-sec{background:linear-gradient(135deg in oklab,#FF7A59 0%,#b33a1a 100%);color:#fff;text-align:center;padding:clamp(var(--sp12),8vw,var(--sp20)) 0}
.cta-sec h2{font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--sp4);color:#fff}
.cta-sec p{color:rgba(255,255,255,.85);margin:0 auto var(--sp8);max-width:55ch;font-size:var(--text-base)}
.cta-sec .wpcf7{display:flex;gap:var(--sp3);max-width:520px;margin:0 auto var(--sp5);flex-wrap:wrap}
.cta-sec .wpcf7 p{display:flex;gap:var(--sp3);max-width:520px;margin:0 auto var(--sp5);position: relative;}
.cta-sec .wpcf7 p .wpcf7-spinner{ position: absolute; top: 37%;}
.cta-sec .wpcf7 input{flex:1;min-width:220px;padding:var(--sp3) var(--sp5);border-radius:var(--r-full);border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.15);color:#fff;font-size:var(--text-sm);font-family:var(--fb)}
.cta-sec .wpcf7 input::placeholder{color:rgba(255,255,255,.55)}
.cta-sec .wpcf7 input:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.2)}
.cta-note{font-size:var(--text-xs);color:rgba(255,255,255,.6)}


/* ═══ ANIMATIONS ═══ */
.fi{opacity:1}
@supports(animation-timeline:scroll()){
  .fi{opacity:0;animation:fr linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
}
@keyframes fr{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.fi{opacity:1!important;animation:none!important}}

:root{
  --or:#FF7A59;--bl:#00A4BD;--nv:#425B76;
  --gold:#D4AF37;--gold-l:#F7C948;
  --border:#e5e5e5;--text:#1a1a1a;--text2:#5f5e5a;--text3:#888780;--bg2:#f7f7f6;
}

/* ANNOUNCE BAR */
.announce{background:#0D1B2A;padding:10px 0;text-align:center;}
.announce-inner{display:inline-flex;align-items:center;gap:12px;}
.medal-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(255,215,0,.08));border:1px solid rgba(212,175,55,.45);border-radius:20px;padding:4px 12px;}
.medal-txt{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(135deg,#F7C948,#D4AF37,#FFE066);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ann-div{width:1px;height:15px;background:rgba(255,255,255,.15);}
.ann-txt{font-size:13px;color:rgba(255,255,255,.75);}
.ann-name{font-size:13px;font-weight:700;color:#fff;}

/* NAV */
.site-nav{border-bottom:0.5px solid var(--border);padding:14px 0;}
.nav-inner{max-width:780px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;}
.logo{font-size:17px;font-weight:500;color:var(--text);text-decoration:none;}
.logo em{font-style:normal;color:var(--bl);}
.nav-cta{padding:7px 18px;background:var(--or);color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:500;text-decoration:none;}

/* ARTICLE */
.article-wrap{max-width:780px;margin:0 auto;padding:0 24px;}

.article-header{padding:3rem 0 2.5rem;}
.article-cats{display:flex;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap;}
.cat-tag{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;}
.ct-ft{background:rgba(240,0,60,.08);color:#c8102e;}
.ct-launch{background:rgba(0,164,189,.1);color:#005F6D;}
.ct-seo{background:rgba(66,91,118,.1);color:var(--nv);}

.article-title{font-size:32px;font-weight:700;color:var(--text);line-height:1.25;margin-bottom:1rem;}
.article-title em{font-style:normal;color:var(--bl);}
.article-subtitle{font-size:17px;color:var(--text2);line-height:1.6;margin-bottom:1.75rem;font-weight:400;}

.article-meta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;padding:1rem 0;border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);margin-bottom:2.5rem;}
.meta-item{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:5px;}
.meta-item strong{color:var(--text2);}

/* HERO CITATION */
.quote-hero{background:linear-gradient(135deg,#0D1B2A,#1a2f4a);border-radius:14px;padding:2rem 2.5rem;margin-bottom:2.5rem;position:relative;overflow:hidden;}
.quote-hero::before{content:'"';position:absolute;top:-20px;left:20px;font-size:120px;color:rgba(212,175,55,.1);font-family:Georgia,serif;line-height:1;}
.quote-hero p{font-size:18px;color:#fff;line-height:1.7;font-weight:400;font-style:italic;position:relative;z-index:1;}
.quote-hero .qsource{font-size:13px;color:rgba(255,255,255,.5);margin-top:.75rem;font-style:normal;position:relative;z-index:1;}

/* ARTICLE CONTENT */
.article-body h2{font-size:22px;font-weight:600;color:var(--text);margin:2.5rem 0 1rem;line-height:1.3;}
.article-body h3{font-size:17px;font-weight:600;color:var(--text);margin:2rem 0 .75rem;}
.article-body p{font-size:15px;color:var(--text2);line-height:1.8;margin-bottom:1.25rem;}
.article-body strong{color:var(--text);font-weight:600;}
.article-body a{color:var(--bl);text-decoration:none;}
.article-body a:hover{text-decoration:underline;}

/* HIGHLIGHT BOXES */
.highlight-box{border-left:3px solid var(--bl);background:rgba(0,164,189,.05);border-radius:0 10px 10px 0;padding:1.1rem 1.4rem;margin:1.5rem 0;}
.highlight-box p{margin:0;font-size:14px;color:var(--text2);}
.highlight-box strong{color:var(--bld,#005F6D);}

.orange-box{border-left:3px solid var(--or);background:rgba(255,122,89,.05);border-radius:0 10px 10px 0;padding:1.1rem 1.4rem;margin:1.5rem 0;}
.orange-box p{margin:0;font-size:14px;color:var(--text2);}

.gold-box{background:linear-gradient(135deg,rgba(212,175,55,.06),rgba(247,201,72,.04));border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:1.5rem;margin:2rem 0;text-align:center;}
.gold-medal{font-size:40px;margin-bottom:.75rem;display:block;}
.gold-title{font-size:16px;font-weight:700;color:#8B6914;margin-bottom:.4rem;}
.gold-sub{font-size:13px;color:#A07C28;line-height:1.6;}

/* CLIENTS LOGOS */
.clients-section{background:var(--bg2);border-radius:14px;padding:1.75rem;margin:2rem 0;}
.clients-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:1.25rem;text-align:center;}
.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.client-item{background:#fff;border:0.5px solid var(--border);border-radius:10px;padding:.9rem 1rem;text-align:center;}
.client-name{font-size:14px;font-weight:700;color:var(--text);}
.client-sector{font-size:11px;color:var(--text3);margin-top:2px;}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:2rem 0;}
.stat-card{border:0.5px solid var(--border);border-radius:12px;padding:1.1rem;text-align:center;background:#fff;}
.stat-val{font-size:26px;font-weight:700;color:var(--bl);margin-bottom:3px;}
.stat-label{font-size:11px;color:var(--text3);line-height:1.4;}

/* CANAUX */
.canaux-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:1.5rem 0;}
.canal-item{border:0.5px solid var(--border);border-radius:10px;padding:1rem;display:flex;align-items:flex-start;gap:10px;background:#fff;}
.canal-ico{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.canal-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px;}
.canal-desc{font-size:12px;color:var(--text2);line-height:1.5;}

/* VALEUR AJOUTEE */
.va-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:1.25rem 0;}
.va-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text2);line-height:1.6;}
.va-check{width:20px;height:20px;border-radius:50%;background:var(--or);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;margin-top:2px;}

/* SEPARATOR */
.sep{height:0.5px;background:var(--border);margin:2.5rem 0;}

/* FOOTER ARTICLE */
.article-footer{padding:2.5rem 0;border-top:0.5px solid var(--border);margin-top:3rem;}
.cta-block{background:rgba(0,164,189,.06);border:1px solid rgba(0,164,189,.2);border-radius:14px;padding:2rem;text-align:center;}
.cta-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.cta-sub{font-size:14px;color:var(--text2);margin-bottom:1.25rem;line-height:1.6;}
.cta-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.btn-or{padding:11px 26px;background:var(--or);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;}
.btn-ghost{padding:11px 20px;background:transparent;color:var(--text2);border:0.5px solid #ccc;border-radius:8px;font-size:14px;text-decoration:none;}

/* SHARE */
.share-row{display:flex;align-items:center;gap:10px;margin-top:2rem;flex-wrap:wrap;}
.share-label{font-size:12px;color:var(--text3);}
.share-btn{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;text-decoration:none;border:0.5px solid var(--border);}
.share-li{background:#0077B5;color:#fff;border-color:#0077B5;}
.share-tw{background:#000;color:#fff;border-color:#000;}
.share-cp{background:var(--bg2);color:var(--text2);}

@media(max-width:600px){
  .article-title{font-size:24px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
  .canaux-grid{grid-template-columns:1fr;}
}

.faq-wrap{margin-top:1.5rem;}
.faq-item{border:0.5px solid var(--border);border-radius:12px;margin-bottom:8px;background:#fff;overflow:hidden;transition:box-shadow .2s;}
.faq-item:hover{box-shadow:0 2px 12px rgba(0,0,0,.06);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;gap:1rem;}
.faq-q-text{font-size:14px;font-weight:500;color:var(--text);line-height:1.4;}
.faq-icon{width:24px;height:24px;border-radius:50%;background:rgba(0,164,189,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;color:#00A4BD;transition:transform .25s,background .2s;line-height:1;}
.faq-item.fopen .faq-icon{transform:rotate(45deg);background:var(--or);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.fopen .faq-a{max-height:400px;}
.faq-a-inner{padding:.75rem 1.25rem 1rem;font-size:14px;color:var(--text2);line-height:1.8;border-top:0.5px solid var(--border);}
.faq-a-inner strong{color:var(--text);}

.wpcf7 form .wpcf7-response-output {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}


    .article-wrapper {
      max-width: 820px;
      margin: 0 auto;
      padding: 48px 24px 80px;
    }

    /* Breadcrumb */
    .breadcrumb { font-size: .8rem; color: #6b7a8d; margin-bottom: 32px; }
    .breadcrumb a { color: #6b7a8d; }
    .breadcrumb span { margin: 0 6px; }

    /* Hero */
    .article-hero { border-left: 5px solid #FF7A59; padding-left: 20px; margin-bottom: 40px; }
    .article-category {
      display: inline-block; font-size: .75rem; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase;
      color: #FF7A59; margin-bottom: 12px;
    }
    .article-intro-lead { font-size: 1.08rem; color: #3a4f62; line-height: 1.7; margin-bottom: 20px; }
    .article-meta { font-size: .8rem; color: #8a99aa; }
    .article-meta strong { color: #425B76; }

    /* Image */
    .article-image { margin: 32px 0; border-radius: 8px; overflow: hidden; }
    .article-image img { width: 100%; height: auto; display: block; }

    /* Content */
    .article-body h2 {
      font-size: 1.45rem; font-weight: 700; color: #425B76;
      margin: 48px 0 16px; padding-bottom: 8px; border-bottom: 2px solid #e8edf3;
    }
    .article-body h3 { font-size: 1.18rem; font-weight: 700; color: #425B76; margin: 36px 0 12px; }
    .article-body h4 { font-size: 1rem; font-weight: 700; color: #FF7A59; margin: 24px 0 8px; }
    .article-body p { margin-bottom: 18px; }

    /* Stat inline */
    .stat-inline {
      display: inline-block;
      background: #fff5f2;
      border: 1px solid #ffd0c0;
      border-radius: 4px;
      padding: 2px 8px;
      font-weight: 700;
      color: #c0392b;
      font-size: .95rem;
    }

    /* Source citation */
    .source-ref {
      font-size: .8rem;
      color: #7a8a9a;
      font-style: italic;
    }
    .source-ref a { color: #00A4BD; }

    /* Callout boxes */
    .callout-error {
      background: #fff5f2; border-left: 4px solid #FF7A59;
      border-radius: 6px; padding: 20px 24px; margin: 28px 0;
    }
    .callout-error .callout-label {
      font-weight: 700; color: #FF7A59; font-size: .85rem;
      text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px;
    }
    .callout-method {
      background: #f0f7ff; border-left: 4px solid #00A4BD;
      border-radius: 6px; padding: 20px 24px; margin: 28px 0;
    }
    .callout-method .callout-label {
      font-weight: 700; color: #00A4BD; font-size: .85rem;
      text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px;
    }
    .callout-key {
      background: #425B76; color: #fff; border-radius: 6px;
      padding: 18px 22px; margin: 28px 0;
      font-style: italic; font-size: 1rem; line-height: 1.6;
    }

    /* BANT grid */
    .bant-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
    @media (max-width: 600px) { .bant-grid { grid-template-columns: 1fr; } }
    .bant-card { border: 1px solid #dde4ed; border-radius: 8px; padding: 18px; }
    .bant-card .bant-letter {
      display: inline-block; width: 36px; height: 36px; border-radius: 50%;
      background: #FF7A59; color: #fff; font-weight: 800; font-size: 1rem;
      text-align: center; line-height: 36px; margin-bottom: 10px;
    }
    .bant-card h4 { margin: 0 0 6px; color: #425B76; font-size: .95rem; }
    .bant-card p { font-size: .88rem; color: #4a5a6a; margin: 0; line-height: 1.5; }
    .bant-card .bant-verdict { margin-top: 10px; font-size: .8rem; font-weight: 700; color: #c0392b; }

    /* Challenger cards */
    .challenger-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 28px 0; }
    @media (max-width: 680px) { .challenger-grid { grid-template-columns: 1fr; } }
    .challenger-card { background: #425B76; color: #fff; border-radius: 8px; padding: 24px 18px; }
    .challenger-card .ch-number { font-size: 2rem; font-weight: 800; color: #FF7A59; line-height: 1; margin-bottom: 8px; }
    .challenger-card h4 { color: #fff; font-size: 1rem; margin: 0 0 8px; }
    .challenger-card p { font-size: .85rem; color: #c8d4e0; line-height: 1.5; margin: 0; }

    /* Stats row */
    .stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 32px 0; }
    @media (max-width: 600px) { .stats-row { grid-template-columns: 1fr; } }
    .stat-card {
      border: 1px solid #e0e8f0; border-radius: 8px; padding: 20px 16px; text-align: center;
    }
    .stat-card .stat-number { font-size: 2.2rem; font-weight: 800; color: #FF7A59; line-height: 1; }
    .stat-card .stat-label { font-size: .82rem; color: #5a6a7a; margin-top: 6px; line-height: 1.4; }
    .stat-card .stat-src { font-size: .72rem; color: #9aabb8; margin-top: 4px; }

    /* Summary box */
    .summary-box {
      background: #f4f8fb; border: 1px solid #dde4ed;
      border-radius: 8px; padding: 28px 32px; margin: 40px 0;
    }
    .summary-box h3 { color: #425B76; margin-top: 0; margin-bottom: 16px; font-size: 1.05rem; }
    .summary-box ol { padding-left: 20px; }
    .summary-box li { margin-bottom: 10px; font-size: .95rem; line-height: 1.6; }

    /* CTA banner */
    .cta-banner {
      background: linear-gradient(135deg, #425B76 0%, #2e4057 100%);
      border-radius: 10px; padding: 36px 32px; text-align: center; color: #fff; margin: 48px 0 32px;
    }
    .cta-banner h3 { color: #fff; font-size: 1.3rem; margin: 0 0 10px; }
    .cta-banner p { color: #c8d4e0; margin: 0 0 22px; font-size: .95rem; }
    .cta-btn {
      display: inline-block; background: #FF7A59; color: #fff !important;
      font-weight: 700; font-size: 1rem; padding: 14px 32px;
      border-radius: 6px; text-decoration: none; transition: background .2s;
    }
    .cta-btn:hover { background: #e8623e; text-decoration: none; }

    /* FAQ */
    .faq-section { margin: 48px 0 0; }
    .faq-section h2 { font-size: 1.4rem; color: #425B76; margin-bottom: 24px; }
    details { border: 1px solid #dde4ed; border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
    summary {
      padding: 16px 20px; font-weight: 600; font-size: .97rem;
      color: #425B76; cursor: pointer; list-style: none;
      position: relative; padding-right: 48px;
    }
    summary::after {
      content: '+'; position: absolute; right: 18px; top: 50%;
      transform: translateY(-50%); font-size: 1.3rem; color: #FF7A59;
      font-weight: 300; transition: transform .2s;
    }
    details[open] summary::after { content: '−'; }
    .faq-answer { padding: 0 20px 16px; font-size: .93rem; color: #3a4f62; line-height: 1.7; }

    /* Author */
    .author-box { display: flex; gap: 20px; align-items: flex-start; background: #f4f8fb; border-radius: 8px; padding: 24px; margin-top: 48px; }
    .author-box img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
    .author-box h4 { color: #425B76; margin-bottom: 4px; }
    .author-box p { font-size: .88rem; color: #5a6a7a; margin: 0; line-height: 1.5; }
    .author-box a { color: #FF7A59; font-size: .85rem; }

    /* Internal links */
    .related-links { margin-top: 40px; padding-top: 24px; border-top: 1px solid #e8edf3; }
    .related-links h3 { font-size: 1rem; color: #425B76; margin-bottom: 14px; }
    .related-links ul { list-style: none; padding: 0; }
    .related-links li { margin-bottom: 8px; padding-left: 16px; position: relative; list-style: none !important; }
    .related-links li::before { content: '→'; position: absolute; left: 0; color: #FF7A59; font-size: .85rem; }
    .related-links a { color: #425B76; font-size: .93rem; }
    .related-links a:hover { color: #FF7A59; text-decoration: underline; }


/* Cartes « Autres Solutions » (single.php) : le titre H3 est devenu le lien
   porteur, pour remplacer les quatre ancres « Lire plus » identiques qui
   pointaient vers quatre pages differentes. La regle generique
   « .nos-actualites .card a { color:#ff7a59 } » le colorerait en orange ; on
   le laisse a la couleur du titre, sinon la carte affiche deux liens oranges
   superposes et le H3 ne se lit plus comme un titre. */
.nos-actualites .card .card-title a { color: inherit; text-decoration: none; }
.nos-actualites .card .card-title a:hover,
.nos-actualites .card .card-title a:focus { color: #ff7a59; text-decoration: underline; }


/* Page depannage photovoltaique (#3473) : hero + encadre reponse directe.
   Reste du design system (.sec/.cn/.sec-ttl/.cta-sec/.faq/.btn-pri/.btn-sec) deja defini. */
.page-hero{background:var(--bleu,#425B76);color:#fff;padding:56px 0}
.page-hero h1{font-size:34px;line-height:1.25;margin:0 0 18px}
.page-hero p{max-width:100%}
.reponse-directe{background:rgba(255,255,255,.08);border-left:4px solid var(--pri,#FF7A59);padding:14px 18px;margin:22px 0;border-radius:6px}

/* Pages secteurs dediees (depannage #3473, batteries #3497, pompes a chaleur #3537) :
   MEME traitement, factorise ici en un seul jeu de regles pour les trois wrappers.
   (a) Largeur .cn alignee sur .container Bootstrap (1140px >=1200, 1320px >=1400) ; scope
       aux wrappers pour ne PAS elargir la page panneaux (#2639) qui partage .cn.
   (b) Puces/numeros : le theme neutralise les marqueurs par defaut et ne les reactive que
       dans des conteneurs connus ; nos listes .sec > .cn (SANS classe) sont retablies ici
       (list-style sur le <li>), sans toucher aux listes flex .g-list/.pfeat/.va-list.
   Pour une nouvelle page secteur : ajouter son wrapper aux selecteurs ci-dessous. */
@media (min-width:1200px){.lp-depannage-page .cn,.lp-batteries-page .cn,.lp-pac-page .cn{max-width:1140px}}
@media (min-width:1400px){.lp-depannage-page .cn,.lp-batteries-page .cn,.lp-pac-page .cn{max-width:1320px}}
.lp-depannage-page .sec ul:not([class]),.lp-batteries-page .sec ul:not([class]),.lp-pac-page .sec ul:not([class]),
.lp-depannage-page .sec ol:not([class]),.lp-batteries-page .sec ol:not([class]),.lp-pac-page .sec ol:not([class]){padding-left:1.5rem;margin:0 0 1rem}
.lp-depannage-page .sec ul:not([class]) > li,.lp-batteries-page .sec ul:not([class]) > li,.lp-pac-page .sec ul:not([class]) > li{list-style:disc}
.lp-depannage-page .sec ol:not([class]) > li,.lp-batteries-page .sec ol:not([class]) > li,.lp-pac-page .sec ol:not([class]) > li{list-style:decimal}
.lp-depannage-page .sec ul:not([class]) > li,.lp-batteries-page .sec ul:not([class]) > li,.lp-pac-page .sec ul:not([class]) > li,
.lp-depannage-page .sec ol:not([class]) > li,.lp-batteries-page .sec ol:not([class]) > li,.lp-pac-page .sec ol:not([class]) > li{display:list-item;margin:.35rem 0}

/* Image a la une enveloppee en <picture class="img-fluid"> par le plugin WebP :
   la classe responsive atterrit sur le <picture> (wrapper), mais l'<img> interne garde
   ses attributs natifs width="1920" height="1080" sans contrainte -> il debordait de sa
   colonne Bootstrap (col-md-5). On contraint l'<img> interne pour qu'il reste fluide et
   garde son ratio. Corrige toutes les pages secteurs/nos-solutions utilisant ce pattern. */
picture.img-fluid{display:block}
.img-fluid > img{max-width:100%;height:auto;display:block}
