/*
Theme Name: oceanwp-enfant
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme example child theme.
Author: Nick
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0
*/

/* Parent stylesheet should be loaded from functions.php not using @import */
/* Fonts */
@font-face {
    font-family: 'basicsans-semiboluploadedfile';
    src: url('fonts/basicsans-semibold-webfont.woff2') format('woff2'),
         url('fonts/basicsans-semibold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'basicsans-lightituploadedfile';
    src: url('fonts/basicsans-lightit-webfont.woff2') format('woff2'),
         url('fonts/basicsans-lightit-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'basicsans-bolduploaded_file';
    src: url('fonts/basicsans-bold-webfont.woff2') format('woff2'),
         url('fonts/basicsans-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'basicsans-regularuploadedfile';
    src: url('fonts/basicsans-regularit-webfont.woff2') format('woff2'),
         url('fonts/basicsans-regularit-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'basic_sansregular';
    font-family: 'basic_sansregular';
    src: url('fonts/basicsans-regular-webfont.woff2') format('woff2'),
         url('fonts/basicsans-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
a:focus{outline: 0 !important;}
/* Top header */
#top-bar-wrap #top-bar #top-bar-inner #top-bar-content{float: right;}
#top-bar-wrap #top-bar #top-bar-inner #top-bar-content a{margin-right: 40px;font-family: 'basic_sansregular';font-size:16px;}
#top-bar-wrap #top-bar #top-bar-inner #top-bar-content span{font-family: 'basic_sansregular';font-size:16px;}
#top-bar-wrap #top-bar #top-bar-inner #top-bar-content img.picto-mail{width: 18px;margin-right: 6px;display: inline-block;}
#top-bar-wrap #top-bar #top-bar-inner #top-bar-content img.picto-localisation{width: 16px;margin-right: 6px;margin-bottom: 4px;display: inline-block;}

/* Général */
.h1-decoration, .h2-decoration {position: relative;margin-left: 30px;}
.h1-decoration h1, .h2-decoration h2 {position: relative;margin: 0;}
.h1-decoration h1::before, .h2-decoration h2::before {content: "";position: absolute;left: -30px;top: 4px;width: 16px;height: 29px;background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');background-size: contain;background-repeat: no-repeat;}
.h1-decoration-blanc, .h2-decoration-blanc {position: relative;margin-left: 30px;}
.h1-decoration-blanc h1, .h2-decoration-blanc h2 {position: relative;margin: 0;}
.h1-decoration-blanc h1::before, .h2-decoration-blanc h2::before {content: "";position: absolute;left: -30px;top: 4px;width: 16px;height: 29px;background-image: url('/wp-content/uploads/2025/10/fleche-blanche.png');background-size: contain;background-repeat: no-repeat;}
.basicsans-regular p.elementor-heading-title{font-family: 'basic_sansregular' !important;}
.basicsans-regular.elementor-widget-text-editor p{font-family: 'basic_sansregular' !important;}
.basicsans-semibold h3.elementor-heading-title{font-family: 'basicsans-semiboluploadedfile' !important;}

/* Décoration */
#section-contact{position:relative;}
#section-contact::before{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);width:399px;height:290px;background-image:url('/wp-content/uploads/2025/09/illustration-nos-solutions-decoration-2.jpg');background-size:contain;background-repeat:no-repeat;}

/* Menu principal */
header#site-header{box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 6px;backdrop-filter: blur(6px);}
header#site-header ul#menu-menu-principal > li > a.menu-link{font-family: 'basicsans-semiboluploadedfile';}
header#site-header ul#menu-menu-principal > li#menu-item-10529 > a.menu-link{border-radius: 30px;border:1px solid #4CC4AD;background-color:#4CC4AD;color:white;margin-top: 8px;line-height: 40px;}
header#site-header ul#menu-menu-principal > li#menu-item-10529 > a.menu-link:hover{background-color:white;color:#4CC4AD;}
header#site-header ul#menu-menu-principal > li > ul.sub-menu > li > a.menu-link{font-family: 'basicsans-semiboluploadedfile';color:#263064 !important;}

/* Accueil */
.home h1.elementor-heading-title{font-family: 'basicsans-bolduploaded_file' !important;}
.home .basicsans-regularit span{font-family: 'basicsans-regularuploadedfile' !important;}
.home h2.elementor-heading-title{font-family: 'basicsans-semiboluploadedfile' !important;}
.home .nos-solutions h3.elementor-heading-title{font-family: 'basicsans-bolduploaded_file' !important;}
.home h3.elementor-heading-title{font-family: 'basic_sansregular' !important;}
.home .basicsans-bold a.elementor-button-link{font-family: 'basicsans-bolduploaded_file' !important;}
.home .basicsans-bold h3{font-family: 'basicsans-bolduploaded_file' !important;}
.home .basicsans-bold.equal-height{min-height:86px;}
.home .vos-besoins .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.home .vos-besoins .elementor-widget-text-editor ul li{position:relative;padding-left:25px;margin-bottom: 10px;}
.home .vos-besoins .elementor-widget-text-editor ul li::before{content: "";position: absolute;left: 3px;top: 4px;width: 10px;height: 18px;background-image: url('/wp-content/uploads/2025/10/fleche-blanche.png');background-size: contain;background-repeat: no-repeat;}
.home .vos-besoins .encart-hover{display:flex;flex-direction:column;justify-content:center;gap:12px;position:relative;overflow:hidden;}
.home .vos-besoins .encart-hover .texte-masque{opacity:0;max-height:0;overflow:hidden;transition:opacity .35s ease,max-height .35s ease;}
.home .vos-besoins .encart-hover .titre{transition:transform .35s ease;}
.home .vos-besoins .encart-hover:hover{justify-content:flex-start;}
.home .vos-besoins .encart-hover:hover .texte-masque{opacity:1;max-height:1000px;}
.home .vos-besoins .encart-hover:focus-within{justify-content:flex-start;}
.home .vos-besoins .encart-hover:focus-within .texte-masque{opacity:1;max-height:1000px;}
.home .nos-solutions a.elementor-element .elementor-widget-image img{transition: transform 0.3s ease;}
.home .nos-solutions a.elementor-element:hover .elementor-widget-image img{transform: scale(1.05);}
.home .nos-solutions a.elementor-element .elementor-widget-heading h3{transition: transform 0.3s ease;}
.home .nos-solutions a.elementor-element:hover .elementor-widget-heading h3{color:#4CC4AD;}
.home .compteurs .compteur .elementor-counter-title{font-family: 'basicsans-bolduploaded_file' !important;text-align: center;}
.home .compteurs .compteur .elementor-counter-number-wrapper span.elementor-counter-number{font-family: 'basicsans-bolduploaded_file' !important;}
.home .n2-section-smartslider .n2-ss-item-content{font-family: 'basicsans-semiboluploadedfile' !important;}
.home .n2-section-smartslider .n2-ss-item-content p{font-family: 'basicsans-lightituploadedfile' !important;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-right-center #n2-ss-2-arrow-next img {display: none;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-left-center #n2-ss-2-arrow-previous img {display: none;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-right-center #n2-ss-2-arrow-next {position: relative;display: block;width: 50px;height: 95px;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-left-center #n2-ss-2-arrow-previous {position: relative;display: block;width: 50px;height: 95px;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-right-center #n2-ss-2-arrow-next::before {content: "";position: absolute;top: 0;left: 0;width: 50px;height: 95px;background-image: url('/wp-content/themes/oceanwp-enfant/img/fleche-noire-droite.png');background-size: contain;background-repeat: no-repeat;background-position: center;z-index: 1;}
.home .n2-section-smartslider .n2-ss-slider-controls.n2-ss-slider-controls-absolute-left-center #n2-ss-2-arrow-previous::before {content: "";position: absolute;top: 0;right: 0;width: 50px;height: 95px;background-image: url('/wp-content/themes/oceanwp-enfant/img/fleche-noire-gauche.png');background-size: contain;background-repeat: no-repeat;background-position: center;z-index: 1;}

/* Nos solutions général */
.nos-solutions-single-encart a.elementor-element .elementor-widget-image img{transition: transform 0.3s ease;}
.nos-solutions-single-encart a.elementor-element:hover .elementor-widget-image img{transform: scale(1.05);}
.nos-solutions-single-encart a.elementor-element .elementor-widget-heading h3{transition: transform 0.3s ease;}
.nos-solutions-single-encart a.elementor-element:hover .elementor-widget-heading h3{color:#4CC4AD;}

/* Saponews */
.saponews-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6rem;margin:2rem 0;}
.saponews-card{background:#ffffff;border-radius:30px;box-shadow:0 4px 12px rgba(0,0,0,0.08);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease;}
.saponews-card:hover{transform:translateY(-4px);}
.saponews-thumb{display:block;width:100%;overflow:hidden;}
.saponews-thumb img{width:100%;height:auto;display:block;transition:transform .3s ease;}
.saponews-thumb:hover img{transform:scale(1.05);}
.saponews-body{padding:1.5rem 4rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column;}
.saponews-title{position: relative;font-size:22px;line-height:1.4;margin:0 0 .75rem 16px;color:#263064 !important;}
.saponews-title::before {content: "";position: absolute;left: -16px;top: 7px;width: 10px;height: 18px;background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');background-size: contain;background-repeat: no-repeat;}
.saponews-title a{color:#263064;text-decoration:none;font-family: 'basicsans-bolduploaded_file' !important;font-size: 22px;font-weight:500;}
.saponews-title a:hover{text-decoration:underline;color:#263064 !important;}
.saponews-date{font-size: 14px;font-family: 'basicsans-bolduploaded_file' !important;font-weight:500;color:#676767;text-transform:uppercase;letter-spacing:.05em;margin-bottom:auto;}
.saponews-more{position: relative;font-size: 14px;font-family: 'basicsans-bolduploaded_file' !important;font-weight:500;color:#4DC4AD;text-decoration:none;margin-top:auto;align-self: flex-end;}
.saponews-more::before {content: "";position: absolute;left: -16px;top: 8px;width: 6px;height: 14px;background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');background-size: contain;background-repeat: no-repeat;}
.saponews-more:hover{text-decoration:underline;color:#4DC4AD;}

/* L'entreprise */
.page-id-10425 .fond-vert .basicsans-semibold h3{font-family: 'basicsans-semiboluploadedfile' !important;}
.page-id-10425 #video-presentation{border-radius:40px;overflow:hidden;box-shadow: 3px 3px 18px 0px rgba(0, 0, 0, 0.15);}

/* Nos domaines d'intervention */
.page-id-10477 .tp-flipbox .tp-flipbox__front{position:relative;}
.page-id-10477 .tp-flipbox .tp-flipbox__front::after {content: "";border-radius:40px;position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,0.3);pointer-events: none;}
.page-id-10477 .tp-flipbox .tp-flipbox__front .tp-flipbox__title-front{z-index:999;}
.page-id-10477 .tp-flipbox .tp-flipbox__title-front{font-family: 'basic_sansregular' !important;}
.page-id-10477 .tp-flipbox .tp-flipbox__title-back{font-family: 'basic_sansregular' !important;}
.page-id-10477 .tp-flipbox .tp-flipbox__desc-back{}

/* Actualités */
.page-id-10530 .elementor-widget-wpr-grid ul.wpr-grid-filters{margin: 15px 0 15px 0px;}
.page-id-10530 .elementor-widget-wpr-grid ul.wpr-grid-filters li span{font-family: 'basic_sansregular' !important;}
.page-id-10530 article.wpr-grid-item .wpr-grid-item-inner .wpr-grid-media-wrap .wpr-grid-image-wrap{height: 240px;width: 100%;overflow: hidden;}
.page-id-10530 article.wpr-grid-item .wpr-grid-item-inner .wpr-grid-media-wrap .wpr-grid-image-wrap img{width: 100%;height: 100%;object-fit: cover;display: block;}
.page-id-10530 h2.wpr-grid-item-title a{position: relative;font-family: 'basicsans-bolduploaded_file' !important;}
.page-id-10530 h2.wpr-grid-item-title a:hover{text-decoration:underline;}
.page-id-10530 h2.wpr-grid-item-title a::before {content: "";position: absolute;left: -16px;top: 7px;width: 10px;height: 18px;background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');background-size: contain;background-repeat: no-repeat;}
.page-id-10530 .wpr-grid-item-date span{font-family: 'basicsans-bolduploaded_file' !important;}
.page-id-10530 .wpr-grid-item-read-more a{position: relative;font-family: 'basicsans-bolduploaded_file' !important;text-decoration:none;margin-top:auto;float: right;}
.page-id-10530 .wpr-grid-item-read-more a::before {content: "";position: absolute;left: -16px;top: 8px;width: 6px;height: 14px;background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');background-size: contain;background-repeat: no-repeat;}
.page-id-10530 .wpr-grid-item-read-more a:hover{text-decoration:underline;color:#4DC4AD;opacity: 1 !important;}
.page-id-10530 .wpr-grid-pagination a{font-family: "Basic", Sans-serif;}

/* Single actualité */
.single h1.entry-title{font-family: 'basicsans-semiboluploadedfile';color: #263161;border-bottom:0px;padding:0px;}
.single .entry-content p{color: #4e4e4e;font-family: 'basic_sansregular' !important;font-size: 16px;}
.sapoval-breadcrumb{display:block;margin:30px auto 10px;max-width:1200px;font-family:'basic_sansregular',sans-serif;font-size:14px;line-height:1.4;color:#4D4D4D;text-transform:none;letter-spacing:0.02em}
.sapoval-breadcrumb a{color:#4CC4AD;text-decoration:none;font-family:'basic_sansregular',sans-serif;font-weight:400}
.sapoval-breadcrumb a:hover
.sapoval-breadcrumb .sep{margin:0 6px;color:#676767;opacity:0.7;font-family:'basic_sansregular',sans-serif}
.sapoval-breadcrumb .current{color:#263161;font-family:'basicsans-bolduploaded_file',sans-serif;font-weight:500}
.sapoval-back-news-wrapper {max-width: 1200px;margin: 0 auto 20px;}
.sapoval-back-news-btn {display: inline-flex;align-items: center;gap: 8px;font-family: 'basicsans-bolduploaded_file' !important;font-size: 15px;color: #ffffff;background-color: #1DB78D;padding: 10px 22px 12px;border-radius: 22px;text-decoration: none;box-shadow: 3px 3px 18px rgba(0,0,0,0.15);border: 1px solid #1DB78D;transition: all .25s ease;}
.sapoval-back-news-btn .arrow {font-size: 18px;line-height: 1;margin-right: 2px;}
.sapoval-back-news-btn:hover {background-color: #ffffff;color: #1DB78D;border-color: #1DB78D;}


/* Réalisations */
/* =========================================================
   VARIABLES GLOBALES
   ========================================================= */
:root {
    --rea-green:      #94d0c0;
    --rea-green-main: #1DB78D;
    --rea-green-700:  #238E7F;
    --rea-green-100:  #D6F0EC;
    --rea-text:       #1b665e;
    --rea-gray:       #676767;
    --rea-border:     #263161;
}

/* Conteneur global */
#nos-realisations .rea-wrap {
    font-family: inherit;
}

#nos-realisations .rea-wrap * {
    box-sizing: border-box;
}

/* =========================================================
   LISTING – GRILLE DES RÉALISATIONS
   (page "Nos réalisations" ID 10622)
   ========================================================= */
.page-id-10622 #nos-realisations .rea-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px;
    max-width: 1024px;
    margin: 0px auto 0;
}

.page-id-10622 #nos-realisations .rea-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 40px;
    padding-bottom: 40px;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease;
}

.page-id-10622 #nos-realisations .rea-card:not(:last-child) {
    border-bottom: 1px solid var(--rea-border);
}

.page-id-10622 #nos-realisations .rea-card.is-hidden {
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
}

.page-id-10622 #nos-realisations .rea-card__top {
    display: grid;
    grid-template-columns: 310px 1fr;
    align-items: center;
    gap: 26px;
}

@media (max-width: 1024px) {
    .page-id-10622 #nos-realisations .rea-card__top {
        grid-template-columns: 1fr;
    }
}

/* Vignette */
.page-id-10622 #nos-realisations .rea-card__thumb {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	aspect-ratio: 1 / 1;
}

.page-id-10622 #nos-realisations .rea-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
	object-fit: cover;
}

/* Corps de carte */
.page-id-10622 #nos-realisations .rea-card__body {
    font-family: 'basic_sansregular' !important;
}

.page-id-10622 #nos-realisations .rea-card__client {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 0px;
}

.page-id-10622 #nos-realisations .rea-card__client-logo img {
    max-height: 80px;
    width: auto;
    display: block;
}

.page-id-10622 #nos-realisations .rea-card__client-name {
    font-family: 'basicsans-bolduploaded_file' !important;
    font-size: 16px;
    color: #263161;
	text-transform:uppercase;
}

.page-id-10622 #nos-realisations .rea-card__subtitle {
    font-family: 'basic_sansregular' !important;
    margin: 0px 0px 3px 0px;
    color: #4D4D4D;
    font-size: 18px;
	line-height: 1.2em;
    font-style: italic;
}

.page-id-10622 #nos-realisations .rea-card__excerpt {
    font-family: "Basic", Sans-serif;
    color: #4D4D4D;
    line-height: 1.5;
	font-size:20px;
	font-weight: 400;
	line-height: 22px;
    margin: 0 0 8px 0;
	hyphens: auto;
    text-align: justify;
}

.page-id-10622 #nos-realisations .rea-card__more a {
    font-family: 'basicsans-bolduploaded_file' !important;
    display: inline-block;
    font-size: 16px;
    color: var(--rea-green-main);
    text-decoration: none;
}

.page-id-10622 #nos-realisations .rea-card__more a:hover {
    text-decoration: underline;
}

/* Titre de la carte */
.page-id-10622 #nos-realisations .rea-card__title-row {
    margin-bottom: 15px;
}

.page-id-10622 #nos-realisations .rea-card__title {
    font-family: 'basicsans-semiboluploadedfile';
    font-size: 22px;
    line-height: 1.25;
    color: #263161;
    margin: 0;
}

.page-id-10622 #nos-realisations .rea-card__title:before {
    top: 0;
}

/* Correction déco H1 */
.page-id-10622 .h1-decoration h1::before {
    top: 6px;
}
.single-realisation .h1-decoration h1::before {
    top: 7px;
}

/* =========================================================
   SINGLE – PAGE DÉTAIL D’UNE RÉALISATION
   ========================================================= */
.single-realisation #primary {
    border: none;
}

.single-realisation #main #content-wrap{padding-top:20px;}
.single-realisation h1,
.single-realisation h2,
.single-realisation h3,
.single-realisation .entry-title {
    color: #263161;
}

.single-realisation h1.entry-title {
    font-family: "Basic", Sans-serif;
    border-bottom: 0;
    padding: 0;
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 34px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 40px;
    color: #263064;
}

.single-realisation .rea-single-layout {
    max-width: 1220px;
    margin: 60px auto 0px;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 50px;
}

@media (max-width: 1024px) {
    .single-realisation .rea-single-layout {
        grid-template-columns: 1fr;
    }
}

/* Client */
.single-realisation .rea-single-client {
    margin-bottom: 18px;
}

.single-realisation .rea-single-client-logo img {
    max-height: 70px;
    width: auto;
    display: block;
    margin-bottom: 8px;
}

.single-realisation .rea-single-client-name {
    font-family: 'basicsans-bolduploaded_file' !important;
    font-size: 16px;
    color: #263161;
    text-transform: uppercase;
}

/* Image principale */
.single-realisation .rea-single-thumb {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    margin-bottom: 16px;
}

.single-realisation .rea-single-thumb img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 320px;
}

/* Meta */
.single-realisation .rea-single-meta {
    font-family: 'basic_sansregular' !important;
    color: #676767;
    font-size: 15px;
    margin: 4px 0 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    align-items: center;
}

.single-realisation .rea-single-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.single-realisation .rea-single-meta-item img.picto-localisation {
    width: 16px;
    height: auto;
    display: inline-block;
}

.single-realisation .rea-single-tax {
    font-family: 'basic_sansregular' !important;
    margin: 0px 0px 15px 0px;
    color: #4D4D4D;
    font-size: 18px;
	line-height:1.2em;
    font-style: italic;
}

/* Sections contenu */
.single-realisation .rea-single-section {
    margin-bottom: 30px;
}

.single-realisation .rea-single-subtitle {
    font-family: 'basicsans-semiboluploadedfile' !important;
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4em;
    color: #263064;
	margin-bottom: 0px;
}


.single-realisation .rea-single-subtitle-wrapper {
    margin-bottom: 0px;
}

.single-realisation .rea-single-section .entry-content,
.single-realisation .rea-single-section p {
    font-family: "Basic", Sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4em;
    color: #4D4D4D;
}
.single-realisation .rea-single-section .entry-content h2{
    font-family: 'basicsans-semiboluploadedfile' !important;
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4em;
    color: #263064;
}
/* Listes latérales */
.single-realisation .rea-single-section--side ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.single-realisation .rea-single-section--side ul li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 6px;
    font-family: "Basic", Sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4em;
    color: #4D4D4D;
}

.single-realisation .rea-single-section--side ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 7px;
    height: 12px;
    background-image: url('/wp-content/uploads/2025/07/fleche-verte.png');
    background-size: contain;
    background-repeat: no-repeat;
}

/* Barre de filtres en pleine largeur sur single */
.single-realisation #nos-realisations{margin-top:40px;}
.single-realisation #nos-realisations .rea-filters-wrap {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
}

/* Galerie */
.single-realisation .rea-single-gallery {
    max-width: 1220px;
    margin: 20px auto 80px;
	border-top: 1px solid #263161;
	padding-top: 40px;
}

.single-realisation .rea-single-gallery-header {
    margin-bottom: 16px;
}

.single-realisation .rea-single-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 16px;
}

.single-realisation .rea-single-gallery-grid a {
    display: block;
}

.single-realisation .rea-single-gallery-grid img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

/* Galerie compacte dans la colonne de gauche */
.single-realisation .rea-single-gallery--inline {
    max-width: none;
    margin: 20px 0 0;
    border-top: none;
    padding-top: 0;
}

.single-realisation .rea-single-gallery--inline .rea-single-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.single-realisation .rea-single-gallery--inline .rea-single-gallery-grid img {
    height: 90px;      /* vignettes petites */
    object-fit: cover;
}

/* Lightbox */
.rea-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.75);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.rea-lightbox.is-open {
    display: flex;
}

