@charset "UTF-8";
@import url(main.css);
.spacer { display: none !important; }

.photoTitleText:has(p:empty) { display: none; }

strong { font-size: 1.05em; }

.skew-c { width: 100%; height: 100px; background: linear-gradient(to left bottom, transparent 49%, black 50%); }

.skew-cc { width: 100%; height: 100px; margin-bottom: 150px; background: linear-gradient(to right bottom, black 49%, transparent 50%), linear-gradient(-50deg, transparent 16px, transparent 0); }

.skew-cc.rouge { background: linear-gradient(to right bottom, #C11910 49%, black 50%), linear-gradient(-50deg, black 16px, black 0) !important; margin-bottom: 0 !important; }

/*-----------------------------------------------------Ajustements SEO-----------------------------------------------*/
.first-activity-div h2, .second-activity-div h2, .third-activity-div h2 { font-size: 0.6em !important; font-weight: 600 !important; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > a:nth-child(1) { font-size: 0.8em !important; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > ul a { transition: all 0.5s ease; }

.first-banner-seo-page .background-image-div-opacity { background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2F552842380_122243323280082856_4185636112003676326_n_wsfo.webp?alt=media&token=8d113b4c-6214-4548-8711-c27b3c83c16c") !important; }

/*---------------------------------------------------------Formulaire de contact-----------------------------------------*/
#contact { margin-top: -80px; background-color: transparent !important; }

#contact .col-lg-6 { display: none; }

#contact .col-md-10 { width: 90% !important; margin: auto !important; }

#contact #formContact { background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp) !important; background-size: contain !important; background-position: center !important; background-color: black !important; }

#formContact > button { color: white; border-color: white; }

#formContact > div.checkbox.mb-3 > label { color: white; }

/*---------------------------------------------------------Barre de navigation-----------------------------------------*/
nav.navbar { background-color: #ffffffba !important; backdrop-filter: blur(10px); box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px; }

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

.animated-border-button { background-color: transparent !important; }

/*--------------------------------------------------------------Bloc actu--------------------------------------------*/
#news-posts-bloc { margin-top: 150px !important; margin-bottom: 150px !important; }

/*-----------------------------------------------Galerie infini-------------------------------------------------------------*/
.infinite-gallery { overflow: hidden; width: 100%; position: relative; margin: 150px 0; }

.gallery-track { display: flex; gap: 20px; width: max-content; animation: scrollGallery 30s linear infinite; }

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

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

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

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

/*--------------------------------------------------Partenaires------------------------------------------------------*/
.partenaires { background-color: black; margin: 0 !important; padding: 80px 0; }

.partenaires img { height: 150px !important; background-color: white; object-fit: contain !important; }

/*----------------------------------------------------Bannières pages secondaires--------------------------------------------*/
.hero { position: relative; min-height: 75vh; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #fff; }

.hero__bg { position: absolute; inset: 0; background-image: url("https://firebasestorage.googleapis.com/v0/b/refpro-app-ca244.appspot.com/o/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FChatGPT_Image_24_dec_2025_15_30_12_v3ka.webp?alt=media&token=264975ac-db18-4796-ab0d-21692642f752"); background-size: cover; background-position: center; transform: scale(1.05); }

.hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.6)); }

.hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: auto 2px 1fr; align-items: center; gap: 2.5rem; padding: 2rem; max-width: 1200px; width: 100%; }

.hero__logo { background: #fff; padding: 1rem; border-radius: 0.75rem; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45); animation: fadeLeft 0.9s ease forwards; }

@media (max-width: 900px) { .hero__logo, .hero__divider { display: none !important; } }

.hero__logo img { display: block; max-width: 130px; height: auto; }

.hero__divider { width: 4px; height: 120px; background: #C11910; animation: dividerPulse 3s ease-in-out infinite; }

.hero__text { animation: fadeRight 0.9s ease forwards; }

.hero__text h1 { text-shadow: 0 3px 15px rgba(0, 0, 0, 0.6); font-size: 1.7em; }

.hero__text h1 > span { -webkit-text-stroke: 1px black; text-transform: uppercase; }

/* Animations */
@keyframes fadeLeft { from { opacity: 0;
    transform: translateX(-30px); }
  to { opacity: 1;
    transform: translateX(0); } }

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

@keyframes dividerPulse { 0%, 100% { opacity: 0.6; }
  50% { opacity: 1; } }

/* Responsive */
@media (max-width: 768px) { .hero__inner { grid-template-columns: 1fr; text-align: center; } .hero__divider { width: 80px; height: 2px; margin: 1.5rem auto; } }

/*---------------------------------------------------Galerie Avant-Après-----------------------------------------------*/
#avant-apres { background-color: black; margin: 0 !important; padding: 50px 0; }

#avant-apres .row { margin: 0 !important; }

.image-before-after-container { border-radius: 20px; }

/*-----------------------------------------------------Planning---------------------------------------------------------*/
.schedule { background: radial-gradient(800px 300px at 90% -20%, rgba(193, 25, 16, 0.25), transparent 60%), var(--bg); color: var(--text); padding: 40px; border-radius: 18px; border: 1px solid var(--line); max-width: 1300px; margin: auto; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp) !important; background-size: contain !important; background-position: center !important; }

.schedule__header { margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }

.schedule__title { margin: 0; font-weight: 600 !important; }

.schedule__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }

.schedule__card { background: linear-gradient(180deg, var(--panel-dark), var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25); transition: transform .2s ease, box-shadow .2s ease; }

.schedule__card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); }

.schedule__card h3 { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--text); }

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

