@import url(main.css);
/*----------------------------------HERO------------------------------*/
.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; }

#phone-analytics-tag-video-bloc { border-radius: 0 !important; background: transparent !important; border: 2px solid #ffffff !important; color: #ffffff !important; font-family: poppins; font-synthesis-weight: 600; transition: transform 0.3s ease !important; }

#phone-analytics-tag-video-bloc { display: block !important; width: fit-content !important; margin-left: auto !important; margin-right: auto !important; /* Marges modifiables */ margin-top: 30px !important; margin-bottom: 30px !important; }

#phone-analytics-tag-video-bloc:hover { background: transparent !important; color: #4BA7CC !important; border-color: #4BA7CC !important; transform: scale(1.05); }

#hero, #accueil { height: 0; }

#hero + style + #fullHeight { height: 85vh; min-height: unset !important; }

.sliderLogoContainer.mx-auto { width: 25vw !important; }

@media (min-width: 320px) and (max-width: 575px) { .sliderLogoContainer.mx-auto { width: 35vw !important; } }

@media (min-width: 992px) { .titleText.text-white.text-center.fs-2.mb-4.mt-lg-5.titles { margin-bottom: 3rem !important; } }

.spacer { display: none; }

#secondaires.b-bloc-divider { margin: 0 !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; }

#hero.b-bloc-divider { margin: 0 !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; }

#home lottie-player, #home .lottie-scroll { display: none !important; visibility: hidden !important; opacity: 0 !important; }

lottie-player.lottie-scroll { display: none !important; }

#secondaires + style + #fullHeight lottie-player.lottie-scroll { display: block !important; }

