@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; }

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

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

.lh-1.mb-3.titles { text-transform: uppercase; letter-spacing: 1px; margin-bottom: 50px !important; }

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

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: linear-gradient(135deg, #c9b761 0%, #c9a961 100%); color: #fff !important; border: 1px solid #fff; box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3); }

img.img-fluid.object-fit-contain.my-2.logo-seo-page { margin-bottom: 50px !important; }

/*---------Bloc SEO----------------------*/
.first-activity-div.shadow-lg { box-shadow: none !important; }

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

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

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h3 { font-size: 2.2rem; letter-spacing: 2px; }

.display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5 h4 { letter-spacing: 3px; font-size: 1.4rem; }

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

.fs-6.lead.mt-4.mb-4 { font-weight: 400; font-size: 1rem !important; line-height: 1.6; color: #5a5a5a; margin-top: -20px !important; }

.fs-6.lead { font-weight: 400; font-size: 1rem !important; line-height: 1.6; color: #5a5a5a; }

@media (max-width: 768px) { .col-lg-7.my-0.order-1.order-lg-1.order-xl-1.order-xxl-1 { text-align: center; padding-bottom: 20px; } }

/*---------Maps----------------------*/
.content-container.position-relative { background-color: #ffffff; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zm20.97 0l9.315 9.314-1.414 1.414L34.828 0h2.83zM22.344 0L13.03 9.314l1.414 1.414L25.172 0h-2.83zM32 0l12.142 12.142-1.414 1.414L30 .828 17.272 13.556l-1.414-1.414L28 0h4zM.284 0l28 28-1.414 1.414L0 2.544V0h.284zM0 5.373l25.456 25.455-1.414 1.415L0 8.2V5.374zm0 5.656l22.627 22.627-1.414 1.414L0 13.86v-2.83zm0 5.656l19.8 19.8-1.415 1.413L0 19.514v-2.83zm0 5.657l16.97 16.97-1.414 1.415L0 25.172v-2.83zM0 28l14.142 14.142-1.414 1.414L0 30.828V28zm0 5.657L11.314 44.97 9.9 46.386l-9.9-9.9v-2.828zm0 5.657L8.485 47.8 7.07 49.212 0 42.143v-2.83zm0 5.657l5.657 5.657-1.414 1.415L0 47.8v-2.83zm0 5.657l2.828 2.83-1.414 1.413L0 53.456v-2.83zM54.627 60L30 35.373 5.373 60H8.2L30 38.2 51.8 60h2.827zm-5.656 0L30 41.03 11.03 60h2.828L30 43.858 46.142 60h2.83zm-5.656 0L30 46.686 16.686 60h2.83L30 49.515 40.485 60h2.83zm-5.657 0L30 52.343 22.343 60h2.83L30 55.172 34.828 60h2.83zM32 60l-2-2-2 2h4zM59.716 0l-28 28 1.414 1.414L60 2.544V0h-.284zM60 5.373L34.544 30.828l1.414 1.415L60 8.2V5.374zm0 5.656L37.373 33.656l1.414 1.414L60 13.86v-2.83zm0 5.656l-19.8 19.8 1.415 1.413L60 19.514v-2.83zm0 5.657l-16.97 16.97 1.414 1.415L60 25.172v-2.83zM60 28L45.858 42.142l1.414 1.414L60 30.828V28zm0 5.657L48.686 44.97l1.415 1.415 9.9-9.9v-2.828zm0 5.657L51.515 47.8l1.414 1.413 7.07-7.07v-2.83zm0 5.657l-5.657 5.657 1.414 1.415L60 47.8v-2.83zm0 5.657l-2.828 2.83 1.414 1.413L60 53.456v-2.83zM39.9 16.385l1.414-1.414L30 3.658 18.686 14.97l1.415 1.415 9.9-9.9 9.9 9.9zm-2.83 2.828l1.415-1.414L30 9.313 21.515 17.8l1.414 1.413 7.07-7.07 7.07 7.07zm-2.827 2.83l1.414-1.416L30 14.97l-5.657 5.657 1.414 1.415L30 17.8l4.243 4.242zm-2.83 2.827l1.415-1.414L30 20.626l-2.828 2.83 1.414 1.414L30 23.456l1.414 1.414zM56.87 59.414L58.284 58 30 29.716 1.716 58l1.414 1.414L30 32.544l26.87 26.87z' fill='%23eddfbe' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); }

.mb-4.text-center.display-6.titles h4 { font-size: 2.2rem !important; font-weight: 600; letter-spacing: 2px; }

/* ============================ PAGE GALERIE PHOTO ============================ */
.realisations-section { background: #FFFFFF; padding: 60px 20px; }

.overlay { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }

.realisations-main-title { text-align: center; color: #000; margin-bottom: 32px; font-family: 'Oswald'; font-weight: 600 !important; font-size: 2.8rem; letter-spacing: 2px; text-transform: uppercase; }

.filter-tabs { display: flex; justify-content: center; gap: 12px; margin-bottom: 60px; flex-wrap: wrap; }

.filter-btn { background: #e7e7e7; color: #000000 !important; border: none; font-size: 1.1rem; padding: 12px 24px; cursor: pointer; font-weight: 600; box-shadow: none; display: flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1.2; transition: background 0.2s; text-align: center; }

.filter-btn.active { color: #ffffff !important; background-color: #c9b461; }

.filter-btn p { margin-bottom: 0 !important; }

.realisations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }

.realisation-card { overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.2s; }

.realisation-card:hover { transform: translateY(-4px); }

.realisation-card img { width: 100%; height: 320px; object-fit: cover; display: block; cursor: pointer; }

.realisation-card.hidden { display: none; }

/* Modal pour l’image agrandie */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); align-items: center; justify-content: center; }

.modal-content { max-width: 500px; max-height: 70vh; width: auto; height: auto; border-radius: 8px; background: #fff; }

.modal-close { position: absolute; top: 24px; right: 32px; color: #fff; font-size: 36px; font-weight: bold; cursor: pointer; z-index: 1100; }

.modal-close:hover { color: #ffae42; }

@media (max-width: 900px) { .filter-tabs { gap: 8px; font-size: 0.9rem; } .filter-btn { padding: 10px 20px; font-size: 1rem; min-height: 48px; } .realisations-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; } .realisation-card img { height: 240px; } .modal-content { max-width: 90%; max-height: 90%; } }

/* ============================ HEADER PAGES SECONDAIRES ============================ */
.service-header { position: relative; min-height: 400px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 100px 20px 60px; overflow: hidden; }

.service-header-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }

.service-header-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #00000094; z-index: 2; }

.service-header-content { position: relative; z-index: 3; text-align: center; max-width: 900px; padding: 0 20px; }

.service-title-main { font-family: 'Oswald'; font-weight: 600 !important; font-size: 3.5rem; color: #FFF; margin-bottom: 20px; text-shadow: 2px 4px 8px rgba(0, 0, 0, 0.4); line-height: 1.2; letter-spacing: 3px; animation: fadeInUp 0.8s ease-out; text-transform: uppercase; }

.service-subtitle-main { font-family: 'Marck Script'; font-size: 1.6rem; color: #FFF; max-width: 900px; margin: 0 auto; text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3); font-weight: 300; letter-spacing: 1px; animation: fadeInUp 0.8s ease-out 0.2s both; }

.service-cta { margin-top: 35px; animation: fadeInUp 0.8s ease-out 0.4s both; }

@media (max-width: 768px) { .service-header { min-height: 350px; padding: 80px 15px 50px; } .service-cta { margin-top: 25px; } .service-title-main { font-size: 2.2rem; letter-spacing: 2px; line-height: 1.25; margin-bottom: 15px; } .service-subtitle-main { font-size: 1.2rem; letter-spacing: 0.5px; line-height: 1.4; } }

/* ============================ PROJETS REALISES ============================ */
.projets-section { padding: 80px 0; background-color: #ffffff; }

.projets-container { max-width: 1400px; margin: 0 auto; padding: 0 40px; }

.projets-header { margin-bottom: 60px; }

.projets-title { margin-bottom: 30px; padding-bottom: 20px; font-size: 2.4rem; font-weight: 600 !important; color: #000; line-height: 1.2; letter-spacing: 2px; font-family: 'Oswald'; text-transform: uppercase; border-bottom: 2px solid #c9a961; display: inline-block; }

.projets-description { font-size: 1.05rem; line-height: 1.6; color: #5a5a5a; max-width: 1000px; }

.projets-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 40px; }

.projets-image-wrapper { position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); aspect-ratio: 1/1; }

.projets-image-wrapper img { width: 100%; height: 100%; object-fit: cover; }

/* Séparateur entre les projets */
.projets-divider { height: 80px; background-color: #ffffff; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zm20.97 0l9.315 9.314-1.414 1.414L34.828 0h2.83zM22.344 0L13.03 9.314l1.414 1.414L25.172 0h-2.83zM32 0l12.142 12.142-1.414 1.414L30 .828 17.272 13.556l-1.414-1.414L28 0h4zM.284 0l28 28-1.414 1.414L0 2.544V0h.284zM0 5.373l25.456 25.455-1.414 1.415L0 8.2V5.374zm0 5.656l22.627 22.627-1.414 1.414L0 13.86v-2.83zm0 5.656l19.8 19.8-1.415 1.413L0 19.514v-2.83zm0 5.657l16.97 16.97-1.414 1.415L0 25.172v-2.83zM0 28l14.142 14.142-1.414 1.414L0 30.828V28zm0 5.657L11.314 44.97 9.9 46.386l-9.9-9.9v-2.828zm0 5.657L8.485 47.8 7.07 49.212 0 42.143v-2.83zm0 5.657l5.657 5.657-1.414 1.415L0 47.8v-2.83zm0 5.657l2.828 2.83-1.414 1.413L0 53.456v-2.83zM54.627 60L30 35.373 5.373 60H8.2L30 38.2 51.8 60h2.827zm-5.656 0L30 41.03 11.03 60h2.828L30 43.858 46.142 60h2.83zm-5.656 0L30 46.686 16.686 60h2.83L30 49.515 40.485 60h2.83zm-5.657 0L30 52.343 22.343 60h2.83L30 55.172 34.828 60h2.83zM32 60l-2-2-2 2h4zM59.716 0l-28 28 1.414 1.414L60 2.544V0h-.284zM60 5.373L34.544 30.828l1.414 1.415L60 8.2V5.374zm0 5.656L37.373 33.656l1.414 1.414L60 13.86v-2.83zm0 5.656l-19.8 19.8 1.415 1.413L60 19.514v-2.83zm0 5.657l-16.97 16.97 1.414 1.415L60 25.172v-2.83zM60 28L45.858 42.142l1.414 1.414L60 30.828V28zm0 5.657L48.686 44.97l1.415 1.415 9.9-9.9v-2.828zm0 5.657L51.515 47.8l1.414 1.413 7.07-7.07v-2.83zm0 5.657l-5.657 5.657 1.414 1.415L60 47.8v-2.83zm0 5.657l-2.828 2.83 1.414 1.413L60 53.456v-2.83zM39.9 16.385l1.414-1.414L30 3.658 18.686 14.97l1.415 1.415 9.9-9.9 9.9 9.9zm-2.83 2.828l1.415-1.414L30 9.313 21.515 17.8l1.414 1.413 7.07-7.07 7.07 7.07zm-2.827 2.83l1.414-1.416L30 14.97l-5.657 5.657 1.414 1.415L30 17.8l4.243 4.242zm-2.83 2.827l1.415-1.414L30 20.626l-2.828 2.83 1.414 1.414L30 23.456l1.414 1.414zM56.87 59.414L58.284 58 30 29.716 1.716 58l1.414 1.414L30 32.544l26.87 26.87z' fill='%23dbc28c' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); margin: 20px 0; }

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

@media (max-width: 768px) { .projets-section { padding: 60px 0; } .projets-container { padding: 0 20px; } .projets-title { font-size: 1.8rem; } .projets-description { font-size: 1.05rem; } .projets-gallery { grid-template-columns: repeat(2, 1fr); } }

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

/* ============================ SAVOIR-FAIRE PLEIN ÉCRAN ============================ */
.savoirfaire-full { background-color: #fff; color: #0a2e50; width: 100vw; margin: 0; padding: 0; overflow-x: hidden; }

.savoirfaire-container { display: flex; justify-content: space-evenly; align-items: center; /* ✅ centrage vertical */ width: 100%; min-height: 450px; text-align: center; }

/* --- Éléments --- */
.savoirfaire-item { flex: 1; padding: 40px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: center; }

/* --- Icônes PNG --- */
.savoirfaire-icon img { width: 110px; /* ✅ taille modifiable ici */ height: auto; margin-bottom: 25px; opacity: 0.9; }

/* --- Titres --- */
.savoirfaire-item h3 { font-size: 1.6rem; margin-bottom: 20px; color: #000; text-transform: uppercase; font-family: 'Oswald'; font-weight: 600 !important; letter-spacing: 2px; }

/* --- Paragraphes --- */
.savoirfaire-item p { font-weight: 400; font-size: 1.05rem; color: #5a5a5a; max-width: 390px; margin: 0 auto; }

/* --- Séparateur --- */
.savoirfaire-divider { width: 1.5px; height: 260px; background-color: #c9a961; align-self: center; }

/* --- Responsive --- */
@media (max-width: 1024px) { .savoirfaire-container { flex-direction: column; align-items: center; } .savoirfaire-divider { width: 50%; height: 1px; background-color: rgba(255, 255, 255, 0.3); margin: 25px 0; } .savoirfaire-item { width: 100%; max-width: 600px; padding: 50px 20px; } .savoirfaire-icon img { width: 70px; } }

/* =========================== BLOC AVIS CLIENTS =========================== */
.testimonials-section { padding: 100px 40px; background-color: #fff; }

.testimonials-container { max-width: 1200px; margin: 0 auto; text-align: center; }

.testimonials-header { margin-bottom: 60px; }

.testimonials-subtitle { letter-spacing: 3px; margin-bottom: -20px; font-weight: 600; font-family: 'Marck Script'; font-size: 1.6rem; color: #c9a961; }

.testimonials-title { font-size: 2.4rem; color: #000000; font-weight: 600 !important; letter-spacing: 2px; text-transform: uppercase; }

.testimonials-carousel { position: relative; padding: 0 100px; }

.testimonials-wrapper { overflow: hidden; position: relative; }

.testimonials-track { display: flex; transition: transform 0.5s ease; }

.testimonial-item { min-width: 100%; padding: 40px 20px; opacity: 0; transition: opacity 0.5s ease; }

.testimonial-item.active { opacity: 1; }

.testimonial-quote { margin-bottom: 40px; font-weight: 400; font-size: 1.05rem; line-height: 1.6; color: #5a5a5a; }

.testimonial-author { font-size: 1.1rem; color: #1a2332; font-weight: 600; margin-bottom: 5px; }

.testimonial-stars { display: flex; justify-content: center; gap: 5px; }

.testimonial-stars svg { width: 20px; height: 20px; fill: #c9a961; }

.testimonial-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; border: none; background-color: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; z-index: 10; }

.testimonial-nav:hover { transform: translateY(-50%) scale(1.1); }

.testimonial-nav svg { width: 30px; height: 30px; stroke: #1a2332; stroke-width: 2; fill: none; }

.testimonial-nav.prev { left: 0; }

.testimonial-nav.next { right: 0; }

.testimonial-dots { display: flex; justify-content: center; gap: 10px; margin-top: 40px; }

.testimonial-dot { width: 10px; height: 10px; border-radius: 50%; background-color: #ddd; border: none; cursor: pointer; transition: all 0.3s ease; padding: 0; }

.testimonial-dot.active { background-color: #1a2332; width: 30px; border-radius: 5px; }

@media (max-width: 768px) { .testimonials-section { padding: 60px 20px; } .testimonials-title { font-size: 2rem; } .testimonial-quote { font-size: 1.2rem; } .testimonials-carousel { padding: 0 40px; } .testimonial-nav { width: 40px; height: 40px; } }

/* =========================== BLOC SERVICES =========================== */
.services-header { max-width: 1100px; margin: 0 auto 3rem auto; padding: 0 1rem; text-align: center; position: relative; z-index: 3; }

.services-title-principal { font-size: 2.8rem; font-weight: 600 !important; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 1rem; color: #fff; font-family: 'Oswald'; }

.services-subtitle { font-size: 1.6rem; font-weight: 600; color: #c9a961; max-width: 1100px; margin: 0 auto; line-height: 1.6; font-family: 'Marck Script'; letter-spacing: 3px; padding-bottom: 20px; }

.services-section { position: relative; padding: 80px 0; overflow: hidden; }

.services-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fi0inMDLg0rVVgF3d2uRsBIpHuqs1%2Fimages%2FChatGPT_Image_27_janv_2026_14_13_22_ann5.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

.services-background::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #00000094; z-index: 1; }

.services-container { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; padding: 0 40px; }

.services-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }

.service-card { position: relative; padding: 60px 40px; text-align: left; cursor: pointer; transition: all 0.4s ease; backdrop-filter: blur(0px); background: rgba(255, 255, 255, 0); border: 1px solid #c9a961; text-decoration: none; display: block; color: inherit; }

.service-card:hover { backdrop-filter: blur(10px); background: rgba(255, 255, 255, 0.15); border-color: #c9a961b0; }

.service-title { font-size: 2.2rem; font-weight: 600 !important; color: #ffffff; line-height: 1.4; margin-bottom: 30px; letter-spacing: 2px; font-family: 'Oswald'; }

.service-arrow { position: absolute; bottom: 30px; right: 30px; width: 50px; height: 50px; border: 2px solid #c9a961; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateX(-10px); transition: all 0.4s ease; }

.service-arrow svg { width: 24px; height: 24px; stroke: #c9a961; stroke-width: 2; fill: none; }

.service-card:hover .service-arrow { opacity: 1; transform: translateX(0); }

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

@media (max-width: 768px) { .services-grid { grid-template-columns: 1fr; } .service-card { padding: 50px 30px; } .service-number { font-size: 2.5rem; } .service-title { font-size: 2rem; } .services-subtitle { line-height: 1.3; padding-top: 10px; } .services-title-principal { font-size: 2.4rem; } }

/* =========================== BLOC PRESENTATION =========================== */
.presentation-container { max-width: 1400px; margin: 0 auto; padding: 100px 40px 50px; }

.section-presentation { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 60px; }

/* Fond à motif pour la deuxième section uniquement */
.section-presentation.with-pattern { background-color: #ffffff; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zm20.97 0l9.315 9.314-1.414 1.414L34.828 0h2.83zM22.344 0L13.03 9.314l1.414 1.414L25.172 0h-2.83zM32 0l12.142 12.142-1.414 1.414L30 .828 17.272 13.556l-1.414-1.414L28 0h4zM.284 0l28 28-1.414 1.414L0 2.544V0h.284zM0 5.373l25.456 25.455-1.414 1.415L0 8.2V5.374zm0 5.656l22.627 22.627-1.414 1.414L0 13.86v-2.83zm0 5.656l19.8 19.8-1.415 1.413L0 19.514v-2.83zm0 5.657l16.97 16.97-1.414 1.415L0 25.172v-2.83zM0 28l14.142 14.142-1.414 1.414L0 30.828V28zm0 5.657L11.314 44.97 9.9 46.386l-9.9-9.9v-2.828zm0 5.657L8.485 47.8 7.07 49.212 0 42.143v-2.83zm0 5.657l5.657 5.657-1.414 1.415L0 47.8v-2.83zm0 5.657l2.828 2.83-1.414 1.413L0 53.456v-2.83zM54.627 60L30 35.373 5.373 60H8.2L30 38.2 51.8 60h2.827zm-5.656 0L30 41.03 11.03 60h2.828L30 43.858 46.142 60h2.83zm-5.656 0L30 46.686 16.686 60h2.83L30 49.515 40.485 60h2.83zm-5.657 0L30 52.343 22.343 60h2.83L30 55.172 34.828 60h2.83zM32 60l-2-2-2 2h4zM59.716 0l-28 28 1.414 1.414L60 2.544V0h-.284zM60 5.373L34.544 30.828l1.414 1.415L60 8.2V5.374zm0 5.656L37.373 33.656l1.414 1.414L60 13.86v-2.83zm0 5.656l-19.8 19.8 1.415 1.413L60 19.514v-2.83zm0 5.657l-16.97 16.97 1.414 1.415L60 25.172v-2.83zM60 28L45.858 42.142l1.414 1.414L60 30.828V28zm0 5.657L48.686 44.97l1.415 1.415 9.9-9.9v-2.828zm0 5.657L51.515 47.8l1.414 1.413 7.07-7.07v-2.83zm0 5.657l-5.657 5.657 1.414 1.415L60 47.8v-2.83zm0 5.657l-2.828 2.83 1.414 1.413L60 53.456v-2.83zM39.9 16.385l1.414-1.414L30 3.658 18.686 14.97l1.415 1.415 9.9-9.9 9.9 9.9zm-2.83 2.828l1.415-1.414L30 9.313 21.515 17.8l1.414 1.413 7.07-7.07 7.07 7.07zm-2.827 2.83l1.414-1.416L30 14.97l-5.657 5.657 1.414 1.415L30 17.8l4.243 4.242zm-2.83 2.827l1.415-1.414L30 20.626l-2.828 2.83 1.414 1.414L30 23.456l1.414 1.414zM56.87 59.414L58.284 58 30 29.716 1.716 58l1.414 1.414L30 32.544l26.87 26.87z' fill='%23eddfbe' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); padding: 80px 0; margin-left: -40px; margin-right: -40px; padding-left: 40px; padding-right: 40px; }

.presentation-image-container { position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); z-index: 1; }

.presentation-image-container img { width: 100%; height: 500px; object-fit: cover; display: block; }

.presentation-content { padding: 40px; z-index: 2; position: relative; }

.presentation-title { font-size: 2.8rem; font-weight: 600 !important; color: #000; line-height: 1.2; letter-spacing: 2px; font-family: 'Oswald'; text-transform: uppercase; }

.presentation-subtitle { font-size: 1.6rem; color: #c9a961; letter-spacing: 3px; margin-bottom: 25px; font-weight: 600; font-family: 'Marck Script'; }

.presentation-description { font-size: 1.05rem; line-height: 1.6; color: #5a5a5a; margin-bottom: 20px; }

.presentation-btn { display: inline-block; padding: 18px 50px; background-color: #1a2332; color: #ffffff; text-decoration: none; border-radius: 50px; font-size: 0.95rem; letter-spacing: 2px; transition: all 0.3s ease; border: 2px solid #1a2332; }

.presentation-btn:hover { background-color: #c9a961; border-color: #c9a961; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(201, 169, 97, 0.3); }

@media (max-width: 968px) { .section-presentation { grid-template-columns: 1fr; gap: 40px; } .presentation-title { font-size: 2.2rem; } .presentation-content { padding: 20px 0px; text-align: center; } .presentation-subtitle { font-size: 1.4rem; } .presentation-image-container img { height: 400px; } .presentation-content { order: 1; /* texte en premier */ } .presentation-image-container { order: 2; /* image après le texte */ } }

/* =========================== BLOC ACCUEIL =========================== */
.hero { position: relative; height: 100vh; width: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center; }

.hero-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

.hero-background img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.5s ease-in-out; }

.hero-background img.active { opacity: 1; }

.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #00000094; z-index: 2; }

.hero-content { position: relative; z-index: 3; text-align: center; color: white; max-width: 1200px; padding: 0 2rem; animation: fadeInUp 1s ease-out; }

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

.hero-content .logo { font-size: 2.5rem; font-weight: 300; letter-spacing: 8px; margin-bottom: 3rem; text-transform: uppercase; color: #c9a961; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }

.hero-content .logo strong { font-weight: 700; }

.hero-content h1 { font-size: 3.8rem; font-weight: 600 !important; margin-bottom: 1.5rem; line-height: 1.2; letter-spacing: 3px; text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5); font-family: 'Oswald'; text-transform: uppercase; }

.hero-content .subtitle { font-size: 2rem; margin-bottom: 1rem; letter-spacing: 1px; color: #E8E8E8; font-family: 'Marck Script'; }

.hero-content .tagline { font-size: 1.2rem; font-weight: 400; margin-bottom: 3rem; color: #c9a961; letter-spacing: 3px; text-transform: uppercase; font-family: 'Oswald'; }

.cta-button { display: inline-block; padding: 16px 40px; background: linear-gradient(135deg, #c9b761 0%, #c9a961 100%); color: #fff !important; text-decoration: none; font-size: 1.1rem; font-weight: 600; letter-spacing: 1.5px; border: 1px solid #fff; transition: all 0.4s ease; box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3); position: relative; overflow: hidden; }

.cta-button:before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(135deg, #c9b761 0%, #D4AF37 100%); transition: left 0.4s ease; z-index: -1; }

.cta-button:hover:before { left: 0; }

.cta-button:hover { transform: translateY(-3px); box-shadow: 0 12px 35px rgba(212, 175, 55, 0.5); color: #fff !important; }

@media (max-width: 768px) { .hero-content h1 { font-size: 2.5rem; } .hero-content .logo { font-size: 1.8rem; letter-spacing: 4px; margin-bottom: 2rem; } .hero-content .subtitle { font-size: 1.4rem; } .hero-content .tagline { font-size: 0.9rem; } .cta-button { padding: 15px 35px; font-size: 1rem; } }

/*-------------------Galerie Custom--------------------------*/
section#custom-gallery { background-color: #000000; background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zm20.97 0l9.315 9.314-1.414 1.414L34.828 0h2.83zM22.344 0L13.03 9.314l1.414 1.414L25.172 0h-2.83zM32 0l12.142 12.142-1.414 1.414L30 .828 17.272 13.556l-1.414-1.414L28 0h4zM.284 0l28 28-1.414 1.414L0 2.544V0h.284zM0 5.373l25.456 25.455-1.414 1.415L0 8.2V5.374zm0 5.656l22.627 22.627-1.414 1.414L0 13.86v-2.83zm0 5.656l19.8 19.8-1.415 1.413L0 19.514v-2.83zm0 5.657l16.97 16.97-1.414 1.415L0 25.172v-2.83zM0 28l14.142 14.142-1.414 1.414L0 30.828V28zm0 5.657L11.314 44.97 9.9 46.386l-9.9-9.9v-2.828zm0 5.657L8.485 47.8 7.07 49.212 0 42.143v-2.83zm0 5.657l5.657 5.657-1.414 1.415L0 47.8v-2.83zm0 5.657l2.828 2.83-1.414 1.413L0 53.456v-2.83zM54.627 60L30 35.373 5.373 60H8.2L30 38.2 51.8 60h2.827zm-5.656 0L30 41.03 11.03 60h2.828L30 43.858 46.142 60h2.83zm-5.656 0L30 46.686 16.686 60h2.83L30 49.515 40.485 60h2.83zm-5.657 0L30 52.343 22.343 60h2.83L30 55.172 34.828 60h2.83zM32 60l-2-2-2 2h4zM59.716 0l-28 28 1.414 1.414L60 2.544V0h-.284zM60 5.373L34.544 30.828l1.414 1.415L60 8.2V5.374zm0 5.656L37.373 33.656l1.414 1.414L60 13.86v-2.83zm0 5.656l-19.8 19.8 1.415 1.413L60 19.514v-2.83zm0 5.657l-16.97 16.97 1.414 1.415L60 25.172v-2.83zM60 28L45.858 42.142l1.414 1.414L60 30.828V28zm0 5.657L48.686 44.97l1.415 1.415 9.9-9.9v-2.828zm0 5.657L51.515 47.8l1.414 1.413 7.07-7.07v-2.83zm0 5.657l-5.657 5.657 1.414 1.415L60 47.8v-2.83zm0 5.657l-2.828 2.83 1.414 1.413L60 53.456v-2.83zM39.9 16.385l1.414-1.414L30 3.658 18.686 14.97l1.415 1.415 9.9-9.9 9.9 9.9zm-2.83 2.828l1.415-1.414L30 9.313 21.515 17.8l1.414 1.413 7.07-7.07 7.07 7.07zm-2.827 2.83l1.414-1.416L30 14.97l-5.657 5.657 1.414 1.415L30 17.8l4.243 4.242zm-2.83 2.827l1.415-1.414L30 20.626l-2.828 2.83 1.414 1.414L30 23.456l1.414 1.414zM56.87 59.414L58.284 58 30 29.716 1.716 58l1.414 1.414L30 32.544l26.87 26.87z' fill='%23505050' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E"); padding-bottom: 80px; }

#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; }

/*-------------------Contact--------------------------*/
button.w-100.btn.btn-outline-dark { border-radius: 0px; background: linear-gradient(135deg, #c9b761 0%, #c9a961 100%); color: #fff !important; font-weight: 600; border: 1px solid #fff; transition: all 0.4s ease; }

button.w-100.btn.btn-outline-dark:hover { border-radius: 0px; transform: translateY(-3px); box-shadow: 0 12px 35px rgba(212, 175, 55, 0.5); color: #fff !important; }

button.w-100.btn.btn-outline-dark:before { position: absolute; background: linear-gradient(135deg, #c9b761 0%, #D4AF37 100%); z-index: -1; }

button.w-100.btn.btn-outline-dark:hover:before { left: 0; }

form#formContact { border-radius: 0px !important; border: 1px solid #000000cf !important; }

input#firstName { border-radius: 0px; }

input#lastName { border-radius: 0px; }

input#senderEmailAddress { border-radius: 0px; }

input#telNumber { border-radius: 0px; }

input#subject { border-radius: 0px; }

textarea#textMessage { border-radius: 0px; }

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