@charset "UTF-8";
@import url(main.css);
.navbar { transition: all 0.3s ease; }

.navbar.scrolled { background-color: rgba(51, 51, 51, 0.5) !important; backdrop-filter: blur(1rem); }

/* 📱 Responsive : navbar TOUJOURS visible */
@media (max-width: 991px) { .navbar { background-color: rgba(0, 0, 0, 0.5) !important; backdrop-filter: blur(1rem); } }

.navbar-brand { height: 9vh !important; width: 9vw !important; }

.logo_nav { height: 8vh !important; }

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

@media (max-width: 900px) { a.navbar-brand { height: 8vh !important; width: 12vh !important; } }

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

.spacer { display: none; }

.fs-6.lead.mt-4.mb-4 { color: rgba(45, 42, 42, 0.82); font-size: 17px; line-height: 1.75; font-weight: 400; }

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

/* =========================== PAGES SEO =========================== */
.bandeau.border-bottom-1.row { background: #8f9463; }

a.p-3.fw-bold.fs-6.m-2.phone-number-button.text-decoration-none { background: #f4b800; border-radius: 50px; color: black; }

.px-4.py-5.my-5.text-center.cta_banner.bg-sixthColor { background: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FZ2daGfYZmzMmla3gXi0SDNH5h3V2%2Fimages%2FImage_de_fond_3_ef39.webp?alt=media&token=40b312df-1f57-4b1f-9ea9-e417eeb1ddc9"); background-size: cover; }

span.display-5.fw-bold.text-body-emphasis.titles { color: black; }

div#contact { background: #8f9463; background: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FZ2daGfYZmzMmla3gXi0SDNH5h3V2%2Fimages%2FImage_de_fond_3_ef39.webp?alt=media&token=40b312df-1f57-4b1f-9ea9-e417eeb1ddc9"); background-size: cover; }

/* =========================== GALERIE PAGE REALISATIONS =========================== */
#custom-gallery { padding-top: 80px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 120px 30px 120px 30px; } }

#custom-gallery::before { content: ""; position: absolute; border-radius: 50%; z-index: 0; pointer-events: none; width: 380px; height: 380px; top: -90px; left: -90px; background: rgba(201, 203, 163, 0.45); }

#custom-gallery::after { content: ""; position: absolute; width: 380px; height: 380px; bottom: 40px; right: -120px; border: 30px solid rgba(143, 148, 99, 0.18); border-radius: 50%; z-index: 0; pointer-events: none; }

#custom-gallery { position: relative !important; overflow: hidden; isolation: isolate; }

#custom-gallery > * { position: relative; z-index: 2; }

#custom-gallery .image { height: 400px !important; margin: 20px 0; }

#custom-gallery .img-responsive { border-radius: 15px; /* arrondi doux, tu peux augmenter ou diminuer la valeur */ }

#custom-gallery .img-overlay { border-radius: 15px; }

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

/* =========================== ABOUT INTRO =========================== */
.jp-about-intro { position: relative; padding: 165px 24px; background: #F7F4EA; overflow: hidden; }

.jp-about-intro::before { content: ""; position: absolute; border-radius: 50%; z-index: 0; width: 380px; height: 380px; top: -90px; left: -90px; background: rgba(201, 203, 163, 0.45); }

.jp-about-intro::after { content: ""; position: absolute; width: 380px; height: 380px; bottom: -130px; right: -120px; border: 30px solid rgba(143, 148, 99, 0.18); border-radius: 50%; z-index: 0; }

.jp-about-intro__container { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 90px; align-items: center; position: relative; z-index: 2; }

.jp-about-intro__image { position: relative; height: 650px; }

.jp-about-intro__image img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; border-radius: 28px; box-shadow: 0 25px 55px rgba(45, 42, 42, 0.15); }

.jp-about-intro__content span { display: block; margin-bottom: 15px; color: #f4b800; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-about-intro__content h2 { margin: 0 0 28px; color: #2D2A2A; font-size: clamp(34px, 4vw, 45px); line-height: 1.1; }

.jp-about-intro__content p { margin: 0 0 18px; color: rgba(45, 42, 42, 0.8); font-size: 17px; line-height: 1.75; }

.jp-about-intro__button { display: inline-flex; align-items: center; justify-content: center; margin-top: 15px; padding: 14px 32px; min-height: 50px; border-radius: 999px; background: #F4B800; color: #050505; border: 2px solid #F4B800; font-weight: 800; text-decoration: none; transition: all .3s ease; }

.jp-about-intro__button:hover { transform: translateY(-3px); }

@media (max-width: 1000px) { .jp-about-intro__container { grid-template-columns: 1fr; gap: 50px; } .jp-about-intro__image { height: 500px; } }

@media (max-width: 600px) { .jp-about-intro { padding: 80px 20px; } .jp-about-intro__image { height: 350px; } .jp-about-intro__content h2 { font-size: 32px; } }

/* =========================== HEADER PAGES INTERNES =========================== */
.jp-inner-header { position: relative; min-height: 520px; padding: 180px 24px; background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center; justify-content: center; overflow: hidden; }

.jp-inner-header__overlay { position: absolute; inset: 0; background: rgba(143, 148, 99, 0.625); }

.jp-inner-header__content { position: relative; z-index: 2; text-align: center; max-width: 900px; margin-top: 40px; }

.jp-inner-header__brand { display: block; margin-bottom: 20px; color: #f4b800; font-size: 24px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-inner-header h1 { margin: 0; color: #F7F4EA; font-size: clamp(42px, 6vw, 60px); line-height: 1.05; font-weight: 800; }

.jp-inner-header__infos { display: inline-flex; align-items: center; justify-content: center; gap: 0; margin-top: 45px; padding: 15px 28px; background: rgba(247, 244, 234, 0.12); backdrop-filter: blur(8px); border: 1px solid rgba(247, 244, 234, 0.15); border-radius: 50px; }

.jp-inner-header__infos span { color: #F7F4EA; font-size: 17px; font-weight: 600; }

.jp-inner-header__infos span:not(:last-child)::after { content: "•"; margin: 0 18px; color: #F4B800; }

@media (max-width: 700px) { .jp-inner-header { min-height: 420px; padding: 90px 20px; } .jp-inner-header__brand { font-size: 24px; } .jp-inner-header h1 { font-size: 40px; } .jp-inner-header__infos { flex-direction: column; gap: 8px; width: auto; } .jp-inner-header__infos span:not(:last-child)::after { display: none; } }

/* =========================== SEPARATEUR SERVICES =========================== */
.jp-services-separator { position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 130px; }

.jp-services-separator::before { content: ""; width: 100%; max-width: 900px; height: 1px; background: rgba(45, 42, 42, 0.15); }

.jp-services-separator span { position: absolute; width: 80px; height: 5px; border-radius: 10px; background: #F4B800; }

/* =========================== SERVICES CATEGORY =========================== */
.jp-services-category { padding: 165px 24px 80px; background: #F7F4EA; }

/* =========================== DECORATIONS BACKGROUND =========================== */
.jp-services-category { position: relative; overflow: hidden; isolation: isolate; }

.jp-services-category__decor { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; }

/* Rond plein */
.jp-services-category__decor--top { width: 430px; height: 430px; top: 220px; left: -120px; background: rgba(143, 148, 99, 0.18); }

/* Rond contour */
.jp-services-category__decor--bottom { width: 380px; height: 380px; bottom: 130px; right: -120px; border: 30px solid rgba(143, 148, 99, 0.18); }

/* Contenu au-dessus des décorations */
.jp-services-category__container { position: relative; z-index: 2; }

.jp-services-category__container { max-width: 1300px; margin: 0 auto; }

/* HEADER */
.jp-services-category__heading { display: grid; grid-template-columns: auto 1fr; gap: 25px; align-items: center; margin-bottom: 60px; }

.jp-services-category__icon { width: 80px; height: 80px; border-radius: 22px; background: #F4B800; display: flex; align-items: center; justify-content: center; }

.jp-services-category__icon img { width: 62px; height: 62px; object-fit: contain; }

.jp-services-category__heading h2 { margin: 0; color: #2D2A2A; font-size: clamp(34px, 4vw, 48px); line-height: 1.1; }

.jp-services-category__heading p { grid-column: 1 / -1; max-width: 850px; margin: 25px 0 0; color: rgba(45, 42, 42, 0.8); font-size: 17px; line-height: 1.7; }

/* CARDS */
.jp-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.jp-service-card { overflow: hidden; border-radius: 26px; background: #ffffff; box-shadow: 0 20px 45px rgba(45, 42, 42, 0.1); position: relative; }

.jp-service-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -65px; bottom: -65px; border-radius: 50%; background: rgba(244, 184, 0, 0.3); pointer-events: none; }

.jp-service-card__image { height: 250px; overflow: hidden; }

.jp-service-card__image img { width: 100%; height: 100%; object-fit: cover; }

.jp-service-card__content { padding: 28px; }

.jp-service-card h3 { margin: 0 0 15px; color: #2D2A2A; font-size: 24px; line-height: 1.2; }

.jp-service-card p { margin: 0; color: rgba(45, 42, 42, 0.75); font-size: 16px; line-height: 1.7; }

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

@media (max-width: 650px) { .jp-services-category { padding: 80px 20px; } .jp-services-category__heading { display: flex; flex-direction: column; align-items: flex-start; } .jp-services-grid { grid-template-columns: 1fr; } .jp-service-card__image { height: 220px; } }

/* =========================== PARTENAIRES =========================== */
.jp-partners { padding: 165px 24px; background: #050505; background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FZ2daGfYZmzMmla3gXi0SDNH5h3V2%2Fimages%2FImage_de_fond_3_ef39.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; }

.jp-partners__container { max-width: 1300px; margin: 0 auto; }

.jp-partners__heading { max-width: 850px; margin: 0 auto 60px; text-align: center; }

.jp-partners__heading span { display: inline-block; margin-bottom: 16px; color: #f4b800; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-partners__heading h2 { margin: 0 0 22px; color: #000000; font-size: clamp(34px, 4vw, 45px); line-height: 1.1; }

.jp-partners__heading p { color: #000000; font-size: 17px; line-height: 1.7; }

/* Logos */
.jp-partners__logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }

.jp-partners__logo { height: 130px; padding: 20px; background: #f7f4ea; border-radius: 18px; display: flex; align-items: center; justify-content: center; transition: .3s ease; }

.jp-partners__logo img { max-width: 100%; max-height: 75px; object-fit: contain; }

.jp-partners__logo:hover { transform: translateY(-5px); }

/* Responsive */
@media (max-width: 1000px) { .jp-partners__logos { grid-template-columns: repeat(3, 1fr); } }

@media (max-width: 700px) { .jp-partners { padding: 80px 20px; } .jp-partners__featured { flex-direction: column; text-align: center; } .jp-partners__logos { grid-template-columns: repeat(2, 1fr); } }

/* =========================== BLOC AVIS GOOGLE =========================== */
img.card-img-top.avatar-google-place.rounded-circle.d-lg-flex.align-items-lg-center.justify-content-center.m-2 { width: 100px !important; height: 100px !important; margin-right: 30px !important; }

a#maps-url { background: #f4b800; color: black !important; font-weight: 600; }

.owl-carousel .owl-stage-outer { padding-bottom: 120px; }

.mb-5.googleReviews-div { padding-top: 160px !important; background: #8f9463; margin-bottom: 0px !important; }

.card.rounded-3.shadow-lg.mx-4.mb-4 { background: #F7F4EA; }

.card.p-2.rounded-3.shadow-lg.px-4.border-0.d-flex.justify-content-lg-between { background: #F7F4EA; }

/* =========================== GALERIE INFINIE =========================== */
.infinite-gallery { overflow: hidden; width: 100%; position: relative; padding: 195px 0; background: #F7F4EA; z-index: 1; }

.infinite-gallery::before { content: ""; position: absolute; width: 350px; height: 350px; top: -150px; right: -120px; border-radius: 50%; background: rgba(143, 148, 99, 0.18); z-index: 0; }

/* Rond décoratif en contour */
.infinite-gallery::after { content: ""; position: absolute; width: 380px; height: 380px; left: -120px; top: 150px; border-radius: 50%; border: 30px solid #e4e3d2; pointer-events: none; z-index: 0; }

/*-----------------------------------------------
HEADER GALERIE
------------------------------------------------*/
.jp-gallery-header { padding: 0 24px 80px; z-index: 2; position: relative; }

.jp-gallery-header__container { max-width: 1300px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; }

.jp-gallery-header__content span { display: inline-block; margin-bottom: 16px; color: #f4b800; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-gallery-header__content h2 { margin: 0; max-width: 500px; color: #2D2A2A; font-size: clamp(34px, 4vw, 45px); line-height: 1.1; font-weight: 800; }

.jp-gallery-header__button { display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; padding: 15px 30px; border-radius: 999px; background: #F4B800; color: #050505; border: 2px solid #F4B800; font-weight: 800; text-decoration: none; transition: all 0.3s ease; }

.jp-gallery-header__button:hover { transform: translateY(-3px); }

@media (max-width: 900px) { .jp-gallery-header__container { flex-direction: column; align-items: flex-start; gap: 25px; } .jp-gallery-header__button { width: 100%; } .infinite-gallery::before { content: ""; position: absolute; width: 250px; height: 250px; top: -60px; right: -120px; } }

@media (max-width: 600px) { .jp-gallery-header { padding: 0 20px 40px; } .jp-gallery-header__content h2 { font-size: 32px; } }

.gallery-track { display: flex; gap: 20px; width: max-content; animation: scrollGallery 60s linear infinite; z-index: 2; position: relative; }

.gallery-item { flex: 0 0 auto; }

.gallery-item img { max-height: 400px; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 26px; }

/* Animation desktop */
@keyframes scrollGallery { from { transform: translateX(0); }
  to { transform: translateX(-50%); } }

/* Pause au survol */
.gallery-track:hover { animation-play-state: paused; }

/*-----------------------------------------------Mobile-------------------------------------------------------------*/
@media screen and (max-width: 767px) { .infinite-gallery { overflow: visible; padding: 60px 20px; } .gallery-track { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; width: 100%; animation: none; transform: none; } .gallery-track:hover { animation-play-state: initial; } .gallery-item { width: 100%; } .gallery-item a { display: block; width: 100%; } .gallery-item img { width: 100%; max-height: none; aspect-ratio: 1 / 1; object-fit: cover; } }

/*-----------------------------------------------Lightbox-------------------------------------------------------------*/
.lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.9); display: flex; align-items: center; justify-content: center; padding: 40px; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 9999; }

.lightbox.active { opacity: 1; pointer-events: auto; }

.lightbox-image { max-width: 90vw; max-height: 90vh; object-fit: contain; }

.lightbox-close { position: absolute; top: 20px; right: 25px; background: transparent; border: none; color: white; font-size: 40px; cursor: pointer; line-height: 1; }

@media screen and (max-width: 767px) { .lightbox { padding: 20px; } .lightbox-close { top: 12px; right: 16px; font-size: 36px; } }

/* =========================== BLOC SERVICES =========================== */
.jp-home-services { padding: 165px 24px; background: #050505; color: #F7F4EA; background: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FZ2daGfYZmzMmla3gXi0SDNH5h3V2%2Fimages%2FImage_de_fond_3_ef39.webp"); background-size: cover; }

.jp-home-services__container { max-width: 1300px; margin: 0 auto; }

.jp-home-services__heading { max-width: 800px; margin: 0 auto 58px; text-align: center; }

.jp-home-services__heading span { display: inline-block; margin-bottom: 16px; color: #f4b800; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-home-services__heading h2 { margin: 0 0 20px; font-size: clamp(34px, 4vw, 45px); line-height: 1.08; font-weight: 800; color: #000000; }

.jp-home-services__heading p { margin: 0; color: #000000; font-size: 17px; line-height: 1.7; }

.jp-home-services__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

.jp-home-services__card { position: relative; min-height: 360px; padding: 34px 26px 30px; border-radius: 26px; background: #F7F4EA; color: #2D2A2A; text-decoration: none; overflow: hidden; transition: all 0.35s ease; }

.jp-home-services__card::before { content: ""; position: absolute; right: -55px; top: -55px; width: 150px; height: 150px; border-radius: 50%; background: rgba(244, 184, 0, 0.22); transition: all 0.35s ease; }

.jp-home-services__card::after { content: ""; position: absolute; left: -35px; bottom: -35px; width: 110px; height: 110px; border-radius: 50%; border: 18px solid rgba(244, 184, 0, 0.16); transition: all 0.35s ease; }

.jp-home-services__icon { position: relative; z-index: 2; width: 68px; height: 68px; margin-bottom: 28px; border-radius: 20px; background: #F4B800; color: #050505; display: flex; align-items: center; justify-content: center; font-size: 34px; }

.jp-home-services__icon img { width: 48px; height: 48px; object-fit: contain; display: block; }

.jp-home-services__card h3 { position: relative; z-index: 2; margin: 0 0 16px; color: #2D2A2A; font-size: 24px; line-height: 1.15; font-weight: 800; }

.jp-home-services__card p { position: relative; z-index: 2; margin: 0 0 40px; color: rgba(45, 42, 42, 0.78); font-size: 15.5px; line-height: 1.65; }

.jp-home-services__card span { position: absolute; left: 26px; bottom: 28px; z-index: 2; color: #050505; font-weight: 800; }

.jp-home-services__card span::after { content: " →"; color: #F4B800; transition: padding-left 0.3s ease; }

.jp-home-services__card:hover { transform: translateY(-8px); background: #8f9463; color: #F7F4EA; }

.jp-home-services__card:hover::before { transform: scale(1.45); background: rgba(244, 184, 0, 0.3); }

.jp-home-services__card:hover::after { border-color: rgba(244, 184, 0, 0.25); }

.jp-home-services__card:hover h3, .jp-home-services__card:hover p, .jp-home-services__card:hover span { color: #F7F4EA; }

.jp-home-services__card:hover span::after { padding-left: 6px; }

.jp-home-services__button-wrap { margin-top: 46px; text-align: center; }

.jp-home-services__button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 30px; border-radius: 999px; background: #F4B800; color: #050505 !important; border: 2px solid #F4B800; font-weight: 800; text-decoration: none; transition: all 0.3s ease; }

.jp-home-services__button:hover { transform: translateY(-3px); }

@media (max-width: 1100px) { .jp-home-services__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 650px) { .jp-home-services { padding: 80px 18px; } .jp-home-services__heading { margin-bottom: 38px; } .jp-home-services__grid { grid-template-columns: 1fr; } .jp-home-services__card { min-height: auto; padding: 30px 24px 76px; } }

/* =========================== BLOC PRESENTATION =========================== */
.jp-presentation { position: relative; padding: 165px 24px; background: #F7F4EA; overflow: hidden; }

.jp-presentation__decor { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; }

.jp-presentation__decor--top { width: 380px; height: 380px; top: -90px; left: -90px; background: rgba(201, 203, 163, 0.45); }

.jp-presentation__decor--bottom { width: 380px; height: 380px; bottom: -130px; right: -120px; border: 30px solid rgba(143, 148, 99, 0.18); }

.jp-presentation__container { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }

.jp-presentation__visual { position: relative; }

.jp-presentation__slider { position: relative; width: 100%; height: 620px; border-radius: 28px; overflow: hidden; background: #2D2A2A; box-shadow: 0 24px 55px rgba(45, 42, 42, 0.18); }

.jp-presentation__track { width: 100%; height: 100%; }

.jp-presentation__slide { display: none; width: 100%; height: 100%; object-fit: cover; }

.jp-presentation__slide.is-active { display: block; }

.jp-presentation__arrow { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 54px; height: 54px; border-radius: 50%; border: none; background: rgba(45, 42, 42, 0.82); color: #F7F4EA; font-size: 42px; line-height: 1; cursor: pointer; transition: all 0.3s ease; }

.jp-presentation__arrow:hover { background: #F4B800; color: #050505; }

.jp-presentation__arrow--prev { left: 22px; }

.jp-presentation__arrow--next { right: 22px; }

.jp-presentation__dots { position: absolute; left: 50%; bottom: 24px; z-index: 3; transform: translateX(-50%); display: flex; gap: 9px; }

.jp-presentation__dot { width: 12px; height: 12px; border-radius: 999px; border: none; background: rgba(247, 244, 234, 0.75); cursor: pointer; transition: all 0.3s ease; }

.jp-presentation__dot.is-active { width: 34px; background: #F4B800; }

@media (max-width: 980px) { .jp-presentation__slider { height: 460px; } }

@media (max-width: 600px) { .jp-presentation__slider { height: 320px; border-radius: 22px; } .jp-presentation__arrow { width: 44px; height: 44px; font-size: 34px; } .jp-presentation__arrow--prev { left: 14px; } .jp-presentation__arrow--next { right: 14px; } }

.jp-presentation__content { position: relative; z-index: 2; }

.jp-presentation__tag { display: inline-block; margin-bottom: 16px; color: #f4b800; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Quicksand', sans-serif !important; }

.jp-presentation h2 { margin: 0 0 24px; color: #2D2A2A; font-size: clamp(34px, 4vw, 45px); line-height: 1.08; font-weight: 800; }

.jp-presentation p { margin: 0 0 18px; color: rgba(45, 42, 42, 0.82); font-size: 17px; line-height: 1.75; }

.jp-presentation__list { display: grid; grid-template-columns: repeat(2, fit-content(260px)); gap: 18px 28px; margin: 30px 0 34px; align-items: center; }

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

.jp-presentation__list div { position: relative; padding-left: 34px; color: #2D2A2A; font-weight: 700; font-size: 17px; }

.jp-presentation__list div::before { content: "✓"; position: absolute; left: 0; top: -2px; width: 23px; height: 23px; border-radius: 50%; background: #F4B800; color: #050505; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; }

.jp-presentation__button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 30px; border-radius: 999px; background: #F4B800; color: #050505; border: 2px solid #F4B800; font-weight: 800; text-decoration: none; transition: all 0.3s ease; }

.jp-presentation__button:hover { transform: translateY(-3px); }

@media (max-width: 980px) { .jp-presentation { padding: 80px 20px; } .jp-presentation__container { grid-template-columns: 1fr; gap: 50px; } .jp-presentation__visual { min-height: 500px; } }

@media (max-width: 600px) { .jp-presentation__visual { min-height: auto; display: grid; gap: 18px; } .jp-presentation__shape { display: none; } .jp-presentation__image { position: relative; width: 100%; height: 270px; left: auto; right: auto; top: auto; bottom: auto; } .jp-presentation__image--small { width: 100%; border: none; } .jp-presentation h2 { font-size: 32px; } }

/* =========================== BLOC ACCUEIL =========================== */
.jp-hero-home { position: relative; height: 100vh; padding: 180px 24px; background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FZ2daGfYZmzMmla3gXi0SDNH5h3V2%2Fimages%2FImage_de_fond_m7dr.webp?alt=media&token=fc024f90-e212-4034-8151-07ff01295416"); background-size: cover; background-position: center; background-repeat: no-repeat; display: flex; align-items: center; justify-content: center; overflow: hidden; }

.jp-hero-home__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(104, 97, 97, 0.7), rgba(45, 42, 42, 0.8)); z-index: 1; }

.jp-hero-home__content { position: relative; z-index: 2; max-width: 980px; margin: 0 auto; text-align: center; color: #F7F4EA; }

.jp-hero-home__logo { max-width: 340px; width: 100%; height: auto; margin-bottom: 34px; filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.45)); }

.jp-hero-home h1 { margin: 0 0 22px; color: #F7F4EA; font-size: clamp(38px, 5vw, 60px); line-height: 1.05; font-weight: 800; }

.jp-hero-home p { max-width: 820px; margin: 0 auto 36px; color: rgba(247, 244, 234, 0.92); font-size: clamp(17px, 1.5vw, 21px); line-height: 1.7; }

.jp-hero-home__buttons { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

.jp-hero-home__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 26px; border-radius: 999px; font-weight: 700; text-decoration: none; transition: all 0.3s ease; }

.jp-hero-home__btn--primary { background: #F4B800; color: #050505 !important; border: 2px solid #F4B800; }

.jp-hero-home__btn--primary:hover { transform: translateY(-3px); }

.jp-hero-home__btn--secondary { background: rgba(0, 0, 0, 0.25); color: #f4b800 !important; border: 2px solid #f4b800; }

.jp-hero-home__btn--secondary:hover { transform: translateY(-3px); }

@media (max-width: 768px) { .jp-hero-home { min-height: 82vh; padding: 100px 20px 80px; } .jp-hero-home__logo { max-width: 220px; margin-bottom: 28px; } .jp-hero-home__buttons { flex-direction: column; align-items: center; } .jp-hero-home__btn { width: 100%; max-width: 280px; } .jp-hero-home__overlay { background: linear-gradient(180deg, rgba(104, 97, 97, 0.35), rgba(45, 42, 42, 0.25)); } }

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