.schedule__list li { padding: 6px 0; font-size: 14px; color: var(--muted); border-bottom: 1px dashed rgba(255, 255, 255, 0.08); }

.schedule__list li:last-child { border-bottom: none; }

.schedule__day { color: var(--text); font-weight: 500; }

.schedule__highlight { color: var(--accent); }

/* Responsive */
@media (max-width: 480px) { .schedule { padding: 18px; } }

/*--------------------------------------------Professionnels et particuliers--------------------------------------------------*/
.affutage { background: #000; color: #fff; padding: 40px 20px; }

.affutage h2 { color: white; font-weight: 600 !important; text-align: center; margin-bottom: 40px; }

.affutage-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; max-width: 1000px; margin: 0 auto; }

.affutage h3 { color: white; border-bottom: 5px solid #C11910; padding-bottom: 6px; margin-bottom: 15px; }

.affutage ul { padding-left: 20px; margin: 15px 0; }

.affutage li { margin-bottom: 8px; }

.accent { margin-top: 15px; }

@media (max-width: 800px) { .affutage-columns { grid-template-columns: 1fr; } }

/*--------------------------------Bannière vidéo--------------------------------------*/
#fullHeight { z-index: 1001; }

.video-background-content { width: 80vw !important; max-width: none !important; }

#fullHeight > div.video-background-content.container > div { width: 100% !important; }

.videoTitle { width: 100% !important; margin: 0 !important; padding: 0 !important; max-width: none !important; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp); background-size: contain; background-position: center; }

.videoTitle h1 > span { -webkit-text-stroke: 1px black; text-transform: uppercase; }

#fullHeight > div.video-background-content.container.h-100 > div > div.container.videoTitle > div { text-align: left !important; margin: 100px 0 !important; border-left: 7px solid #c11910; padding-left: 20px; letter-spacing: normal !important; }

lottie-player.lottie-scroll { display: none; }

.image-video-logo { height: 20vh; }

.image-video-logo .fondDegradeLogo { height: 100%; }

@media (max-width: 900px) { .image-video-logo { display: none !important; } }

/*--------------------------------------------------Paragraphes---------------------------------------------------------*/
img.d-block.mx-lg-auto.img-fluid { max-height: 500px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 15px; box-shadow: black 0px 22px 70px 4px; }

.mx-auto.col-lg-11.shadow-lg.bg-primaryColor.position-relative { margin: 0 !important; width: 100%; box-shadow: none !important; color: white !important; border-radius: 0 !important; background-color: black; padding: 3rem 10rem !important; }

@media (max-width: 900px) { .mx-auto.col-lg-11.shadow-lg.bg-primaryColor.position-relative { padding: 2rem !important; } }

/*-------------------------------------------------------------CTA BANNER-----------------------------------------------------*/
div.cta_banner { padding: 100px 0 !important; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp) !important; background-size: contain !important; background-position: center !important; }

