@charset "UTF-8";
@import url(main.css);
/*--------------------------------BARRE DE NAV------------------------------*/
/* LOGO */
.navbar-brand { width: auto !important; height: 80px !important; margin-left: 60px; padding: 0; transform: none !important; }

.logo_nav { width: auto !important; height: 70px !important; max-width: 100%; object-fit: contain; }

/* BARRE DE NAVIGATION */
nav.navbar, #navigation-bar-show { position: fixed !important; top: 0 !important; right: 0 !important; left: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; z-index: 99999 !important; background-color: #ffffff !important; box-shadow: rgba(0, 0, 0, 0.45) 0 25px 20px -20px; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; translate: none !important; transition: background-color 0.3s ease, box-shadow 0.3s ease !important; }

/* Empêche les classes JavaScript de masquer la navigation au scroll */
nav.navbar.hidden, nav.navbar.navbar-hidden, nav.navbar.hide, nav.navbar.scrolled, nav.navbar.is-hidden, nav.navbar.scroll-down, nav.navbar.nav-up, #navigation-bar-show.hidden, #navigation-bar-show.navbar-hidden, #navigation-bar-show.hide, #navigation-bar-show.scrolled, #navigation-bar-show.is-hidden, #navigation-bar-show.scroll-down, #navigation-bar-show.nav-up { display: flex !important; top: 0 !important; bottom: auto !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; translate: none !important; }

/* Éléments internes visibles */
nav.navbar .navbar-brand, nav.navbar .navbar-toggler, nav.navbar .navbar-collapse, #navigation-bar-show .navbar-brand, #navigation-bar-show .navbar-toggler, #navigation-bar-show .navbar-collapse { opacity: 1 !important; visibility: visible !important; }

/* Évite que le contenu passe sous la navigation fixe */
body { padding-top: 80px; }

/* PREMIER BOUTON TÉLÉPHONE */
.button-header-telephone { background: transparent; border: 2px solid #dea130 !important; color: #dea130 !important; font-family: "Playfair Display", sans-serif !important; font-weight: 700; border-radius: 0 !important; overflow: hidden !important; }

.button-header-telephone i, .button-header-telephone .bi, .button-header-telephone .bi-telephone { display: none !important; }

.button-header-telephone:hover { background: #dea130 !important; color: #ffffff !important; border-color: #dea130 !important; }

a.button-header-telephone, a.button-header-telephone.rounded-pill, .button_header.button-header-telephone, .button_header.button-header-telephone.rounded-pill { border-radius: 0 !important; overflow: hidden !important; }

/* COULEUR DU MENU AU SURVOL */
.navbar-nav .animated-border-button span { transition: color 0.3s ease; }

.navbar-nav .animated-border-button:hover span { color: #dea130 !important; }

/* TABLETTE ET MOBILE */
@media screen and (max-width: 991px) { .navbar-brand { width: auto !important; height: 65px !important; margin-left: 0; } .logo_nav { height: 55px !important; } body { padding-top: 65px; } nav.navbar, #navigation-bar-show { min-height: 65px; } }

/*-------------------------------------HERO-------------------------------*/
.hero-detective { position: relative; min-height: 850px; overflow: hidden; display: flex; align-items: center; color: #ffffff; }

.hero-detective__background { position: absolute; inset: 0; overflow: hidden; }

.hero-detective__background img { width: 100%; height: 100%; object-fit: cover; animation: heroZoom 18s ease-in-out infinite alternate; }

@keyframes heroZoom { from { transform: scale(1); }
  to { transform: scale(1.08); } }

.hero-detective__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 10, 14, 0.98) 0%, rgba(8, 10, 14, 0.88) 35%, rgba(8, 10, 14, 0.35) 65%, rgba(8, 10, 14, 0.15) 100%); }

.hero-detective__container { position: relative; z-index: 2; width: 100%; max-width: 1400px; margin: 0 auto; padding: 80px 40px; display: flex; flex-direction: column; justify-content: center; }

.hero-detective__content { max-width: 2600px; animation: heroFade 1s ease forwards; }

.hero-detective__services { display: flex; align-items: center; gap: 22px; letter-spacing: .4px; color: rgba(255, 255, 255, 0.9); }

.hero-detective__title { max-width: 1000px; }

.hero-detective__services i { display: block; width: 1px; height: 18px; background: rgba(255, 255, 255, 0.35); transform: translateY(-4px); }

.hero-detective__services span { transition: opacity .3s ease; }

.hero-detective__services span:hover { opacity: .65; }

@keyframes heroFade { from { opacity: 0;
    transform: translateY(30px); }
  to { opacity: 1;
    transform: translateY(0); } }

.hero-detective__logo { max-width: 360px; margin-bottom: 35px; }

.hero-detective__title > * { margin: 0; line-height: 1.05; text-transform: uppercase; letter-spacing: 2px; }

.hero-detective__buttons { display: flex; gap: 20px; margin-top: 45px; }

.hero-detective__btn { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; min-width: 170px; height: 55px; padding: 0 35px; background: transparent; color: #dea130; text-decoration: none; letter-spacing: 1px; border: 2px solid #dea130; border-radius: 0; transition: transform .35s ease, box-shadow .35s ease; }

.hero-detective__btn p { margin: 0 !important; padding: 0 !important; line-height: 1; display: flex; align-items: center; justify-content: center; }

.hero-detective__btn:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.35); }

.hero-detective__btn:hover { color: #ffffff; border-color: #ffffff; }

.hero-detective__bottom { position: absolute; bottom: -20px; left: 40px; right: 40px; display: flex; align-items: center; gap: 35px; }

/* TABLET */
@media (max-width: 900px) { .hero-detective { min-height: 700px; } }

/* MOBILE */
@media (max-width: 600px) { .hero-detective { min-height: 650px; } .hero-detective__container { padding: 60px 25px; } .hero-detective__title > * { font-size: 34px; } .hero-detective__buttons { flex-direction: column; align-items: flex-start; } .hero-detective__btn { width: 100%; } .hero-detective__bottom { display: none; } }

/*--------------------------------------QUI SOMMES NOUS-------------------------------------*/
.p-4 { padding: 10rem !important; }

h2 { margin-top: 0; margin-bottom: -6rem; }

.cta_banner .col-lg-12 { max-width: 1400px; margin-left: auto; margin-right: auto; }

/*----------------------------------------BLOC 4 SERVICES----------------------------------------*/
.sector-cards-section { width: 100%; padding: 0; overflow: hidden; }

.sector-cards { width: 100%; display: flex; /* pour aligner les cartes en ligne */ flex-wrap: wrap; /* pour que les cartes passent à la ligne sur petit écran */ gap: 0; /* colle les cartes sans espace, tu peux ajuster si besoin */ }

.sector-card { position: relative; flex: 1; min-height: 430px; overflow: hidden; text-decoration: none; color: #ffffff; display: flex; align-items: flex-end; transition: flex 0.4s ease; }

.sector-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }

.sector-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, black 100%); z-index: 1; }