.rea-lightbox__inner {
    max-width: 90vw;
    max-height: 90vh;
}

.rea-lightbox__inner img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 12px;
}

/* =========================================================
   BARRE DE FILTRES – NOUVELLE MAQUETTE
   ========================================================= */

/* On supprime l'ancien fond vert et les padding */
#nos-realisations .rea-filters-wrap {
    background: transparent;
    padding: 0;
    margin-bottom: 40px;
}

/* Style de base commun à tous les filtres */
#nos-realisations .rea-filter {
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
}

/* Groupes de filtres */
#nos-realisations .rea-filters-group--secteurs {
    margin-bottom: 40px;
	
}

#nos-realisations .rea-filters-bar--secteurs,
#nos-realisations .rea-filters-bar--types {
    max-width: 1220px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

/* ---------------------------------------------------------
   Ligne 1 – Domaines d'intervention (boutons verts)
   --------------------------------------------------------- */
#nos-realisations .rea-filters-bar--secteurs {
	justify-content: center;
    gap: 10px 14px;
}

#nos-realisations .rea-filter--secteur {
    font-family: 'basicsans-bolduploaded_file' !important;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    padding: 4px 10px;
    border-radius: 3px 3px 3px 3px;
    border: 1px solid #4CC4AD;
    background-color: #4CC4AD;
    color: #ffffff;
    text-align: center;
    transition: background-color .2s ease, color .2s ease;
	width: 160px;
	height: auto;
	display: flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
}