div.cta_banner .lead { width: 80%; margin: auto; }

@media (max-width: 900px) { div.cta_banner .content { width: 100% !important; } div.cta_banner .loop-wrapper { width: 100% !important; } }

/*-----------------------------------------------------Avis---------------------------------------------------------*/
:root { --accent:#c11910; --bg:#0b0b0c; --panel:#121217; --panel-dark:#0f0f12; --text:#f2f2f4; --muted:#b9b9c0; --line:rgba(255,255,255,.12); }

/* Section globale */
.reviews { background: radial-gradient(800px 300px at 10% -20%, rgba(193, 25, 16, 0.25), transparent 60%), var(--bg); color: var(--text); padding: 40px; border-radius: 18px; border: 1px solid var(--line); max-width: 1300px; margin: auto; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp) !important; background-size: contain !important; background-position: center !important; }

/* Header */
.reviews__header { margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }

.reviews__title { margin: 0; font-weight: 600 !important; }

/* Grille */
.reviews__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }

/* Carte avis */
.review { background: linear-gradient(180deg, var(--panel-dark), var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25); transition: transform .2s ease, box-shadow .2s ease; }

.review:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); }

/* Haut de carte */
.review__top { display: flex; gap: 12px; align-items: center; }

/* Avatar initiales */
.review__avatar { width: 42px; height: 42px; border-radius: 12px; background: rgba(193, 25, 16, 0.15); border: 1px solid rgba(193, 25, 16, 0.5); display: flex; align-items: center; justify-content: center; font-weight: 700; letter-spacing: .5px; color: var(--text); flex-shrink: 0; }

/* Nom */
.review__name { margin: 0; font-size: 15px; line-height: 1.2; }

/* Étoiles */
.review__stars { margin-top: 4px; font-size: 14px; letter-spacing: 2px; color: var(--accent); text-shadow: 0 0 8px rgba(193, 25, 16, 0.35); }

/* Texte avis */
.review__text { margin-top: 14px; font-size: 14px; line-height: 1.55; color: var(--text); }

/* Responsive */
@media (max-width: 480px) { .reviews { padding: 18px; } .reviews__title { font-size: 20px; } .review { padding: 14px; } }

/*-------------------------------------------------------------Boutons-----------------------------------------------------*/
a.button_homepageScreen, a.button_homepageDoubleScreen, a.button_header { border: 3px solid white !important; transition: 0.5s all ease; font-family: 'Poppins' !important; }

/*-----------------------------------------------------TARIFS---------------------------------------------------------*/
.pricing { background: radial-gradient(800px 300px at 10% -20%, rgba(193, 25, 16, 0.25), transparent 60%), var(--bg); color: var(--text); padding: 40px; border-radius: 18px; border: 1px solid var(--line); max-width: 1300px; margin: auto; margin-top: 100px; margin-bottom: 100px; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2FeeY2tJEYzeglcOk0bSDsApI4R7P2%2Fimages%2FDesign_sans_titre_2_pu08.webp) !important; background-size: contain !important; background-position: center !important; }

/* Header */
.pricing__header { margin-bottom: 22px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }

.pricing__title { margin: 0; font-weight: 600 !important; }

/* Grille */
.pricing__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

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

/* Carte */
.pricing__card { background: linear-gradient(180deg, var(--panel-dark), var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25); transition: transform .2s ease, box-shadow .2s ease; }

.pricing__card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); }

.pricing__card h3 { margin: 0 0 14px; font-size: 16px; font-weight: 600; color: var(--text); }

/*-----------------------------------------------------TABLE TARIFS---------------------------------------------------*/
.pricing__table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; background: #ffffff; border-radius: 12px; overflow: hidden; }

