


/***** DIVERS *****************************************/
/* text gradient color */
.text-gradient-purple-pink { background: linear-gradient(to right, #b18afd, #ff969a); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.border-gradient-purple-pink { border-image: linear-gradient(to right top, #b18afd, #ff969a); border-image-slice: 1; }
.header-overlay {background: #000;}
.text-primary {color: #0038e3!important;}
.section-entete-interieur h1 {font-size: 60px;}
.section-entete-interieur .small-screen {height: 300px;}
@media (min-width: 1399px) {
    /* page container */
    .container-xxl { max-width: 1370px; }
}



/***** HEADER / NAV *****************************************/
.navbar-brand img {height: 160px;}
@media (min-width: 992px) and (max-width: 1090px) {
	.navbar .navbar-nav .nav-link {margin: 0 9px;}
	header .header-colonne-droite, .header-button {padding-left: 0!important;}
	header .header-colonne-gauche {padding-right: 0!important;}
}
@media (min-width: 1091px) and (max-width: 1239px) {
	.navbar .navbar-nav .nav-link {margin: 0 14px;}
	header .header-colonne-droite, .header-button {padding-left: 0!important;}
	header .header-colonne-gauche {padding-right: 0!important;}
}



/***** ENTETE INTERIEUR *****************************************/
.section-entete-interieur {position: relative;}
.section-entete-interieur .accroche {font-size: 1.18em; text-transform: uppercase; color: #fff; letter-spacing: 2px; margin-bottom: 1.2em;}
.section-entete-interieur .underline {text-decoration: underline; text-underline-offset: 21px; font-size: 0.7em; padding-bottom: 6px;}
.section-entete-interieur h1 {color: #fff; line-height: 1.22;}
@media (max-width: 991px) {
    .section-entete-interieur .title-large-3 {font-size: 50px;}
}
@media (max-width: 767px) {
    .section-entete-interieur .title-large-3 {font-size: 42px;}
}
@media (max-width: 480px) {
    .section-entete-interieur .title-large-3 {font-size: 32px;}
}





/***** HOMEPAGE *****************************************/
.body-home .titre-header {color: transparent; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: white; text-transform: uppercase;}
.body-home .titre-header span {-webkit-text-stroke-color: transparent;}
.body-home #about h2 {margin-bottom: 45px;}
.body-home .section-prestations {position: relative;}
.body-home .section-prestations:before {position: absolute; top:0; left: 25%; content: ''; width: 50%; height: 5px; border-top: solid 1px #ccc;}
.body-home .section-prestations h5 {font-size: 2rem;}
.body-home .section-prestations .interactive-banners-style-09 .interactive-banners-content .interactive-banners-hover-icon {left: 38px; bottom: 38px;}
@media (max-width: 480px) {
    .body-home .titre-header.title-large {
        font-size: 35px;
    }
}

.body-home .parallax {background-position: center center !important; background-attachment: inherit !important;}





/***** MODULE REALISATIONS *****************************************/
.body-home .interactive-banners-style-09 figure:hover .interactive-banners-overlay {
    opacity: 0;
}
.body-home .interactive-banners-style-09 .interactive-banners-overlay {
    opacity: 1;
}


.section-realisations .grid-item {
    display: flex;
}

.section-realisations .portfolio-box {
    display: flex;
    flex-direction: column;
    height: 100%;
	width: 100%;
}
.section-realisations .portfolio-caption {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
}
.section-realisations .portfolio-image {
    aspect-ratio: 1.1;
    overflow: hidden;
}

.section-realisations .portfolio-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.section-realisations .portfolio-caption .alt-font {
   /* display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;*/
    overflow: hidden;
}
.section-realisations .portfolio-caption {
    min-height: 135px;
	line-height: 1.4;
}

.section-realisations .portfolio-caption .rea-titre {margin-bottom: 6px;}
.section-realisations .portfolio-caption .rea-infos1 a {color: #232323;}
.section-realisations .portfolio-caption .rea-infos1 a:hover {color: #232323; text-decoration: underline;}
.section-realisations .portfolio-caption .rea-details a {color: #828282;}
.section-realisations .portfolio-caption .rea-details a:hover {color: #828282; text-decoration: underline;}
.section-realisations .portfolio-logo {border-bottom: solid 1px #ccc;}
.section-realisations .portfolio-logo img {max-height: 75px;}
.section-realisations .portfolio-icon .icon-small {font-size: 21px;}
.section-realisations .portfolio-classic .portfolio-icon a {width: 55px; height: 55px; padding-top: 11px;}
.section-realisations .portfolio-logo .client {display: inline-flex; width: 100%; height: 75px; font-weight: 700; font-size: 1.3em; color: #000;}
.section-realisations .zone-load {z-index: 15; position: relative; text-align: center; margin-top: 25px;}
/* Pour pagination : LOAD MORE */
.section-realisations .grid-item.is-hidden {
    display: none !important;
}



/***** PAGE REALISATIONS *****************************************/
@media (min-width: 1200px) and (max-width: 1499px) {
	.body-realisations .section-entete-interieur {background-size: 130%!important;}
}
@media (min-width: 1500px) {
	.body-realisations .section-entete-interieur {background-size: 100%!important;}
}
@media (min-width: 1800px) {
	.body-realisations .section-entete-interieur {background-size: 100%!important;}
}

.section-recherche-realisations {padding-top: 70px; padding-bottom: 70px;}
.section-recherche-realisations .grid-filter li {padding: 0 7px; padding-bottom: 14px; }
.section-recherche-realisations .grid-filter li a {border: 1px solid #dbdbdb!important; border-radius: 4px;}
.section-recherche-realisations .grid-filter li.active a,.section-recherche-realisations .grid-filter li a:hover {background: #0038e3; border: 1px solid #0038e3!important; color: #fff;}
.section-recherche-realisations .champs-recherche {color: #000;}
.section-recherche-realisations .champs-recherche label {
    display: inline-flex;
    align-items: center;
    gap: 6px; /* espace entre checkbox et texte */
}
.section-recherche-realisations .champs-recherche input[type="checkbox"] {
    appearance: none;          /* supprime le style natif */
    -webkit-appearance: none;  /* Safari */
    width: 18px;
    height: 18px;
    border: 1px solid var(--bs-link-color);
    border-radius: 3px;        /* optionnel */
    display: inline-block;
    position: relative;
    cursor: pointer;
}

/* état coché */
.section-recherche-realisations .champs-recherche input[type="checkbox"]:checked {
    background-color: var(--bs-link-color);
}

/* petite coche (optionnel) */
.section-recherche-realisations .champs-recherche input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 7px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.section-recherche-realisations #formKW {border-bottom: solid 1px #d5d5d5;}
.section-recherche-realisations #formKW input[type="text"] {border: none; padding: 8px 0; width: calc(100% - 60px); margin-bottom: 0;}
.section-recherche-realisations #formKW i {font-weight: 700; font-size: 22px; }



@media (max-width: 767px) {
    .section-recherche-realisations .nav-tabs > li {display: inline-block; width: auto; padding-bottom: 5px!important; margin-bottom: 0!important;}
	.section-recherche-realisations .grid-filter li a {display: inline-block; width: auto; color: #232323; background: none;  padding: 2px 6px; }
}





/***** PAGE AGENCE *****************************************/
@media (min-width: 1200px) and (max-width: 1499px) {
	.body-agence .parallax {
        background-attachment: inherit !important;
        background-position: center !important;
    }
}
@media (min-width: 1500px) {
	.body-agence .section-entete-interieur {background-size: 140%!important;}
}
@media (min-width: 1800px) {
	.body-agence .section-entete-interieur {background-size: 120%!important;}
}


.body-agence #about h2 {margin-bottom: 45px;}
@media (min-width: 768px) and (max-width: 991px) {
	.body-agence #chiffres-cle .colonne-2 {border-right: 0!important;}
}
@media (min-width: 1200px) {
	.body-agence #chiffres-cle .colonne-2 {width: 21%!important;}
	.body-agence #chiffres-cle .colonne-3, .body-agence #chiffres-cle .colonne-4 {width: 27%!important;}
}

.body-agence .item-principes {line-height: 24px;}
.process-step-style-04.item1 .process-step-item-box .process-step-item-box-bfr {width: 90%; left: 90%;}
.process-step-style-04.item2 .process-step-item-box .process-step-item-box-bfr {width: 85%; left: 85%;}
.process-step-style-04.item3 .process-step-item-box .process-step-item-box-bfr {width: 70%; left: 80%;}
.process-step-style-04.item4 .process-step-item-box .process-step-item-box-bfr {width: 100%; left: 85%;}
.body-agence .process-step-style-04 .process-step-item-box {line-height: 23px;}
.body-agence .process-step-style-04 .process-content {padding-top: 30px;}
@media (min-width: 1200px) {
    #methode .row-cols-xl-5>* {width: 19%;}
	#methode .row-cols-xl-5>.item5 {width: 24%;}
	.body-agence .process-step-style-04 .process-content {padding-top: 40px;}
}
@media (max-width: 767px) {
	.body-agence .process-step-style-04 .process-step-item {float: none!important;}
}
@media (max-width: 1199px) {
	.body-agence .process-step-style-04.item1 .process-step-item-box .process-step-item-box-bfr {width: 180%; left: 110%;}
	.body-agence .process-step-style-04.item2 .process-step-item-box .process-step-item-box-bfr {width: 160%; left: 100%;}
	.body-agence .process-step-style-04.item3 .process-step-item-box .process-step-item-box-bfr {display: none!important;}
	.body-agence .process-step-style-04.item4 .process-step-item-box .process-step-item-box-bfr {width: 170%; left: 100%;}
}





/***** PAGE PRESTATIONS *****************************************/
@media (min-width: 1200px) and (max-width: 1499px) {
	.body-prestations .section-entete-interieur {background-size: 160%!important;}
}
@media (min-width: 1500px) {
	.body-prestations .section-entete-interieur {background-size: 140%!important;}
}
@media (min-width: 1800px) {
	.body-prestations .section-entete-interieur {background-size: 120%!important;}
}

.body-prestations #about h2 {margin-bottom: 45px;}


.body-prestations #liste-prestations .liens-detail a {margin: 10px 10px; text-transform: uppercase; display: inline-block; letter-spacing: 0.38px; font-size: 0.94em;}
.body-prestations #liste-prestations .liens-detail a:hover, .body-prestations #liste-prestations .liens-detail a.active {color: #000; }
.body-prestations #liste-prestations .liens-detail a.active { font-weight: 500;}




/***** PAGE PRESTATION *****************************************/
@media (min-width: 1200px) and (max-width: 1499px) {
	.body-prestation .section-entete-interieur {background-size: 160%!important;}
}
@media (min-width: 1500px) {
	.body-prestation .section-entete-interieur {background-size: 140%!important;}
}
@media (min-width: 1800px) {
	.body-prestation .section-entete-interieur {background-size: 120%!important;}
}

.body-prestation #about h2 {margin-bottom: 45px;}






/***** LOGOS DEFILANTS *****************************************/
.logo-slider {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.logo-track {
    display: flex;
    width: max-content;
    animation: scroll 60s linear infinite !important;
}
.logo-track:hover {
    animation-play-state: paused!important;;
}
.logo-item {
    flex: 0 0 auto;
    padding: 0 40px;
}

.logo-item img {
    height: 90px; /* ajuste selon ton design */
    width: auto;
    filter: grayscale(1);
    transition: filter 0.4s;
}

.logo-item img:hover {
    filter: grayscale(0);
}

/* Animation */
@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}




/***** CONTACT *****************************************/
@media (min-width: 1200px) and (max-width: 1499px) {
	.body-contact .section-entete-interieur {background-size: 130%!important;}
}
@media (min-width: 1500px) {
	.body-contact .section-entete-interieur {background-size: 100%!important;}
}
@media (min-width: 1800px) {
	.body-contact .section-entete-interieur {background-size: 100%!important;}
}
.body-contact .feature-box.feature-box-row {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
	margin-bottom: 11px;
}

.body-contact .feature-box.feature-box-row .feature-box-icon {
    margin-right: 25px;
    flex-shrink: 0;
}

.body-contact .feature-box .feature-box-text .label {line-height: 1.2; margin-bottom: 2px;}
.body-contact .feature-box .feature-box-text a {color: #000; text-decoration: none;}
.body-contact .feature-box .feature-box-text a:hover {color: #000; text-decoration: underline;}
@media (max-width: 480px) {
	.body-contact .feature-box.feature-box-row .feature-box-icon {display: none;}
	
}
@media (min-width: 992px) and (max-width: 1199px) {
	.body-contact .feature-box.feature-box-row {margin-bottom: 16px;}
}

.body-contact .h4-formulaire {line-height: 1.3; margin-top: 20px;}





/***** COLLECTIVITES *****************************************/
.body-collectivites .liste-presta-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	letter-spacing: 0.8px;
	font-size: 16px;
    gap: 0; /* on gère nous-mêmes les espacements */
}

/* Chaque bloc */
.body-collectivites .liste-presta-header span {
    white-space: nowrap;      /* empêche la coupure interne */
    display: inline-flex;
    align-items: center;
}

/* Séparateur après chaque span sauf le dernier */
.body-collectivites .liste-presta-header span:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 14px;
    background: #d3d3d3;     /* gris clair */
    margin: 0 10px;          /* 10px de chaque côté */
    vertical-align: middle;
}

.body-collectivites .detail-comprehension p {line-height: 28px; }
.body-collectivites #comprehension {padding-bottom: 60px!important;}
.body-collectivites #prestations .titre {}
.body-collectivites #prestations li {line-height: 23px;}
.body-collectivites #prestations .bg-image {border: solid 1px #ccc; aspect-ratio: 1;}
@media (max-width: 580px) {
	.body-collectivites #prestations .item {margin: 0 auto; max-width: 300px;}
}

.body-collectivites #informer .cadre {background: #fff; padding: 40px; box-shadow: 1px 1px 12px #555;}
.body-collectivites #informer .cadre li {line-height: 23px;}
@media (min-width: 1200px) {
	/*.body-collectivites #informer {background: url(../images/collectivites/informer-efficacement.png) left -220px bottom no-repeat #F7F8FC; background-size: auto 100%; }	*/
	.body-collectivites #informer {position : relative;}
	.body-collectivites #informer .bg {position: absolute; top: 0; left: 0; margin-left: -25%; width: 70%; height: 110%; z-index: 5; background: url(../images/collectivites/informer-efficacement.png) bottom left no-repeat; background-size: cover;}
}
@media (min-width: 1500px) {
	.body-collectivites #informer .bg {margin-left: -15%; width: 60%; height: 120%; background: url(../images/collectivites/informer-efficacement.png) bottom left no-repeat; background-size: cover;}
}
@media (min-width: 1800px) {
	.body-collectivites #informer .bg {margin-left: -15%; width: 1100px; height: 140%; background: url(../images/collectivites/informer-efficacement.png) bottom left no-repeat; background-size: cover;}
}

/*
.body-collectivites .feature-box-left-icon-middle .feature-box-content{
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap;
}
.body-collectivites .feature-box-left-icon-middle{
    justify-content: center !important;
}*/
/* CONTENEUR GLOBAL */
.feature-box-list-centered{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center !important;
    align-items:center;
    gap:14px 28px;
    text-align:left;
}

/* CHAQUE BLOC ICONE + TEXTE */
.feature-box-list-centered .feature-item{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

/* TEXTE */
.feature-box-list-centered .feature-box-content{
    flex:0 0 auto !important;
    width:auto !important;
    white-space:nowrap;
}

/* MOBILE */
@media (max-width:768px){

    .feature-box-list-centered{
        display:flex !important;
        flex-direction:column;
        align-items:center;      /* centre les blocs horizontalement */
        justify-content:center;
        gap:12px;
    }

    .feature-box-list-centered .feature-item{
        display:flex;
        align-items:center;
        justify-content:center;  /* centre icône + texte */
        width:auto;
        margin-bottom:0;
        text-align:center;
    }

    .feature-box-list-centered .feature-box-content{
        white-space:normal;
    }
}

.body-collectivites .process-step-style-04.item1 .process-step-item-box .process-step-item-box-bfr {width: 75%; left: 80%;}
.body-collectivites .process-step-style-04.item2 .process-step-item-box .process-step-item-box-bfr {width: 55%; left: 80%;}
.body-collectivites .process-step-style-04.item3 .process-step-item-box .process-step-item-box-bfr {width: 70%; left: 80%;}
.body-collectivites .process-step-style-04.item4 .process-step-item-box .process-step-item-box-bfr {width: 85%; left: 85%;}
.body-collectivites .process-step-style-04 .process-step-item-box {line-height: 23px;}
.body-collectivites .process-step-style-04 .process-content {padding-top: 30px;}
@media (min-width: 1200px) {
	.body-collectivites .process-step-style-04 .process-content {padding-top: 40px;}
}
@media (max-width: 767px) {
	.body-collectivites .process-step-style-04 .process-step-item {float: none!important;}
}
@media (max-width: 1199px) {
	.body-collectivites .process-step-style-04.item1 .process-step-item-box .process-step-item-box-bfr {width: 115%; left: 100%;}
	.body-collectivites .process-step-style-04.item2 .process-step-item-box .process-step-item-box-bfr {width: 90%; left: 90%;}
	.body-collectivites .process-step-style-04.item3 .process-step-item-box .process-step-item-box-bfr {display: none!important;}
	.body-collectivites .process-step-style-04.item4 .process-step-item-box .process-step-item-box-bfr {width: 140%; left: 105%;}
}


.body-collectivites .item-principes {line-height: 24px;}





/***** FOOTER *****************************************/
footer .intermarche {width: auto; height: 35px;}