#nos-realisations .rea-filter--secteur:hover,
#nos-realisations .rea-filter--secteur.is-active {
    background-color: #ffffff;
    color: var(--rea-green-main);
}

/* ---------------------------------------------------------
   Ligne 2 – Types d'intervention (cartes blanches + pictos)
   --------------------------------------------------------- */
#nos-realisations .rea-filters-bar--types {
    gap: 20px;
    margin-top: 12px;
    justify-content: center; /* 4 cartes étalées sur la ligne */
}

/* Le lien/bouton occupe 1/4 de la ligne sur desktop */
#nos-realisations .rea-filter--type {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
}

/* Carte type : taille homogène */
#nos-realisations .rea-type-card {
	display: flex;
    align-items: center;
    gap: 10px;
    padding: 3px 15px;
    border-radius: 12px;
    background-color: #ffffff;
    box-shadow: 0px 3px 19px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 260px;
    min-height: 85px;
    transition: box-shadow .2s ease;
}

/* Bloc icône */
#nos-realisations .rea-type-card__icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

#nos-realisations .rea-type-card__icon img {
    display: block;
    width: 80px;
    height: 80px;
    object-fit: contain;
    transition: transform .25s ease;
}

/* Label */
#nos-realisations .rea-type-card__label {
    font-family: 'basicsans-bolduploaded_file' !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 18px;
    color: #263064;
    text-align: left;
    transition: color .25s ease;
}