.sector-card-content { position: relative; z-index: 2; padding: 0 28px 70px; }

.sector-card-content h2, .sector-card-content h3 { margin: 0; color: #ffffff; font-size: 26px; line-height: 1.15; font-weight: 700; }

.sector-card-line { display: block; width: 70px; height: 2px; margin: 12px 0 20px; background: #dea130; border-radius: 0px; }

.sector-cards { display: flex; width: 100%; gap: 12px; padding: 0 12px; }

.sector-card { border-radius: 10px; }

.sector-card-button, .sector-card-button p { margin: 0 !important; }

.sector-card-button p { padding: 0 !important; }

.sector-card-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px; border-radius: 4px; background: transparent; color: #dea130; transition: all 0.3s ease; border: 2px solid #dea130; border-radius: 0; }

.sector-card:hover { flex: 1.25; }

.sector-card:hover .sector-card-img { transform: scale(1.08); }

.sector-card:hover .sector-card-button { background: transparent; color: #ffffff; border: 2px solid #ffffff; }

.sector-cards { display: flex; gap: 0; /* colle les cartes entre elles */ }

.sector-card { flex: 1; /* toutes les cartes prennent la même largeur */ border-radius: 0; /* coins droits */ overflow: hidden; /* pour éviter que le contenu dépasse */ }

.sector-card:hover h5, .sector-card:hover h5 span, .sector-card:hover .sector-card-content h5, .sector-card:hover .sector-card-content h5 span { color: #ffffff !important; }

.sector-cards { display: flex; width: 100vw; max-width: none; margin-left: calc(50% - 50vw); padding: 0; gap: 0; overflow: hidden; }

.sector-card { position: relative; flex: 1 1 0; min-width: 0; min-height: 430px; overflow: hidden; transition: flex-grow 0.4s ease; }

.sector-card:hover { flex-grow: 1.25; }

.sector-card-img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1100px) { .sector-cards { flex-wrap: wrap; } .sector-card { flex: 0 0 50%; min-height: 360px; } .sector-card:hover { flex: 0 0 50%; } }

@media (max-width: 600px) { .sector-card { flex: 0 0 100%; min-height: 320px; } .sector-card:hover { flex: 0 0 100%; } .sector-card-content { padding: 0 24px 45px; } .sector-card-content h2, .sector-card-content h3 { font-size: 23px; } }

/*--------------------------------BLOC ICONE----------------------------*/
.services-block { padding: 60px 20px; }

.services-block__container { display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; gap: 20px; }

/* PARTIE GAUCHE */
.services-block__left { position: relative; flex: 1 1 45%; min-height: 400px; background-size: cover; background-position: center; border-radius: 20px; overflow: hidden; }

.services-block__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.8)); z-index: 1; }