/*--------------------------------MES RECHERCHES----------------------------*/
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus { background-color: #ffffff !important; }

/*--------------------------------BARRE DE NAV------------------------------*/
.navbar-brand { height: 8vh !important; width: 9vw !important; }

.logo_nav { height: 8vh !important; }

/* Couleur du texte au survol du menu */
.navbar-nav .animated-border-button span { transition: color 0.3s ease; }

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

.button-header-telephone { background: #4BA7CC !important; border: 2px solid #4BA7CC !important; color: #ffffff !important; font-family: "poppins", sans-serif !important; font-synthesis-weight: 600; }

.button-header-telephone i { color: #4BA7CC !important; }

.button-header-telephone:hover { background: transparent !important; color: #4BA7CC !important; border-color: #4BA7CC !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; -webkit-border-radius: 0 !important; overflow: hidden !important; }

.button-header-telephone::before, .button-header-telephone::after { border-radius: 0 !important; }

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

nav.navbar { box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px; }

.animated-border-button:after { background-color: #071829; }

/*-----------------------TEST-----------------*/
.row.rounded-3, .row.rounded-3.shadow-lg { border-radius: 0 !important; }

.row.rounded-3 img, .row.rounded-3 .rounded-lg-3 { border-radius: 0 !important; }

/*---------------------------------------------CARTES SERVICES-------------------------------*/
.sector-cards-section { width: 100%; padding-top: 3rem; padding-bottom: 3rem; overflow: hidden; background-color: #071829; }

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

.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; border-radius: 0 !important; }

.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.25) 0%, rgba(0, 0, 0, 0.78) 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: 5px; margin: 12px 0 12px; background: #4BA7CC; border-radius: 0 !important; }

.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: 0 !important; background: #4BA7CC; color: #ffffff !important; font-size: 15px; font-weight: 700; transition: all 0.3s ease; }

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

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

.sector-card:hover .sector-card-button { background: #ffffff !important; color: #4BA7CC !important; }

.sector-card:hover .sector-card-button h6, .sector-card:hover .sector-card-button span { color: #4BA7CC !important; }

@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 PICTO--------------------------------*/
.picto-cards-section { padding: 80px 20px; background: #f7f7f7; }

.picto-cards-container { max-width: 1200px; margin: 0 auto; }

.picto-cards-header { max-width: 760px; margin: 0 auto 50px; text-align: center; }

.picto-cards-header p { max-width: 1000px !important; width: 100% !important; margin: 28px auto 0 !important; text-align: center !important; line-height: 1.6 !important; }

.picto-cards-header { display: flex !important; flex-direction: column !important; align-items: center !important; }

.picto-cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

.picto-card { position: relative; background: #fff; padding: 42px 24px 36px; text-align: center; overflow: hidden; box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06); transition: transform 0.35s ease, box-shadow 0.35s ease; }

.picto-card:hover { transform: translateY(-8px); box-shadow: 0 22px 45px rgba(0, 0, 0, 0.12); }

.picto-card-line { position: absolute; top: 0; left: 50%; width: 45%; height: 3px; background: #4BA7CC; transform: translateX(-50%); }

.picto-card-icon { width: 120px; height: 120px; margin: 0 auto 24px; display: flex; align-items: center; justify-content: center; }

.picto-card-icon img { width: 100px !important; height: 100px !important; max-width: 100px !important; max-height: 100px !important; object-fit: contain; filter: none !important; transform: none !important; }

.picto-card:hover .picto-card-icon, .picto-card:hover .picto-card-icon img { transform: none !important; filter: none !important; }

.picto-card h3 { margin: 0 0 12px; font-size: 17px; line-height: 1.25; font-weight: 800; color: #000; }

.picto-card p { margin: 0; font-size: 14px; line-height: 1.6; color: #666; }

@media (max-width: 991px) { .picto-cards-header { grid-template-columns: 1fr; gap: 20px; } .picto-cards-grid { grid-template-columns: repeat(2, 1fr); } .picto-cards-header h2 { font-size: 34px; } }

@media (max-width: 600px) { .picto-cards-section { padding: 60px 16px; } .picto-cards-grid { grid-template-columns: 1fr; } .picto-cards-header h2 { font-size: 30px; } }

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

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

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

.contact-map-heading h2 { margin: 0; font-size: 52px; line-height: 1.1; font-weight: 800; 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: rgba(75, 167, 204, 0.14); color: #4ba7cc; display: flex; align-items: center; justify-content: center; font-size: 18px; }

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

.contact-info-card p { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700; color: #000000; }

.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; } }

/*------------------------------------------BLOC AVIS----------------------------------------*/
.googleReviews-div .card, #google-reviews-widget .card, .googleReviews-div .rounded-3 { border-radius: 0 !important; }

.googleReviews-div .shadow-lg, #google-reviews-widget .shadow-lg { box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08) !important; }

#google-reviews-widget .card { height: 260px !important; min-height: 260px !important; max-height: 260px !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }

#google-reviews-widget .card-body { flex: 1 !important; overflow: hidden !important; padding: 18px 22px !important; }

#google-reviews-widget .card-text { font-size: 15px !important; line-height: 1.55 !important; margin: 10px 0 0 !important; color: #333 !important; display: -webkit-box !important; -webkit-line-clamp: 5 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }

#maps-url { background: #4ba7cc !important; color: #ffffff !important; border: 1px solid #4ba7cc !important; border-radius: 0 !important; padding: 14px 26px !important; font-weight: 600 !important; text-decoration: none !important; transition: all 0.3s ease !important; }

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

#maps-url:hover { background: #ffffff !important; color: #4ba7cc !important; border-color: #4ba7cc !important; transform: translateY(-3px); }

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

.googleReviews-div h3 { margin: 0 0 6px !important; font-size: 26px !important; font-weight: 800 !important; color: #111 !important; }

.googleReviews-div .star { color: #fbbc04 !important; }

.avatar-google-reviews { width: 42px !important; height: 42px !important; object-fit: contain !important; }

.owl-nav button { border-radius: 0 !important; }

/*-------------------------------------------------BLOC SEO------------------------------------------*/
.first-activity-div, .second-activity-div, .third-activity-div, .first-activity-div .card, .second-activity-div .card, .third-activity-div .card, .first-activity-div .rounded-3, .second-activity-div .rounded-3, .third-activity-div .rounded-3, .first-activity-div .rounded-4, .second-activity-div .rounded-4, .third-activity-div .rounded-4 { border-radius: 0 !important; }

/*-----------------------------------------BLOC POUR PAGE SECONDAIRES-----------------------------------------*/
.vision-liquid-block { width: 100%; padding: 80px 20px; background: #071829; box-sizing: border-box; }

.vision-liquid-container { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 60px; align-items: center; box-sizing: border-box; }

.vision-liquid-image { width: 100%; overflow: hidden; border-radius: 0; }

.vision-liquid-image img { width: 100%; height: 430px; object-fit: cover; display: block; border-radius: 0; }

.vision-liquid-content { width: 100%; min-width: 0; box-sizing: border-box; }

.vision-liquid-label { margin: 0 0 12px; color: #4ba7cc; }

.vision-liquid-label p { margin: 0; }

.vision-liquid-title, .vision-liquid-title h2, .vision-liquid-content h2 { margin: 0 0 22px; max-width: 900px; line-height: 1.08; }

.vision-liquid-text, .vision-liquid-text p { margin: 0 0 26px; line-height: 1.7; }

.vision-liquid-list { display: flex; flex-direction: column; gap: 15px; margin: 0 0 35px; padding: 0; }

.vision-liquid-item { width: 100%; display: flex; align-items: flex-start; gap: 14px; box-sizing: border-box; }

.vision-liquid-item span { width: 28px; height: 28px; min-width: 28px; display: flex; align-items: center; justify-content: center; border: 2px solid #4ba7cc; color: #4ba7cc; font-size: 16px; font-weight: 800; line-height: 1; border-radius: 0; box-sizing: border-box; }

.vision-liquid-item div, .vision-liquid-item p { flex: 1; min-width: 0; margin: 0; font-size: 17px; line-height: 1.45; color: #fff !important; }

#white-text .vision-liquid-item p { color: #ffffff !important; }

.vision-liquid-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 220px; padding: 16px 34px; background: #4ba7cc; color: #ffffff; border: 2px solid #4ba7cc; border-radius: 0; text-decoration: none; font-size: 16px; font-weight: 700; transition: all 0.3s ease; box-sizing: border-box; }

.vision-liquid-btn:hover { background: transparent; color: #4ba7cc; border-color: #4ba7cc; text-decoration: none; }

@media (max-width: 900px) { .vision-liquid-block { padding: 60px 18px; } .vision-liquid-container { grid-template-columns: 1fr; gap: 35px; } .vision-liquid-image img { height: 340px; } }

@media (max-width: 480px) { .vision-liquid-block { padding: 45px 16px; } .vision-liquid-image img { height: 260px; } .vision-liquid-title, .vision-liquid-title h2, .vision-liquid-content h2 { font-size: 34px; } .vision-liquid-text, .vision-liquid-text p { font-size: 15px; } .vision-liquid-item div, .vision-liquid-item p { font-size: 15px; } .vision-liquid-btn { width: 100%; } }

/*-----------------------------------------BLOC POUR PAGE SECONDAIRES INVERSER-----------------------------------------*/
.vision-liquid-block-invert { width: 100%; padding: 80px 20px; background: #ffffff; box-sizing: border-box; }

.vision-liquid-block-invert .vision-liquid-item div, .vision-liquid-block-invert .vision-liquid-item p { color: #071829 !important; }

@media (max-width: 900px) { .vision-liquid-block-invert { padding: 60px 18px; } }

@media (max-width: 480px) { .vision-liquid-block-invert { padding: 45px 16px; } }

/*------------------------------------BLOC REALISATIONS----------------------------*/
.realisations-section { background: #071829; padding: 60px 20px; }

.overlay { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }

.realisations-main-title { text-align: center; margin-bottom: 32px; }

.realisations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }

.realisation-card { border-radius: 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.2s; }

.realisation-card:hover { transform: translateY(-4px); }

.realisation-card img { width: 100%; height: 320px; object-fit: cover; display: block; cursor: pointer; border-radius: 0; }

.modal { display: none; position: fixed; z-index: 1000; inset: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); align-items: center; justify-content: center; }

.modal-content { max-width: 500px; max-height: 70vh; width: auto; height: auto; border-radius: 0; background: #fff; }

.modal-close { position: absolute; top: 24px; right: 32px; color: #fff; font-size: 36px; font-weight: bold; cursor: pointer; z-index: 1100; }

.modal-close:hover { color: #ffae42; }

@media (max-width: 900px) { .realisations-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; } .realisation-card img { height: 240px; } .modal-content { max-width: 90%; max-height: 90%; } }

/*------------------------------------BOUTON CTA BAS DE PAGE---------------------------------*/
a.button_homepageDoubleScreen.ctaLinks-button { border-radius: 0 !important; margin: 0 !important; padding: 0.8rem 1.4rem !important; border: 2px solid transparent !important; transition: all 0.3s ease !important; }

a.button_homepageDoubleScreen.ctaLinks-button.m-2 { margin: 0 !important; }

a.button_homepageDoubleScreen.ctaLinks-button p { margin: 0 !important; }

a.button_homepageDoubleScreen.ctaLinks-button:hover { background: transparent !important; border-color: #4ba7cc !important; }

a.button_homepageDoubleScreen.ctaLinks-button:hover span { color: #4ba7cc !important; }

/*-----------------------------------------BLOC AVANT/APRES-------------------------------------*/
.image-before-after-container { position: relative; }

.slider-before-after-images { background: #4ba7cc !important; }

.left-arrow-before, .right-arrow-before, .left-arrow-before i, .right-arrow-before i { color: #ffffff !important; }

.mx-1.mx-lg-4.mb-5 { background-color: #071829 !important; margin: 0 !important; padding: 1.5rem !important; }

/*-------------------------------------------DIVIDER----------------------------------------------*/
.b-bloc-divider { height: 60px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }

/*------------------------------------------HERO PAGE SECONDAIRES----------------------------------*/
#secondaires, #accueil { height: 0; }

#secondaires + style + #fullHeight { height: 60vh; min-height: unset !important; }

.spacer { display: none; }

#secondaires.b-bloc-divider { margin: 0 !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; }

/*------------------------------------------BOUTON DEVIS SUR LE COTE-----------------------------------------*/
.btnFixe { position: fixed; right: 25px; z-index: 9999; display: inline-block; overflow: hidden; border-radius: 999px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); bottom: 45px; }

.btnFixe:hover { box-shadow: 0 14px 35px rgba(0, 0, 0, 0.35); }

.btnFixe img { display: block; border-radius: 999px; }

.btnFixe::before { content: ""; position: absolute; top: -60%; left: -90%; width: 45%; height: 220%; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0) 100%); transform: rotate(25deg); animation: btnShine 3s ease-in-out infinite; pointer-events: none; }

@keyframes btnShine { 0% { left: -90%; }
  30% { left: 140%; }
  100% { left: 140%; } }

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