@charset "UTF-8";
@import url(main.css);
a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { display: none; }

.first-activity-div.shadow-lg { box-shadow: none !important; }

.second-activity-div.shadow-lg { box-shadow: none !important; }

.third-activity-div.shadow-lg { box-shadow: none !important; }

.col-12.col-sm-8.col-lg-5.my-0.order-2.order-lg-2.order-xl-2.order-xxl-2 { border: 2px solid #8cc63f; border-radius: 30px; padding: 10px; }

.fs-6.lead.mt-4.mb-4 { color: #555; font-weight: 400; }

.image-before-after-container { border-radius: 20px; }

.photoTitleText { margin-top: 50px; }

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

strong { font-weight: 600 !important; }

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

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { display: inline-block; background-color: transparent; color: #ec008c !important; padding: 10px 35px; border: 2px solid #ec008c; border-radius: 50px; text-decoration: none; font-weight: 600 !important; font-family: 'Kodchasan', sans-serif; transition: all 0.3s ease; }

/* --- Effet au survol --- */
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { background-color: #ec008c; /* fond vert */ color: #fff !important; /* texte blanc */ border-color: #ec008c; /* garde la bordure de la même couleur */ }

.btnDevis { position: fixed; bottom: 20px; right: 0; font-size: 18px; padding: 10px 20px; background: #ec008c; color: white; text-decoration: none; border-radius: 30px 0 0 30px !important; z-index: 10; font-family: 'Kodchasan'; font-weight: 600 !important; }

.btnDevis:hover { background: #8cc63f; color: white; }

.btnDevis:visited { color: #ffffff !important; }

.navbar { box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1); /* Optionnel : ajoute une ombre subtile */ }

/* ============================= SECTION SERVICES ============================= */
.brands-grid-section { background-color: #f5f4ef; padding: 100px 40px; text-align: center; }

/* ---- En-tête de section ---- */
.brands-grid-header { max-width: 1200px; /* ou 100% si tu veux vraiment large */ margin: 0 auto 80px; }

.brands-grid-header h1 { font-size: 2.4rem; color: #000000; margin-bottom: 20px; font-weight: 600 !important; }

.brands-grid-header p { color: #555; line-height: 1.7; }

/* ---- Grille des cartes ---- */
.brands-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1300px; margin: 0 auto; }

/* ---- Carte ---- */
.brand-card { background: #fff; border-radius: 30px 80px 30px 80px; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05); overflow: hidden; transition: all 0.4s ease; display: flex; flex-direction: column; justify-content: space-between; }

/* Image */
.brand-img img { width: 100%; height: 250px; object-fit: cover; transition: transform 0.4s ease; }

/* Contenu texte */
.brand-content { padding: 30px; }

.brand-content h3 { font-size: 1.6rem; color: #8cc63f; margin-bottom: 15px; font-weight: 600 !important; min-height: 3.5rem; /* ajuste selon la hauteur de 2 lignes */ display: flex; align-items: center; /* centre verticalement le texte s’il tient sur une seule ligne */ justify-content: center; /* si tu veux qu’il soit centré */ text-align: center; /* garde le centrage */ }

.brand-content p { color: #555; font-size: 0.95rem; line-height: 1.6; margin-bottom: 25px; }

/* Bouton */
.brand-btn { display: inline-block; background-color: transparent; /* fond transparent au départ */ color: #ec008c !important; /* texte vert */ padding: 10px 35px; border: 2px solid #ec008c; /* contour vert */ border-radius: 50px; /* forme très arrondie */ text-decoration: none; font-weight: 600 !important; font-family: 'Kodchasan', sans-serif; /* police moderne et fine */ transition: all 0.3s ease; }

/* --- Effet au survol --- */
.brand-btn:hover { background-color: #ec008c; /* fond vert */ color: #fff !important; /* texte blanc */ border-color: #ec008c; /* garde la bordure de la même couleur */ }

/* ---- Effets au survol ---- */
.brand-card:hover { transform: translateY(-8px); box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1); }

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

/* ---- Responsive ---- */
@media (max-width: 1100px) { .brands-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 700px) { .brands-grid { grid-template-columns: 1fr; } .brand-img img { height: 220px; } }

/* =========================== SECTION : QUI SOMMES NOUS =========================== */
.about-section { background-color: #ffffff; padding: 80px 8%; font-family: 'Montserrat'; }

/* --- Disposition générale --- */
.about-container { display: flex; align-items: center; justify-content: space-between; gap: 100px; flex-wrap: wrap; }

/* --- Image à droite (avec fond décalé bleu) --- */
.about-image { position: relative; flex: 1 1 15%; }

.about-image::before { content: ""; position: absolute; top: 30px; left: 30px; /* ✅ inversé pour que le fond parte vers la gauche */ width: 100%; height: 100%; background-color: #8cc63f; border-radius: 12px; z-index: 0; }

.about-image img { position: relative; z-index: 1; width: 100%; height: auto; border-radius: 12px; object-fit: cover; border: 2px solid #8cc63f; }

/* --- Contenu texte --- */
.about-content { flex: 1 1 50%; color: #222; }

.about-content .subtitle { display: inline-block; color: #ec008c; font-size: 0.9rem; letter-spacing: 2px; font-weight: 600 !important; margin-bottom: 10px; }

.about-content h2 { font-size: 2rem; font-weight: 600 !important; margin-bottom: 40px; color: #000000; }

.about-content p { color: #555; line-height: 1.6; margin-bottom: 40px; }

/* --- Bouton "Nous contacter" --- */
.about-btn { display: inline-block; padding: 12px 30px; border: 2px solid #ec008c; color: #ec008c !important; border-radius: 50px; font-family: 'Kodchasan'; font-weight: 600; letter-spacing: 0.2px; text-decoration: none; transition: all 0.3s ease; }

.about-btn:visited { color: #ec008c !important; }

.about-btn:hover { background-color: #ec008c; color: #fff !important; }

/* --- Responsive --- */
@media (max-width: 900px) { .about-container { flex-direction: column; } .about-content { text-align: center; } .about-btn { margin: 0 auto; } }

/* =========================== SECTION : ICONS =========================== */
.icons-section { background-color: #f5f4ef; padding: 80px 8%; text-align: center; }

/* --- Titre + intro --- */
.icons-header h2 { font-size: 2rem; font-weight: 600 !important; color: #000000; margin-bottom: 15px; }

.icons-header p { color: #555; font-size: 1rem; max-width: 1000px; margin: 0 auto 50px; line-height: 1.6; }

/* --- Grille des icônes --- */
.icons-grid { display: flex; justify-content: center; align-items: flex-start; gap: 60px; flex-wrap: wrap; }

/* --- Élément individuel --- */
.icons-item { flex: 1 1 200px; max-width: 220px; text-align: center; transition: transform 0.3s ease, opacity 0.3s ease; }

.icons-item img { width: 120px; height: 120px; object-fit: contain; margin-bottom: 15px; transition: transform 0.3s ease; }

.icons-item h3 { font-size: 1rem; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.5px; }

.icons-item:nth-child(1) h3 { color: #ad66aa; }

.icons-item:nth-child(2) h3 { color: #1ac4f4; }

.icons-item:nth-child(3) h3 { color: #f8941d; }

.icons-item:nth-child(4) h3 { color: #be1e2d; }

/* --- Responsive --- */
@media (max-width: 900px) { .icons-grid { gap: 40px; } }

@media (max-width: 600px) { .icons-item { max-width: 100%; } }

/* ============================== 🧱 EN-TÊTE PAGE SERVICES  ============================== */
.services-header { position: relative; width: 100vw; margin-left: calc(50% - 50vw); height: 60vh; overflow: hidden; display: flex; align-items: center; justify-content: center; text-align: center; }

/* ✅ Image dans une div séparée */
.services-header-bg { position: absolute; inset: 0; z-index: 0; }

.services-header-bg img { width: 100%; height: 100%; object-fit: cover; /* garde la couverture */ object-position: center; display: block; }

/* Overlay pour effet sombre léger */
.services-header-overlay { position: absolute; inset: 0; background: #59595936; z-index: 1; }

/* Contenu centré */
.services-header-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 100%; }

/* Boîte principale transparente */
.services-header-box { background-color: rgba(255, 255, 255, 0.05); border: 2px solid #8cc63f; border-radius: 15px; backdrop-filter: blur(6px); padding: 0; text-align: center; width: fit-content; box-shadow: 0 0 15px rgba(0, 0, 0, 0.3); }

/* Titre principal */
.services-header-box h1 { font-size: 2.8rem; letter-spacing: 1.5px; font-weight: 700; padding: 25px 70px 10px 70px; color: #ffffff; background: transparent; }

/* Sous-titre */
.services-header-box span { display: block; color: #ffffff; font-size: 1.1rem; letter-spacing: 1px; padding: 10px 0 25px 0; }

/* ============================== 📱 RESPONSIVE ============================== */
@media (max-width: 768px) { .services-header { height: 50vh; } .services-header-box h1 { font-size: 2rem; padding: 20px 40px 10px 40px; } .services-header-box span { font-size: 0.95rem; padding-bottom: 20px; } }

/* ============================ SECTION : CONTENUS SECONDAIRES ============================ */
.contenus-section { background-color: #ffffff; padding: 80px 8%; }

/* --- Structure globale --- */
.contenus-container { display: flex; align-items: center; justify-content: space-between; gap: 60px; flex-wrap: wrap; margin-bottom: 60px; }

/* --- Bloc texte --- */
.contenus-texte { flex: 1 1 60%; color: #222; }

.contenus-texte h2 { font-size: 2rem; font-weight: 600 !important; margin-bottom: 20px; color: #ec008c; }

.contenus-texte p { color: #555; line-height: 1.6; margin-bottom: 0; }

/* --- Image + rectangle décalé --- */
.contenus-image { position: relative; flex: 1 1 35%; }

.contenus-image::before { content: ""; position: absolute; top: 30px; /* décalage vertical */ left: 30px; /* décalage horizontal */ width: 100%; height: 100%; background-color: #8cc63f; /* 💙 rectangle bleu derrière */ border-radius: 12px; z-index: 0; /* passe derrière l’image */ }

.contenus-image img { position: relative; z-index: 1; /* l’image passe au-dessus du rectangle */ width: 100%; height: auto; border-radius: 12px; object-fit: cover; border: 2px solid #8cc63f; }

.espace-titre { margin-top: 40px; }

/* --- Bloc inversé --- */
.contenus-container.reverse { flex-direction: row-reverse; /* inverse l’ordre image/texte */ }

/* --- Ajuste aussi l’effet rectangle bleu --- */
.contenus-container.reverse .contenus-image::before { top: 30px; right: 30px; /* on inverse le décalage */ left: auto; }

/* --- Responsive --- */
@media (max-width: 900px) { .contenus-container { flex-direction: column; text-align: center; gap: 30px; margin: 40px 0; padding: 0 20px; } .contenus-image, .contenus-texte { flex: none; width: 100%; } .contenus-image img { max-width: 100%; height: auto; } .contenus-image::before { display: none; } }

/*-------------------Galerie Custom--------------------------*/
#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; -webkit-user-select: none; -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; }

/* --- Coins arrondis sur les images de la galerie --- */
#custom-gallery .img-wrapper { border-radius: 15px; /* ajuste le rayon selon ton style */ overflow: hidden; /* masque les coins dépassants de l’image ou de l’overlay */ }

#custom-gallery .img-wrapper img { border-radius: 15px; /* arrondit l’image elle-même */ width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- Pour que l’overlay respecte aussi les coins arrondis --- */
#custom-gallery .img-overlay { border-radius: 15px; }

/* ============================ STYLE : TITRE SEUL ============================ */
.titre-realisations { text-align: center; /* centre le texte */ padding: 60px 8%; /* espace autour du titre */ background-color: #ffffff; /* couleur de fond (modifiable) */ }

.titre-realisations h3 { font-size: 1.8rem; font-weight: 600 !important; color: #000000; /* couleur du texte */ letter-spacing: 1px; }

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