/* Hover / actif : ombre renforcée + picto zoom + texte vert */
#nos-realisations .rea-filter--type:hover .rea-type-card,
#nos-realisations .rea-filter--type.is-active .rea-type-card {
    box-shadow: 0px 12px 34px rgba(0,0,0,0.14);
}

#nos-realisations .rea-filter--type:hover .rea-type-card__icon img,
#nos-realisations .rea-filter--type.is-active .rea-type-card__icon img {
    transform: scale(1.08);
}

#nos-realisations .rea-filter--type:hover .rea-type-card__label,
#nos-realisations .rea-filter--type.is-active .rea-type-card__label {
    color: #4CC4AD;
}

/* ---------------------------------------------------------
   Responsive – filtres
   --------------------------------------------------------- */

/* Tablette : 2 cartes par ligne */
@media (max-width: 1024px) {
    #nos-realisations .rea-filter--type {
        flex: 0 0 calc(35% - 20px);
    }
}

/* Mobile : 1 carte par ligne */
@media (max-width: 720px) {
    #nos-realisations .rea-filters-bar--secteurs,
    #nos-realisations .rea-filters-bar--types {
        justify-content: flex-start;
		padding: 0px 20px;
    }

    #nos-realisations .rea-filter--type {
        flex: 0 0 100%;
    }

    #nos-realisations .rea-type-card {
        max-width: none;
		min-height: 80px;
    }

    #nos-realisations .rea-type-card__label {
        font-size: 16px;
        line-height: 22px;
    }

    #nos-realisations .rea-type-card__icon img {
        width: 60px;
        height: 60px;
    }
}




