@charset "UTF-8";
@import url(main.css);
div#termsfeed-com---nb { border-radius: 0px; }

/*================================ MODIFICATIONS SEO ================================*/
a.nav-link.fs-6.dropdown-toggle.px-0.text-color-secondary.text-center { font-family: 'arial', sans-serif; text-transform: uppercase; font-weight: 900; }

a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button { border-radius: 0px !important; border: 3px solid #fe0302 !important; background-color: transparent !important; color: black !important; text-transform: uppercase; padding: 12px 40px !important; }

a.fw-light.grow.button_header.text-color-fourth.rounded-pill.p-2.text-decoration-none.all-activities-button:hover { background-color: #fe0302 !important; color: white !important; }

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

h1.display-4.fw-bold.bandeauTitre.titles.text-color-seventh { color: black !important; text-transform: uppercase; font-weight: 900 !important; }

a.button_homepageDoubleScreen.first-banner-seo-page-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0px; background-color: transparent; border: 2px solid red; font-weight: 500 !important; }

a.button_homepageDoubleScreen.first-banner-seo-page-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { background-color: red !important; color: white !important; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0px !important; border: 3px solid #fe0302 !important; background-color: transparent !important; color: black !important; text-transform: uppercase; padding: 12px 40px !important; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { background-color: #fe0302 !important; color: white !important; }

.px-5.pt-5.display-6.text-color-primary.titles { text-transform: uppercase; font-weight: 900; }

/*================================ MODIFICATIONS HEADER ================================*/
a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border-radius: 0px !important; background-color: transparent; color: #f5f5f5 !important; border: 2px solid #fe0302; padding: 12px 20px !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { background-color: #fe0302; color: #f5f5f5 !important; border: 2px solid #fe0302; }

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

/*================================ MODIFICATIONS BLOC AVIS GOOGLE ================================*/
.owl-stage { padding: 50px; }

.card.p-2.rounded-3.shadow-lg.px-4.border-0.d-flex.justify-content-lg-between { background-color: black; color: #f5f5f5; border-radius: 0px !important; }

div.mb-5.googleReviews-div > div.container.m-4.mx-auto > div > div > div.d-lg-flex.align-items-lg-center > div > h3 { font-weight: 900 !important; }

a#maps-url { border-radius: 0px; background-color: transparent; border: 2px solid #fe0302; padding: 12px 20px; text-transform: uppercase !important; }

a#maps-url:hover { background-color: #fe0302; color: #f5f5f5; }

.card.rounded-3.shadow-lg.mx-4.mb-4 { border-radius: 0px !important; border: 0px; background-color: black; color: #f5f5f5; }

/*================================ MODIFICATIONS BLOC SEO ================================*/
.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-radius: 0px !important; margin-top: 100px !important; margin-bottom: 100px !important; }

.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-radius: 0px !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 { border-radius: 0px !important; margin-top: 100px !important; margin-bottom: 100px !important; }

.black-screen { display: none; }

.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { border-radius: 0px !important; border: 0; box-shadow: none !important; border: 4px solid #fe0302; }

/*================================================================= HERO D'ACCUEIL =============================================================================*/
.hero-sols-section { position: relative; width: 100%; height: 100vh; min-height: 600px; overflow: hidden; display: flex; align-items: center; justify-content: center; }

.hero-sols-video-background { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; transform: translate(-50%, -50%); z-index: 0; object-fit: cover; }

.hero-sols-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 1; }

.hero-sols-content { position: relative; z-index: 2; text-align: center; padding: 20px; max-width: 1200px; }

.hero-sols-logo { width: 420px; height: auto; margin-bottom: -30px; animation: fadeInDown 1s ease-out; }

.hero-sols-title { color: #f5f5f5; font-size: 72px; font-weight: 900; font-family: 'Arial', sans-serif; line-height: 1.1; margin-bottom: 50px; letter-spacing: 2px; animation: fadeInUp 1s ease-out 0.3s both; }

.hero-sols-button { display: inline-block; font-family: "Oswald", Arial, sans-serif; padding: 18px 50px; border: 3px solid #fe0302; color: #f5f5f5; font-size: 16px; font-weight: 700; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; transition: all 0.3s ease; background-color: transparent; animation: fadeInUp 1s ease-out 0.6s both; }

.hero-sols-button:hover { background-color: #fe0302; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(220, 20, 60, 0.3); color: #f5f5f5; }

.hero-sols-phone-button { display: none; align-items: center; justify-content: center; gap: 10px; font-family: "Oswald", Arial, sans-serif; padding: 18px 40px; margin-top: 20px; border: 3px solid #f5f5f5; color: #f5f5f5; font-size: 18px; font-weight: 700; letter-spacing: 1px; text-decoration: none; transition: all 0.3s ease; background-color: transparent; animation: fadeInUp 1s ease-out 0.9s both; }

.hero-sols-phone-button:hover { background-color: #f5f5f5; color: #000; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(255, 255, 255, 0.2); }

.hero-sols-phone-button svg { flex-shrink: 0; }

@keyframes fadeInDown { from { opacity: 0;
    transform: translateY(-30px); }
  to { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInUp { from { opacity: 0;
    transform: translateY(30px); }
  to { opacity: 1;
    transform: translateY(0); } }

@media (max-width: 968px) { .hero-sols-title { font-size: 48px; } .hero-sols-logo { width: 420px; margin-bottom: -30px; } .hero-sols-button { padding: 15px 40px; font-size: 14px; } .hero-sols-phone-button { display: inline-flex; } }

@media (max-width: 640px) { .hero-sols-title { font-size: 36px; } .hero-sols-logo { width: 300px; margin-bottom: 0px; } }

/*================================================================= LES SERVICES =================================================================================*/
.services-sols-section { font-family: 'Arial', sans-serif; background-color: #fe0302; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FrHOMcp0urjVNAdWDOWcJoUBFWij1%2Fimages%2FIdentite_visuelle_Sols_Piles_et_Gouts_2_88o1.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; padding: 100px 20px; position: relative; }

.services-sols-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(220, 20, 60, 0.85); z-index: 0; }

.services-sols-container { max-width: 1400px; margin: 0 auto; position: relative; z-index: 1; }

.services-sols-header { margin-bottom: 60px; }

.services-sols-subtitle { color: #f5f5f5; font-size: 14px; letter-spacing: 3px; margin-bottom: 20px; font-weight: 600; }

.services-sols-title { color: #f5f5f5; font-size: 56px; font-weight: 900; line-height: 1.2; margin-bottom: 30px; }

.services-sols-description { color: #f5f5f5; font-size: 18px; line-height: 1.6; max-width: 600px; margin-left: auto; }

.services-sols-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-bottom: 30px; }

.services-sols-card { background-color: #f5f5f5; padding: 30px 40px; position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; text-decoration: none; display: block; color: inherit; box-sizing: border-box; }

.services-sols-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); }

.services-sols-number { color: #f3baba9c; font-size: 48px; font-weight: 900; margin-bottom: 20px; }

.services-sols-card-title { color: #1a1a1a; font-size: 24px; font-weight: 900; line-height: 1.3; }

.services-sols-icon { position: absolute; top: 50px; right: 40px; width: 60px; height: 60px; }

.services-sols-icon img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 768px) { .services-sols-title { font-size: 36px; } .services-sols-grid { grid-template-columns: 1fr; } .services-sols-description { margin-left: 0; } }

/*================================================================= A PROPOS =================================================================================*/
.about-sols-section { font-family: 'Arial', sans-serif; background-color: #f5f5f5; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FrHOMcp0urjVNAdWDOWcJoUBFWij1%2Fimages%2FIdentite_visuelle_Sols_Piles_et_Gouts_6_lwp9.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; padding: 150px 20px; position: relative; }

.about-sols-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(245, 245, 245, 0.9); z-index: 0; }

.about-sols-container { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }

.about-sols-image-wrapper { position: relative; }

.about-sols-red-bar { position: absolute; left: -40px; top: 50%; transform: translateY(-50%); width: 8px; height: 70%; background-color: #fe0302; }

.about-sols-image { width: 100%; height: auto; display: block; }

.about-sols-content { padding-left: 20px; }

.about-sols-subtitle { color: #fe0302; font-size: 14px; letter-spacing: 3px; margin-bottom: 20px; font-weight: 600; }

.about-sols-title { color: #1a1a1a; font-size: 48px; font-weight: 900 !important; line-height: 1.2; margin-bottom: 30px; }

.about-sols-description { color: #666; font-size: 16px; line-height: 1.8; margin-bottom: 40px; }

.about-sols-strategy-title { color: #fe0302; font-size: 20px; font-weight: 900 !important; line-height: 1.4; margin-bottom: 30px; }

.about-sols-list { list-style: none; padding: 0; margin: 0; }

.about-sols-list-item { color: #666; font-size: 16px; margin-bottom: 15px; display: flex; align-items: center; gap: 15px; }

.about-sols-list-item::before { content: '✓'; color: #fe0302; font-weight: 900; font-size: 20px; flex-shrink: 0; }

@media (max-width: 968px) { .about-sols-container { grid-template-columns: 1fr; gap: 50px; } .about-sols-title { font-size: 36px; } .about-sols-red-bar { left: 0; } .about-sols-content { padding-left: 0; } }

/*=========================================================== LES ETAPES D'UN CHANTIER =========================================================================*/
.steps-sols-section { font-family: 'Arial', sans-serif; background-color: #050505; padding: 120px 20px; }

.steps-sols-container { max-width: 1200px; margin: 0 auto; }

.steps-sols-header { text-align: center; margin-bottom: 70px; }

.steps-sols-subtitle { color: #FE0302; font-weight: 600 !important; letter-spacing: 2px; font-size: 14px; }

.steps-sols-title { color: #f5f5f5; font-family: 'Arial', sans-serif; font-size: 48px; font-weight: 900 !important; margin: 20px 0; }

.steps-sols-description { color: #F5F5F5; max-width: 650px; margin: 0 auto; font-size: 16px; }

.steps-sols-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 25px; }

.steps-sols-card { background-color: #0B0B0B; padding: 40px 30px; border: 1px solid #FE0302; position: relative; transition: all 0.3s ease; }

.steps-sols-number { font-size: 42px; font-weight: 700; color: #FE0302; display: block; margin-bottom: 20px; }

.steps-sols-card-title { color: #f5f5f5; font-size: 18px; font-weight: 800 !important; margin-bottom: 15px; }

.steps-sols-card-text { color: #f5f5f5; font-size: 15px; line-height: 1.6; }

/* Responsive */
@media (max-width: 768px) { .steps-sols-title { font-size: 36px; } }

@media (max-width: 1024px) { .steps-sols-grid { grid-template-columns: repeat(3, 1fr); } }

@media (max-width: 768px) { .steps-sols-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 480px) { .steps-sols-grid { grid-template-columns: 1fr; } }

/* ======================================================= LOCALISATION – ZONE D’INTERVENTION ======================================================================== */
.location-sols-section { padding: 120px 20px; font-family: 'Arial', sans-serif; }

/* Fond noir + image */
.location-bg { position: relative; background-color: #050505; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FrHOMcp0urjVNAdWDOWcJoUBFWij1%2Fimages%2FIdentite_visuelle_Sols_Piles_et_Gouts_13_1xz9.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Overlay sombre pour lisibilité */
.location-bg::before { content: ""; position: absolute; inset: 0; background-color: rgba(5, 5, 5, 0.88); z-index: 0; }

/* Container */
.location-sols-container { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }

/* Contenu texte */
.location-sols-subtitle { color: #FE0302; font-weight: 600 !important; letter-spacing: 2px; font-size: 14px; }

.location-sols-title { color: #FFFFFF; font-size: 42px; font-weight: 900 !important; margin: 20px 0; }

.location-sols-description { color: #DADADA; font-size: 16px; line-height: 1.6; margin-bottom: 25px; }

/* Liste des villes */
.location-sols-list { list-style: none; padding: 0; margin: 0 0 35px 0; }

.location-sols-list li { color: #FFFFFF; margin-bottom: 8px; position: relative; padding-left: 18px; }

.location-sols-list li::before { content: "•"; color: #FE0302; position: absolute; left: 0; }

/* Bouton */
.location-sols-button { display: inline-block; padding: 18px 50px; border: 3px solid #FE0302; color: #FFFFFF; font-family: "Oswald"; font-weight: 700; text-decoration: none; letter-spacing: 2px; background-color: transparent; transition: all 0.3s ease; }

.location-sols-button:hover { background-color: #FE0302; border-color: #FE0302; color: #FFFFFF; }

/* Image (si utilisée à la place de la map) */
.location-sols-image img { width: 100%; height: 420px; object-fit: cover; border: 1px solid #1A1A1A; }

/* ============================== RESPONSIVE ============================== */
@media (max-width: 900px) { .location-sols-container { grid-template-columns: 1fr; gap: 40px; } .location-sols-image img { height: 320px; } .location-sols-title { font-size: 34px; } }

/* Supprimer l’image de fond sur mobile si besoin */
@media (max-width: 768px) { .location-bg { background-image: none; } }

/* ======================================================= GALERIE D'IMAGES ======================================================================== */
.gallery-sols-section { font-family: 'Arial', sans-serif; background-color: #f5f5f5; padding: 80px 20px; text-align: center; }

.gallery-sols-container { max-width: 1400px; margin: 0 auto; }

.gallery-sols-subtitle { color: #DC143C; font-size: 14px; letter-spacing: 3px; margin-bottom: 20px; font-weight: 600 !important; }

.gallery-sols-title { color: #1a1a1a; font-size: 56px; font-weight: 900 !important; line-height: 1.2; margin-bottom: 60px; }

.gallery-sols-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 60px; }

.gallery-sols-item { position: relative; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; }

.gallery-sols-image { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: all 0.5s ease; }

.gallery-sols-item:hover .gallery-sols-image { filter: grayscale(0%); transform: scale(1.05); }

.gallery-sols-button { display: inline-block; padding: 18px 50px; border: 3px solid #fe0302; color: #1a1a1a; font-family: "Oswald"; font-size: 16px; font-weight: 700; letter-spacing: 2px; text-decoration: none; text-transform: uppercase; transition: all 0.3s ease; background-color: transparent; }

.gallery-sols-button:hover { background-color: #fe0302; color: #f5f5f5; }

@media (max-width: 968px) { .gallery-sols-title { font-size: 42px; } .gallery-sols-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }

@media (max-width: 640px) { .gallery-sols-title { font-size: 32px; } .gallery-sols-grid { grid-template-columns: 1fr; } .gallery-sols-button { padding: 15px 40px; font-size: 14px; } }

/* ========================================================================= RÉSEAUX SOCIAUX ===================================================================== */
.social-sols-section { font-family: 'Arial', sans-serif; background-color: #fe0302; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FrHOMcp0urjVNAdWDOWcJoUBFWij1%2Fimages%2FIdentite_visuelle_Sols_Piles_et_Gouts_2_88o1.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; padding: 100px 20px; position: relative; text-align: center; }

/* Overlay sombre + rouge */
.social-sols-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(220, 20, 60, 0.85); z-index: 0; }

/* Contenu au-dessus */
.social-sols-container { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; }

/* Textes */
.social-sols-subtitle { color: #FFFFFF; font-size: 14px; letter-spacing: 3px; margin-bottom: 20px; font-weight: 600; opacity: 0.9; }

.social-sols-title { color: #FFFFFF; font-size: 48px; font-weight: 900 !important; line-height: 1.2; margin-bottom: 20px; }

.social-sols-description { color: #F1F1F1; font-size: 16px; line-height: 1.8; margin-bottom: 50px; opacity: 0.95; }

/* Liens */
.social-sols-links { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; }

.social-sols-link { display: flex; align-items: center; gap: 15px; padding: 20px 40px; background-color: transparent; color: #FFFFFF; text-decoration: none; font-size: 18px; font-weight: 700; letter-spacing: 1px; transition: all 0.3s ease; border: 3px solid #FFFFFF; }

.social-sols-link:hover { background-color: #FE0302; border-color: #f5f5f5; transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); color: #f5f5f5; }

/* Icônes */
.social-sols-icon { width: 30px; height: 30px; transition: all 0.3s ease; }

/* ============================== RESPONSIVE ============================== */
@media (max-width: 640px) { .social-sols-title { font-size: 36px; } .social-sols-links { flex-direction: column; gap: 20px; } .social-sols-link { justify-content: center; width: 100%; max-width: 320px; margin: 0 auto; } }

/* ============================================================== EN TETE - SERVICES ========================================================================== */
.header-video-sols { position: relative; width: 100%; height: 55vh; min-height: 500px; overflow: hidden; background-color: #050505; }

/* Vidéo de fond */
.header-video-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }

/* Overlay sombre */
.header-video-overlay { position: absolute; inset: 0; background-color: rgba(5, 5, 5, 0.45); z-index: 1; }

/* Container principal */
.header-video-container { position: relative; z-index: 2; max-width: 1200px; height: 100%; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 60px; }

/* Logo */
.header-video-logo img { max-width: 220px; width: 100%; }

/* Texte + trait */
.header-video-text-lined { display: flex; align-items: stretch; /* le trait prend la hauteur du texte */ gap: 30px; }

/* Trait rouge vertical */
.header-video-line { width: 4px; background-color: #FE0302; margin-top: 6px; /* alignement précis au H1 */ margin-bottom: 6px; /* alignement à la fin de la phrase */ border-radius: 2px; }

/* Contenu texte */
.header-video-text-content h1 { color: #FFFFFF; font-family: 'Arial', sans-serif; font-size: 56px; font-weight: 900 !important; line-height: 1.1; margin: 0 0 25px 0; /* important pour l’alignement du trait */ }

.header-video-text-content p { color: #E6E6E6; font-family: 'Arial', sans-serif; font-size: 18px; max-width: 520px; line-height: 1.6; margin: 0; }

/* ============================== RESPONSIVE ============================== */
@media (max-width: 900px) { .header-video-container { grid-template-columns: 1fr; text-align: center; } .header-video-logo { margin-bottom: 30px; } .header-video-text-lined { justify-content: center; gap: 20px; } .header-video-text-content h1 { font-size: 42px; } }

@media (max-width: 600px) { .header-video-sols { height: 60vh; min-height: 420px; } .header-video-text-lined { flex-direction: column; align-items: center; } /* Le trait devient horizontal sur mobile */ .header-video-line { width: 60px; height: 4px; margin: 10px 0; } .header-video-text-content h1 { font-size: 34px; } .header-video-text-content p { font-size: 16px; } }

/* ==================================================================== PRESENTATION DU SERVICE ===================================================================*/
.services-abc { margin: 0; padding: 100px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FrHOMcp0urjVNAdWDOWcJoUBFWij1%2Fimages%2FIdentite_visuelle_Sols_Piles_et_Gouts_6_lwp9.webp?alt=media&token=4ba48788-a4d7-41e8-9a80-c09855dd6bbe"); background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; min-height: 600px; }

.services-abc::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(245, 245, 245, 0.9); z-index: 0; }

.services-abc-container { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 0; position: relative; z-index: 1; }

.services-abc-content { padding: 80px 60px; display: flex; flex-direction: column; justify-content: center; background: transparent; }

.services-abc-pourquoi { color: #e63946; font-size: 14px; font-weight: 700; letter-spacing: 2px; margin-bottom: 20px; text-transform: uppercase; }

.services-abc-title { font-size: 48px; font-weight: 900; line-height: 1.2; margin-bottom: 30px; color: #1a1a1a; }

.services-abc-description { font-size: 16px; line-height: 1.8; color: #666; }

.services-abc-image { position: relative; max-height: 600px; padding: 60px; display: flex; align-items: center; justify-content: center; }

.services-abc-image::before { content: ''; position: absolute; right: 60px; top: 60px; bottom: 60px; width: 5px; background: #e63946; z-index: 2; }

.services-abc-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(100%); transition: transform 0.5s ease; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); position: relative; z-index: 1; }

@media (max-width: 1024px) { .services-abc-container { grid-template-columns: 1fr; } .services-abc-content { padding: 60px 40px; } .services-abc-title { font-size: 36px; } .services-abc-image { min-height: 400px; } }

@media (max-width: 640px) { .services-abc-title { font-size: 28px; } .services-abc-content { padding: 40px 24px; } }

/* ==================================================================== POURQUOI NOUS CHOISIR ===================================================================*/
.prestations { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Arial', sans-serif; background-color: #f5f5f5; }

.prestations-container { width: 100%; background: #f5f5f5; display: grid; grid-template-columns: 1fr 1fr; gap: 0; }

.prestations-image { position: relative; overflow: hidden; max-height: 600px; }

.prestations-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(100%); transition: transform 0.5s ease; }

.prestations-content { padding: 80px 60px; display: flex; flex-direction: column; justify-content: center; }

.prestations-pourquoi { color: #e63946; font-size: 14px; font-weight: 700; letter-spacing: 2px; margin-bottom: 20px; text-transform: uppercase; }

.prestations-title { font-size: 48px; font-weight: 900; line-height: 1.2; margin-bottom: 30px; color: #1a1a1a; }

.prestations-description { font-size: 16px; line-height: 1.8; color: #666; margin-bottom: 50px; }

.prestations-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }

.prestations-feature-image { width: 100%; height: 180px; overflow: hidden; border-radius: 0px; }

.prestations-feature-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); }

.prestations-list { display: flex; flex-direction: column; gap: 20px; }

.prestations-item { display: flex; align-items: center; gap: 15px; }

.prestations-checkmark { width: 24px; height: 24px; background: #e63946; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.prestations-checkmark::after { content: '✓'; color: white; font-size: 14px; font-weight: bold; }

.prestations-text { font-size: 15px; color: #333; font-weight: 500; }

@media (max-width: 1024px) { .prestations-container { grid-template-columns: 1fr; } .prestations-content { padding: 60px 40px; } .prestations-title { font-size: 36px; } .prestations-image { min-height: 400px; } }

@media (max-width: 640px) { .prestations-grid { grid-template-columns: 1fr; } .prestations-title { font-size: 28px; } .prestations-content { padding: 40px 24px; } }

/* ================================================================== RÉALISATIONS – SOLS PILES ET GOÛTS ============================================================== */
.realisations-section { background-color: #f5f2ef; /* beige clair */ padding: 120px 40px; text-align: center; font-family: 'Arial', sans-serif; }

/* ----- HEADER ----- */
.realisations-header { max-width: 800px; margin: 0 auto 60px; }

.realisations-header h2 { font-size: 42px; font-weight: 900 !important; color: #050505; text-transform: uppercase; margin-bottom: 20px; }

.realisations-header p { color: #4a4a4a; font-size: 16px; line-height: 1.6; }

/* ----- ONGLET / BOUTONS ----- */
.realisations-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-bottom: 50px; }

.tab-button { background-color: transparent; color: #050505; font-weight: 600; border: 3px solid #fe0302; padding: 14px 26px; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: all 0.3s ease; }

.tab-button:hover { background-color: #FE0302; border-color: #FE0302; color: #FFFFFF; }

.tab-button.active { background-color: #FE0302; border-color: #FE0302; color: #FFFFFF; }

/* ----- CONTENU DES ONGLET ----- */
.tab-content { display: none; animation: fadeIn 0.5s ease; }

.tab-content.active { display: block; }

/* ----- GALERIE (3x3) ----- */
.gallery { display: grid; grid-template-columns: repeat(3, 300px); justify-content: center; gap: 30px; margin-top: 40px; }

.gallery img { width: 300px; height: 300px; object-fit: cover; object-position: center; background-color: #ddd; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); transition: transform 0.4s ease, box-shadow 0.4s ease; }

.gallery img:hover { transform: scale(1.05); box-shadow: 0 18px 40px rgba(254, 3, 2, 0.25); }

/* ----- ANIMATION ----- */
@keyframes fadeIn { from { opacity: 0;
    transform: translateY(15px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* ----- RESPONSIVE ----- */
@media (max-width: 1024px) { .gallery { grid-template-columns: repeat(2, 280px); gap: 25px; } }

@media (max-width: 650px) { .gallery { grid-template-columns: 1fr; } .gallery img { width: 100%; max-width: 320px; height: auto; } .realisations-header h2 { font-size: 34px; } }

/* ================================================================== ETAPES – SOLS PILES ET GOÛTS ============================================================== */
.timeline-sols-section { background-color: #000; padding: 80px 0; overflow: hidden; }

.timeline-sols-slider { position: relative; max-width: 1400px; margin: 0 auto; padding: 0 20px; }

.timeline-sols-track { display: flex; gap: 30px; transition: transform 0.5s ease; }

.timeline-sols-step { min-width: calc(33.333% - 20px); position: relative; cursor: pointer; }

.timeline-sols-image-wrapper { position: relative; overflow: hidden; aspect-ratio: 4/3; border: 3px solid #DC143C; }

.timeline-sols-image { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: all 0.5s ease; }

.timeline-sols-step:hover .timeline-sols-image { filter: grayscale(0%); transform: scale(1.05); }

.timeline-sols-number { position: absolute; top: 20px; left: 20px; width: 60px; height: 60px; background-color: #DC143C; color: white; font-size: 28px; font-weight: 900; display: flex; align-items: center; justify-content: center; z-index: 2; transition: all 0.3s ease; }

.timeline-sols-step:hover .timeline-sols-number { transform: scale(1.1); }

.timeline-sols-controls { display: flex; justify-content: center; gap: 20px; margin-top: 40px; }

.timeline-sols-btn { width: 50px; height: 50px; background-color: #DC143C; border: none; color: white; font-size: 24px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; }

.timeline-sols-btn:hover { background-color: white; color: #DC143C; transform: scale(1.1); }

.timeline-sols-dots { display: flex; justify-content: center; gap: 15px; margin-top: 30px; }

.timeline-sols-dot { width: 12px; height: 12px; background-color: #333; border-radius: 50%; cursor: pointer; transition: all 0.3s ease; }

.timeline-sols-dot.active { background-color: #DC143C; transform: scale(1.3); }

@media (max-width: 968px) { .timeline-sols-step { min-width: calc(50% - 15px); } }

@media (max-width: 640px) { .timeline-sols-step { min-width: 100%; } .timeline-sols-number { width: 50px; height: 50px; font-size: 24px; top: 15px; left: 15px; } }

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