@charset "UTF-8";
@import url(main.css);
a.nav-link.fs-6.dropdown-toggle { color: #1b3e1b !important; font-family: 'Young Serif' !important; }

.row.align-items-center.g-lg-5.py-5.position-relative { background-color: transparent !important; }

h2.display-6.fw-bold.p-3.pt-lg-3.m-0.titles { color: #1b3e1b !important; }

.px-4.py-5.my-5.text-center.cta_banner.bg-sixthColor { background-color: #1b3e1ba1 !important; }

center.px-3.px-md-5.py-4.bg-sixthColor.rounded-4 { background-color: #1b3e1ba1 !important; }

.row.align-items-center.g-lg-5.py-5 { background-color: #6a7e64; }

.card-body.mx-4.bg-sixthColor.text-color-sixth { background-color: #6a7e64; }

.card-body.d-flex.align-items-center.justify-content-center.px-3.px-md-5.py-4.bg-sixthColor.rounded-4 { background-color: #6a7e64 !important; }

.row.align-items-center.g-0.bg-sixthColor.rounded-3 { background-color: #6a7e64; }

.row.p-4.pb-0.pe-lg-0.pt-lg-5.pb-lg-5.rounded-3.shadow-lg.justify-content-center.position-relative.bg-sixthColor.text-color-sixth { background-color: #1b3e1ba1 !important; }

div#seo-text-images { background-color: #1b3e1ba1; }

.logo-footer > .logo_nav { height: 20vh !important; }

h1 { text-shadow: 3px 3px 6px #000000d6 !important; }

.sliderLogoContainer { width: 18vw !important; }

a#phone-analytics-tag-video-bloc { margin-top: 25px !important; }

a.navbar-brand { width: 100px !important; }

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

@media (max-width: 768px) { .sliderLogoContainer.mx-auto { width: 50vw !important; margin-bottom: 35px !important; } }

img.fondDegradeLogo { margin-top: 150px !important; }

.background-image-div-opacity { border-radius: 20px !important; }

.mx-auto.first-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 1px solid #1f4d32; border-radius: 20px !important; box-shadow: none !important; transition: 0.3s  ease; }

.mx-auto.second-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.rounded-3.shadow-lg.bg-primaryColor.text-color-primary.position-relative { border: 1px solid #1f4d32; border-radius: 20px !important; box-shadow: none !important; transition: 0.3s  ease; }

.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 1px solid #1f4d32; border-radius: 20px !important; box-shadow: none !important; transition: 0.3s  ease; }

.b-bloc-divider { border: none !important; border-width: none !important; box-shadow: none !important; background-color: #dae1d3 !important; }

ul.list-unstyled.d-flex.justify-content-center.justify-content-lg-start.gap-2.m-0 { color: #2f4d2f; }

i.bi.bi-geo-alt { color: #2f4d2f; }

i.bi.bi-telephone { color: #2f4d2f; }

h5.mb-4 { color: #3b4f3b; }

h5.mb-3 { color: #3b4f3b; }

nav#navigation-bar-hide { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

nav#navigation-bar-show { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

input#senderEmailAddress { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

input#firstName { background-color: rgba(231, 225, 213, 0.84) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

input#telNumber { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

input#lastName { background-color: rgba(231, 225, 213, 0.84) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

form#formContact { background-color: rgba(255, 255, 255, 0.5) !important; backdrop-filter: blur(0.2rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

input#subject { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

textarea#textMessage { background-color: rgba(231, 225, 213, 0.84) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { padding-top: 8rem !important; padding-bottom: 8rem !important; }

input#attachments { background-color: rgba(231, 225, 213, 0.5) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

.py-5 { padding-top: 8rem !important; padding-bottom: 8rem !important; }

.carousel-inner-homepage .carousel-item-homepage > img { animation: none !important; -webkit-animation: none !important; -o-animation: none !important; }

.carousel-item-homepage img { filter: none !important; }

img.d-block.w-100.first-carousel-img { padding-bottom: 100 !important; }

.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative { box-shadow: none !important; }

#contour.mx-auto.col-lg-11.px-4.py-4.mb-5.mt-5.text-color-primary.rounded-3.shadow-lg.bg-primaryColor.position-relative { margin: 0 !important; width: 100%; margin-bottom: 4rem !important; }

/* =========================== NAVBAR – ÉTATS GÉNÉRAUX =========================== */
#navigation-bar-hide { opacity: 1 !important; top: 0 !important; }

.navbar { transition: all 0.3s ease; }

.navbar.scrolled { background-color: rgba(252, 252, 252, 0.8) !important; backdrop-filter: blur(1rem); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

/* =========================== LOGO =========================== */
.navbar-brand { height: 10vh !important; width: 10vw !important; }

.logo_nav { height: 9vh !important; transition: all 0.3s ease; }

.navbar .logo_nav { padding-left: 2rem; }

.logo_nav:hover { transform: scale(1.05); }

/*------------------- CTA ACCUEIL --------------------------*/
a#phone-analytics-tag-video-bloc { display: inline-block; padding: 12px 32px; border-radius: 15px; color: #3b4f3b !important; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; text-decoration: none; background-color: #fff !important; border: none !important; transform: translateY(0) scale(1); transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; }

/* Hover */
a#phone-analytics-tag-video-bloc:hover { background-color: #3b4f3b !important; color: #fff !important; transform: translateY(-4px) scale(1.06); box-shadow: 0 8px 22px rgba(187, 109, 97, 0.35); }

/*------------------- CTA NAVBAR --------------------------*/
a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { display: inline-block; padding: 10px 28px; border-radius: 15px !important; color: #3b4f3b !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none !important; background-color: #fff !important; border: none !important; font-family: 'Young Serif'; font-size: 0.9rem; transform: translateY(0) scale(1); transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; }

/* Hover */
a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { color: #fff !important; background-color: #3b4f3b !important; transform: translateY(-4px) scale(1.06); box-shadow: 0 8px 22px rgba(187, 109, 97, 0.35); }

/*------------------- CTA SERVICES --------------------------*/
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { display: inline-block; margin-top: 14px; padding: 10px 28px; border-radius: 15px; font-weight: 600; font-size: 15px; color: #3b4f3b !important; text-decoration: none !important; background-color: #fff !important; border: none; transform: translateY(0) scale(1); transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; }

/* Hover */
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { color: #fff !important; /* 🔑 indispensable */ background-color: #3b4f3b !important; transform: translateY(-4px) scale(1.06); box-shadow: 0 8px 20px rgba(187, 109, 97, 0.35); }

/*----------------------------------------------------------------------------------------------Services--------------------------------------------------------------------------------------*/
/* ========================================================= ANIME SERVICE — SLIDER CARTES INTERACTIVES (CMS SAFE) ========================================================= */
:root { --anime-gap: 1.8rem; --anime-speed: 0.55s ease; /* tailles (inchangées) */ --anime-closed: 12rem; --anime-open: 42rem; }

/* SECTION + IMAGE DE FOND (AJOUT) */
.anime-service { padding: 100px 20px 60px; background-color: #d1daca; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }

/* TITRE (inchangé, bien centré) */
.anime-service-title { text-align: center; font-size: 42px; font-weight: 600; margin-bottom: 60px; color: #1f4d32; }

/* SLIDER */
.anime-service-slider { max-width: 1400px; margin: auto; overflow: hidden; }

/* TRACK */
.anime-service-track { display: flex; gap: var(--anime-gap); align-items: flex-start; justify-content: center; scroll-behavior: smooth; scroll-snap-type: x mandatory; padding-bottom: 40px; }

.anime-service-track::-webkit-scrollbar { display: none; }

/* CARTE */
.anime-service-card { position: relative; flex: 0 0 var(--anime-closed); height: 32rem; /* ✅ 42 -> 32 (MODIF DEMANDÉE) */ border-radius: 1.6rem; overflow: hidden; cursor: pointer; transition: flex-basis var(--anime-speed), transform var(--anime-speed); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); scroll-snap-align: center; }

/* ACTIVE (JS inchangé = attribut active) */
.anime-service-card[active] { flex-basis: var(--anime-open); transform: translateY(-8px); box-shadow: 0 22px 60px rgba(0, 0, 0, 0.3); }

/* IMAGE */
.anime-service-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.85); transition: transform var(--anime-speed), filter 0.3s; }

.anime-service-card:hover .anime-service-bg { transform: scale(1.06); filter: brightness(1); }

/* CONTENU */
.anime-service-content { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 0.8rem; padding: 2.4rem 2rem; background: linear-gradient(transparent 40%, rgba(0, 0, 0, 0.75) 100%); z-index: 2; }

.anime-service-card-title { color: #fff; font-weight: 700; font-size: 2.2rem; line-height: 1.1; text-transform: uppercase; letter-spacing: 1px; }

.anime-service-card-desc { display: none; color: rgba(255, 255, 255, 0.9); font-size: 1rem; line-height: 1.5; max-width: 18rem; }

.anime-service-card[active] .anime-service-card-desc { display: block; }

/* ✅ FLÈCHE EN HAUT (AJOUT) */
.anime-service-arrow { position: absolute; top: 18px; right: 18px; z-index: 5; width: 66px; height: 66px; border-radius: 999px; background: rgba(255, 255, 255, 0.92); color: #1f2937; text-decoration: none; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; transition: transform 0.25s ease, box-shadow 0.25s ease; }

.anime-service-arrow:hover { transform: scale(1.12); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25); }

/* RESPONSIVE (inchangé, même logique) */
@media (max-width: 767px) { :root { --anime-closed: 100%; --anime-open: 100%; --anime-gap: 1rem; } .anime-service-title { font-size: 34px; margin-bottom: 40px; } .anime-service-slider { padding: 0 20px; } .anime-service-track { flex-direction: column; scroll-snap-type: y mandatory; gap: 1rem; padding-bottom: 20px; } .anime-service-card { height: auto; min-height: 120px; flex: 0 0 auto; width: 100%; scroll-snap-align: start; } .anime-service-card[active] { min-height: 350px; transform: none; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2); } .anime-service-content { padding: 1.5rem; } .anime-service-card-title { font-size: 1.6rem; } .anime-service-card[active] .anime-service-card-title { font-size: 1.8rem; } .anime-service-card[active] .anime-service-card-desc { max-width: 100%; } }

/* ========================================================= TABLETTE — AJUSTEMENT SLIDER (évite cartes coupées) ========================================================= */
@media (max-width: 1024px) and (min-width: 768px) { .anime-service-track { justify-content: flex-start; padding: 0 40px; } .anime-service-card { flex: 0 0 260px; height: 28rem; } .anime-service-card[active] { flex-basis: 360px; } }

/*----------------------------------------------------------------------------------------------Réalisations--------------------------------------------------------------------------------------*/
.realisation-paysage { padding: 100px 80px; background-color: #d1daca; }

.realisation-paysage-wrapper { display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: center; }

/* TEXTE */
.realisation-paysage-left h2 { font-size: 46px; margin-bottom: 20px; color: #1f4d32; }

.realisation-paysage-left p { font-size: 17px; line-height: 1.6; color: #6d6d6d; margin-bottom: 30px; }

.realisation-paysage-cta { display: inline-block; padding: 12px 28px; background-color: #1b3e1b; color: #ffffff; text-decoration: none; border-radius: 15px; font-weight: 600; transition: all 0.35s ease; }

.realisation-paysage-cta:hover { background-color: #3b4f3b; color: #fff; transform: translateY(-4px) scale(1.06); }

/* SLIDER */
.realisation-paysage-right { position: relative; overflow: hidden; }

.realisation-paysage-track { display: flex; gap: 40px; transition: transform 0.5s ease; }

.realisation-paysage-card { flex: 0 0 320px; height: 460px; overflow: hidden; border-radius: 22px; }

.realisation-paysage-card img { width: 100%; height: 100%; object-fit: cover; }

/* NAVIGATION */
.realisation-paysage-nav { position: absolute; bottom: 20px; right: 20px; display: flex; gap: 10px; z-index: 10; }

.realisation-paysage-prev, .realisation-paysage-next { width: 50px; height: 50px; background-color: rgba(255, 255, 255, 0.9); border: none; border-radius: 50%; font-size: 28px; color: #3b4f3b; cursor: pointer; transition: all 0.3s ease; }

.realisation-paysage-prev:hover, .realisation-paysage-next:hover { background-color: #3b4f3b; color: #fff; transform: scale(1.1); }

/* =================================== RESPONSIVE – TABLETTE & MOBILE =================================== */
@media (max-width: 1024px) { .realisation-paysage { padding: 70px 40px; } .realisation-paysage-wrapper { grid-template-columns: 1fr; gap: 50px; } /* Slider tactile */ .realisation-paysage-right { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } .realisation-paysage-track { display: flex; gap: 20px; padding-bottom: 10px; scroll-snap-type: x mandatory; } .realisation-paysage-card { flex: 0 0 280px; height: 400px; scroll-snap-align: start; } /* Masquer navigation boutons */ .realisation-paysage-nav { display: none; } }

/* =================================== RESPONSIVE – TABLETTE & MOBILE =================================== */
@media (max-width: 1024px) { /* SECTION */ .realisation-paysage { padding: 70px 40px; } .realisation-paysage-wrapper { grid-template-columns: 1fr; gap: 50px; } /* TEXTE */ .realisation-paysage-left { text-align: center; } .realisation-paysage-left h2 { font-size: 38px; } .realisation-paysage-left p { font-size: 16px; max-width: 680px; margin: 0 auto 30px; } .realisation-paysage-cta { display: inline-block; margin: 0 auto; } /* SLIDER TACTILE */ .realisation-paysage-right { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } .realisation-paysage-track { display: flex; gap: 20px; padding-bottom: 10px; scroll-snap-type: x mandatory; } .realisation-paysage-card { flex: 0 0 280px; height: 400px; scroll-snap-align: center; } /* NAVIGATION */ .realisation-paysage-nav { display: none; } }

/* =================================== MOBILE =================================== */
@media (max-width: 600px) { .realisation-paysage { padding: 60px 20px; } .realisation-paysage-left h2 { font-size: 32px; } .realisation-paysage-left p { font-size: 15px; } .realisation-paysage-card { flex: 0 0 85%; height: 360px; } }

/* =================================== SCROLLBAR CLEAN (OPTIONNEL) =================================== */
.realisation-paysage-right::-webkit-scrollbar { display: none; }

/*----------------------------------------------------------------------------------------------CTA--------------------------------------------------------------------------------------*/
.cta-wave { position: relative; width: 100%; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2strcrBGg0eWlFerK6dHgWOqy0l1%2Fimages%2FDesign_sans_titre_-_2025-12-18T145125766_x3xh.webp"); background-size: cover; background-position: center; padding: 140px 20px; overflow: hidden; }

/* WAVES */
.wave { position: absolute; left: 0; width: 100%; height: 120px; fill: #d1daca; display: block; }

.wave-top { top: 0; }

.wave-bottom { bottom: 0; }

/* CONTENU */
.cta-content { position: relative; z-index: 2; max-width: 800px; margin: auto; text-align: center; color: #fff; }

.cta-title { font-size: 2.4rem; margin-bottom: 14px; line-height: 1.2; color: #fff; }

.cta-text { font-size: 1.9rem; line-height: 1.4; margin-bottom: 30px; }

/* CTA */
.cta-btn { display: inline-block; padding: 14px 40px; background: rgba(255, 255, 255, 0.9); color: #2b2b2b; text-decoration: none; border-radius: 100px 0px; font-weight: 600; transition: transform 0.3s ease, background 0.3s ease; }

.cta-btn:hover { transform: translateY(-3px); background: #1b3e1b; }

/*----------------------------------------------------------------------------------------------Réseaux--------------------------------------------------------------------------------------*/
/* ------------------------------ SECTION RÉSEAUX — PAYSAGE ------------------------------ */
.reseaux-paysage { background: #f2ede2; padding: 80px 20px; text-align: center; }

.reseaux-paysage-top { color: #1f4d32; font-size: 1rem; font-weight: 700; letter-spacing: 1px; margin-bottom: 10px; }

.reseaux-paysage h2 { font-size: 2.6rem; font-weight: 800; color: #000000A9; margin-bottom: 10px; }

.reseaux-paysage p { font-size: 1.1rem; color: #555; margin-bottom: 50px; }

/* ICONS */
.reseaux-paysage-icons { display: flex; justify-content: center; }

/* ITEM */
.reseaux-paysage-item { text-decoration: none; color: #131B26; transition: 0.3s ease; }

/* CERCLE IMAGE */
.reseaux-paysage-icon { position: relative; width: 160px; height: 160px; display: flex; justify-content: center; align-items: center; transition: transform 0.4s ease; }

/* IMAGE DE FOND (ROND) */
.reseaux-paysage-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }

/* LOGO INSTAGRAM */
.reseaux-paysage-logo { position: relative; width: 60px; height: 60px; z-index: 2; }

/* HOVER ZOOM */
.reseaux-paysage-item:hover .reseaux-paysage-icon { transform: scale(1.12); }

/* TEXTE */
.reseaux-paysage-item span { display: block; margin-top: 14px; font-size: 1.2rem; font-weight: 600; transition: color 0.3s ease; }

.reseaux-paysage-item:hover span { color: #1f4d32; }

/*----------------------------------------------------------------------------------------------Intro--------------------------------------------------------------------------------------*/
/* =========================== SECTION PRÉSENTATION =========================== */
.presentation-paysage { position: relative; width: 100%; padding: 80px 20px; overflow: hidden; /* ❌ suppression fond */ background: transparent !important; background-image: none !important; background-attachment: initial !important; }

/* pour que ton contenu passe au-dessus */
.presentation-paysage-inner { position: relative; z-index: 1; }

/* =========================== LAYOUT =========================== */
.presentation-paysage-inner { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: center; gap: 80px; }

/* =========================== TEXTE =========================== */
.presentation-paysage-text { max-width: 760px; }

.presentation-paysage-label { margin-bottom: 14px; font-size: 2rem; font-weight: 500; font-family: 'Staatliches'; color: #1f4d32; }

.presentation-paysage-text h2 { margin-bottom: 28px; font-size: 3rem; color: #111; }

.presentation-paysage-text p { margin-bottom: 18px; font-size: 1.1rem; line-height: 1.75; color: #333; }

/* =========================== IMAGE =========================== */
.presentation-paysage-media { display: flex; justify-content: center; align-items: center; }

.presentation-paysage-media img { width: 120% !important; max-width: 520px; height: auto; object-fit: contain; border-radius: 22px; }

/* =========================== RESPONSIVE =========================== */
@media (max-width: 1024px) { .presentation-paysage-inner { grid-template-columns: 1fr 1fr; gap: 50px; } .presentation-paysage-text h2 { font-size: 2.4rem; } .presentation-paysage-media img { max-width: 440px; } }

@media (max-width: 768px) { .presentation-paysage-inner { grid-template-columns: 1fr; gap: 40px; } .presentation-paysage-text { text-align: left; } .presentation-paysage-text h2 { font-size: 2.1rem; } .presentation-paysage-media img { max-width: 100%; } }

/*----------------------------------------------------------------------------------------------Icones--------------------------------------------------------------------------------------*/
/* =========================== ACCOMPAGNEMENT PAYSAGE =========================== */
.accompagnement-paysage { padding: 100px 20px; text-align: center; /* IMAGE DE FOND */ background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2strcrBGg0eWlFerK6dHgWOqy0l1%2Fimages%2FDesign_sans_titre_-_2025-12-18T182940245_m73j.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

/* =========================== HEADER =========================== */
.accompagnement-top { color: #4f8f63; font-size: 0.9rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px; }

.accompagnement-title { font-size: 2.4rem; font-weight: 800; color: #1f4d32; margin-bottom: 16px; }

.accompagnement-intro { max-width: 980px; margin: 0 auto 52px; font-size: 1.1rem; line-height: 1.7; color: #444; }

/* =========================== LISTE DES ÉTAPES =========================== */
.accompagnement-items { display: flex; justify-content: center; gap: 56px; flex-wrap: wrap; }

/* ITEM */
.accompagnement-item { width: 190px; text-align: center; opacity: 0; transform: translateY(24px); animation: fadeUp 0.6s ease forwards; }

/* Cascade */
.accompagnement-item:nth-child(1) { animation-delay: 0.1s; }

.accompagnement-item:nth-child(2) { animation-delay: 0.25s; }

.accompagnement-item:nth-child(3) { animation-delay: 0.4s; }

.accompagnement-item:nth-child(4) { animation-delay: 0.55s; }

.accompagnement-item:nth-child(5) { animation-delay: 0.7s; }

/* CERCLE */
.accompagnement-circle { width: 150px; height: 150px; margin: 0 auto 16px; border-radius: 50%; border: 2px solid rgba(79, 143, 99, 0.45); background: rgba(255, 255, 255, 0.36); display: flex; align-items: center; justify-content: center; overflow: hidden; }

/* IMAGE DANS LE CERCLE */
.accompagnement-circle img { width: 100%; height: 100%; object-fit: cover; }

/* TEXTE */
.accompagnement-item span { display: block; font-size: 1rem; line-height: 1.35; font-weight: 600; color: #1f4d32; }

/* =========================== ANIMATION =========================== */
@keyframes fadeUp { from { opacity: 0;
    transform: translateY(24px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* Accessibilité */
@media (prefers-reduced-motion: reduce) { .accompagnement-item { opacity: 1; transform: none; animation: none; } }

/* =========================== RESPONSIVE =========================== */
@media (max-width: 1024px) { .accompagnement-items { gap: 44px; } .accompagnement-item { width: 170px; } .accompagnement-circle { width: 130px; height: 130px; } }

@media (max-width: 768px) { .accompagnement-paysage { padding: 80px 20px; } .accompagnement-title { font-size: 2rem; } .accompagnement-items { gap: 36px; } .accompagnement-item { width: 160px; opacity: 0; transform: translateY(20px); animation: fadeUp 0.6s ease forwards; } .accompagnement-circle { width: 120px; height: 120px; } .accompagnement-item span { font-size: 0.95rem; } }

/* =========================== ACCESSIBILITÉ (OPTIONNEL) =========================== */
@media (prefers-reduced-motion: reduce) { .accompagnement-item { animation: none; opacity: 1; transform: none; } }

/*----------------------------------------------------------------------------------------------Cartes-images--------------------------------------------------------------------------------------*/
/* =========================== SECTION PRESTATIONS =========================== */
.carte-image { padding: 100px 20px; background: #f6f4ec; }

/* =========================== EN-TÊTE =========================== */
.carte-image-header { max-width: 900px; margin: 0 auto 80px; text-align: center; }

.carte-image-header h2 { font-size: 2.8rem; font-weight: 600; color: #2f4d2f; margin-bottom: 14px; }

.carte-image-header p { font-size: 1.1rem; line-height: 1.7; color: #5a5a5a; }

/* =========================== CONTENU (IMAGE À GAUCHE / CARTES À DROITE) =========================== */
.carte-image-content { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 520px auto; align-items: center; gap: 80px; }

/* =========================== IMAGE — GAUCHE =========================== */
.carte-image-decor { display: flex; justify-content: flex-start; }

.carte-image-decor img { width: 100%; max-width: 520px; height: auto; display: block; }

/* =========================== CARTES =========================== */
.carte-image-cards { display: flex; gap: 34px; }

.carte-image-card { width: 360px; padding: 44px 34px; border-radius: 26px; text-align: left; }

.carte-image-card h3 { font-size: 1.45rem; font-weight: 600; color: #2f4d2f; margin-bottom: 14px; }

.carte-image-card h4 { font-size: 1.1rem; font-weight: 600; color: #4f8f63; margin-bottom: 16px; }

.carte-image-card p { font-size: 1rem; line-height: 1.65; color: #4f4f4f; }

.carte-image-card-main { background: #e4ecd1; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08); }

.carte-image-card-outline { background: transparent; box-shadow: inset 0 0 0 2px rgba(79, 143, 99, 0.45); }

/* =========================== LISTE =========================== */
.carte-image-list { list-style: none; padding: 0; margin: 18px 0 0; }

.carte-image-list li { position: relative; padding-left: 18px; margin-bottom: 10px; font-size: 1rem; color: #4f4f4f; }

.carte-image-list li::before { content: "•"; position: absolute; left: 0; color: #4f8f63; font-weight: bold; }

/* =========================== RESPONSIVE — AUCUNE IMAGE =========================== */
@media (max-width: 900px) { .carte-image { padding: 70px 20px; } .carte-image-content { grid-template-columns: 1fr; gap: 50px; } /* SUPPRESSION TOTALE DE L’IMAGE */ .carte-image-decor { display: none; } .carte-image-header h2 { font-size: 2.1rem; } .carte-image-cards { flex-direction: column; align-items: center; } .carte-image-card { width: 100%; max-width: 420px; } }

/*----------------------------------------------------------------------------------------------Cartes-minipelle--------------------------------------------------------------------------------------*/
/* =========================== MINIPELLE BLOC — PRESTATIONS =========================== */
.minipelle-bloc { padding: 100px 20px; background: #f6f4ec; text-align: center; }

/* En-tête */
.minipelle-bloc-header h2 { font-size: 2.8rem; font-weight: 600; color: #2f4d2f; margin-bottom: 14px; }

.minipelle-bloc-header p { max-width: 760px; margin: 0 auto 70px; font-size: 1.1rem; line-height: 1.7; color: #5a5a5a; }

/* Layout principal */
.minipelle-bloc-content { display: flex; justify-content: center; align-items: flex-end; gap: 80px; }

/* Image décorative */
.minipelle-bloc-decor img { width: 460px; height: auto; display: block; }

/* Cartes */
.minipelle-bloc-cards { display: flex; gap: 34px; }

/* Carte commune */
.minipelle-bloc-card { width: 355px; padding: 42px 32px; border-radius: 24px; text-align: left; }

.minipelle-bloc-card h3 { font-size: 1.45rem; font-weight: 600; color: #2f4d2f; margin-bottom: 14px; }

.minipelle-bloc-card h4 { font-size: 1.1rem; font-weight: 600; color: #4f8f63; margin-bottom: 16px; }

.minipelle-bloc-card p { font-size: 1rem; line-height: 1.65; color: #4f4f4f; }

/* Carte principale */
.minipelle-bloc-card-main { background: #e4ecd1; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08); }

/* Carte contour */
.minipelle-bloc-card-outline { background: transparent; box-shadow: inset 0 0 0 2px rgba(79, 143, 99, 0.45); }

/* Liste */
.minipelle-bloc-list { list-style: none; padding: 0; margin: 18px 0 0; }

.minipelle-bloc-list li { position: relative; padding-left: 18px; margin-bottom: 10px; font-size: 1rem; color: #4f4f4f; }

.minipelle-bloc-list li::before { content: "•"; position: absolute; left: 0; color: #4f8f63; font-weight: bold; }

/* =========================== RESPONSIVE =========================== */
@media (max-width: 900px) { .minipelle-bloc-content { flex-direction: column; align-items: center; } /* Masquer image principale */ .minipelle-bloc-decor { display: none; } /* Image icône au-dessus du H2 */ .minipelle-bloc-header::before { content: ""; display: block; width: 130px; height: 130px; margin: 0 auto 18px; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2strcrBGg0eWlFerK6dHgWOqy0l1%2Fimages%2FDesign_sans_titre_-_2025-12-19T114848763_ybl0.webp"); background-size: contain; background-repeat: no-repeat; background-position: center; } .minipelle-bloc-header h2 { font-size: 2.1rem; } .minipelle-bloc-header p { margin-bottom: 40px; } .minipelle-bloc-cards { flex-direction: column; } .minipelle-bloc-card { width: 100%; max-width: 420px; } }

/*-------------------Galerie Custom--------------------------*/
#custom-gallery { padding-top: 40px; /* ✅ FOND EN ARRIÈRE-PLAN */ background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2strcrBGg0eWlFerK6dHgWOqy0l1%2Fimages%2FDesign_sans_titre_-_2025-12-19T150606293_ryuh.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

@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; /* ✅ BORDER RADIUS AJOUTÉ */ border-radius: 50px; overflow: hidden; }

.img-wrapper img { width: 100%; height: 100%; object-fit: cover; /* sécurité radius image */ border-radius: 50px; }

.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; /* ✅ même radius que l’image */ border-radius: 50px; }

.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, #prevButton, #exitButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#nextButton:hover, #prevButton:hover, #exitButton:hover { opacity: 0.7; }

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

#exitButton { position: absolute; top: 15px; right: 15px; }

.img-responsive { height: 100% !important; object-fit: cover !important; /* cohérence radius */ border-radius: 50px; }

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