/* Nos solutions */
.page-id-10645 .nos-solutions-section-besoins .bloc-vert{position:relative;}
.page-id-10645 .nos-solutions-section-besoins .bloc-vert::after{content:"";position:absolute;top:50%;right:-80px;transform:translateY(-50%);width:0;height:0;border-top:40px solid transparent;border-bottom:40px solid transparent;border-left:30px solid #94D0C0;}
.page-id-10645 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.page-id-10645 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li{position:relative;padding-left:30px;font-family: 'basicsans-semiboluploadedfile';margin-bottom: 20px;}
.page-id-10645 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li::before{content:"\203A";position:absolute;left:10px;top:-6px;color:#fff;font-weight:700;line-height:1;font-family: 'basicsans-semiboluploadedfile';font-size: 30px;}
.page-id-10645 .nos-solutions-section-besoins .section-pictos h3.elementor-heading-title{font-family: 'basicsans-semiboluploadedfile' !important;}

/* Conseil, audit, assistance & formation */
.page-id-10753 .nos-solutions-section-besoins .bloc-vert{position:relative;}
.page-id-10753 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.page-id-10753 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li{position:relative;padding-left:30px;font-family: 'basicsans-semiboluploadedfile';margin-bottom: 20px;}
.page-id-10753 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li::before{content:"\203A";position:absolute;left:10px;top:-6px;color:#fff;font-weight:700;line-height:1;font-family: 'basicsans-semiboluploadedfile';font-size: 30px;}
.page-id-10753 .faq .e-n-accordion-item-title{padding:20px;}
.page-id-10753 .faq .e-n-accordion-item-title-text{font-family:'basicsans-bolduploaded_file' !important;}
.page-id-10753 .faq summary.e-n-accordion-item-title{}
.page-id-10753 .faq summary.e-n-accordion-item-title[aria-expanded="false"]{border-radius:30px;transition: border-radius 0.4s step-end;}

/* Travaux et maintenance */
.page-id-10878 .nos-solutions-section-besoins .bloc-vert{position:relative;}
.page-id-10878 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.page-id-10878 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li{position:relative;padding-left:30px;font-family: 'basicsans-semiboluploadedfile';margin-bottom: 20px;}
.page-id-10878 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li::before{content:"\203A";position:absolute;left:10px;top:-6px;color:#fff;font-weight:700;line-height:1;font-family: 'basicsans-semiboluploadedfile';font-size: 30px;}
.page-id-10878 .faq .e-n-accordion-item-title{padding:20px;}
.page-id-10878 .faq .e-n-accordion-item-title-text{font-family:'basicsans-bolduploaded_file' !important;}
.page-id-10878 .faq summary.e-n-accordion-item-title{}
.page-id-10878 .faq summary.e-n-accordion-item-title[aria-expanded="false"]{border-radius:30px;transition: border-radius 0.4s step-end;}

/* Innovation et R&D */
.page-id-10887 .nos-solutions-section-besoins .bloc-vert{position:relative;}
.page-id-10887 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.page-id-10887 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li{position:relative;padding-left:30px;font-family: 'basicsans-semiboluploadedfile';margin-bottom: 20px;}
.page-id-10887 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li::before{content:"\203A";position:absolute;left:10px;top:-6px;color:#fff;font-weight:700;line-height:1;font-family: 'basicsans-semiboluploadedfile';font-size: 30px;}
.page-id-10887 .faq .e-n-accordion-item-title{padding:20px;}
.page-id-10887 .faq .e-n-accordion-item-title-text{font-family:'basicsans-bolduploaded_file' !important;}
.page-id-10887 .faq summary.e-n-accordion-item-title{}
.page-id-10887 .faq summary.e-n-accordion-item-title[aria-expanded="false"]{border-radius:30px;transition: border-radius 0.4s step-end;}



.page-id-10887 .image-gauche,
.page-id-10899 .image-gauche,
.page-id-10878 .image-gauche,
.page-id-10753 .image-gauche {
    width: 100% !important;
}
.page-id-10887 .image-gauche img,
.page-id-10899 .image-gauche img,
.page-id-10878 .image-gauche img,
.page-id-10753 .image-gauche img {
	object-position: top center !important;
    width: 100%;
    object-fit: cover;
    display: block;
}





/* Procédé breveté de saponification */
.page-id-10899 .nos-solutions-section-besoins .bloc-vert{position:relative;}
.page-id-10899 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul{list-style:none;margin:0;padding:0;}
.page-id-10899 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li{position:relative;padding-left:30px;font-family: 'basicsans-semiboluploadedfile';margin-bottom: 20px;}
.page-id-10899 .nos-solutions-section-besoins .bloc-vert .elementor-widget-text-editor ul li::before{content:"\203A";position:absolute;left:10px;top:-6px;color:#fff;font-weight:700;line-height:1;font-family: 'basicsans-semiboluploadedfile';font-size: 30px;}
.page-id-10899 .faq .e-n-accordion-item-title{padding:20px;}
.page-id-10899 .faq .e-n-accordion-item-title-text{font-family:'basicsans-bolduploaded_file' !important;}
.page-id-10899 .faq summary.e-n-accordion-item-title{}
.page-id-10899 .faq summary.e-n-accordion-item-title[aria-expanded="false"]{border-radius:30px;transition: border-radius 0.4s step-end;}







/* contact */
.page-id-10516 .cf7-grid .cf7-row {display: flex;flex-wrap: wrap;gap: 16px;margin-bottom: 12px;}
.page-id-10516 .cf7-grid .cf7-col-50 {flex: 1 1 calc(50% - 8px);min-width: 260px;}
.page-id-10516 .cf7-grid .cf7-col-100 {flex: 1 1 100%;}
.page-id-10516 .cf7-grid p{margin-bottom:0px;}
.page-id-10516 .cf7-grid label {display: block;font-size: 16px;margin-bottom: 6px;font-family: 'basic_sansregular' !important;}
.page-id-10516 .cf7-grid input[type="text"],
.page-id-10516 .cf7-grid input[type="email"],
.page-id-10516 .cf7-grid input[type="tel"],
.page-id-10516 .cf7-grid textarea {font-family: 'basic_sansregular' !important;width: 100%;box-sizing: border-box;}
.page-id-10516 .cf7-grid input[type="submit"] {font-family: 'basicsans-bolduploaded_file' !important;background-color:#1DB78D;font-size:18px;font-weight:500;box-shadow: 3px 3px 25px -9px rgba(0, 0, 0, 0.5);border-style: solid;border-width: 1px 1px 1px 1px;border-color: #1DB78D;border-radius: 20px 20px 20px 20px;padding: 10px 40px 12px 40px;}
.page-id-10516 .cf7-grid input[type="submit"]:hover{background-color:white !important;color:#1DB78D;}
@media (max-width: 640px) {
  .page-id-10516 .cf7-grid .cf7-col-50 { flex-basis: 100%; }
}









/* Footer */
footer#footer #footer-inner #footer-widgets h4{font-size:20px;color:white;font-weight:400;margin-bottom:10px;font-family: 'basicsans-bolduploaded_file' !important;display: inline-block;}
footer#footer #footer-inner #footer-widgets p{font-size:16px;color:white;font-weight:500;font-family: 'Lato', sans-serif;}
footer#footer #footer-inner #footer-widgets a{font-size:16px;font-family: 'basicsans-bolduploaded_file' !important;display:inline-block;}
footer#footer #footer-inner #footer-widgets a:hover{text-decoration:underline;}
footer#footer #footer-inner #footer-widgets ul > li > ul > li{margin-left:20px;}
footer#footer #footer-inner #footer-widgets a.picto-linkedin{}
footer#footer #footer-inner #footer-widgets a.picto-linkedin > img{width:24px;margin-right:8px;}
footer#footer #footer-inner #footer-widgets a.picto-linkedin > img:hover{opacity:0.9;}
footer#footer #footer-inner #footer-widgets a.picto-youtube{}
footer#footer #footer-inner #footer-widgets a.picto-youtube > img{width:24px;}
footer#footer #footer-inner #footer-widgets a.picto-youtube > img:hover{opacity:0.9;}
footer#footer #footer-inner #footer-widgets a.picto-facebook{}
footer#footer #footer-inner #footer-widgets a.picto-facebook > img{width:24px;}
footer#footer #footer-inner #footer-widgets a.picto-facebook > img:hover{opacity:0.9;}
/* Menu dépliant */
.footer-menu, .footer-menu ul { list-style:none; margin:0; padding:0; }
.footer-menu > li { margin-bottom:6px; }
.footer-menu > li > a { color:#ffffff; text-decoration:none; }
.footer-menu > li > a:hover { text-decoration:underline; }
.footer-toggle {font-size:16px;background:none; border:0; padding:0; font-family:'basicsans-bolduploaded_file' !important; color:#ffffff; cursor:pointer; display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; }
.footer-arrow { display:inline-block; margin-left:8px; border-top:4px solid #ffffff; border-left:4px solid transparent; border-right:4px solid transparent; transition:transform 0.2s ease; }
.has-sub.is-open .footer-arrow { transform:rotate(180deg); }
.footer-submenu { margin-top:5px; margin-left:10px; }
.footer-submenu li { margin-bottom:3px; }
.footer-submenu a { color:#ffffff; text-decoration:none;font-size:16px;font-weight:400; font-family:'basicsans-bolduploaded_file' !important; }
.footer-submenu a:hover { text-decoration:underline; }
/* Newsletter */
#footer-widgets .footer-box .wpcf7-form {margin: 0;}
#footer-widgets .footer-box .wpcf7-form p {display: flex; flex-direction: column; gap: 10px; margin: 0;}
#footer-widgets .footer-box .wpcf7-form .wpcf7-form-control-wrap {flex: 1; display: block;}
#footer-widgets .footer-box .wpcf7-form input.wpcf7-email {width: 100%; background-color: #ffffff; border: 1px solid #ffffff; color: #263161; padding: 10px 14px; border-radius: 6px; font-size: 15px; font-family: "Basic", Sans-serif;}
#footer-widgets .footer-box .wpcf7-form input.wpcf7-email::placeholder {color: rgba(38,48,97,0.6);}
#footer-widgets .footer-box .wpcf7-form input.wpcf7-email:focus {outline: none; border-color: #263161; box-shadow: 0 0 0 1px rgba(38,48,97,0.4);}
#footer-widgets .footer-box .wpcf7-form input.wpcf7-submit {width: 100%; background-color: #ffffff; color: #1DB78D; border: 1px solid #ffffff; border-radius: 20px; padding: 12px 20px; font-family: 'basicsans-bolduploaded_file',"Basic",sans-serif; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; text-align: center; cursor: pointer; transition: all .25s ease; box-shadow: 3px 3px 25px -9px rgba(0,0,0,0.4);}
#footer-widgets .footer-box .wpcf7-form input.wpcf7-submit:hover {background-color: #1DB78D; color: #ffffff; border-color: #ffffff;}
#footer-widgets .footer-box .wpcf7-not-valid-tip {display: block; margin-top: 4px; font-size: 12px; color: #ffebeb;}
#footer-widgets .footer-box .wpcf7-response-output {margin: 8px 0 0; padding: 4px 0; border: none; font-size: 12px; color: #ffffff;}




@media all and (min-width:320px) and (max-width:768px){

}
@media all and (min-width:320px) and (max-width:480px){

}


@media all and (max-width:1024px){
	#section-contact::before{width:300px;height:263px;}
}
@media all and (max-width:768px){
	#section-contact::before{display:none;}
	footer#footer #footer-widgets .footer-box{display:inline-block;clear:both;width:100%;}
}