@charset "UTF-8";
@import url(main.css);
a:visited { color: white !important; }

/************************************NAVBAR***********************************************/
#navigation-bar-hide { opacity: 1 !important; top: 0 !important; }

nav.navbar { margin: 10px; border-radius: 4px; background-color: black !important; }

.animated-border-button { transition: all 0.5s ease; background-color: transparent; color: white; }

.animated-border-button:hover { color: #fe4a01; }

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

/**************************************AJUSTEMENTS SEO**************************************/
div:has(> .first-activity-div) { padding: 200px 0; }

.first-activity-div, .second-activity-div, .third-activity-div { position: relative; background: #000000 !important; border-radius: 24px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6); }

/* décor global bloc */
.first-activity-div::before, .second-activity-div::before, .third-activity-div::before { content: ""; position: absolute; width: 260px; height: 260px; background: #fe4a01; opacity: 0.08; border-radius: 30px; transform: rotate(15deg); top: -80px; left: -80px; z-index: 0; }

.second-activity-div::before { background: #025181; opacity: 0.10; left: auto; right: -80px; transform: rotate(-15deg); }

.third-activity-div::before { background: #fe4a01; opacity: 0.08; }

/* image card */
.card.card-cover { border-radius: 20px !important; overflow: hidden; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6); transform: translateY(0); transition: transform 0.35s ease, box-shadow 0.35s ease; }

/* overlay image */
.black-screen { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.85)); z-index: 1; }

/* TITRES */
.first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 2.2rem; font-weight: 800; color: #ffffff; line-height: 1.2; position: relative; margin-bottom: 25px; }

/* ligne accent AVUS */
.first-activity-title h2::after, .second-activity-title h2::after, .third-activity-title h2::after { content: ""; display: block; width: 80px; height: 4px; margin-top: 12px; background: linear-gradient(90deg, #025181, #fe4a01); border-radius: 50px; }

/* TEXTES */
.lead { color: rgba(255, 255, 255, 0.85); font-size: 1.05rem; line-height: 1.7; }

/* CONTENEUR ESPACEMENT */
.first-activity-div, .second-activity-div, .third-activity-div { padding: 60px 40px !important; margin: 0 auto !important; }

/* RESPONSIVE */
@media (max-width: 768px) { .first-activity-div, .second-activity-div, .third-activity-div { padding: 35px 20px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 1.6rem; } }

li.dropdown a.dropdown-toggle { color: white !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%2FdPEIWsrKcDOKpdg6yTJ4rBKiXfB3%2Fimages%2FChatGPT_Image_17_juin_2026_12_25_32_99zc.webp?alt=media&token=8718d514-f923-4300-be77-33ef4f862141") !important; background-position: bottom !important; }

.first-banner-seo-page h1 { font-size: 0.7em; margin: auto; width: 80%; }

#bandeau-title-seo h2 { font-weight: normal !important; }

/*****************************NOS REALISATIONS*****************************/
#myGallery > img { border-radius: 18px !important; }

div:has(> #myGallery) { padding-bottom: 170px !important; }

.fs-2.fw-700.titles.text-color-sixth h2 { font-size: 2.5rem !important; font-family: 'Staatliches'; text-transform: uppercase; }

/**************************************Bannière d'accueil*********************************/
lottie-player.lottie-scroll { display: none !important; }

.image-video-logo { max-width: 300px; }

.video-background-holder .d-flex.flex-column { flex-direction: row !important; }

.video-background-holder .videoTitle { margin-left: 0; }

.video-background-holder h1 { letter-spacing: normal; text-align: left; }

/***DECO****/
.video-background-holder { position: relative; overflow: hidden; isolation: isolate; }

.video-background-holder::before { content: ""; position: absolute; top: 8vh; left: 4vw; width: 180px; height: 180px; border: 18px solid rgba(2, 81, 129, 0.55); border-radius: 38px; z-index: 2; pointer-events: none; transform: rotate(-8deg); box-shadow: 0 0 40px rgba(2, 81, 129, 0.35); }

.video-background-holder::after { content: ""; position: absolute; right: 5vw; bottom: 10vh; width: 220px; height: 220px; border: 22px solid rgba(254, 74, 1, 0.55); border-radius: 50%; z-index: 2; pointer-events: none; box-shadow: 0 0 45px rgba(254, 74, 1, 0.35); }

.video-background-content { position: relative; z-index: 4; }

.video-background-overlay { opacity: 0.6 !important; }

.videoTitle { position: relative; z-index: 4; }

.videoTitle::before { content: ""; position: absolute; top: -28px; left: 12%; width: 72px; height: 72px; background: rgba(2, 81, 129, 0.75); border-radius: 18px; z-index: -1; pointer-events: none; transform: rotate(8deg); box-shadow: 0 0 28px rgba(2, 81, 129, 0.45); }

.titleText { position: relative; }

.titleText::after { content: ""; position: absolute; left: 50%; bottom: -18px; width: 140px; height: 5px; background: linear-gradient(90deg, #025181 80%, #fe4a01); border-radius: 50px; transform: translateX(-50%); }

/* Responsive */
@media (max-width: 768px) { .video-background-holder::before { width: 110px; height: 110px; border-width: 12px; top: 6vh; left: -8vw; } .video-background-holder::after { width: 130px; height: 130px; border-width: 14px; right: -10vw; bottom: 8vh; } .videoTitle::before { width: 48px; height: 48px; top: -16px; left: 4%; border-radius: 14px; } }

/************************************************BANNIERES SECONDAIRES******************************************/
#secondaires + style + #fullHeight { height: 40vh; min-height: unset !important; }

#secondaires + style + #fullHeight .titleText.titles::after { display: none; }

#secondaires + style + #fullHeight .image-video-logo { max-width: 100px; }

.avus-intro.secondaires { position: relative; clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%); padding: 100px 30px 70px; z-index: 999; }

.avus-intro.secondaires + #section1 { margin-top: -50px; }

/**************************************************Bannières CTA centrées**************************************/
.avus-intro { position: relative; overflow: hidden; padding: 100px 30px; background-color: white; }

.avus-intro.boutons { padding-top: 0 !important; padding-bottom: 170px; }

.avus-intro::before { content: ""; position: absolute; top: 40px; left: 60px; width: 120px; height: 120px; border: 14px solid #02518166; border-radius: 28px; transform: rotate(-8deg); }

.avus-intro::after { content: ""; position: absolute; right: 70px; bottom: 45px; width: 140px; height: 140px; border: 16px solid rgba(254, 74, 1, 0.14); border-radius: 50%; }

.avus-intro.boutons::before { display: none; }

.avus-intro.boutons::after { display: none; }

.avus-intro::before { transform: translateY(var(--parallax-before, 0px)) rotate(-8deg); transition: transform 0.1s linear; }

.avus-intro::after { transform: translateY(var(--parallax-after, 0px)); transition: transform 0.1s linear; }

.avus-intro__container { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; text-align: center; }

.avus-intro__text { margin: 0 auto 36px; max-width: 980px; color: black; font-size: 24px; line-height: 1.6; }

.avus-intro__buttons { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }

.avus-intro__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 34px; border-radius: 999px; text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease; }

.avus-intro__btn svg { width: 22px; height: 22px; }

.avus-intro__btn--primary { background: #fe4a01; color: #ffffff; box-shadow: 0 12px 30px rgba(254, 74, 1, 0.25); }

.avus-intro__btn--secondary { background: #025181; color: #ffffff; box-shadow: 0 12px 30px rgba(2, 81, 129, 0.25); }

.avus-intro__btn:hover { color: #ffffff; transform: translateY(-4px); }

@media (max-width: 768px) { .avus-intro { padding: 70px 24px; } .avus-intro__text { font-size: 19px; } .avus-intro__buttons { flex-direction: column; align-items: center; } .avus-intro__btn { width: 100%; max-width: 320px; } }

.avus-intro__text p { opacity: 0; transform: translateY(14px); }

/***************************************************PARAGRAPHES*********************************/
#section3 { margin-top: 100px; }

.avus-hero { position: relative !important; display: flex !important; align-items: center !important; min-height: 90vh !important; overflow: hidden !important; /* enlève style natif et remplace puce */ /* puce personnalisée */ }

.avus-hero ul { margin: 0; padding-left: 20px; }

.avus-hero ul li { margin-bottom: 6px; /* interligne réduit */ line-height: 1.3; /* réduit l’espacement vertical du texte */ color: inherit; }

.avus-hero ul li { list-style: none; position: relative; padding-left: 18px; }

.avus-hero ul li::before { content: ""; position: absolute; left: 0; top: 10px; width: 8px; height: 8px; background-color: #fe4a01; border-radius: 2px; /* carré légèrement arrondi */ }

/* IMAGE */
.avus-hero__media { position: absolute !important; inset: 0 !important; z-index: 1 !important; }

.avus-hero__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: 0.5; }

/* overlay léger pour lisibilité */
.avus-hero__media::after { content: "" !important; position: absolute !important; inset: 0 !important; background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0.05) 100%) !important; }

/* CONTENU */
.avus-hero__content { position: relative !important; z-index: 2 !important; width: 100% !important; padding: 150px 40px !important; max-width: 1280px !important; margin: auto; }

/* BLOC BLEU */
.avus-hero__card { position: relative !important; max-width: 560px !important; border-radius: 20px; background: #025181 !important; color: #ffffff !important; padding: 40px !important; }

.avus-hero__card:nth-child(2) { margin-top: 50px; }

/* CARRE ORANGE DERRIÈRE (débord DA) */
.avus-hero__card::before { content: "" !important; position: absolute !important; border-radius: 20px; width: 100% !important; height: 100% !important; border-radius: 20px; top: 18px !important; left: 18px !important; background: #fe4a01 !important; z-index: -1 !important; }

/* TITRES */
.avus-hero__card h2 { font-size: 2.3rem !important; margin-bottom: 20px !important; font-family: 'Staatliches'; }

/* TEXTE */
.avus-hero__card p { font-size: 1.15rem !important; line-height: 1.6 !important; opacity: 0.95 !important; }

@media (max-width: 1000px) { .avus-hero { flex-direction: column !important; } }

/* RESPONSIVE */
@media (max-width: 768px) { .avus-hero { min-height: auto !important; } .avus-hero__content { padding: 40px 20px !important; } .avus-hero__card { max-width: 100% !important; padding: 28px !important; } .avus-hero__card::before { top: 12px !important; left: 12px !important; } }

#zone-intervention .avus-hero__card::after { content: "" !important; position: absolute !important; border-radius: 20px; width: 100% !important; height: 100% !important; border-radius: 20px; bottom: 18px !important; right: 18px !important; background: #025181 !important; z-index: -1 !important; }

#zone-intervention .avus-hero__card { max-width: none !important; text-align: center; background: black !important; }

/****************************************************badge-custom***********************************/
.badge-custom { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; background: rgba(2, 81, 129, 0.1); border: 1px solid #fe4a01; margin-bottom: 30px !important; color: #025181; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border-radius: 999px; width: fit-content; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); position: relative; transition: all 0.25s ease; }

/* icône */
.badge-custom svg { width: 16px; height: 16px; stroke: #ffffff; /* accent orange AVUS */ flex-shrink: 0; }

/* point décoratif DA */
.badge-custom::before { content: ""; width: 6px; height: 6px; background: #fe4a01; border-radius: 2px; display: inline-block; }

/* texte */
.badge-custom span { color: white; font-weight: 700; }

.badge-custom { animation: badge-customFloat 4s ease-in-out infinite; will-change: transform; }

/* mouvement très léger */
@keyframes badge-customFloat { 0% { transform: translateY(0px); }
  50% { transform: translateY(-6px); }
  100% { transform: translateY(0px); } }

/**************************************************BLOC CARDS********************************/
#environmental-issues { position: relative; background: #000000; padding: 150px 20px 50px; overflow: hidden; }

/* décor DA fond */
#environmental-issues::before { content: ""; position: absolute; width: 320px; height: 320px; top: -80px; left: -120px; background: #fe4a01; opacity: 0.42; transform: rotate(15deg); border-radius: 28px; }

#environmental-issues::after { content: ""; position: absolute; width: 260px; height: 260px; bottom: -90px; right: -100px; background: #025181; opacity: 0.15; transform: rotate(-18deg); border-radius: 20px; }

/* TITRE */
#environmental-issues .env-title { text-align: center; font-size: 3rem; font-family: 'Staatliches'; text-transform: uppercase; color: white; margin-bottom: 50px; position: relative; }

#environmental-issues .env-title::after { content: ""; display: block; width: 90px; height: 4px; background: linear-gradient(90deg, #025181 80%, #fe4a01); margin: 12px auto 0; border-radius: 50px; }

/* WRAPPER */
#environmental-issues .env-container-wrapper { position: relative; z-index: 2; display: flex; justify-content: center; }

/* CONTAINER */
#environmental-issues .env-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 26px; max-width: 1280px; width: 100%; }

/* CARD */
#environmental-issues .env-card { position: relative; width: calc(33% - 26px); height: 520px; border-radius: 18px; overflow: hidden; cursor: pointer; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6); transform: translateY(0); transition: transform 0.4s ease, box-shadow 0.4s ease; }

/* image */
#environmental-issues .env-card img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }

/* overlay */
#environmental-issues .env-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.85) 100%); z-index: 1; }

/* contenu */
#environmental-issues .env-card-content { position: absolute; bottom: 0; left: 0; width: 100%; padding: 22px; z-index: 2; display: flex; flex-direction: column; gap: 12px; }

/* TITRE CARD (injecté via {{ bloc.titles }}) */
#environmental-issues .env-card-content { color: #ffffff; font-size: 20px; font-weight: 700; }

#environmental-issues .env-card-content p { font-weight: normal; font-size: 0.8em; }

/* bouton */
#environmental-issues .env-btn { display: inline-flex; align-items: center; justify-content: center; width: fit-content; padding: 10px 18px; background: #fe4a01; color: #ffffff; text-decoration: none; border-radius: 999px; font-size: 1.15rem; gap: 10px; font-weight: normal; transition: all 0.3s ease; }

#environmental-issues .env-btn:hover { background: #025181; transform: translateY(-3px); }

/* HOVER CARD */
#environmental-issues .env-card:hover { transform: translateY(-10px); box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8); }

/* RESPONSIVE */
@media (max-width: 768px) { #environmental-issues { padding: 70px 16px; } #environmental-issues .env-card { width: 100%; height: 360px; } #environmental-issues .env-title { font-size: 2rem; } }

/************************************************PARTENAIRES*****************************************/
section.partenaires-section { padding: 150px 0 100px !important; background-color: white !important; }

section.partenaires-section .partenaires-carousel-logo { filter: none !important; background-color: white; padding: 10px; border-radius: 15px; }

section.partenaires-section .partenaires-carousel-track { pointer-events: none; }

/* TITRE */
.partenaires-main-title h2 { text-align: center; font-size: 2.5rem !important; font-family: 'Staatliches'; text-transform: uppercase; color: white; position: relative; color: black !important; }

.partenaires-main-title::after { content: ""; display: block; width: 90px; height: 4px; background: linear-gradient(90deg, #025181 80%, #fe4a01); margin: 12px auto 0; border-radius: 50px; }

/* RESPONSIVE */
@media (max-width: 768px) { .partenaires-main-title { font-size: 1.5rem; } }

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

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

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

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

/* 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; border-radius: 18px; } }

/*-----------------------------------------------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; } }

/*************************************************BOUTONS****************************************/
a.button_header, a.button_homepageScreen, a.button_homepageDoubleScreen, a.phone-number-button { position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; padding: 13px 20px !important; background: linear-gradient(135deg, #025181 0%, #03639d 100%) !important; color: #ffffff !important; border: 2px solid transparent !important; border-radius: 999px !important; text-decoration: none !important; letter-spacing: 0.5px !important; overflow: hidden !important; isolation: isolate !important; transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease, border-color 0.35s ease !important; box-shadow: 0 12px 30px rgba(2, 81, 129, 0.25) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }

/* Icônes */
a.button_header i, a.button_homepageScreen i, a.button_homepageDoubleScreen i, a.phone-number-button i, a.button_header svg, a.button_homepageScreen svg, a.button_homepageDoubleScreen svg, a.phone-number-button svg { color: #ffffff !important; fill: transparent !important; transition: transform 0.35s ease !important; }

/* Reflet moderne */
a.button_header::before, a.button_homepageScreen::before, a.button_homepageDoubleScreen::before, a.phone-number-button::before { content: "" !important; position: absolute !important; top: 0 !important; left: -120% !important; width: 80% !important; height: 100% !important; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important; transform: skewX(-25deg) !important; transition: left 0.8s ease !important; z-index: -1 !important; }

/* Accent orange */
a.button_header::after, a.button_homepageScreen::after, a.button_homepageDoubleScreen::after, a.phone-number-button::after { content: "" !important; position: absolute !important; inset: 0 !important; border-radius: inherit !important; background: linear-gradient(135deg, #fe4a01 0%, #ff6b2b 100%) !important; opacity: 0 !important; transition: opacity 0.35s ease !important; z-index: -2 !important; }

/* Hover */
a.button_header:hover, a.button_homepageScreen:hover, a.button_homepageDoubleScreen:hover, a.phone-number-button:hover { color: #ffffff !important; text-decoration: none !important; transform: translateY(-4px) !important; box-shadow: 0 18px 40px rgba(2, 81, 129, 0.35), 0 0 30px rgba(254, 74, 1, 0.25) !important; background: linear-gradient(135deg, #fe4a01 0%, #ff6b2b 100%) !important; }

a.button_header:hover::before, a.button_homepageScreen:hover::before, a.button_homepageDoubleScreen:hover::before, a.phone-number-button:hover::before { left: 140% !important; }

a.button_header:hover::after, a.button_homepageScreen:hover::after, a.button_homepageDoubleScreen:hover::after, a.phone-number-button:hover::after { opacity: 1 !important; }

a.button_header:hover i, a.button_homepageScreen:hover i, a.button_homepageDoubleScreen:hover i, a.phone-number-button:hover i, a.button_header:hover svg, a.button_homepageScreen:hover svg, a.button_homepageDoubleScreen:hover svg, a.phone-number-button:hover svg { transform: translateX(3px) !important; }

/* Focus accessibilité */
a.button_header:focus, a.button_homepageScreen:focus, a.button_homepageDoubleScreen:focus, a.phone-number-button:focus { outline: none !important; box-shadow: 0 0 0 4px rgba(254, 74, 1, 0.25), 0 12px 30px rgba(2, 81, 129, 0.35) !important; }

/* Clic */
a.button_header:active, a.button_homepageScreen:active, a.button_homepageDoubleScreen:active, a.phone-number-button:active { transform: translateY(-1px) scale(0.98) !important; }

/**************************************SPONSOR***********************************/
.avus-sponsor-band { background: #ffffff; padding: 35px 20px; position: relative; }

.avus-sponsor-band__content { max-width: 1100px; margin: auto; text-align: center; }

/* texte titre */
.avus-sponsor-band__text { display: block; font-size: 1.2rem; letter-spacing: 2px; text-transform: uppercase; color: #025181; font-weight: 700; margin-bottom: 15px; }

/* logos */
.avus-sponsor-band__logos { display: flex; align-items: center; justify-content: center; gap: 25px; margin-bottom: 12px; }

/* logos images */
.avus-sponsor-band__logos img { height: 75px; width: auto; object-fit: contain; opacity: 0.85; transition: all 0.3s ease; }

/* hover logos */
.avus-sponsor-band__logos img:hover { transform: scale(1.05); }

/* séparation */
.avus-sponsor-band__plus { font-size: 18px; font-weight: 800; color: #fe4a01; }

/* description */
.avus-sponsor-band__desc { font-size: 1.1rem; color: #444; margin: 0; opacity: 0.9; }

/* petit accent DA */
.avus-sponsor-band::before { content: ""; position: absolute; left: 5px; top: 5px; width: 80px; height: 13px; background: #fe4a01; }

.avus-sponsor-band::after { content: ""; position: absolute; right: 5px; bottom: 5px; width: 80px; height: 13px; background: #025181; }

/* responsive */
@media (max-width: 768px) { .avus-sponsor-band__logos img { height: 40px; } .avus-sponsor-band__logos { gap: 15px; } }

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