/* En-têtes */
.pricing__table th { padding: 10px 12px; background: #f2f2f4; color: #444; font-weight: 600; text-align: right; border-bottom: 1px solid #ddd; }

.pricing__table th:first-child { text-align: left; }

/* Cellules */
.pricing__table td { padding: 10px 12px; color: #333; }

/* Lignes alternées */
.pricing__table tbody tr:nth-child(even) { background: #f7f7f8; }

/* Hover */
.pricing__table tbody tr:hover { background: #ececee; }

/* Libellés */
.pricing__item { font-weight: 500; color: #222; }

/* Prix HT */
.pricing__price { text-align: right; font-weight: 600; color: #555; white-space: nowrap; }

/* Prix TTC */
.pricing__price--ttc { color: var(--accent); font-weight: 700; }

/*-----------------------------------------------------RESPONSIVE-----------------------------------------------------*/
@media (max-width: 480px) { .pricing { padding: 18px; } .pricing__card { padding: 14px; } .pricing__table th, .pricing__table td { padding: 8px 10px; } }

/*-----------------------------------------------------------Camion qui avance---------------------------------------------------*/
.loop-wrapper { margin: 0 auto; position: relative; display: block; width: 600px; height: 150px; overflow: hidden; border-bottom: 3px solid #fff; color: #fff; }

.mountain { position: absolute; right: -900px; bottom: -20px; width: 2px; height: 2px; box-shadow: 0 0 0 50px #99140d, 60px 50px 0 70px #99140d, 90px 90px 0 50px #99140d, 250px 250px 0 50px #99140d, 290px 320px 0 50px #99140d, 320px 400px 0 50px #99140d; transform: rotate(130deg); animation: mtn 20s linear infinite; }

.hill { position: absolute; right: -900px; bottom: -50px; width: 400px; border-radius: 50%; height: 20px; box-shadow: 0 0 0 50px #99140d, -20px 0 0 20px #99140d, -90px 0 0 50px #99140d, 250px 0 0 50px #99140d, 290px 0 0 50px #99140d, 620px 0 0 50px #99140d; animation: hill 4s 2s linear infinite; }

.tree, .tree:nth-child(2), .tree:nth-child(3) { position: absolute; height: 100px; width: 35px; bottom: 0; background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/130015/tree.svg) no-repeat; }

.rock { margin-top: -17%; height: 2%; width: 2%; bottom: -2px; border-radius: 20px; position: absolute; background: #ddd; }

.truck, .wheels { transition: all ease; width: 85px; margin-right: -60px; bottom: 0px; right: 50%; position: absolute; background: #eee; }

.truck { background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/130015/truck.svg) no-repeat; background-size: contain; height: 60px; filter: grayscale(1); }

.truck:before { content: " "; position: absolute; width: 25px; box-shadow: -30px 28px 0 1.5px #fff, -35px 18px 0 1.5px #fff; }

.wheels { background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/130015/wheels.svg) no-repeat; height: 15px; margin-bottom: 0; }

.tree { animation: tree 3s 0.000s linear infinite; }

.tree:nth-child(2) { animation: tree2 2s 0.150s linear infinite; }

.tree:nth-child(3) { animation: tree3 8s 0.050s linear infinite; }

.rock { animation: rock 4s   -0.530s linear infinite; }

.truck { animation: truck 4s   0.080s ease infinite; }

.wheels { animation: truck 4s   0.001s ease infinite; }

.truck:before { animation: wind 1.5s   0.000s ease infinite; }

@keyframes tree { 0% { transform: translate(1350px); }
  50% { }
  100% { transform: translate(-50px); } }

@keyframes tree2 { 0% { transform: translate(650px); }
  50% { }
  100% { transform: translate(-50px); } }

@keyframes tree3 { 0% { transform: translate(2750px); }
  50% { }
  100% { transform: translate(-50px); } }

@keyframes rock { 0% { right: -200px; }
  100% { right: 2000px; } }

@keyframes truck { 0% { }
  6% { transform: translateY(0px); }
  7% { transform: translateY(-6px); }
  9% { transform: translateY(0px); }
  10% { transform: translateY(-1px); }
  11% { transform: translateY(0px); }
  100% { } }

@keyframes wind { 0% { }
  50% { transform: translateY(3px); }
  100% { } }

@keyframes mtn { 100% { transform: translateX(-2000px) rotate(130deg); } }

@keyframes hill { 100% { transform: translateX(-2000px); } }

/*--------------------------------------------------------------Galerie Custom--------------------------------------*/
#custom-gallery { padding-top: 40px; margin-bottom: 100px; }

@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; border-radius: 15px !important; }

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