@charset "UTF-8";
@import url(main.css);
.nav-link { color: #465882 !important; }

.col-lg-7.my-0.order-1.order-lg-1.order-xl-1.order-xxl-1 { color: #465882; }

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

.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { background-color: transparent !important; }

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

h5.mb-4 { color: #465882; font-family: 'Alfa Slab One', serif; }

.b-bloc-divider { border: none !important; border-width: none !important; box-shadow: none !important; background-color: transparent !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 { margin: 0 !important; width: 100%; margin-bottom: 4rem !important; }

.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { max-width: 1400px; margin: 0 auto; padding: 0 40px; }

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

#inverse > .flex-lg-row-reverse { flex-direction: row !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: 0 0rem 0rem rgba(0, 0, 0, 0.175) !important; }

.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 { box-shadow: 0 0rem 0rem rgba(0, 0, 0, 0.175) !important; }

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

div#inverse { box-shadow: 0 0rem 0rem rgba(0, 0, 0, 0.175) !important; }

/*--------------------------------------------------------- BOUTON ACCUEIL ----------------------------------------------------------*/
a#phone-analytics-tag-video-bloc { display: inline-block; border: 2px solid #fff; border-radius: 30px; padding: 10px 28px; color: #fff !important; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.3s ease; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4); text-decoration: none; background: transparent !important; }

/* Survol : intérieur bleu #465882, texte blanc */
a#phone-analytics-tag-video-bloc:hover, a#phone-analytics-tag-video-bloc:focus, a#phone-analytics-tag-video-bloc:active { background-color: #465882 !important; color: #fff !important; text-shadow: none !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important; box-shadow: 0 0 20px black; text-shadow: 5px 5px 5px #000000 !important; }

/*--------------------------------------------------------- BOUTON CTA (double screen) ----------------------------------------------------------*/
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { display: inline-block; border: 2px solid #ffffff; /* contour bleu */ border-radius: 30px; padding: 10px 28px; color: #ffffff !important; /* texte bleu */ font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.3s ease; background: transparent !important; text-shadow: none; text-decoration: none; }

/* Survol : fond blanc, texte bleu */
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover, a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:focus, a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:active { background-color: #ffffff !important; color: #465882 !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover span, a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover strong { color: #465882 !important; }

/*--------------------------------------------------------- BOUTON NAVIGATION (téléphone dans header) ----------------------------------------------------------*/
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; border: 2px solid #fff; /* contour blanc */ border-radius: 30px; padding: 10px 28px; color: #fff !important; /* texte blanc */ font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.3s ease; background: transparent !important; text-decoration: none; }

/* Survol : fond bleu #465882, texte blanc */
a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:focus, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:active { background-color: #465882 !important; color: #fff !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25); }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover span, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover strong, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover svg { color: #fff !important; fill: #fff !important; }

/*--------------------------------------------------------------------------Présentation--------------------------------------------------------------------------------*/
.section-chelun { max-width: 1400px; margin: 80px auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 0 40px; }

/* IMAGE SANS MODIFICATION, SANS CROP, SANS ARRONDI */
.section-chelun img { width: 100%; height: auto; /* ⭐ préserve le ratio naturel */ border-radius: 0; /* ⭐ aucun arrondi */ object-fit: unset; /* ⭐ aucun crop */ }

/* TITRES ET TEXTES */
.section-chelun h3 { font-size: 20px; font-weight: 700; color: #465882; margin-bottom: 10px; text-transform: uppercase; }

.section-chelun h2 { font-size: 44px; font-weight: 700; line-height: 1.2; color: #465882; margin-bottom: 25px; }

.section-chelun p { font-size: 19px; color: #465882; line-height: 1.7; margin-bottom: 20px; max-width: 600px; }

/* CTA */
.btn-chelun { margin-top: 20px; display: inline-block; padding: 14px 34px; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 50px; border: 2px solid #465882; color: #465882; transition: 0.3s ease; }

.btn-chelun:hover { background-color: #465882; color: #fff; }

@media (max-width: 900px) { .section-chelun { grid-template-columns: 1fr; text-align: center; } .section-chelun img { height: auto; border-radius: 0; } .section-chelun p { max-width: 100%; } }

/*--------------------------------------------------------------------------Services--------------------------------------------------------------------------------*/
/* ---------------------------------------------------- 🎨 FOND PLEIN ÉCRAN #bec7dc ----------------------------------------------------- */
.blond-services-wrapper { width: 100vw; background-color: #dfe6f1; padding: 100px 0 150px; position: relative; left: 50%; transform: translateX(-50%); }

/* ---------------------------------------------------- 📝 TITRE SECTION ----------------------------------------------------- */
.blond-services-title { text-align: center; margin-bottom: 60px; }

.blond-services-title h2 { font-size: 55px; color: #465882; font-weight: 700; margin-bottom: 10px; }

.blond-services-title p { font-size: 19px; color: #465882; opacity: 0.95; }

/* ---------------------------------------------------- 🟦 GRILLE CARDS CENTRÉE ----------------------------------------------------- */
.blond-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; max-width: 1400px; margin: 0 auto; padding: 0 20px; }

/* ---------------------------------------------------- 🟦 CARDS ----------------------------------------------------- */
.blond-services .card { position: relative; height: 350px; border-radius: 20px; overflow: hidden; cursor: pointer; transition: transform 0.3s ease; }

.blond-services .card:hover { transform: translateY(-5px); }

.blond-services .card::before { content: ""; position: absolute; bottom: -12px; right: -12px; width: 92%; height: 92%; background-color: #465882; border-radius: 20px; z-index: -1; transition: all 0.35s ease; }

.blond-services .card:hover::before { bottom: -16px; right: -16px; }

/* ---------------------------------------------------- 🖼️ IMAGES DANS LES CARTES ----------------------------------------------------- */
.card-bg { width: 100%; height: 100%; object-fit: cover; }

/* ---------------------------------------------------- 🌙 OVERLAY ----------------------------------------------------- */
.card-overlay { position: absolute; inset: 0; background: rgba(70, 88, 130, 0.17); padding: 25px; display: flex; flex-direction: column; justify-content: space-between; color: white; }

.card-content h3 { font-size: 1.5em; font-weight: 700; font-family: Josefin Sans; text-transform: uppercase; margin-bottom: 8px; text-shadow: 4px 4px 4px #172547 !important; }

/* ---------------------------------------------------- 🔘 CTA DANS LES CARTES ----------------------------------------------------- */
.cta-button { position: absolute; bottom: 25px; left: 25px; right: 25px; background-color: rgba(70, 88, 130, 0.4); backdrop-filter: blur(10px); border-radius: 30px; height: 0; overflow: hidden; opacity: 0; padding: 0; transition: all 0.4s ease; display: flex; align-items: center; justify-content: space-between; }

.card:hover .cta-button { height: 50px; padding: 15px 20px; opacity: 1; }

.cta-arrow { width: 30px; height: 30px; background-color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; /* ⭐ taille flèche */ font-weight: 700; /* ⭐ flèche plus visible */ color: #465882; /* ⭐ couleur flèche */ }

/* ---------------------------------------------------- 📱 RESPONSIVE ----------------------------------------------------- */
@media (max-width: 1024px) { .blond-services { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 640px) { .blond-services { grid-template-columns: 1fr; } .blond-services .card { height: 320px; } }

/*--------------------------------------------------------------------------Icones--------------------------------------------------------------------------------*/
/* Conteneur global */
.icones-leblond-wrapper { width: 100%; display: flex; justify-content: center; margin: 60px 0; }

/* Grille */
.icones-leblond-grid { display: flex; gap: 30px; justify-content: center; flex-wrap: nowrap; }

/* Cartes (les cartes SONT des <a>) */
.icones-leblond-card { background: #ffffff; border-radius: 22px; padding: 20px 25px; text-align: center; width: 190px; height: 160px; /* carré */ display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 0 0 1px rgba(70, 88, 130, 0.08), 0 10px 25px rgba(0, 0, 0, 0.06), 0 0 18px rgba(70, 88, 130, 0.25); transition: 0.25s ease; cursor: pointer; /* 🔥 CORRECTION IMPORTANTE : enlève tout soulignage */ text-decoration: none !important; }

/* Hover */
.icones-leblond-card:hover { transform: translateY(-4px); box-shadow: 0 0 0 2px rgba(70, 88, 130, 0.25), 0 16px 40px rgba(0, 0, 0, 0.12), 0 0 25px rgba(70, 88, 130, 0.38); }

/* Icônes */
.icones-leblond-card img { width: 75px; height: 75px; object-fit: contain; margin-bottom: 10px; }

/* Texte */
.icones-leblond-card p { margin: 0; font-size: 19px; font-weight: 600; color: #465882; /* 🔥 empêche le soulignage sur le texte */ text-decoration: none !important; }

/* Responsive */
@media (max-width: 900px) { .icones-leblond-grid { flex-wrap: wrap; } .icones-leblond-card { width: 45%; height: 150px; } }

@media (max-width: 500px) { .icones-leblond-card { width: 100%; height: 150px; } }

/*--------------------------------------------------------------------------Etapes Couverture--------------------------------------------------------------------------------*/
/************************************ SECTION PROCESSUS */
.process-section { width: 100%; text-align: center; padding: 80px 20px; /* ⭐ AJOUT : ARRIÈRE-PLAN IMAGE */ background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2b8s3oNfngXCtrozgq3pGN9CuYJ3%2Fimages%2FDesign_sans_titre_-_2025-11-20T154446324_fh7r.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

/* ----- TITRES ----- */
.process-title p { color: #999; letter-spacing: 1.4px; font-size: 18px; text-transform: uppercase; margin-bottom: 8px; }

.process-title h2 { font-size: 42px; font-weight: 700; color: #465882; }

.process-title .underline { display: block; width: 70px; height: 3px; background: #ff5722; margin: 15px auto 40px; border-radius: 2px; }

/************************************ GRILLE DES 4 ÉTAPES */
.process-grid { display: grid; grid-template-columns: repeat(7, 1fr); /* 4 items + 3 flèches */ align-items: center; column-gap: 25px; max-width: 1200px; margin: 0 auto; }

/************************************ ÉLÉMENTS (cartes) */
.process-item { text-align: center; }

.process-icon { width: 160px; height: 160px; margin: 0 auto 22px; border-radius: 50%; background: #fff; border: 2px dashed #dcdcdc; position: relative; display: flex; align-items: center; justify-content: center; }

.process-icon img { width: 140px; opacity: 0.9; }

.step-number { position: absolute; top: -10px; right: -10px; background: #333; color: #fff; font-size: 13px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }

.process-item h3 { font-size: 25px; font-weight: 700; margin-bottom: 10px; color: #465882; }

.process-item p { max-width: 260px; margin: 0 auto; color: #777; font-size: 16px; line-height: 1.6; }

/************************************ FLÈCHES ENTRE LES ÉTAPES */
.process-arrow { width: 100%; max-width: 140px; /* taille desktop */ margin: 0 auto; opacity: 0.9; }

/* adaptation progressive */
@media (max-width: 1300px) { .process-arrow { max-width: 115px; } }

@media (max-width: 1100px) { .process-arrow { max-width: 95px; } }

/************************************ RESPONSIVE — TABLETTES */
@media (max-width: 992px) { .process-grid { grid-template-columns: repeat(2, 1fr); row-gap: 60px; column-gap: 40px; } /* On masque les flèches en disposition multi-lignes */ .process-arrow { display: none; } .process-item p { max-width: 90%; } }

/************************************ RESPONSIVE — MOBILE */
@media (max-width: 600px) { .process-title h2 { font-size: 32px; } .process-grid { grid-template-columns: 1fr; row-gap: 50px; } .process-icon { width: 100px; height: 100px; } .step-number { width: 28px; height: 28px; font-size: 12px; } .process-item h3 { font-size: 18px; } .process-item p { font-size: 14px; } }

/*--------------------------------------------------------------------------Etapes Démoussage--------------------------------------------------------------------------------*/
/************************************ SECTION PROCESSUS — etapes-trois */
.etapes-trois-section { width: 100%; text-align: center; padding: 80px 20px; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2b8s3oNfngXCtrozgq3pGN9CuYJ3%2Fimages%2FDesign_sans_titre_-_2025-11-20T124945135_i76o.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

/* ----- TITRES ----- */
.etapes-trois-title p { color: #999; letter-spacing: 1.4px; font-size: 14px; text-transform: uppercase; margin-bottom: 8px; }

.etapes-trois-title h2 { font-size: 42px; font-weight: 700; color: #465882; }

.etapes-trois-title .underline { display: block; width: 70px; height: 3px; background: #ff5722; margin: 15px auto 40px; border-radius: 2px; }

/************************************ GRILLE 3 ÉTAPES CENTRÉE */
.etapes-trois-grid { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; max-width: 1100px; margin: 0 auto; column-gap: 25px; }

/************************************ ÉLÉMENTS (cartes) */
.etapes-trois-item { text-align: center; }

.etapes-trois-icon { width: 160px; height: 160px; margin: 0 auto 22px; border-radius: 50%; background: #fff; border: 2px dashed #dcdcdc; position: relative; display: flex; align-items: center; justify-content: center; }

.etapes-trois-icon img { width: 140px; }

.step-number { position: absolute; top: -10px; right: -10px; background: #333; color: #fff; font-size: 13px; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }

.etapes-trois-item h3 { font-size: 25px; font-weight: 700; margin-bottom: 10px; color: #465882; }

.etapes-trois-item p { max-width: 360px; margin: 0 auto; color: #777; font-size: 17px; line-height: 1.4; }

/************************************ FLÈCHES */
.etapes-trois-arrow { width: 110px; opacity: 0.9; }

/************************************ RESPONSIVE */
@media (max-width: 992px) { .etapes-trois-grid { grid-template-columns: 1fr; row-gap: 50px; } .etapes-trois-arrow { display: none; } }

/*--------------------------------------------------------------------------Etapes Ramonage--------------------------------------------------------------------------------*/
/* ---------------------------------------------------- 🌟 SECTION RAMONAGE — carte-leblond ---------------------------------------------------- */
.carte-leblond { width: 100%; padding: 90px 0 120px; background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F2b8s3oNfngXCtrozgq3pGN9CuYJ3%2Fimages%2FDesign_sans_titre_-_2025-11- 20T161156169_2p9z.webp") center/cover no-repeat; text-align: center; }

/* --- TITRES --- */
.carte-leblond h2 { font-size: 46px; font-weight: 700; color: #465882; margin-bottom: 12px; }

.carte-leblond p.subtitle { font-size: 18px; color: #465882; opacity: 0.9; margin-bottom: 60px; }

/* --- GRILLE DES CARTES --- */
.carte-leblond-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }

/* --- CARTE --- */
.carte-leblond-card { background: rgba(255, 255, 255, 0.9); border-radius: 22px; padding: 40px 25px; box-shadow: 0 10px 30px rgba(70, 88, 130, 0.1); backdrop-filter: blur(3px); text-align: center; }

/* --- ICÔNE RONDE --- */
.carte-leblond-icon { width: 90px; height: 90px; background: #eef2f8; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }

.carte-leblond-icon img { width: 80px; height: 80px; opacity: 0.7; }

/* --- TITRE CARTE --- */
.carte-leblond-card h3 { font-size: 20px; font-weight: 700; color: #465882; margin-bottom: 10px; }

/* --- TEXTE --- */
.carte-leblond-card p { font-size: 15px; color: #465882; opacity: 0.9; line-height: 1.6; }

/* --- RESPONSIVE --- */
@media (max-width: 1000px) { .carte-leblond-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) { .carte-leblond-grid { grid-template-columns: 1fr; } }

/*--------------------------------------------------------------------------Accueil--------------------------------------------------------------------------------*/
/* SECTION GLOBALE */
.accueil-leblond { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 120px 80px; background: linear-gradient(135deg, #eef2f7, #dfe6f1); border-radius: 0 0 60px 60px; gap: 40px; position: relative; overflow: hidden; }

/* FORMES DÉCORATIVES */
.accueil-deco { position: absolute; left: -80px; top: 180px; width: 380px; opacity: 0.35; z-index: 0; pointer-events: none; }

/* TEXTE À GAUCHE */
.accueil-leblond-content { max-width: 600px; position: relative; z-index: 2; }

.accueil-leblond-content h1 { font-size: 50px; font-weight: 700; color: #465882; line-height: 1.15; margin-bottom: 25px; }

.accueil-subtitle { font-size: 22px; color: #465882; opacity: 0.85; margin-bottom: 35px; line-height: 1.5; }

/* BOUTONS */
.accueil-buttons { display: flex; gap: 20px; }

.accueil-btn-primary { padding: 16px 34px; background: #465882; color: #fff; border-radius: 40px; font-size: 18px; text-decoration: none; transition: 0.3s ease; }

.accueil-btn-primary:hover { background: #ffffff; color: #465882; border: 2px solid #465882; }

.accueil-btn-secondary { padding: 16px 34px; background: #fff; color: #465882; border-radius: 40px; font-size: 18px; text-decoration: none; border: 2px solid #e0e6f0; transition: 0.3s ease; }

.accueil-btn-secondary:hover { background: #e9edf5; }

/* IMAGE À DROITE — SANS RECTANGLE NI FILTRE */
.accueil-leblond-image img { width: 800px; height: auto; border-radius: 40px; object-fit: cover; box-shadow: none !important; border: none !important; }

/* RESPONSIVE */
@media (max-width: 992px) { .accueil-leblond { flex-direction: column; text-align: center; padding: 80px 40px; } .accueil-buttons { justify-content: center; } .accueil-deco { width: 300px; left: 50%; transform: translateX(-50%); top: 420px; opacity: 0.25; } .accueil-leblond-image img { width: 100%; max-width: 600px; margin-top: 40px; } }

@media (max-width: 600px) { .accueil-leblond-content h1 { font-size: 40px; } .accueil-subtitle { font-size: 18px; } .accueil-deco { width: 220px; top: 360px; } }

/*--------------------------------------------------------------------------Galerie--------------------------------------------------------------------------------*/
/*-------------------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; }

/*--------------------------------------------------------------------------Réalisations--------------------------------------------------------------------------------*/
.rea-leblond { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 80px 60px; position: relative; gap: 60px; background: transparent; overflow: visible; /* important pour ne plus couper les cercles */ }

/* Blobs décoratifs */
.rea-leblond-blob { position: absolute; opacity: 0.25; width: 350px; z-index: 0; pointer-events: none; }

/* Pas en haut / pas trop bas → légèrement sur les côtés */
.blob-1 { top: 120px; left: -120px; }

.blob-2 { bottom: 80px; right: -100px; width: 300px; }

/* TEXTE */
.rea-leblond-left { max-width: 550px; position: relative; z-index: 2; }

.rea-leblond-mini-title { color: #465882; font-size: 16px; letter-spacing: 1.5px; margin-bottom: 10px; }

.rea-leblond h2 { font-size: 48px; font-weight: 700; color: #465882; margin-bottom: 25px; }

.rea-leblond-text { font-size: 19px; color: #465882; opacity: 0.9; line-height: 1.6; margin-bottom: 35px; }

/* BOUTON */
.rea-leblond-btn { display: inline-block; padding: 14px 32px; border-radius: 40px; color: #465882; border: 2px solid #465882; text-decoration: none; font-size: 18px; transition: 0.3s ease; }

.rea-leblond-btn:hover { background: #465882; color: #ffffff; }

/* IMAGE */
.rea-leblond-right img { width: 620px; border-radius: 28px; object-fit: cover; display: block; z-index: 2; position: relative; }

/* RESPONSIVE */
@media (max-width: 992px) { .rea-leblond { flex-direction: column-reverse; text-align: center; padding: 60px 30px; } .rea-leblond-right img { width: 100%; max-width: 520px; } /* Blobs repositionnés pour mobile */ .blob-1 { top: 40px; left: -60px; width: 260px; } .blob-2 { bottom: 40px; right: -40px; width: 220px; } }

@media (max-width: 600px) { .rea-leblond h2 { font-size: 36px; } .rea-leblond-text { font-size: 16px; } }

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