.services-block__content { position: relative; z-index: 2; padding: 40px; display: flex; flex-direction: column; justify-content: center; height: 100%; background: rgba(17, 17, 17, 0.6); color: #fff; }

.services-block__content h2 { font-size: 2rem; margin-bottom: 10px; }

.services-block__content p { margin-bottom: 15px; line-height: 1.5; }

.services-block__button { display: inline-flex; align-items: center; justify-content: center; width: fit-content; height: 50px; /* taille du bouton */ padding: 0 35px; /* largeur autour du texte */ border: 2px solid #dea130; border-radius: 0; background: transparent; color: #dea130 !important; text-decoration: none; transition: transform .3s ease; }

.services-block__button p { margin: 0 !important; /* supprime toute marge interne */ padding: 0 !important; /* supprime tout padding interne */ display: flex; align-items: center; justify-content: center; line-height: 1; }

.services-block__button span { display: block; line-height: 1; color: #dea130; }

.services-block__button:hover { transform: translateY(-2px); /* effet hover léger */ background: transparent; border: 2px solid #ffffff; color: #ffffff !important; }

.services-block__button:hover span { color: #ffffff !important; }

/* PARTIE DROITE */
.services-block__right { flex: 1 1 50%; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

/* CARDS DROITE */
.services-block__card { position: relative; background: #fff; border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 10px; min-height: 160px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* surélévation */ transition: transform .3s ease, box-shadow .3s ease; }

.services-block__card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25); }

.services-block__card-icon { width: 35px; height: 35px; margin-bottom: 10px; }

.services-block__card-icon img { width: 100%; height: 100%; object-fit: contain; }

.services-block__card h3 { font-size: 1rem; margin: 0; }

.services-block__card p { font-size: 0.875rem; color: #666; margin: 0; }

/* RESPONSIVE TABLETTE */
@media (max-width: 900px) { .services-block__container { flex-direction: column; } .services-block__left, .services-block__right { flex: 1 1 100%; } .services-block__right { grid-template-columns: 1fr 1fr; } }

/* RESPONSIVE MOBILE */
@media (max-width: 600px) { .services-block { padding: 50px 15px; } .services-block__right { grid-template-columns: 1fr; } .services-block__content { padding: 15px; } .services-block__content h2 { font-size: 1.8rem; } .services-block__card h3 { font-size: 0.95rem; } .services-block__card p { font-size: 0.8rem; } }

/*------------------------------------------BLOC AVIS-----------------------------------*/
#maps-url { background-color: #dea130 !important; border: 2px solid #dea130 !important; color: #ffffff !important; border-radius: 0 !important; }

#maps-url i { color: #ffffff !important; }

#maps-url:hover { background-color: transparent !important; border-color: #dea130 !important; color: #dea130 !important; }

#maps-url:hover i { color: #dea130 !important; }

/*-------------------------------------------BLOC MAPS---------------------------------------*/
.contact-map-section { padding: 90px 20px; background: #ffffff; }

.contact-map-container { max-width: 1200px; margin: 0 auto; }

.contact-map-heading { max-width: 1000px; margin: 0 auto 55px; text-align: center; }

.contact-map-heading h2 { margin: 0; line-height: 1.1; color: #000000; }

.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin-bottom: 60px; }

.contact-info-card { display: flex; align-items: center; gap: 18px; min-height: 92px; padding: 22px 26px; background: #ffffff; text-decoration: none; color: inherit; box-shadow: 0 14px 38px rgba(0, 0, 0, 0.08); transition: transform 0.35s ease, box-shadow 0.35s ease; }

.contact-info-card:hover { transform: translateY(-8px); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.13); }

.contact-info-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: #dea130; color: #ffffff; display: flex; align-items: center; justify-content: center; }

.contact-info-card span { display: block; margin-bottom: 5px; font-weight: 600; color: #FFFFFF; }

.contact-info-card p { margin: 0; line-height: 1.35; }

.contact-map-wrapper { width: 100%; height: 460px; overflow: hidden; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12); }

.contact-map-wrapper iframe { display: block; width: 100%; height: 100%; }

@media (max-width: 991px) { .contact-map-heading h2 { font-size: 40px; } .contact-info-grid { grid-template-columns: 1fr; gap: 22px; } .contact-map-wrapper { height: 380px; } }

@media (max-width: 600px) { .contact-map-section { padding: 65px 16px; } .contact-map-heading { margin-bottom: 35px; } .contact-map-heading h2 { font-size: 32px; } .contact-info-card { padding: 20px; } .contact-map-wrapper { height: 320px; } }

/*---------------------------------------FOND CARTES MAPS-------------------------------------------*/
.contact-info-card { position: relative; flex: 1; display: flex; align-items: center; gap: 18px; padding: 22px 26px; min-height: 92px; background-size: cover; background-position: center; color: #fff; text-decoration: none; box-shadow: 0 14px 38px rgba(0, 0, 0, 0.08); transition: transform 0.35s ease, box-shadow 0.35s ease; border-radius: 10px; overflow: hidden; }

.contact-info-card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7)); z-index: 0; /* derrière le texte et icône */ }

.contact-info-card > *:not(.contact-info-card-overlay) { position: relative; z-index: 1; /* texte et icônes au-dessus de l'overlay */ }

.contact-info-card:hover { transform: translateY(-8px); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.13); }

/*------------------------------------QUI SOMMES-NOUS--------------------------------*/
.bloc-projet-l9x4 { position: relative; overflow: hidden; padding: 110px 6%; background: #ffffff; }

.bloc-projet-l9x4__container { width: 100%; max-width: 1250px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 120px; }

.bloc-projet-l9x4__visual { position: relative; min-height: 500px; display: flex; align-items: center; justify-content: center; }

.bloc-projet-l9x4__image { position: relative; width: 390px; height: 500px; margin-left: 80px; background-position: center; background-repeat: no-repeat; background-size: cover; background-color: #dea130; z-index: 1; }

.bloc-projet-l9x4__label { position: absolute; left: 0; top: 50%; z-index: 2; width: 240px; min-height: 245px; padding: 34px 30px 30px; display: flex; flex-direction: column; justify-content: center; background: #dea130; transform: translateY(-50%); box-sizing: border-box; overflow: hidden; }

.bloc-projet-l9x4__quote { height: 45px; margin-bottom: 12px; color: #ffffff; font-size: 68px; font-weight: 800; line-height: 1; }

.bloc-projet-l9x4__label-content { width: 100%; max-width: 100%; color: #ffffff; overflow-wrap: anywhere; word-break: normal; }

.bloc-projet-l9x4__label-content h1, .bloc-projet-l9x4__label-content h2, .bloc-projet-l9x4__label-content h3, .bloc-projet-l9x4__label-content h4, .bloc-projet-l9x4__label-content p { max-width: 100%; margin: 0; color: inherit; line-height: 1.45; overflow-wrap: anywhere; }

.bloc-projet-l9x4__content { position: relative; max-width: 530px; z-index: 2; }

.bloc-projet-l9x4__content h1, .bloc-projet-l9x4__content h2, .bloc-projet-l9x4__content h3 { margin-top: 0; margin-bottom: 24px; line-height: 1.08; }

.bloc-projet-l9x4__description { line-height: 1.8; }

.bloc-projet-l9x4__description p { margin-top: 0; margin-bottom: 16px; }

.bloc-projet-l9x4__description p:last-child { margin-bottom: 0; }

@media screen and (max-width: 1100px) { .bloc-projet-l9x4__container { gap: 70px; } .bloc-projet-l9x4__image { width: 340px; height: 450px; margin-left: 70px; } .bloc-projet-l9x4__label { width: 215px; min-height: 225px; } }

@media screen and (max-width: 850px) { .bloc-projet-l9x4 { padding: 80px 6%; } .bloc-projet-l9x4__container { grid-template-columns: 1fr; gap: 70px; } .bloc-projet-l9x4__visual { width: 100%; max-width: 570px; min-height: 460px; margin: 0 auto; } .bloc-projet-l9x4__image { width: 75%; height: 450px; margin-left: auto; } .bloc-projet-l9x4__label { left: 0; width: 42%; min-width: 200px; } .bloc-projet-l9x4__content { max-width: 100%; } }

@media screen and (max-width: 550px) { .bloc-projet-l9x4 { padding: 60px 20px; } .bloc-projet-l9x4__visual { min-height: 410px; padding-bottom: 65px; } .bloc-projet-l9x4__image { width: calc(100% - 45px); height: 390px; margin-left: 45px; } .bloc-projet-l9x4__label { top: auto; bottom: 0; left: 0; width: 230px; max-width: calc(100% - 30px); min-width: 0; min-height: 190px; padding: 26px 24px; transform: none; } .bloc-projet-l9x4__quote { height: 35px; margin-bottom: 8px; font-size: 56px; } }

/*--------------------------------------BLOC HERO SECONDAIRES-------------------------------------*/
.carousel-item-homepage img, .first-carousel-img { transform: none !important; transition: none !important; box-shadow: none !important; filter: none !important; opacity: 1 !important; }

.titleText { letter-spacing: 0em; }

.first-carousel-img { height: 40vh; object-fit: cover; }

.first-carousel-img, .second-carousel-img { height: 55vh; object-fit: cover; }

.carousel-item-homepage { height: 55vh; overflow: hidden; }

#fullHeight { height: 55vh; overflow: hidden; }

.second-carousel-img { width: 100%; height: 100vh; object-fit: contain; object-position: center; background: #000; /* ou la couleur de fond souhaitée */ }

@media (max-width: 991px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } }

@media (max-width: 576px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } }

@media (max-width: 991px) { .first-carousel-img { height: 45vh; } }

@media (max-width: 576px) { .first-carousel-img { height: 35vh; } }

/*----------------------------------------BLOC PAGES SECONDAIRES-----------------------------------*/
.bloc-flip-services { padding: 100px 6%; background: #ffffff; overflow: hidden; }

.bloc-flip-services__heading { max-width: 750px; margin: 0 auto 60px; text-align: center; }

.bloc-flip-services__heading h2, .bloc-flip-services__heading h3 { margin-top: 0; margin-bottom: 20px; }

.bloc-flip-services__intro { line-height: 1.7; }

.bloc-flip-services__intro p { margin-top: 0; margin-bottom: 12px; }

.bloc-flip-services__intro p:last-child { margin-bottom: 0; }

.bloc-flip-services__grid { width: 100%; max-width: 1250px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.bloc-flip-services__card { position: relative; height: 230px; overflow: hidden; background: #222222; }

.bloc-flip-services__card > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform 0.6s ease; }

.bloc-flip-services__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.8) 100%); transition: opacity 0.4s ease; }

.bloc-flip-services__title { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 30px; color: #ffffff; text-align: center; box-sizing: border-box; transition: opacity 0.3s ease, transform 0.4s ease; }

.bloc-flip-services__title h2, .bloc-flip-services__title h3, .bloc-flip-services__title h4, .bloc-flip-services__title p { margin: 0; color: #ffffff; text-align: center; }

.bloc-flip-services__panel { position: absolute; inset: 0; z-index: 3; padding: 30px; display: flex; align-items: center; justify-content: center; background: #dea130; color: #111111; text-align: center; box-sizing: border-box; transform: translateY(100%); transition: transform 0.55s ease; }

.bloc-flip-services__panel-content { width: 100%; line-height: 1.7; opacity: 0; transform: translateY(25px); transition: opacity 0.3s ease 0.15s, transform 0.4s ease 0.15s; }

.bloc-flip-services__panel-content p { margin-top: 0; margin-bottom: 12px; }

.bloc-flip-services__panel-content p:last-child { margin-bottom: 0; }

.bloc-flip-services__card:hover .bloc-flip-services__panel { transform: translateY(0); }

.bloc-flip-services__card:hover .bloc-flip-services__panel-content { opacity: 1; transform: translateY(0); }

.bloc-flip-services__card:hover .bloc-flip-services__title { opacity: 0; transform: translateY(-20px); }

.bloc-flip-services__card:hover > img { transform: scale(1.05); }

.bloc-flip-services__card:hover .bloc-flip-services__overlay { opacity: 0; }

@media screen and (max-width: 1000px) { .bloc-flip-services__grid { grid-template-columns: repeat(2, 1fr); } .bloc-flip-services__card { height: 220px; } }

@media screen and (max-width: 650px) { .bloc-flip-services { padding: 70px 20px; } .bloc-flip-services__heading { margin-bottom: 40px; } .bloc-flip-services__grid { grid-template-columns: 1fr; gap: 18px; } .bloc-flip-services__card { height: 210px; } .bloc-flip-services__title, .bloc-flip-services__panel { padding: 24px; } }

/*-------------------------------------BLOC 2 PAGES SECONDAIRES---------------------------------*/
.bloc-image-cta { padding: 50px 6%; background: #ffffff; }

.bloc-image-cta__container { width: 100%; max-width: 1150px; min-height: 380px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; background: #ffffff; }

.bloc-image-cta__visual { position: relative; min-height: 380px; overflow: hidden; }

.bloc-image-cta__visual img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

.bloc-image-cta__content { padding: 45px 50px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }

.bloc-image-cta__title { margin-bottom: 16px; }

.bloc-image-cta__title h2, .bloc-image-cta__title h3 { margin: 0; }

.bloc-image-cta__description { margin-bottom: 24px; line-height: 1.55; }

.bloc-image-cta__description p { margin-top: 0; margin-bottom: 10px; }

.bloc-image-cta__description p:last-child { margin-bottom: 0; }

.bloc-image-cta__button { min-width: 170px; min-height: 46px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 2px solid #dea130; background: transparent; color: #dea130; text-align: center; text-decoration: none; line-height: 1; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }

.bloc-image-cta__button p, .bloc-image-cta__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: 1 !important; }

.bloc-image-cta__button:hover { border-color: #dea130; background: #dea130; color: #ffffff; text-decoration: none; }

.bloc-image-cta__button:hover p, .bloc-image-cta__button:hover span { color: #ffffff !important; }

@media screen and (max-width: 900px) { .bloc-image-cta { padding: 45px 30px; } .bloc-image-cta__container { grid-template-columns: 1fr; max-width: 700px; } .bloc-image-cta__visual { min-height: 300px; } .bloc-image-cta__content { padding: 40px 35px; } }

@media screen and (max-width: 550px) { .bloc-image-cta { padding: 35px 20px; } .bloc-image-cta__visual { min-height: 240px; } .bloc-image-cta__content { padding: 32px 24px; } .bloc-image-cta__description { margin-bottom: 22px; line-height: 1.5; } .bloc-image-cta__button { width: 100%; } }

/*--------------------------------FOND DU BLOC 2---------------------------------*/
.bloc-image-cta { position: relative; padding: 120px 6%; background: #332318; overflow: hidden; isolation: isolate; }

/* Fond jaune diagonal uniquement derrière le contenu */
.bloc-image-cta::before { content: ""; position: absolute; top: 0; right: 0; width: 62%; height: 100%; z-index: -1; background: #dea130; clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%); }

/* Aucun autre fond décoratif */
.bloc-image-cta::after { display: none; }

.bloc-image-cta__container { position: relative; z-index: 1; width: 100%; max-width: 1250px; min-height: 470px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; background: #ffffff; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12); }

.bloc-image-cta__visual, .bloc-image-cta__content { position: relative; z-index: 1; }

/*---------------------------------BLOC RGE--------------------------------*/
.isolation-intro { width: 100%; margin: 0; padding: 70px 20px; background: #ffffff; }

.isolation-intro__container { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 60px; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; }

.isolation-intro__content { width: 100%; margin: 0; padding: 0; text-align: center; }

.isolation-intro__title, .isolation-intro__title h2, .isolation-intro__title h3 { margin: 0 0 28px; padding: 0; color: #111111; line-height: 1.15; text-align: center; }

.isolation-intro__description { width: 100%; max-width: 980px; margin: 0 auto; padding: 0; }

.isolation-intro__description, .isolation-intro__description p { color: #222222; line-height: 1.6; text-align: center; }

.isolation-intro__description p { margin: 0; padding: 0; }

.isolation-intro__image { display: flex; align-items: center; justify-content: center; width: 150px; margin: 0; padding: 0; }

.isolation-intro__image img { display: block; width: 100%; max-width: 150px; height: auto; max-height: 230px; margin: 0; padding: 0; object-fit: contain; }

/* TABLETTE */
@media screen and (max-width: 900px) { .isolation-intro { padding: 60px 20px; } .isolation-intro__container { grid-template-columns: minmax(0, 1fr) 130px; gap: 35px; } .isolation-intro__image { width: 130px; } .isolation-intro__image img { max-width: 130px; max-height: 200px; } }

/* MOBILE */
@media screen and (max-width: 600px) { .isolation-intro { padding: 45px 15px; } .isolation-intro__container { grid-template-columns: 1fr; gap: 25px; } .isolation-intro__title, .isolation-intro__title h2, .isolation-intro__title h3 { margin-bottom: 18px; } .isolation-intro__image { width: 110px; margin: 0 auto; } .isolation-intro__image img { max-width: 110px; max-height: 170px; } }

/*----------------------------------BLOC BULLET POINT-----------------------------*/
.habitat-feature { position: relative; padding: 90px 6%; background: #ffffff; overflow: hidden; isolation: isolate; }

/* Diagonale jaune uniquement à droite */
.habitat-feature::before { content: ""; position: absolute; top: 0; right: 0; width: 45%; height: 100%; z-index: -1; background: #dea130; clip-path: polygon(28% 0, 100% 0, 100% 100%, 0 100%); }

.habitat-feature__container { position: relative; z-index: 1; width: 100%; max-width: 1250px; margin: 0 auto; display: grid; grid-template-columns: 1fr 0.9fr; align-items: center; gap: 80px; }

.habitat-feature__content { position: relative; z-index: 2; padding: 45px; background: #ffffff; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08); }

.habitat-feature__title { margin-bottom: 20px; }

.habitat-feature__title h2, .habitat-feature__title h3 { margin: 0; }

.habitat-feature__description { margin-bottom: 25px; line-height: 1.7; }

.habitat-feature__description p { margin: 0; }

.habitat-feature__list { margin: 0 0 30px; padding: 0; display: grid; gap: 14px; list-style: none; }

.habitat-feature__list li { display: flex; align-items: flex-start; gap: 12px; }

.habitat-feature__list svg { width: 22px; height: 22px; flex: 0 0 22px; fill: #dea130; margin-top: 2px; }

.habitat-feature__list p { margin: 0; }

.habitat-feature__button { min-width: 180px; min-height: 46px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 2px solid #dea130; background: transparent; color: #dea130; text-align: center; text-decoration: none; line-height: 1; transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }

.habitat-feature__button p, .habitat-feature__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: 1 !important; }

.habitat-feature__button:hover { background: #dea130; border-color: #dea130; color: #ffffff; text-decoration: none; }

.habitat-feature__button:hover p, .habitat-feature__button:hover span { color: #ffffff !important; }

.habitat-feature__image { position: relative; z-index: 2; min-height: 500px; overflow: hidden; background: #e8e8e8; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12); }

.habitat-feature__image img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

@media screen and (max-width: 900px) { .habitat-feature { padding: 70px 30px; } .habitat-feature::before { top: auto; bottom: 0; width: 100%; height: 42%; clip-path: polygon(18% 0, 100% 20%, 100% 100%, 0 100%); } .habitat-feature__container { grid-template-columns: 1fr; gap: 40px; } .habitat-feature__content { padding: 45px 40px; } .habitat-feature__image { min-height: 400px; } }

@media screen and (max-width: 550px) { .habitat-feature { padding: 55px 20px; } .habitat-feature__content { padding: 35px 25px; } .habitat-feature__image { min-height: 300px; } .habitat-feature__button { width: 100%; } }

/*-----------------------------------BLOC GALLERIE----------------------------------------*/
#custom-gallery .custom-gallery__title { width: 100%; text-align: center; }

#custom-gallery .custom-gallery__title h2 { margin-left: auto; margin-right: auto; text-align: center; }

#custom-gallery { padding-top: 40px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 60px 30px 0 30px; } }

#custom-gallery .image { height: 400px !important; margin: 20px 0; }

.img-wrapper { position: relative; height: 100%; margin-top: 15px; }

.img-wrapper img { width: 100%; }

.img-overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; }

.img-overlay i { color: #fff; font-size: 3em; }

#overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 999; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#overlay img { margin: 0; width: 80%; height: auto; object-fit: contain; padding: 5%; }

@media screen and (min-width: 768px) { #overlay img { width: 60%; } }

@media screen and (min-width: 1200px) { #overlay img { width: 50%; } }

#nextButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#nextButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #nextButton { font-size: 3em; } }

#prevButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#prevButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #prevButton { font-size: 3em; } }

#exitButton { color: #fff; font-size: 2em; transition: opacity 0.8s; position: absolute; top: 15px; right: 15px; }

#exitButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #exitButton { font-size: 3em; } }

.img-responsive { height: 100% !important; object-fit: cover !important; }

/*--------------------------------BLOC CTA RGE BAS DE PAGE---------------------------*/
.bloc-double-cta { padding: 80px 6%; background: #f3ede3; }

.bloc-double-cta__container { width: 100%; max-width: 850px; margin: 0 auto; text-align: center; }

.bloc-double-cta__title { margin-bottom: 18px; }

.bloc-double-cta__title h2, .bloc-double-cta__title h3, .bloc-double-cta__title p { margin: 0; text-align: center; }

.bloc-double-cta__description { max-width: 720px; margin: 0 auto 32px; line-height: 1.7; text-align: center; }

.bloc-double-cta__description p { margin-top: 0; margin-bottom: 12px; text-align: center; }

.bloc-double-cta__description p:last-child { margin-bottom: 0; }

.bloc-double-cta__buttons { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px; }

.bloc-double-cta__button { min-width: 180px; min-height: 46px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 2px solid #dea130; background: #dea130; color: #ffffff; font-family: "Playfair Display", serif; text-align: center; text-decoration: none; line-height: 1; transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease; }

.bloc-double-cta__button p, .bloc-double-cta__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: 1 !important; }

.bloc-double-cta__button:hover { border-color: #dea130; background: transparent; color: #dea130; text-decoration: none; transform: translateY(-2px); }

.bloc-double-cta__button:hover p, .bloc-double-cta__button:hover span { color: #dea130 !important; }

@media screen and (max-width: 600px) { .bloc-double-cta { padding: 60px 20px; } .bloc-double-cta__buttons { flex-direction: column; gap: 14px; } .bloc-double-cta__button { width: 100%; } }

/*-------------------------------------BLOC PRIME RÉNOV------------------------------------------*/
.bloc-banner-card { position: relative; width: 100%; min-height: 430px; overflow: hidden; background: #ffffff; isolation: isolate; }

/* Diagonale jaune dans le fond du bloc, côté droit */
.bloc-banner-card::before { content: ""; position: absolute; top: -45%; right: -12%; z-index: 0; width: 45%; height: 190%; background: #dea130; transform: rotate(14deg); transform-origin: center; pointer-events: none; }

/* CONTENU DU BLOC */
.bloc-banner-card__container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 390px; align-items: center; gap: 80px; width: 100%; max-width: 1250px; min-height: 430px; margin: 0 auto; padding: 65px 6%; box-sizing: border-box; }

.bloc-banner-card__content { position: relative; z-index: 3; width: 100%; max-width: 650px; color: #111111; }

.bloc-banner-card__title { margin: 0 0 20px; padding: 0; }

.bloc-banner-card__title h2, .bloc-banner-card__title h3, .bloc-banner-card__title p { margin: 0; padding: 0; color: #111111; }

.bloc-banner-card__description { max-width: 560px; margin: 0; padding: 0; color: #333333; line-height: 1.7; }

.bloc-banner-card__description p { margin: 0 0 12px; padding: 0; color: #333333; }

.bloc-banner-card__description p:last-child { margin-bottom: 0; }

/* CARTE IMAGE */
.bloc-banner-card__card { position: relative; z-index: 3; width: 100%; max-width: 390px; height: 320px; overflow: hidden; background: transparent; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22); isolation: isolate; transform: translateZ(0); }

.bloc-banner-card__card-image { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: hidden; background: transparent; }

.bloc-banner-card__card-image img { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; opacity: 1; filter: none; transform: translate(-50%, -50%) scale(1.18); transition: transform 0.5s ease; }

.bloc-banner-card__card:hover .bloc-banner-card__card-image img { transform: translate(-50%, -50%) scale(1.24); }

/* BOUTON */
.bloc-banner-card__button { position: absolute; left: 50%; bottom: 28px; z-index: 5; display: inline-flex; align-items: center; justify-content: center; min-width: 170px; min-height: 46px; padding: 0 24px; box-sizing: border-box; border: 2px solid #dea130; border-radius: 0; background: transparent; color: #dea130; text-align: center; text-decoration: none; line-height: 1; transform: translateX(-50%); transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }

.bloc-banner-card__button p, .bloc-banner-card__button span { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: 1 !important; text-align: center; }

.bloc-banner-card__button:hover { border-color: #dea130; background: #dea130; color: #ffffff; text-decoration: none; }

.bloc-banner-card__button:hover p, .bloc-banner-card__button:hover span { color: #ffffff !important; }

/* TABLETTE */
@media screen and (max-width: 950px) { .bloc-banner-card::before { right: -18%; width: 50%; } .bloc-banner-card__container { grid-template-columns: minmax(0, 1fr) 330px; gap: 45px; } .bloc-banner-card__card { max-width: 330px; height: 290px; } }

/* MOBILE */
@media screen and (max-width: 760px) { .bloc-banner-card { min-height: auto; } .bloc-banner-card::before { top: auto; right: -25%; bottom: -35%; width: 75%; height: 95%; transform: rotate(12deg); } .bloc-banner-card__container { grid-template-columns: 1fr; gap: 40px; min-height: auto; padding: 60px 25px; } .bloc-banner-card__content { max-width: 100%; text-align: center; } .bloc-banner-card__description { margin: 0 auto; } .bloc-banner-card__card { max-width: 520px; height: 320px; margin: 0 auto; } .bloc-banner-card__card-image img { transform: translate(-50%, -50%) scale(1.14); } .bloc-banner-card__card:hover .bloc-banner-card__card-image img { transform: translate(-50%, -50%) scale(1.2); } }

/* PETIT MOBILE */
@media screen and (max-width: 500px) { .bloc-banner-card__container { padding: 50px 20px; } .bloc-banner-card__card { height: 260px; } .bloc-banner-card__button { bottom: 22px; width: calc(100% - 40px); min-width: 0; } }

/*-------------------------------------FOND BLOC PRIME---------------------------------*/
.bloc-banner-card { position: relative; overflow: hidden; isolation: isolate; }

/* Diagonale jaune dans le fond, côté gauche */
.bloc-banner-card::before { content: ""; position: absolute; top: -35%; left: -12%; z-index: 0; width: 48%; height: 180%; background: #dea130; transform: rotate(-14deg); transform-origin: center; pointer-events: none; }

/* Le contenu reste au-dessus de la diagonale */
.bloc-banner-card__container { position: relative; z-index: 2; }

/* La carte et son image restent devant */
.bloc-banner-card__card { position: relative; z-index: 3; }

.bloc-banner-card__card-image { position: absolute; z-index: 1; }

.bloc-banner-card__card-image img { position: relative; z-index: 1; }

/*---------------------------CENTRER CARTE REVÊTEMENT MURAUX----------------------------------*/
/* Uniquement la grille qui contient exactement 5 cartes */
.bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Les 3 premières cartes */
.bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card:nth-child(-n + 3) { grid-column: span 2; }

/* Les 2 dernières cartes centrées */
.bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card:nth-child(4) { grid-column: 2 / span 2; }

.bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card:nth-child(5) { grid-column: 4 / span 2; }

/* Tablette : 2 cartes par ligne */
@media screen and (max-width: 900px) { .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card { grid-column: auto; } .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card:last-child { grid-column: 1 / -1; width: calc(50% - 10px); justify-self: center; } }

/* Mobile : 1 carte par ligne */
@media screen and (max-width: 600px) { .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) { grid-template-columns: 1fr; } .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card, .bloc-flip-services__grid:has( > .bloc-flip-services__card:nth-child(5):last-child) > .bloc-flip-services__card:last-child { grid-column: auto; width: 100%; } }

/*# sourceMappingURL=custom.css.map */