@charset "UTF-8";
@import url(main.css);
.video-background-holder { display: none; }

a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { display: none; }

h3.fs-2.py-5.my-5.lh-1.fw-bold { font-weight: 400 !important; }

.fs-6.lead { color: #666; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { color: white !important; font-weight: 600 !important; }

.strong { font-weight: 600 !important; }

.lead.p-4.text-color-sixth { font-size: 17px; width: 1320px; line-height: 1.6; }

@media (max-width: 900px) { .lead.p-4.text-color-sixth { width: auto; } }

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

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

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

.fs-6.lead.mt-4.mb-4 { color: #666; }

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

.background-image-div-opacity { background-attachment: scroll; }

.lh-1.mb-3.titles h6 { margin-top: 20px; }

button.w-100.btn.btn-outline-dark { border-radius: 50px; background-color: #04bfad; color: #fff !important; font-weight: 600; border: 1px; }

button.w-100.btn.btn-outline-dark:hover { color: #fff; background: #03b1a0; }

/*------------------------------------------Bouton Fixe en bas à droite------------------------------*/
.btnFixe { position: fixed; bottom: 20px; right: 20px; z-index: 10; width: 100px; transition: width 0.5s ease; }

.btnFixe:hover { width: 115px; transition: width 0.5s ease; }

/* =========================== SECTION : TWO IMAGES TEXT =========================== */
.two-images-text { padding: 130px 7%; background-size: cover; background-color: #ffffff; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2FFond_texte_lmxz.webp"); padding-top: 0px; }

/* --- Container principal --- */
.two-images-container { display: flex; align-items: center; justify-content: space-between; max-width: 1300px; margin: 0 auto; flex-wrap: nowrap; /* 🔑 CRUCIAL */ }

/* =========================== CÔTÉ IMAGES (2 images côte à côte) =========================== */
.images-side { display: flex; gap: 10px; flex: 0 0 50%; }

.images-side img { width: 50%; /* 🔑 clé : 2 images côte à côte */ height: auto; border-radius: 12px; object-fit: cover; }

/* =========================== CÔTÉ TEXTE =========================== */
.text-side { flex: 0 0 45%; /* 🔑 largeur claire */ color: #222; }

.text-side h2 { font-size: 2.8rem; margin-bottom: 30px; color: #e11414; font-family: 'Anton'; }

.text-side p { color: #666; line-height: 1.6; font-size: 17px; }

/* =========================== RESPONSIVE =========================== */
@media (max-width: 900px) { .two-images-container { flex-direction: column; gap: 50px; } .images-side { justify-content: center; flex: none; } .text-side { text-align: center; flex: none; } .text-side h2 { font-size: 2rem; } .text-side { background-size: auto; } }

/* =========================== BLOC INFOS PRATIQUES =========================== */
.info-section { padding: 70px 8%; background: #f3f3f3; }

.info-container { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px; }

/* Item */
.info-item { display: flex; align-items: flex-start; gap: 20px; }

/* Icône image */
.info-icon { width: 100px; height: 100px; object-fit: contain; flex-shrink: 0; }

/* Texte */
.info-text h4 { font-size: 24px; margin-bottom: 8px; color: #2c2c2c; }

.info-text p { font-size: 16px; color: #555; line-height: 1.6; }

/* Responsive */
@media (max-width: 768px) { .info-container { grid-template-columns: 1fr; gap: 35px; } }

/* =========================== GALERIE =========================== */
.gallery-section { padding: 0; }

/* Grille collée */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }

.gallery-item { width: 100%; height: 320px; object-fit: cover; cursor: pointer; transition: opacity 0.3s ease; }

.gallery-item:hover { opacity: 0.85; }

/* =========================== LIGHTBOX =========================== */
.lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.85); display: none; justify-content: center; align-items: center; z-index: 9999; }

.lightbox-image { max-width: 90%; max-height: 90%; }

.lightbox-close { position: absolute; top: 30px; right: 40px; font-size: 40px; color: #fff; cursor: pointer; }

/* =========================== RESPONSIVE GALERIE =========================== */
/* Tablette & mobile */
@media (max-width: 768px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } .gallery-item { height: 220px; /* un peu moins haut sur mobile */ } }

/* =========================== SECTION : AVIS =========================== */
/* SECTION GLOBALE */
.reviews-section { padding: 80px 20px; background: #f1f1f1; text-align: center; background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2Favis_4_j0w5.webp"); background-size: cover; }

@media (max-width: 768px) { .reviews-section { padding: 200px 6% 80px; clip-path: polygon(0 12%, 20% 9%, 40% 10%, 60% 8%, 80% 10%, 100% 9%, 100% 100%, 0 100%); margin-top: -80px; } }

.reviews-section-2 { padding: 80px 20px; background: #f1f1f1; text-align: center; }

.reviews-title { font-size: 38px; margin-bottom: 80px; color: #ffffff; margin-top: 80px; }

.reviews-title-2 { font-size: 38px; margin-bottom: 80px; color: #e11414; }

/* CONTENEUR DES CARTES */
.reviews-cards { display: flex; justify-content: center; gap: 30px; margin-top: 40px; flex-wrap: wrap; }

/* CARTES INDIVIDUELLES */
.review-card { background: #ffffff; padding: 30px 30px 40px; width: 380px; min-height: 260px; border-radius: 10px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); position: relative; border-bottom: 6px solid #e11414; display: flex; flex-direction: column; }

/* ÉTOILES (alignées en haut) */
.stars { font-size: 22px; color: #ffce33; margin-bottom: 15px; }

/* TEXTE DE L'AVIS (centré verticalement) */
.review-text { font-size: 16px; line-height: 1.6; color: #666; text-align: center; /* CENTRAGE VERTICAL */ min-height: 150px; /* hauteur égale pour les 3 cartes */ display: flex; align-items: center; justify-content: center; }

/* NOM (aligné en bas) */
.review-name { font-weight: 600; color: #000; margin-top: 20px; text-align: center; }

/* BOUTON */
.reviews-button { display: inline-block; margin-top: 80px; padding: 14px 32px; background-color: #04bfad; color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 50px; transition: 0.3s ease; }

.reviews-button:hover { background-color: #03b1a0; color: #fff !important; transform: translateY(-2px); }

.reviews-button:visited { color: #fff !important; }

/* RESPONSIVE */
@media (max-width: 900px) { .reviews-cards { gap: 20px; } .review-card { width: 100%; max-width: 420px; } .review-text { min-height: 160px; /* un poil réduit en mobile */ } .reviews-section { background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2Fimage_mobile_gizy.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; } }

/* =========================== BLOC IMAGE + TEXTE SUPERPOSÉ =========================== */
.overlap-section { padding: 120px 0; background: #fff; padding-bottom: 80px; }

.overlap-wrapper { position: relative; width: 100%; max-width: 1150px; margin: 0 auto; height: 550px; }

/* Image */
.overlap-image { position: absolute; inset: 0; background: #3d3d3d; /* fallback */ background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2FIMG_3213_jfks.webp"); background-size: cover; background-position: center; clip-path: polygon(0 0, 100% 0, 100% 20%, 75% 20%, 75% 80%, 100% 80%, 100% 100%, 0 100%); }

/* Bloc texte */
.overlap-content { position: absolute; right: -100px; top: 50%; transform: translateY(-50%); padding: 50px 50px; max-width: 620px; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15); z-index: 2; border-radius: 10px; background: #dd5a5a; }

/* Typo */
.overlap-content h2 { font-size: 40px; margin-bottom: 30px; color: #fff; }

.overlap-content p { font-size: 17px; line-height: 1.6; color: #fff; }

/* =========================== MOBILE – IMAGE COMME LE TEXTE =========================== */
@media (max-width: 768px) { .overlap-section { padding: 70px 0; padding-bottom: 0px; } .overlap-wrapper { height: auto; display: flex; flex-direction: column; gap: 25px; } /* CARTE TEXTE */ .overlap-content { position: relative; transform: none; right: auto; top: auto; max-width: none; margin: 0 20px; padding: 35px 30px; border-radius: 12px; } /* CARTE IMAGE (même forme, mêmes dimensions) */ .overlap-image { position: relative; margin: 0 20px; height: 260px; border-radius: 12px; clip-path: none; background-position: center; background-size: cover; } /* Typo mobile */ .overlap-content h2 { font-size: 28px; margin-bottom: 20px; } .overlap-content p { font-size: 15px; } }

@media (max-width: 768px) { .overlap-content { order: 1; /* TEXTE EN PREMIER */ } .overlap-image { order: 2; /* IMAGE APRÈS */ } }

/* =========================== BLOC PARTENAIRES =========================== */
.partners-section { padding: 100px 5%; background: #fff; padding-bottom: 40px; }

.partners-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }

/* Texte */
.partners-content h2 { font-size: 40px; margin-bottom: 15px; }

.partners-content p { font-size: 17px; color: #666; line-height: 1.6; max-width: 500px; }

/* Logos */
.partners-logos { display: grid; grid-template-columns: repeat(2, 1fr); align-items: center; justify-items: center; }

.partners-logos img { max-width: 200px; max-height: 120px; object-fit: contain; transition: all 0.3s ease; }

/* Responsive */
@media (max-width: 900px) { .partners-container { grid-template-columns: 1fr; text-align: center; } .partners-content p { margin: 0 auto; } .partners-logos { margin-top: 40px; } .partners-content h2 { font-size: 32px; margin-bottom: 15px; } .partners-logos img { max-width: 120px; } }

/* =========================== BLOC MARQUES =========================== */
.brands-section { padding: 120px 5%; background: #fff; text-align: center; }

.brands-header { max-width: 900px; margin: 0 auto 50px; }

.brands-header h2 { font-size: 40px; margin-bottom: 15px; color: #e11414; }

.brands-header p { font-size: 16px; color: #666; line-height: 1.6; font-size: 17px; }

/* Logos */
.brands-logos { display: flex; justify-content: center; align-items: center; gap: 50px; flex-wrap: wrap; }

.brands-logos a { display: inline-flex; }

.brands-logos img { display: block; cursor: pointer; }

.brands-logos img { max-height: 800px; max-width: 160px; object-fit: contain; transition: transform 0.5s ease; }

.brands-logos img:hover { transform: scale(1.08); }

/* Responsive */
@media (max-width: 768px) { .brands-header h2 { font-size: 32px; } .brands-logos { gap: 30px; } .brands-logos img { max-height: 80px; } }

/* =========================== BLOC SERVICES =========================== */
.features-section { position: relative; /* indispensable */ padding: 140px 8% 100px; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2FFond_montagne_4_296w.webp"); background-size: cover; background-position: top center; }

@media (max-width: 768px) { .features-section { padding: 200px 6% 80px; clip-path: polygon(0 12%, 20% 9%, 40% 10%, 60% 8%, 80% 10%, 100% 9%, 100% 100%, 0 100%); margin-top: -80px; } }

/* =========================== TITRE =========================== */
.features-header { margin-bottom: 80px; text-align: center; }

.features-header h2 { font-size: 42px; margin-bottom: 20px; color: #fff; margin-top: 40px; }

/* =========================== GRILLE =========================== */
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }

/* =========================== CARTE =========================== */
.feature-card { background: #fff; padding: 40px 30px; text-align: center; border: 1px solid #dddddd; border-radius: 10px; display: flex; flex-direction: column; height: 100%; transition: transform 0.3s ease, box-shadow 0.3s ease; }

.feature-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08); }

/* =========================== ICÔNE =========================== */
.feature-icon { font-size: 40px; margin-bottom: 20px; }

/* =========================== TITRE CARTE =========================== */
.feature-card h3 { font-size: 26px; margin-bottom: 15px; color: #e11414; letter-spacing: 1.0px; }

/* =========================== TEXTE =========================== */
.feature-card p { font-size: 16px; color: #666; margin-bottom: 25px; line-height: 1.6; }

/* =========================== BOUTON =========================== */
.feature-btn { display: inline-flex; align-items: center; justify-content: center; margin: 0px 60px; margin-top: auto; padding: 10px 22px; background: #04bfad; color: #fff !important; text-decoration: none; font-weight: 600; border-radius: 50px; transition: all 0.3s ease; }

.feature-btn:hover { background: #03b1a0; color: #fff; }

/* =========================== RESPONSIVE =========================== */
/* Tablette : 2 cartes par ligne */
@media (max-width: 1024px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }

/* Mobile : 1 carte par ligne */
@media (max-width: 600px) { .features-grid { grid-template-columns: 1fr; } .features-header h2 { font-size: 32px; margin-top: 100px; } .feature-btn { margin: 0px 0px; } }

/* =========================== BLOC ACCUEIL =========================== */
.hero { position: relative; width: 100%; height: 100vh; overflow: hidden; }

/* VIDEO BACKGROUND */
.hero-video { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); z-index: 1; }

/* OVERLAY */
.hero-overlay { position: absolute; inset: 0; background: #000000c4; z-index: 2; }

/* CONTENT */
.hero-content { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; padding: 20px; }

/* LOGO */
.hero-logo { width: 380px; margin-bottom: 10px; filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.45)); }

/* TITLE */
.hero-content h1 { font-size: 3.1rem; margin-bottom: 15px; font-family: 'Anton'; letter-spacing: 1.5px; }

.hero-subtitle { font-size: 1.8rem; font-weight: 400; max-width: 1000px; margin: 0 auto 35px; line-height: 1.5; color: rgba(255, 255, 255, 0.9); font-family: 'Bricolage Grotesque'; }

/* BUTTON */
.hero-button { display: inline-block; padding: 14px 32px; background: #04bfad; color: #fff; text-decoration: none; font-weight: 600; border-radius: 50px; transition: all 0.3s ease; }

.hero-button:hover { background: #03b1a0; transform: translateY(-2px); }

/* Desktop : vidéo desktop visible */
.hero-video--desktop { display: block; }

.hero-video--mobile { display: none; }

/* Mobile : on switch */
@media (max-width: 768px) { .hero-video--desktop { display: none; } .hero-video--mobile { display: block; } }

/* =========================== RESPONSIVE HERO =========================== */
/* Tablettes */
@media (max-width: 992px) { .hero { height: 100vh; /* un peu moins haut qu'un plein écran */ min-height: 600px; } .hero-logo { width: 150px; margin-bottom: 25px; } .hero-content h1 { font-size: 2.4rem; margin-bottom: 12px; } .hero-subtitle { font-size: 1.4rem; max-width: 720px; margin-bottom: 28px; } .hero-button { padding: 12px 28px; } }

/* Mobiles */
@media (max-width: 768px) { .hero { height: 100vh; min-height: 520px; } .hero-content { padding: 18px; } .hero-logo { width: 120px; margin-bottom: 20px; } .hero-content h1 { font-size: 2.2rem; line-height: 1.15; } .hero-subtitle { font-size: 1.4rem; line-height: 1.4; max-width: 90%; margin: 10px auto 22px; } .hero-button { padding: 12px 24px; font-size: 0.95rem; } .hero-video { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; /* 👈 clé */ object-position: center center; transform: translate(-50%, -50%); } }

/* =========================== SECTION : ABOUT =========================== */
.about-section { padding: 120px 8%; background-size: cover; background-color: #ffffff; padding-bottom: 50px; }

.about-section-2 { padding: 120px 8%; background-size: cover; background-color: #c71236; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2FFond_montagne_4_5m44.webp"); background-size: cover; background-position: top center; padding-top: 250px; padding-bottom: 100px; }

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

/* --- Image de gauche --- */
.about-image { position: relative; /* nécessaire pour positionner le fond décalé */ flex: 1 1 30%; }

.about-image img { position: relative; z-index: 1; /* l’image passe au-dessus */ width: 100%; height: auto; border-radius: 12px; object-fit: cover; }

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

.about-content-2 { flex: 1 1 50%; color: #222; }

.about-content h2 { font-size: 2.8rem; margin-bottom: 30px; color: #e11414; font-family: 'Anton'; }

.about-content-2 h2 { font-size: 2.8rem; margin-bottom: 30px; color: #fff; font-family: 'Anton'; }

.about-content p { color: #666; line-height: 1.6; font-size: 17px; }

.about-content-2 p { color: #ededed; line-height: 1.6; font-size: 17px; }

.about-button { display: inline-block; margin-top: 30px; padding: 14px 32px; background-color: #04bfad; color: #fff !important; font-size: 16px; font-weight: 600; text-decoration: none; border-radius: 50px; transition: all 0.3s ease; }

.about-button:hover { background-color: #03b1a0; color: #fff !important; transform: translateY(-2px); }

/* --- Responsive --- */
@media (max-width: 900px) { .about-container { flex-direction: column; } .about-content { text-align: center; } .about-content h2 { font-size: 2.4rem; } .about-section { background-size: auto; } .about-content-2 { text-align: center; } .about-content-2 h2 { font-size: 2.4rem; } .about-section-2 { background-size: cover; } }

/* ============================== LOCALISATION – IMAGE + MAP ============================== */
.location-sols-section { padding: 120px 20px; background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fjq1mUH2VCTfrEu9vTJsdFi1AdtA3%2Fimages%2FFond_texte_38_ptpn.webp"); text-align: center; background: #dd5a5a; }

/* TITRE */
.location-sols-title { color: #fff; font-size: 2.6rem; margin-bottom: 50px; }

.location-sols-description { max-width: 1100px; margin: 0 auto 70px; color: #fff; font-size: 16px; line-height: 1.6; text-align: center; }

/* CONTAINER IMAGE / MAP */
.location-sols-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }

/* IMAGE & MAP : même taille */
.location-sols-image, .location-sols-map { width: 100%; height: 450px; border-radius: 10px; overflow: hidden; }

/* IMAGE */
.location-sols-image img { width: 100%; height: 100%; object-fit: cover; }

/* MAP */
.location-sols-map iframe { width: 100%; height: 100%; border: none; }

/* ============================== RESPONSIVE ============================== */
/* Tablette & mobile */
@media (max-width: 992px) { .location-sols-container { grid-template-columns: 1fr; gap: 40px; } .location-sols-title { font-size: 2.1rem; margin-bottom: 40px; } }

/* Mobile */
@media (max-width: 768px) { .location-sols-image, .location-sols-map { height: 300px; } .location-sols-title { font-size: 1.8rem; } }

.mx-4.mb-3.logo-footer.mx-auto img { height: 8vh; margin-bottom: 6px !important; }

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