@charset "UTF-8";
@import url(main.css);
a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border-radius: 0px !important; }

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

.mb-5.googleReviews-div { margin-bottom: 5rem !important; margin-top: 5rem !important; }

.mx-auto.second-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.rounded-3.shadow-lg.bg-primaryColor.text-color-primary.position-relative { background-color: #e6f34f !important; }

.mx-auto.first-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 1px solid #000 !important; }

.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 1px solid #000 !important; }

.card.p-2.rounded-3.shadow-lg.px-4.border-0.d-flex.justify-content-lg-between { margin-bottom: 30px !important; }

a#maps-url { border-radius: 0px !important; }

/* ================================================== BARRE DE NAVIGATION ================================================== */
#navigation-bar-hide { top: 0 !important; opacity: 1 !important; }

.navbar-brand { width: 145px !important; height: 72px !important; }

.logo_nav { height: 64px !important; transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.3s ease; }

.navbar .logo_nav { padding-left: 1.4rem; }

.navbar.scrolled .logo_nav:hover { transform: scale(1.025); }

/* ================================================== NAVIGATION AVANT LE SCROLL ================================================== */
.navbar { min-height: 72px !important; padding-top: 4px !important; padding-bottom: 4px !important; background-color: transparent !important; box-shadow: none !important; backdrop-filter: none; transition: background-color 0.35s ease, box-shadow 0.35s ease, backdrop-filter 0.35s ease; }

/* Logo invisible avant le scroll */
.navbar:not(.scrolled) .logo_nav { opacity: 0 !important; visibility: hidden !important; }

/* Liens invisibles avant le scroll */
.navbar:not(.scrolled) .nav-link, .navbar:not(.scrolled) .nav-link span, .navbar:not(.scrolled) .animated-border-button, .navbar:not(.scrolled) .animated-border-button span, .navbar:not(.scrolled) .navbar-nav a, .navbar:not(.scrolled) .navbar-nav a span { color: transparent !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Traits et effets invisibles avant le scroll */
.navbar:not(.scrolled) .animated-border-button::after { background-color: transparent !important; opacity: 0 !important; }

/* ================================================== NAVIGATION APRÈS LE SCROLL ================================================== */
.navbar.scrolled { min-height: 72px !important; background-color: rgba(252, 252, 252, 0.92) !important; backdrop-filter: blur(16px); box-shadow: 0 2px 5px rgba(19, 57, 72, 0.2) !important; }

/* Logo visible */
.navbar.scrolled .logo_nav { opacity: 1 !important; visibility: visible !important; }

/* Liens visibles */
.navbar.scrolled .nav-link, .navbar.scrolled .nav-link span, .navbar.scrolled .animated-border-button, .navbar.scrolled .animated-border-button span, .navbar.scrolled .navbar-nav a, .navbar.scrolled .navbar-nav a span { color: #133948 !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transition: color 0.35s ease, opacity 0.35s ease, visibility 0.35s ease; }

.navbar.scrolled .animated-border-button::after, .animated-border-button.scrolled::after { background-color: #000 !important; opacity: 1 !important; }

/* ================================================== BOUTON DU HEADER ================================================== */
a.grow.button_header { position: relative; z-index: 1; padding: 0.65rem 0.9rem !important; overflow: hidden; border: 1px solid #111111 !important; border-radius: 0 !important; background-color: #111111 !important; color: #ffffff !important; transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, opacity 0.35s ease, visibility 0.35s ease, transform 0.8s ease; }

/* Bouton invisible avant le scroll */
.navbar:not(.scrolled) a.grow.button_header, .navbar:not(.scrolled) a.grow.button_header span { border-color: transparent !important; background-color: transparent !important; color: transparent !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Bouton visible après le scroll */
.navbar.scrolled a.grow.button_header { border-color: #111111 !important; background-color: #111111 !important; color: #ffffff !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }

.navbar.scrolled a.grow.button_header span { color: #ffffff !important; opacity: 1 !important; visibility: visible !important; }

a.grow.button_header::after { position: absolute; top: 0; left: -50px; z-index: -1; width: 0; height: 100%; background-color: #ffffff; content: ""; transform: skewX(45deg); transition: width 0.8s ease; }

.navbar:not(.scrolled) a.grow.button_header::after { width: 0 !important; background-color: transparent !important; }

.navbar.scrolled a.grow.button_header:hover { border-color: #111111 !important; background-color: #ffffff !important; color: #111111 !important; transform: scale(1) !important; }

.navbar.scrolled a.grow.button_header:hover span { color: #111111 !important; }

.navbar.scrolled a.grow.button_header:hover::after { width: 250%; }

/* ================================================== MENU MOBILE ================================================== */
.navbar:not(.scrolled) .navbar-toggler { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

.navbar.scrolled .navbar-toggler { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transition: opacity 0.35s ease, visibility 0.35s ease; }

@media screen and (max-width: 767px) { .navbar { min-height: 66px !important; } .navbar-brand { width: 130px !important; height: 66px !important; } .logo_nav { height: 58px !important; } .navbar .logo_nav { padding-left: 1rem; } a.grow.button_header { padding: 0.6rem 0.8rem !important; } }

/*--------------------------------------------------------------------HERO----------------------------------------------------------------------------------------*/
.roofing-showcase { --roofing-progress: 0; --roofing-content-top: 150px; position: relative; z-index: 1; width: 100%; height: 230vh; min-height: 1450px; overflow: visible; background-color: #ffffff; }

.roofing-showcase, .roofing-showcase * { box-sizing: border-box; }

/* PANNEAU FIXE PENDANT LE SCROLL */
.roofing-showcase-panel { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; min-height: 680px; overflow: hidden; background-color: #ffffff; }

.roofing-showcase-panel.is-fixed { position: fixed; top: 0; left: 0; z-index: 20; width: 100%; height: 100vh; }

.roofing-showcase-panel.is-ended { position: absolute; top: auto; bottom: 0; left: 0; z-index: 2; }

/* IMAGE */
.roofing-showcase-media { position: absolute; z-index: 1; top: calc( 43% - (43% * var(--roofing-progress))); left: calc( 4% - (4% * var(--roofing-progress))); width: calc( 92% + (8% * var(--roofing-progress))); height: calc( 55% + (45% * var(--roofing-progress))); overflow: hidden; border-radius: calc( 18px - (18px * var(--roofing-progress))); box-shadow: 0 20px 50px rgba(0, 0, 0, calc(0.15 - (0.15 * var(--roofing-progress)))); transform: translateZ(0); will-change: top, left, width, height, border-radius; }

.roofing-showcase-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; transform: scale(calc(1 + (0.08 * var(--roofing-progress)))); will-change: transform; }

.roofing-showcase-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.68) 42%, rgba(0, 0, 0, 0.4) 72%, rgba(0, 0, 0, 0.24) 100%); opacity: calc( 0.02 + (0.98 * var(--roofing-progress))); pointer-events: none; }

/* CONTENU */
.roofing-showcase-container { position: absolute; z-index: 3; top: var(--roofing-content-top); left: 50%; display: grid; grid-template-columns: 1.25fr 0.65fr; align-items: center; gap: 60px; width: 92%; max-width: 1500px; color: rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); transform: translateX(-50%); will-change: top, color; }

.roofing-showcase-heading { min-width: 0; }

.roofing-showcase-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; color: rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); font-size: calc( 12px + (2px * var(--roofing-progress))); line-height: 1.4; font-weight: 700 !important; letter-spacing: 0.08em; text-transform: uppercase; }

.roofing-showcase-eyebrow span { font-weight: 400 !important; }

.roofing-showcase-heading h1 { max-width: 1050px; margin: 0; font-size: calc( 82px + (6px * var(--roofing-progress))) !important; line-height: 0.98; font-weight: 700 !important; letter-spacing: -0.05em; }

.roofing-showcase-description { padding-top: 8px; }

.roofing-showcase-description p { max-width: 520px; margin: 0 0 28px; color: rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); font-size: calc( 15px + (2px * var(--roofing-progress))); line-height: 1.7; }

/* BOUTON NOIR ET BLANC */
.roofing-showcase-button { display: inline-flex; align-items: stretch; gap: 4px; color: rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))); text-decoration: none; transition: transform 0.25s ease, opacity 0.25s ease; }

.roofing-showcase-button-label { display: inline-flex; align-items: center; justify-content: center; min-height: calc( 50px + (6px * var(--roofing-progress))); padding: 0 26px; border: 1px solid rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); border-radius: 0; background-color: rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); font-size: calc( 13px + (1px * var(--roofing-progress))); line-height: 1; font-weight: 700 !important; text-align: center; }

.roofing-showcase-button-icon { display: inline-flex; align-items: center; justify-content: center; width: calc( 50px + (6px * var(--roofing-progress))); min-height: calc( 50px + (6px * var(--roofing-progress))); flex-shrink: 0; border: 1px solid rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))); border-radius: 0; background-color: rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))); color: rgb(calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress)), calc(255 * var(--roofing-progress))); font-size: 18px; line-height: 1; }

.roofing-showcase-button:hover { color: rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))) !important; transform: translateY(-3px); }

.roofing-showcase-button:hover .roofing-showcase-button-label { color: rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))) !important; }

.roofing-showcase-button:visited .roofing-showcase-button-label { color: rgb(calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress))), calc(255 - (255 * var(--roofing-progress)))) !important; }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (max-width: 1300px) { .roofing-showcase { --roofing-content-top: 130px; } .roofing-showcase-container { grid-template-columns: 1.15fr 0.75fr; gap: 42px; } .roofing-showcase-heading h1 { font-size: calc( 65px + (7px * var(--roofing-progress))) !important; } .roofing-showcase-media { top: calc( 44% - (44% * var(--roofing-progress))); height: calc( 54% + (46% * var(--roofing-progress))); } }

/* TABLETTE */
@media screen and (max-width: 900px) { .roofing-showcase { --roofing-content-top: 105px; height: 225vh; min-height: 1450px; } .roofing-showcase-panel { min-height: 680px; } .roofing-showcase-container { grid-template-columns: 1fr 0.78fr; gap: 28px; width: 90%; } .roofing-showcase-heading h1 { font-size: calc( 52px + (6px * var(--roofing-progress))) !important; line-height: 1.02; } .roofing-showcase-description { padding-top: 5px; } .roofing-showcase-description p { font-size: calc( 14px + (1px * var(--roofing-progress))); line-height: 1.6; } .roofing-showcase-media { top: calc( 45% - (45% * var(--roofing-progress))); left: calc( 5% - (5% * var(--roofing-progress))); width: calc( 90% + (10% * var(--roofing-progress))); height: calc( 53% + (47% * var(--roofing-progress))); border-radius: calc( 14px - (14px * var(--roofing-progress))); } }

/* MOBILE */
@media screen and (max-width: 700px) { .roofing-showcase { --roofing-content-top: 78px; height: 220vh; min-height: 1450px; } .roofing-showcase-panel { min-height: 700px; } .roofing-showcase-container { display: block; width: 88%; } .roofing-showcase-eyebrow { margin-bottom: 13px; font-size: calc( 10px + (1px * var(--roofing-progress))); } .roofing-showcase-heading h1 { max-width: 620px; font-size: calc( 43px + (5px * var(--roofing-progress))) !important; line-height: 1.03; } .roofing-showcase-description { max-width: 520px; padding-top: 15px; } .roofing-showcase-description p { margin-bottom: 19px; font-size: calc( 14px + (1px * var(--roofing-progress))); line-height: 1.58; } .roofing-showcase-media { top: calc( 56% - (56% * var(--roofing-progress))); left: calc( 4% - (4% * var(--roofing-progress))); width: calc( 92% + (8% * var(--roofing-progress))); height: calc( 42% + (58% * var(--roofing-progress))); border-radius: calc( 12px - (12px * var(--roofing-progress))); } .roofing-showcase-image { object-position: center; } .roofing-showcase-button-label { min-height: calc( 45px + (5px * var(--roofing-progress))); padding: 0 18px; font-size: 12px; } .roofing-showcase-button-icon { width: calc( 45px + (5px * var(--roofing-progress))); min-height: calc( 45px + (5px * var(--roofing-progress))); font-size: 16px; } }

/* PETITS MOBILES */
@media screen and (max-width: 480px) { .roofing-showcase { --roofing-content-top: 62px; height: 215vh; min-height: 1400px; } .roofing-showcase-container { width: 90%; } .roofing-showcase-heading h1 { font-size: calc( 35px + (5px * var(--roofing-progress))) !important; line-height: 1.06; } .roofing-showcase-description { padding-top: 14px; } .roofing-showcase-description p { margin-bottom: 17px; font-size: 13px; } .roofing-showcase-media { top: calc( 58% - (58% * var(--roofing-progress))); height: calc( 40% + (60% * var(--roofing-progress))); } .roofing-showcase-button-label { min-height: calc( 43px + (5px * var(--roofing-progress))); padding: 0 15px; font-size: 11px; } .roofing-showcase-button-icon { width: calc( 43px + (5px * var(--roofing-progress))); min-height: calc( 43px + (5px * var(--roofing-progress))); } }

/* ÉCRANS PEU HAUTS */
@media screen and (max-height: 720px) and (min-width: 701px) { .roofing-showcase { --roofing-content-top: 72px; } .roofing-showcase-heading h1 { font-size: calc( 54px + (5px * var(--roofing-progress))) !important; } .roofing-showcase-media { top: calc( 48% - (48% * var(--roofing-progress))); height: calc( 50% + (50% * var(--roofing-progress))); } }

/* RÉDUCTION DES ANIMATIONS */
@media (prefers-reduced-motion: reduce) { .roofing-showcase { height: 100vh; min-height: 760px; } .roofing-showcase-panel, .roofing-showcase-panel.is-fixed, .roofing-showcase-panel.is-ended { position: absolute; top: 0; bottom: auto; left: 0; } .roofing-showcase-media { top: 0; left: 0; width: 100%; height: 100%; border-radius: 0; } .roofing-showcase-image { transform: none; } .roofing-showcase-overlay { opacity: 1; } .roofing-showcase-container { top: 50%; color: #ffffff; transform: translate(-50%, -50%); } .roofing-showcase-eyebrow, .roofing-showcase-description p { color: #ffffff; } .roofing-showcase-button-label { border-color: #ffffff; background-color: #ffffff; color: #000000; } .roofing-showcase-button-icon { border-color: #000000; background-color: #000000; color: #ffffff; } }

/*--------------------------------------------------------------------HERO PAGE----------------------------------------------------------------------------------------*/
.hero-pagesolu { width: 100%; padding: 18px 22px 68px; overflow: hidden; background-color: #ffffff; }

.hero-pagesolu, .hero-pagesolu * { box-sizing: border-box; }

.hero-pagesolu-container { width: 100%; max-width: 1460px; margin: 0 auto; }

/* BLOC PRINCIPAL */
.hero-pagesolu-visual { position: relative; isolation: isolate; width: 100%; min-height: 540px; overflow: visible; border-radius: 28px; background-color: #151515; }

/* IMAGE */
.hero-pagesolu-background { position: absolute; z-index: 1; inset: 0; bottom: 76px; display: block; width: 100%; height: 100%; border-radius: 28px; object-fit: cover; object-position: center; }

/* FILTRE */
.hero-pagesolu-overlay { position: absolute; z-index: 2; inset: 0; border-radius: 28px; background: linear-gradient(90deg, rgba(5, 5, 5, 0.35) 0%, rgba(5, 5, 5, 0.22) 34%, rgba(5, 5, 5, 0.08) 66%, rgba(5, 5, 5, 0.02) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.08) 100%); pointer-events: none; }

/* CONTENU */
.hero-pagesolu-content { position: absolute; z-index: 3; left: 56px; bottom: 98px; width: 54%; max-width: 700px; color: #ffffff; }

.hero-pagesolu-logo { display: block; width: auto; max-width: 225px; max-height: 105px; margin: 0 0 20px; object-fit: contain; object-position: left center; }

.hero-pagesolu-title { max-width: 670px; margin: 0 0 16px; color: #ffffff; font-size: 50px; line-height: 1.04; font-weight: 600; letter-spacing: -0.035em; }

.hero-pagesolu-text { max-width: 560px; margin: 0; color: rgba(255, 255, 255, 0.94); font-size: 16px; line-height: 1.58; font-weight: 400; }

/* CTA */
.hero-pagesolu-cta-wrap { position: absolute; z-index: 5; left: 0; bottom: 0; display: inline-flex; align-items: center; justify-content: center; padding: 12px 14px 12px 0; border-radius: 0 20px 0 0 !important; background-color: #ffffff; }

.hero-pagesolu-cta { display: inline-flex; align-items: center; justify-content: center; min-width: 315px; min-height: 60px; padding: 0 30px; border: 2px solid transparent; border-radius: 0 20px 0 0 !important; background-color: #111317; color: #ffffff !important; font-size: 14px; line-height: 1; font-weight: 600; text-align: center; text-decoration: none; transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease; }

.hero-pagesolu-cta:hover { background-color: transparent; border-color: #111317; color: #111317; transform: translateY(-2px); }

/* DESKTOP */
@media screen and (max-width: 1200px) { .hero-pagesolu { padding: 16px 18px 64px; } .hero-pagesolu-visual { min-height: 500px; } .hero-pagesolu-content { left: 40px; bottom: 90px; width: 60%; } .hero-pagesolu-logo { max-width: 200px; max-height: 94px; margin-bottom: 18px; } .hero-pagesolu-title { font-size: 44px; } .hero-pagesolu-text { font-size: 15px; } .hero-pagesolu-cta { min-width: 285px; min-height: 56px; font-size: 13px; } .hero-pagesolu-cta-wrap { bottom: 0; } }

/* TABLETTE */
@media screen and (max-width: 900px) { .hero-pagesolu { padding: 14px 14px 60px; } .hero-pagesolu-visual { min-height: 500px; border-radius: 24px; } .hero-pagesolu-background, .hero-pagesolu-overlay { border-radius: 24px; } .hero-pagesolu-overlay { background: linear-gradient(90deg, rgba(5, 5, 5, 0.3) 0%, rgba(5, 5, 5, 0.18) 34%, rgba(5, 5, 5, 0.06) 66%, rgba(5, 5, 5, 0.01) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.01) 0%, rgba(0, 0, 0, 0.08) 100%); } .hero-pagesolu-content { right: 28px; bottom: 88px; left: 28px; width: auto; max-width: 650px; } .hero-pagesolu-logo { max-width: 185px; max-height: 86px; } .hero-pagesolu-title { max-width: 590px; font-size: 39px; } .hero-pagesolu-text { max-width: 560px; } .hero-pagesolu-cta-wrap { bottom: 0; padding: 10px 12px 10px 0; border-radius: 0 20px 0 0 !important; } .hero-pagesolu-cta { min-width: 255px; min-height: 54px; padding: 0 24px; border-radius: 0 20px 0 0 !important; font-size: 13px; } }

/* MOBILE */
@media screen and (max-width: 600px) { .hero-pagesolu { padding: 12px 10px 54px; } .hero-pagesolu-visual { min-height: 455px; border-radius: 20px; } .hero-pagesolu-background, .hero-pagesolu-overlay { border-radius: 20px; } .hero-pagesolu-background { object-position: 62% center; } .hero-pagesolu-content { right: 20px; bottom: 80px; left: 20px; } .hero-pagesolu-logo { max-width: 165px; max-height: 76px; margin-bottom: 14px; } .hero-pagesolu-title { max-width: 100%; margin-bottom: 12px; font-size: 31px; line-height: 1.07; } .hero-pagesolu-text { font-size: 13px; line-height: 1.5; } .hero-pagesolu-cta-wrap { right: 34px; bottom: 0; left: 0; padding: 8px 10px 8px 0; border-radius: 0 20px 0 0 !important; } .hero-pagesolu-cta { width: 100%; min-width: 0; min-height: 50px; padding: 0 18px; border-radius: 0 20px 0 0 !important; font-size: 12px; } }

/* PETITS MOBILES */
@media screen and (max-width: 390px) { .hero-pagesolu { padding-right: 8px; padding-left: 8px; } .hero-pagesolu-visual { min-height: 430px; border-radius: 18px; } .hero-pagesolu-background, .hero-pagesolu-overlay { border-radius: 18px; } .hero-pagesolu-content { right: 16px; bottom: 76px; left: 16px; } .hero-pagesolu-logo { max-width: 150px; max-height: 69px; } .hero-pagesolu-title { font-size: 27px; } .hero-pagesolu-text { font-size: 12px; } .hero-pagesolu-cta-wrap { right: 24px; bottom: 0; border-radius: 0 20px 0 0 !important; } .hero-pagesolu-cta { border-radius: 0 20px 0 0 !important; } }

/*--------------------------------------------------------------------TITRE----------------------------------------------------------------------------------------*/
.solucouv-statement { width: 100%; padding: 110px 24px 90px; background: #ffffff; }

.solucouv-statement, .solucouv-statement * { box-sizing: border-box; }

.solucouv-statement-inner { width: 100%; max-width: 1380px; margin: 0 auto; text-align: center; }

.solucouv-statement-eyebrow { display: inline-block; margin-bottom: 28px; color: #111111; font-size: 14px; line-height: 1.2; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }

.solucouv-statement-title { max-width: 1180px; margin: 0 auto; color: #111111; font-size: 66px; line-height: 1.08; font-weight: 700; letter-spacing: -0.05em; text-align: center; }

@media screen and (max-width: 1400px) { .solucouv-statement { padding: 95px 24px 80px; } .solucouv-statement-title { max-width: 1080px; font-size: 56px; } }

@media screen and (max-width: 1100px) { .solucouv-statement { padding: 82px 22px 72px; } .solucouv-statement-eyebrow { margin-bottom: 24px; font-size: 13px; } .solucouv-statement-title { max-width: 920px; font-size: 54px; line-height: 1.1; } }

@media screen and (max-width: 780px) { .solucouv-statement { padding: 68px 20px 60px; } .solucouv-statement-eyebrow { margin-bottom: 20px; font-size: 12px; letter-spacing: 0.1em; } .solucouv-statement-title { max-width: 680px; font-size: 30px; line-height: 1.14; letter-spacing: -0.04em; } }

@media screen and (max-width: 480px) { .solucouv-statement { padding: 56px 16px 48px; } .solucouv-statement-eyebrow { margin-bottom: 16px; font-size: 11px; } .solucouv-statement-title { font-size: 31px; line-height: 1.16; } }

/*--------------------------------------------------------------------INTRO----------------------------------------------------------------------------------------*/
.intro-solucouv { width: 100%; padding: 100px 72px; overflow: hidden; }

.intro-solucouv, .intro-solucouv * { box-sizing: border-box; }

.intro-solucouv-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 68px; width: 100%; max-width: 1420px; margin: 0 auto; }

/* ======================================== CONTENU ======================================== */
.intro-solucouv-content { padding: 20px 0; }

.intro-solucouv-eyebrow { display: inline-block; margin-bottom: 28px; color: #a89f96; font-size: 12px; line-height: 1.4; font-weight: 600 !important; letter-spacing: 0.15em; text-transform: uppercase; }

.intro-solucouv-eyebrow p { margin: 0 !important; color: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }

/* TITRE — APPARENCE D’ORIGINE */
.intro-solucouv-title h2 { display: block; max-width: 580px; margin: 0 0 32px !important; padding: 0 !important; color: #1a1a1a !important; font-size: 64px !important; line-height: 1.1 !important; font-weight: 500 !important; letter-spacing: -0.02em !important; text-transform: none !important; }

.intro-solucouv-title p { margin: 0 !important; padding: 0 !important; color: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }

.intro-solucouv-text { max-width: 540px; }

.intro-solucouv-description { margin-bottom: 22px; color: #5a5a5a; font-size: 17px; line-height: 1.8; font-weight: 400 !important; }

.intro-solucouv-description:last-child { margin-bottom: 0; }

.intro-solucouv-description p { margin: 0 !important; padding: 0 !important; color: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; }

.intro-solucouv-description p + p { margin-top: 12px !important; }

/* ======================================== CARROUSEL ======================================== */
.intro-solucouv-carousel { position: relative; width: 100%; height: 580px; overflow: hidden; border-radius: 24px; background-color: #eeeeee; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08); }

.intro-solucouv-viewport { width: 100%; height: 100%; overflow: hidden; border-radius: inherit; touch-action: pan-y; cursor: grab; }

.intro-solucouv-viewport:active { cursor: grabbing; }

.intro-solucouv-track { display: flex; width: 100%; height: 100%; transform: translate3d(0, 0, 0); will-change: transform; }

.intro-solucouv-track.is-animated { transition: transform 0.65s cubic-bezier(0.65, 0, 0.35, 1); }

.intro-solucouv-slide { position: relative; flex: 0 0 100%; width: 100%; min-width: 100%; height: 100%; overflow: hidden; }

.intro-solucouv-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; user-select: none; pointer-events: none; }

/* ======================================== FLÈCHES ======================================== */
.intro-solucouv-arrow { position: absolute; top: 50%; z-index: 5; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 50%; background-color: rgba(255, 255, 255, 0.92); color: #1a1a1a; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12); cursor: pointer; transform: translateY(-50%); transition: background-color 0.3s ease, color 0.3s ease; }

.intro-solucouv-arrow:hover { background-color: #1a1a1a; color: #ffffff; }

.intro-solucouv-arrow-prev { left: 20px; }

.intro-solucouv-arrow-next { right: 20px; }

.intro-solucouv-arrow svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ======================================== PAGINATION ======================================== */
.intro-solucouv-pagination { position: absolute; right: 24px; bottom: 22px; left: 24px; z-index: 5; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; pointer-events: none; }

.intro-solucouv-dot { width: 8px; height: 8px; flex: 0 0 auto; padding: 0; border: 0; border-radius: 20px; background-color: rgba(255, 255, 255, 0.55); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); cursor: pointer; pointer-events: auto; transition: width 0.3s ease, background-color 0.3s ease; }

.intro-solucouv-dot:hover { background-color: #ffffff; }

.intro-solucouv-dot.is-active { width: 28px; background-color: #ffffff; }

/* ======================================== GRAND ÉCRAN ======================================== */
@media screen and (min-width: 1600px) { .intro-solucouv { padding: 120px 100px; } .intro-solucouv-container { gap: 80px; max-width: 1520px; } .intro-solucouv-title { margin-bottom: 36px !important; font-size: 62px !important; } .intro-solucouv-description { font-size: 18px; } }

/* ======================================== DESKTOP ======================================== */
@media screen and (max-width: 1400px) { .intro-solucouv { padding: 90px 56px; } .intro-solucouv-container { gap: 56px; max-width: 1320px; } .intro-solucouv-title { margin-bottom: 30px !important; font-size: 48px !important; } .intro-solucouv-description { font-size: 16px; line-height: 1.75; } .intro-solucouv-carousel { height: 520px; } }

/* ======================================== TABLETTE LARGE ======================================== */
@media screen and (max-width: 1100px) { .intro-solucouv { padding: 70px 42px; background-color: #ffffff; } .intro-solucouv-container { grid-template-columns: 1fr; align-items: center; gap: 42px; max-width: 920px; } .intro-solucouv-content { padding: 0; } .intro-solucouv-title { max-width: 100%; margin-bottom: 28px !important; font-size: 44px !important; line-height: 1.15 !important; } .intro-solucouv-text { max-width: 100%; } .intro-solucouv-description { max-width: 100%; margin-bottom: 18px; font-size: 16px; line-height: 1.7; } .intro-solucouv-carousel { height: 420px; box-shadow: 0 15px 50px rgba(0, 0, 0, 0.06); } }

/* ======================================== TABLETTE ======================================== */
@media screen and (max-width: 820px) { .intro-solucouv { padding: 60px 30px; } .intro-solucouv-container { gap: 32px; } .intro-solucouv-eyebrow { margin-bottom: 20px; font-size: 11px; letter-spacing: 0.12em; } .intro-solucouv-title { margin-bottom: 24px !important; font-size: 38px !important; line-height: 1.12 !important; } .intro-solucouv-description { margin-bottom: 16px; font-size: 15px; line-height: 1.68; } .intro-solucouv-carousel { height: 380px; } .intro-solucouv-arrow { width: 44px; height: 44px; } .intro-solucouv-arrow-prev { left: 16px; } .intro-solucouv-arrow-next { right: 16px; } }

/* ======================================== MOBILE ======================================== */
@media screen and (max-width: 580px) { .intro-solucouv { padding: 50px 20px; } .intro-solucouv-container { gap: 28px; } .intro-solucouv-eyebrow { margin-bottom: 18px; font-size: 10px; letter-spacing: 0.1em; } .intro-solucouv-title { margin-bottom: 20px !important; font-size: 32px !important; line-height: 1.13 !important; } .intro-solucouv-description { margin-bottom: 14px; font-size: 14px; line-height: 1.65; } .intro-solucouv-carousel { height: 320px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); } .intro-solucouv-arrow { top: auto; bottom: 18px; width: 40px; height: 40px; transform: none; } .intro-solucouv-arrow-prev { left: 16px; } .intro-solucouv-arrow-next { right: 16px; } .intro-solucouv-pagination { right: 64px; bottom: 34px; left: 64px; } .intro-solucouv-dot { width: 7px; height: 7px; } .intro-solucouv-dot.is-active { width: 22px; } }

/* ======================================== PETITS MOBILES ======================================== */
@media screen and (max-width: 390px) { .intro-solucouv { padding: 40px 16px; } .intro-solucouv-title { font-size: 28px !important; } .intro-solucouv-description { font-size: 13px; line-height: 1.6; } .intro-solucouv-carousel { height: 280px; } }

/* ======================================== ACCESSIBILITÉ ======================================== */
@media (prefers-reduced-motion: reduce) { .intro-solucouv-track.is-animated, .intro-solucouv-arrow, .intro-solucouv-dot { transition-duration: 0.01ms; } }

/*--------------------------------------------------------------------SERVICES----------------------------------------------------------------------------------------*/
.solutions-services { --solutions-lime: #e6f34f; --solutions-black: #080808; --solutions-white: #ffffff; width: 100%; padding: 120px 28px; overflow: hidden; background-color: var(--solutions-white); }

.solutions-services, .solutions-services * { box-sizing: border-box; }

.solutions-services-container { width: 100%; max-width: 1420px; margin: 0 auto; }

/* EN-TÊTE */
.solutions-services-header { display: flex; justify-content: flex-start; width: 100%; margin-bottom: 62px; }

.solutions-services-header h2 { width: 68%; max-width: 920px; margin: 0; color: var(--solutions-black); font-size: 64px; line-height: 0.98; font-weight: 750; letter-spacing: -0.05em; text-align: left; }

/* GRILLE */
.solutions-services-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; padding-right: 12px; padding-bottom: 12px; }

/* CARTES */
.solutions-services-card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; height: 400px; padding: 28px; overflow: visible; border-radius: 27px; transition: transform 0.35s ease, box-shadow 0.35s ease; }

.solutions-services-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.14); }

.solutions-services-card-image { overflow: visible; color: var(--solutions-white); background-color: #111111; }

.solutions-services-card-lime { color: var(--solutions-white); background-color: var(--solutions-lime); }

/* HAUT DES CARTES */
.solutions-services-card-top { position: absolute; z-index: 4; top: 28px; right: 28px; left: 28px; display: flex; align-items: center; gap: 12px; }

.solutions-services-number { flex-shrink: 0; font-size: 10px; line-height: 1; font-weight: 700; letter-spacing: 0.06em; opacity: 0.65; }

.solutions-services-line { display: block; width: 100%; height: 1px; background-color: currentColor; opacity: 0.32; }

/* CONTENU */
.solutions-services-card-content { position: relative; z-index: 4; width: 100%; }

.solutions-services-card-content h3 { margin: 0 0 14px; font-size: 27px; line-height: 1.08; font-weight: 650; letter-spacing: -0.035em; }

.solutions-services-card-content p { margin: 0 0 19px; font-size: 14px; line-height: 1.55; font-weight: 400; opacity: 0.82; }

.solutions-services-card-content a { display: inline-block; color: inherit; text-decoration: none; font-size: 15px; line-height: 1.4; font-weight: 600; }

.solutions-services-card-content a::after { display: block; width: 100%; height: 1px; margin-top: 5px; background-color: currentColor; opacity: 0.65; content: ""; transform: scaleX(0.35); transform-origin: left; transition: transform 0.3s ease; }

.solutions-services-card-content a:hover::after { transform: scaleX(1); }

/* IMAGES DE FOND */
.solutions-services-background { position: absolute; z-index: -3; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; object-position: center; transition: transform 0.6s ease; }

.solutions-services-card-image:hover .solutions-services-background { transform: scale(1.025); }

/* OVERLAYS */
.solutions-services-overlay { position: absolute; z-index: -2; inset: 0; border-radius: inherit; background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.38) 40%, rgba(0, 0, 0, 0.92) 100%); pointer-events: none; }

.solutions-services-overlay-strong { background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.52) 48%, rgba(0, 0, 0, 0.95) 100%); }

.solutions-services-overlay-yellow { background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.38) 40%, rgba(0, 0, 0, 0.92) 100%); }

/* BOUTONS FLÈCHES */
.solutions-services-arrow { position: absolute; z-index: 8; right: -11px; bottom: -11px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 5px solid var(--solutions-white); border-radius: 50%; background-color: var(--solutions-lime); text-decoration: none; transition: transform 0.35s ease, background-color 0.35s ease; }

.solutions-services-arrow svg { display: none; }

.solutions-services-arrow::before { position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; background-color: var(--solutions-black); content: ""; transform: translate(-50%, -50%) rotate(-45deg); transform-origin: center; transition: transform 0.35s ease; }

.solutions-services-arrow::after { position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 2px solid var(--solutions-black); border-right: 2px solid var(--solutions-black); content: ""; transform: translate(0, -8px); transition: transform 0.35s ease; }

.solutions-services-card:hover .solutions-services-arrow { transform: rotate(4deg); }

.solutions-services-card:hover .solutions-services-arrow::before { transform: translate(-50%, -50%) rotate(-45deg) translate(1px, 0); }

.solutions-services-card:hover .solutions-services-arrow::after { transform: translate(1px, -9px); }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (max-width: 1250px) { .solutions-services { padding: 100px 24px; } .solutions-services-header h2 { width: 72%; font-size: 55px; } .solutions-services-grid { gap: 16px; } .solutions-services-card { height: 390px; padding: 24px; } .solutions-services-card-top { top: 24px; right: 24px; left: 24px; } .solutions-services-card-content h3 { font-size: 24px; } .solutions-services-card-content p { font-size: 13px; } }

/* TABLETTE */
@media screen and (max-width: 980px) { .solutions-services { padding: 90px 24px; } .solutions-services-header { justify-content: flex-start; margin-bottom: 50px; } .solutions-services-header h2 { width: 78%; font-size: 48px; } .solutions-services-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; } .solutions-services-card { height: 390px; } .solutions-services-card-content h3 { font-size: 28px; } .solutions-services-card-content p { font-size: 14px; } }

/* MOBILE */
@media screen and (max-width: 650px) { .solutions-services { padding: 75px 20px; } .solutions-services-header { justify-content: flex-start; margin-bottom: 42px; } .solutions-services-header h2 { width: 100%; max-width: 520px; font-size: 40px; line-height: 1.02; text-align: left; } .solutions-services-grid { grid-template-columns: 1fr; gap: 30px; padding-right: 10px; } .solutions-services-card { width: 100%; height: 390px; padding: 26px; border-radius: 24px; } .solutions-services-card-top { top: 26px; right: 26px; left: 26px; } .solutions-services-card-content h3 { font-size: 29px; } .solutions-services-card-content p { max-width: 460px; font-size: 14px; } .solutions-services-arrow { right: -9px; bottom: -9px; width: 46px; height: 46px; border-width: 4px; } .solutions-services-arrow::before { width: 15px; } .solutions-services-arrow::after { width: 7px; height: 7px; transform: translate(0, -7px); } }

/* PETITS MOBILES */
@media screen and (max-width: 420px) { .solutions-services { padding: 65px 18px; } .solutions-services-header h2 { font-size: 35px; } .solutions-services-card { height: 400px; padding: 23px; } .solutions-services-card-top { top: 23px; right: 23px; left: 23px; } .solutions-services-card-content h3 { font-size: 26px; } }

/*--------------------------------------------------------------------CTA----------------------------------------------------------------------------------------*/
.solucouv-cta { width: 100%; padding: 22px 16px; background-color: #ffffff; }

.solucouv-cta, .solucouv-cta * { box-sizing: border-box; }

.solucouv-cta-container { width: 100%; max-width: 1480px; margin: 0 auto; }

.solucouv-cta-card { position: relative; isolation: isolate; width: 100%; min-height: 570px; overflow: hidden; border-radius: 30px; background-color: #0b0b0b; }

/* IMAGE */
.solucouv-cta-background { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1); transition: transform 0.7s ease; }

.solucouv-cta-card:hover .solucouv-cta-background { transform: scale(1.035); }

/* OVERLAY */
.solucouv-cta-overlay { position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.35) 36%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.03) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.08) 100%); pointer-events: none; }

/* CONTENU */
.solucouv-cta-content { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; max-width: 820px; min-height: 570px; padding: 68px 64px; }

.solucouv-cta-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; margin-bottom: 24px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; color: #ffffff; background-color: rgba(0, 0, 0, 0.22); backdrop-filter: blur(8px); font-size: 10px; line-height: 1; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.solucouv-cta-title { width: 100%; max-width: 640px; margin: 0 0 22px; color: #ffffff; font-size: 52px; line-height: 1; font-weight: 400; letter-spacing: -0.05em; }

.solucouv-cta-text { width: 100%; max-width: 640px; margin-bottom: 32px; }

.solucouv-cta-text p { width: 100%; margin: 0 0 13px; color: rgba(255, 255, 255, 0.88); font-size: 16px; line-height: 1.6; font-weight: 400; }

.solucouv-cta-text p:last-child { margin-bottom: 0; }

/* BOUTON NOIR ET BLANC */
.solucouv-cta-button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border: 1px solid #ffffff; border-radius: 0; color: #000000 !important; background-color: #ffffff; font-size: 13px; line-height: 1; font-weight: 700 !important; letter-spacing: 0.04em; text-align: center; text-decoration: none; text-transform: uppercase; transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease; }

.solucouv-cta-button:hover { color: #ffffff !important; background-color: #000000; transform: translateY(-3px); }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (max-width: 1200px) { .solucouv-cta { padding: 20px 14px; } .solucouv-cta-card, .solucouv-cta-content { min-height: 540px; } .solucouv-cta-content { max-width: 740px; padding: 58px 48px; } .solucouv-cta-title { max-width: 640px; font-size: 46px; } .solucouv-cta-text { max-width: 640px; margin-bottom: 28px; } .solucouv-cta-text p { font-size: 16px; } }

/* TABLETTE */
@media screen and (max-width: 820px) { .solucouv-cta { padding: 18px 12px; } .solucouv-cta-card { min-height: 510px; border-radius: 26px; } .solucouv-cta-overlay { background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.32) 42%, rgba(0, 0, 0, 0.45) 100%); } .solucouv-cta-content { justify-content: flex-end; max-width: 100%; min-height: 510px; padding: 42px 32px; } .solucouv-cta-badge { margin-bottom: 19px; } .solucouv-cta-title { max-width: 640px; margin-bottom: 18px; font-size: 38px; line-height: 1.02; } .solucouv-cta-text { max-width: 640px; margin-bottom: 25px; } .solucouv-cta-text p { font-size: 15px; line-height: 1.58; } }

/* MOBILE */
@media screen and (max-width: 540px) { .solucouv-cta { padding: 14px 9px; } .solucouv-cta-card { min-height: 470px; border-radius: 20px; } .solucouv-cta-background { object-position: 64% center; } .solucouv-cta-content { min-height: 470px; padding: 30px 21px 26px; } .solucouv-cta-badge { min-height: 28px; margin-bottom: 15px; padding: 0 11px; font-size: 9px; } .solucouv-cta-title { margin-bottom: 15px; font-size: 31px; line-height: 1.04; } .solucouv-cta-text { max-width: 100%; margin-bottom: 22px; } .solucouv-cta-text p { margin-bottom: 11px; font-size: 13px; line-height: 1.5; } .solucouv-cta-button { width: 100%; min-height: 50px; padding: 0 16px; font-size: 11px; } }

/* PETITS MOBILES */
@media screen and (max-width: 390px) { .solucouv-cta { padding-right: 8px; padding-left: 8px; } .solucouv-cta-card { min-height: 450px; border-radius: 18px; } .solucouv-cta-content { min-height: 450px; padding: 28px 18px 24px; } .solucouv-cta-title { font-size: 28px; } .solucouv-cta-text p { font-size: 12px; } }

/*--------------------------------------------------------------------GALERIE----------------------------------------------------------------------------------------*/
.secondary-gallery-solucouv { width: 100%; padding: 110px 28px; background-color: #ffffff; overflow: hidden; }

.secondary-gallery-solucouv, .secondary-gallery-solucouv * { box-sizing: border-box; }

.secondary-gallery-solucouv-container { width: 100%; max-width: 1420px; margin: 0 auto; }

.secondary-gallery-solucouv-header { width: 100%; margin-bottom: 58px; }

.secondary-gallery-solucouv-title { width: 72%; max-width: 950px; margin: 0; }

.secondary-gallery-solucouv-title h2 { margin: 0 !important; padding: 0 !important; color: #080808 !important; font-size: 52px !important; line-height: 1 !important; letter-spacing: -0.05em !important; }

.secondary-gallery-solucouv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.secondary-gallery-solucouv-item { position: relative; width: 100%; height: 330px; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 26px; background-color: #111111; cursor: pointer; transition: transform 0.35s ease, opacity 0.35s ease; }

.secondary-gallery-solucouv-hidden { display: none; }

.secondary-gallery-solucouv-item.is-visible { display: block; animation: secondaryGalleryReveal 0.45s ease both; }

.secondary-gallery-solucouv-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.55s ease; }

.secondary-gallery-solucouv-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.22) 100%); opacity: 0; transition: opacity 0.35s ease; }

.secondary-gallery-solucouv-zoom { position: absolute; right: 18px; bottom: 18px; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background-color: #e6f34f; border: 5px solid #ffffff; border-radius: 50%; color: #080808; opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease, transform 0.3s ease; }

.secondary-gallery-solucouv-zoom i { margin: 0; padding: 0; color: #080808; line-height: 1; }

.secondary-gallery-solucouv-item:hover { transform: translateY(-5px); }

.secondary-gallery-solucouv-item:hover .secondary-gallery-solucouv-image { transform: scale(1.025); }

.secondary-gallery-solucouv-item:hover .secondary-gallery-solucouv-overlay { opacity: 1; }

.secondary-gallery-solucouv-item:hover .secondary-gallery-solucouv-zoom { opacity: 1; transform: translateY(0); }

.secondary-gallery-solucouv-more-wrap { display: flex; justify-content: center; margin-top: 42px; }

.secondary-gallery-solucouv-more { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 52px; margin: 0; padding: 10px 12px 10px 22px; background-color: #080808; border: 0; border-radius: 999px; color: #ffffff; cursor: pointer; font-weight: 600; }

.secondary-gallery-solucouv-more-icon { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background-color: #e6f34f; border-radius: 50%; color: #080808; }

.secondary-gallery-solucouv-more-icon i { margin: 0; padding: 0; color: #080808; line-height: 1; transition: transform 0.3s ease; }

.secondary-gallery-solucouv-more.is-open .secondary-gallery-solucouv-more-icon i { transform: rotate(45deg); }

.secondary-gallery-solucouv-lightbox { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 60px 110px; background-color: rgba(8, 8, 8, 0.96); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease, visibility 0.3s ease; }

.secondary-gallery-solucouv-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

.secondary-gallery-solucouv-lightbox-content { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }

.secondary-gallery-solucouv-lightbox-image { display: block; max-width: 100%; max-height: 88vh; width: auto; height: auto; object-fit: contain; border-radius: 18px; }

.secondary-gallery-solucouv-close, .secondary-gallery-solucouv-prev, .secondary-gallery-solucouv-next { position: absolute; z-index: 3; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.22); background-color: rgba(255, 255, 255, 0.08); color: #ffffff; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease; }

.secondary-gallery-solucouv-close { top: 28px; right: 30px; width: 52px; height: 52px; border-radius: 50%; }

.secondary-gallery-solucouv-prev, .secondary-gallery-solucouv-next { top: 50%; width: 58px; height: 58px; border-radius: 50%; transform: translateY(-50%); }

.secondary-gallery-solucouv-prev { left: 28px; }

.secondary-gallery-solucouv-next { right: 28px; }

.secondary-gallery-solucouv-close:hover, .secondary-gallery-solucouv-prev:hover, .secondary-gallery-solucouv-next:hover { background-color: #e6f34f; color: #080808; }

.secondary-gallery-solucouv-close i, .secondary-gallery-solucouv-prev i, .secondary-gallery-solucouv-next i { margin: 0; padding: 0; color: inherit; line-height: 1; }

body.secondary-gallery-solucouv-lock { overflow: hidden; }

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

@media screen and (max-width: 1100px) { .secondary-gallery-solucouv { padding: 85px 22px; } .secondary-gallery-solucouv-title { width: 85%; } .secondary-gallery-solucouv-title h2 { font-size: 50px !important; } .secondary-gallery-solucouv-grid { grid-template-columns: repeat(2, 1fr); } .secondary-gallery-solucouv-item { height: 300px; } .secondary-gallery-solucouv-lightbox { padding: 55px 80px; } }

@media screen and (max-width: 780px) { .secondary-gallery-solucouv { padding: 65px 20px; } .secondary-gallery-solucouv-header { margin-bottom: 38px; } .secondary-gallery-solucouv-title { width: 100%; } .secondary-gallery-solucouv-title h2 { font-size: 36px !important; line-height: 1.08 !important; } .secondary-gallery-solucouv-grid { gap: 14px; } .secondary-gallery-solucouv-item { height: 240px; border-radius: 20px; } .secondary-gallery-solucouv-zoom { opacity: 1; right: 12px; bottom: 12px; width: 44px; height: 44px; border-width: 4px; transform: none; } .secondary-gallery-solucouv-lightbox { padding: 80px 20px; } .secondary-gallery-solucouv-prev, .secondary-gallery-solucouv-next { top: auto; bottom: 20px; width: 50px; height: 50px; transform: none; } .secondary-gallery-solucouv-prev { left: calc(50% - 60px); } .secondary-gallery-solucouv-next { right: calc(50% - 60px); } .secondary-gallery-solucouv-close { top: 20px; right: 20px; } }

@media screen and (max-width: 520px) { .secondary-gallery-solucouv { padding: 55px 16px; } .secondary-gallery-solucouv-title h2 { font-size: 31px !important; } .secondary-gallery-solucouv-grid { grid-template-columns: 1fr; } .secondary-gallery-solucouv-item { height: 280px; } .secondary-gallery-solucouv-more { width: 100%; max-width: 260px; } }

@media (prefers-reduced-motion: reduce) { .secondary-gallery-solucouv-image, .secondary-gallery-solucouv-overlay, .secondary-gallery-solucouv-zoom, .secondary-gallery-solucouv-more-icon i, .secondary-gallery-solucouv-lightbox, .secondary-gallery-solucouv-close, .secondary-gallery-solucouv-prev, .secondary-gallery-solucouv-next { transition: none; } .secondary-gallery-solucouv-item.is-visible { animation: none; } }

/*--------------------------------------------------------------------INTRO PAGE----------------------------------------------------------------------------------------*/
.intropage-solucouv { width: 100%; padding: 100px 60px; background-color: #ffffff; }

.intropage-solucouv, .intropage-solucouv * { box-sizing: border-box; }

.intropage-solucouv-container { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr) minmax(0, 0.9fr); align-items: center; gap: 72px; width: 100%; max-width: 1580px; margin: 0 auto; }

/* CONTENU GAUCHE */
.intropage-solucouv-left { max-width: 520px; }

.intropage-solucouv-eyebrow { display: inline-block; margin-bottom: 26px; color: #777777; font-size: 13px; line-height: 1.3; font-weight: 700 !important; letter-spacing: 0.16em; text-transform: uppercase; }

.intropage-solucouv-title { max-width: 520px; margin: 0 0 28px; color: #111111; font-size: 48px; line-height: 1.08; font-weight: 500 !important; letter-spacing: -0.04em; }

.intropage-solucouv-text { max-width: 500px; margin: 0 0 36px; color: #626262; font-size: 17px; line-height: 1.75; font-weight: 400 !important; }

/* BOUTON */
.intropage-solucouv-button { display: inline-flex; align-items: center; gap: 18px; min-height: 60px; padding: 7px 7px 7px 26px; border-radius: 0; background-color: #111111; color: #ffffff !important; font-size: 14px; line-height: 1; font-weight: 600 !important; text-decoration: none; transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease; }

.intropage-solucouv-button:hover { background-color: #252525; color: #ffffff !important; transform: translateY(-3px); box-shadow: 0 14px 26px rgba(0, 0, 0, 0.12); }

.intropage-solucouv-button-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex-shrink: 0; border-radius: 0; background-color: #ffffff; color: #111111 !important; }

.intropage-solucouv-button-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* IMAGE CENTRALE */
.intropage-solucouv-media { width: 100%; height: 430px; overflow: hidden; border-radius: 24px; background-color: #eeeeee; }

.intropage-solucouv-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

/* ÉLÉMENTS DROITE */
.intropage-solucouv-right { display: flex; flex-direction: column; gap: 44px; }

.intropage-solucouv-feature { display: grid; grid-template-columns: 54px minmax(0, 1fr); align-items: start; gap: 22px; }

.intropage-solucouv-icon { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; color: #111111; }

.intropage-solucouv-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.intropage-solucouv-feature-content h3 { margin: 0 0 10px; color: #171717; font-size: 20px; line-height: 1.25; font-weight: 600 !important; }

.intropage-solucouv-feature-content p { max-width: 320px; margin: 0; color: #6d6d6d; font-size: 15px; line-height: 1.65; font-weight: 400 !important; }

/* GRANDS ÉCRANS */
@media screen and (min-width: 1700px) { .intropage-solucouv { padding: 120px 80px; } .intropage-solucouv-container { max-width: 1680px; gap: 84px; } .intropage-solucouv-title { font-size: 52px; } .intropage-solucouv-media { height: 470px; } }

/* DESKTOP */
@media screen and (max-width: 1350px) { .intropage-solucouv { padding: 85px 42px; } .intropage-solucouv-container { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 0.85fr); gap: 48px; } .intropage-solucouv-title { font-size: 42px; } .intropage-solucouv-text { font-size: 16px; } .intropage-solucouv-media { height: 390px; } .intropage-solucouv-feature { grid-template-columns: 48px minmax(0, 1fr); gap: 18px; } .intropage-solucouv-icon { width: 48px; height: 48px; } .intropage-solucouv-feature-content h3 { font-size: 18px; } .intropage-solucouv-feature-content p { font-size: 14px; } }

/* TABLETTE LARGE */
@media screen and (max-width: 1050px) { .intropage-solucouv { padding: 74px 36px; } .intropage-solucouv-container { grid-template-columns: 1fr 1fr; align-items: start; gap: 44px; } .intropage-solucouv-left { max-width: 100%; } .intropage-solucouv-title, .intropage-solucouv-text { max-width: 100%; } .intropage-solucouv-media { height: 380px; } .intropage-solucouv-right { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-top: 16px; } .intropage-solucouv-feature { grid-template-columns: 46px minmax(0, 1fr); gap: 16px; } .intropage-solucouv-feature-content p { max-width: 100%; } }

/* TABLETTE */
@media screen and (max-width: 780px) { .intropage-solucouv { padding: 62px 26px; } .intropage-solucouv-container { grid-template-columns: 1fr; gap: 34px; } .intropage-solucouv-title { max-width: 640px; font-size: 38px; line-height: 1.1; } .intropage-solucouv-text { margin-bottom: 30px; font-size: 15px; line-height: 1.7; } .intropage-solucouv-media { height: 360px; border-radius: 20px; } .intropage-solucouv-right { grid-column: auto; display: flex; flex-direction: column; gap: 28px; padding-top: 6px; } .intropage-solucouv-feature { grid-template-columns: 48px minmax(0, 1fr); gap: 18px; } }

/* MOBILE */
@media screen and (max-width: 520px) { .intropage-solucouv { padding: 50px 18px; } .intropage-solucouv-container { gap: 28px; } .intropage-solucouv-eyebrow { margin-bottom: 18px; font-size: 11px; letter-spacing: 0.13em; } .intropage-solucouv-title { margin-bottom: 20px; font-size: 31px; line-height: 1.12; } .intropage-solucouv-text { margin-bottom: 26px; font-size: 14px; line-height: 1.65; } .intropage-solucouv-button { width: 100%; justify-content: space-between; min-height: 56px; padding-left: 20px; border-radius: 0; color: #ffffff !important; font-size: 13px; } .intropage-solucouv-button-icon { width: 42px; height: 42px; border-radius: 0; color: #111111 !important; } .intropage-solucouv-media { height: 300px; border-radius: 18px; } .intropage-solucouv-right { gap: 24px; } .intropage-solucouv-feature { grid-template-columns: 42px minmax(0, 1fr); gap: 15px; } .intropage-solucouv-icon { width: 42px; height: 42px; } .intropage-solucouv-feature-content h3 { margin-bottom: 7px; font-size: 17px; } .intropage-solucouv-feature-content p { font-size: 13px; line-height: 1.6; } }

/* PETITS MOBILES */
@media screen and (max-width: 380px) { .intropage-solucouv { padding: 44px 15px; } .intropage-solucouv-title { font-size: 28px; } .intropage-solucouv-media { height: 260px; } }

/*--------------------------------------------------------------------SERVICE CARTE----------------------------------------------------------------------------------------*/
.carte-solucouv { position: relative; width: 100%; padding: 76px 28px 70px; overflow: hidden; background-color: #ffffff; }

.carte-solucouv, .carte-solucouv * { box-sizing: border-box; }

.carte-solucouv::before { position: absolute; top: 55px; left: -130px; width: 280px; height: 390px; background-color: rgba(0, 0, 0, 0.035); content: ""; pointer-events: none; transform: skewX(-18deg); }

.carte-solucouv::after { position: absolute; right: -110px; bottom: -170px; width: 340px; height: 340px; border: 1px solid rgba(0, 0, 0, 0.1); content: ""; pointer-events: none; transform: rotate(45deg); }

.carte-solucouv-container { position: relative; z-index: 2; width: 100%; max-width: 1380px; margin: 0 auto; }

/* EN-TÊTE */
.carte-solucouv-header { max-width: 760px; margin: 0 auto 46px; text-align: center; }

.carte-solucouv-subtitle { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 15px; color: #111111; font-size: 12px; line-height: 1.2; font-weight: 700 !important; letter-spacing: 0.18em; text-transform: uppercase; }

.carte-solucouv-subtitle::before, .carte-solucouv-subtitle::after { display: block; width: 26px; height: 1px; background-color: #111111; content: ""; }

.carte-solucouv-title { margin: 0; color: #111111; font-size: 50px; line-height: 1.04; font-weight: 700 !important; letter-spacing: -0.04em; text-transform: uppercase; }

.carte-solucouv-line { display: block; width: 80px; height: 3px; margin: 22px auto 0; background-color: #111111; transform: skewX(-20deg); }

/* GRILLE */
.carte-solucouv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

/* CARTES */
.carte-solucouv-card { position: relative; display: flex; flex-direction: column; min-height: 350px; padding: 28px 22px 26px; overflow: hidden; border: 1px solid #ffffff; background: linear-gradient(145deg, #3b3b3b 0%, #2f2f2f 100%); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1), 0 3px 8px rgba(0, 0, 0, 0.06); }

.carte-solucouv-card::before { position: absolute; top: 0; left: 0; width: 100%; height: 4px; background-color: #ffffff; content: ""; }

.carte-solucouv-card::after { position: absolute; top: -80px; right: -75px; width: 170px; height: 220px; border: 1px solid rgba(255, 255, 255, 0.14); background-color: rgba(255, 255, 255, 0.025); content: ""; pointer-events: none; transform: skewX(-18deg); }

.carte-solucouv-number { position: absolute; top: 21px; right: 20px; z-index: 2; color: rgba(255, 255, 255, 0.2); font-size: 43px; line-height: 1; font-weight: 700 !important; }

/* ICÔNES */
.carte-solucouv-icon { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 25px; background-color: #ffffff; color: #111111; transform: skewX(-12deg); }

.carte-solucouv-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transform: skewX(12deg); }

/* CONTENU */
.carte-solucouv-card-title { position: relative; z-index: 2; max-width: 270px; margin: 0; color: #ffffff; font-size: 23px; line-height: 1.08; font-weight: 700 !important; letter-spacing: -0.02em; text-transform: uppercase; }

.carte-solucouv-card-line { position: relative; z-index: 2; display: block; width: 48px; height: 2px; margin: 18px 0; background-color: #ffffff; transform: skewX(-20deg); }

.carte-solucouv-card-text { position: relative; z-index: 2; margin: 0; color: rgba(255, 255, 255, 0.78); font-size: 14px; line-height: 1.65; font-weight: 400 !important; }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (max-width: 1200px) { .carte-solucouv { padding: 68px 24px 62px; } .carte-solucouv-title { font-size: 44px; } .carte-solucouv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .carte-solucouv-card { min-height: 325px; padding: 28px 26px 26px; } .carte-solucouv-card-title { max-width: 380px; } }

/* TABLETTE */
@media screen and (max-width: 720px) { .carte-solucouv { padding: 58px 20px 52px; } .carte-solucouv-header { margin-bottom: 36px; } .carte-solucouv-title { font-size: 37px; line-height: 1.08; } .carte-solucouv-grid { grid-template-columns: 1fr; gap: 16px; max-width: 560px; margin: 0 auto; } .carte-solucouv-card { min-height: auto; } }

/* MOBILE */
@media screen and (max-width: 480px) { .carte-solucouv { padding: 50px 15px 44px; } .carte-solucouv-subtitle { font-size: 10px; letter-spacing: 0.14em; } .carte-solucouv-subtitle::before, .carte-solucouv-subtitle::after { width: 18px; } .carte-solucouv-title { font-size: 31px; } .carte-solucouv-line { width: 62px; margin-top: 18px; } .carte-solucouv-card { padding: 25px 20px 24px; } .carte-solucouv-number { top: 19px; right: 17px; font-size: 38px; } .carte-solucouv-icon { width: 52px; height: 52px; margin-bottom: 22px; } .carte-solucouv-icon svg { width: 31px; height: 31px; } .carte-solucouv-card-title { font-size: 20px; } .carte-solucouv-card-text { font-size: 13px; } }

/*--------------------------------------------------------------------IMAGES CARTES----------------------------------------------------------------------------------------*/
.article-categories { position: relative; width: 100%; padding: 96px 34px 90px; overflow: hidden; background-color: #ffffff; }

.article-categories, .article-categories * { box-sizing: border-box; }

.article-categories::before { position: absolute; top: 0; left: 50%; width: 88%; height: 1px; background-color: #ededed; content: ""; transform: translateX(-50%); }

.article-categories-container { position: relative; z-index: 1; width: 100%; max-width: 1380px; margin: 0 auto; }

/* EN-TÊTE */
.article-categories-header { display: flex; flex-direction: column; align-items: center; max-width: 900px; margin: 0 auto 58px; text-align: center; }

.article-categories-eyebrow { display: inline-block; margin-bottom: 17px; color: #858585; font-size: 12px; line-height: 1.2; font-weight: 700 !important; letter-spacing: 0.2em; text-transform: uppercase; }

.article-categories-title { max-width: 860px; margin: 0; color: #151515; font-size: 60px; line-height: 1.03; font-weight: 700 !important; letter-spacing: -0.05em; }

.article-categories-line { display: block; width: 72px; height: 2px; margin-top: 25px; background-color: #151515; }

/* GRILLE */
.article-categories-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }

/* CARTES */
.article-categories-card { position: relative; display: block; height: 520px; overflow: hidden; border-radius: 22px; background-color: #d8d8d8; box-shadow: 0 20px 46px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05); }

.article-categories-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.article-categories-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.05) 28%, rgba(0, 0, 0, 0.34) 58%, rgba(0, 0, 0, 0.92) 100%); }

/* CONTENU DES CARTES */
.article-categories-content { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; padding: 32px 30px; }

.article-categories-number { display: inline-block; margin-bottom: 13px; color: rgba(255, 255, 255, 0.62); font-size: 11px; line-height: 1; font-weight: 700 !important; letter-spacing: 0.18em; }

.article-categories-content h3 { max-width: 360px; margin: 0 0 15px; color: #ffffff; font-size: 30px; line-height: 1.08; font-weight: 700 !important; letter-spacing: -0.04em; }

.article-categories-content p { max-width: 370px; margin: 0; color: rgba(255, 255, 255, 0.82); font-size: 14px; line-height: 1.65; font-weight: 400 !important; }

/* ÉCRANS INTERMÉDIAIRES */
@media screen and (max-width: 1100px) { .article-categories { padding: 80px 26px 76px; } .article-categories-header { margin-bottom: 48px; } .article-categories-title { font-size: 52px; } .article-categories-grid { gap: 20px; } .article-categories-card { height: 470px; } .article-categories-content { padding: 28px 24px 27px; } .article-categories-content h3 { font-size: 26px; } }

/* TABLETTE */
@media screen and (max-width: 820px) { .article-categories-title { max-width: 680px; font-size: 44px; } .article-categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .article-categories-card:last-child { grid-column: 1 / -1; } .article-categories-card { height: 450px; } }

/* MOBILE */
@media screen and (max-width: 620px) { .article-categories { padding: 62px 18px 58px; } .article-categories-header { margin-bottom: 36px; } .article-categories-eyebrow { margin-bottom: 14px; font-size: 10px; } .article-categories-title { font-size: 36px; line-height: 1.07; } .article-categories-line { width: 58px; margin-top: 20px; } .article-categories-grid { grid-template-columns: 1fr; gap: 18px; } .article-categories-card:last-child { grid-column: auto; } .article-categories-card { height: 420px; border-radius: 18px; } }

/* PETITS MOBILES */
@media screen and (max-width: 420px) { .article-categories { padding: 52px 15px 50px; } .article-categories-title { font-size: 31px; } .article-categories-card { height: 400px; } .article-categories-content { padding: 24px 21px; } .article-categories-content h3 { font-size: 23px; } .article-categories-content p { font-size: 13px; } }

/* -------------------------------------------------------------------------- */
/* MENU DÉROULANT TOITURE */
/* -------------------------------------------------------------------------- */
#navigation-bar-show .d-flex.flex-column.flex-lg-row.align-items-center { position: relative; }

/* POSITION DU SOUS-MENU */
#navigation-bar-show .dropdown-menu { position: absolute !important; top: calc(100% + 10px) !important; left: 50% !important; right: auto !important; min-width: 230px; margin: 0 !important; padding: 10px; border: 0; border-radius: 16px; background-color: #ffffff !important; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06); transform: translateX(-50%) !important; z-index: 1050; }

/* ITEMS */
#navigation-bar-show .dropdown-menu li { width: 100%; margin: 0; padding: 0; }

/* LIENS */
#navigation-bar-show .dropdown-menu .dropdown-item { display: block; width: 100%; padding: 12px 16px; border-radius: 10px; color: #080808 !important; background-color: transparent !important; text-align: left; text-decoration: none; cursor: pointer; transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease; }

/* HOVER */
#navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus, #navigation-bar-show .dropdown-menu .dropdown-item:active { padding-left: 21px; color: #ffffff !important; background-color: #080808 !important; }

/* PETIT ACCENT VERT */
#navigation-bar-show .dropdown-menu .dropdown-item::before { display: inline-block; width: 5px; height: 5px; margin-right: 0; border-radius: 50%; background-color: #e6f34f; content: ""; opacity: 0; transform: scale(0); transition: opacity 0.25s ease, transform 0.25s ease, margin-right 0.25s ease; }

#navigation-bar-show .dropdown-menu .dropdown-item:hover::before, #navigation-bar-show .dropdown-menu .dropdown-item:focus::before, #navigation-bar-show .dropdown-menu .dropdown-item:active::before { margin-right: 9px; opacity: 1; transform: scale(1); }

/* FLÈCHE DU MENU TOITURE */
#navigation-bar-show .dropdown-toggle { cursor: pointer; }

#navigation-bar-show .dropdown-toggle::after { vertical-align: middle; }

/* MOBILE / TABLETTE */
@media screen and (max-width: 991px) { #navigation-bar-show .d-flex.flex-column.flex-lg-row.align-items-center { width: 100%; } #navigation-bar-show .dropdown-menu { position: static !important; width: 100%; min-width: 0; margin-top: 10px !important; border-radius: 12px; box-shadow: none; transform: none !important; } #navigation-bar-show .dropdown-menu .dropdown-item { padding: 11px 16px; text-align: center; } #navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus, #navigation-bar-show .dropdown-menu .dropdown-item:active { padding-left: 16px; color: #ffffff !important; background-color: #080808 !important; } #navigation-bar-show .dropdown-menu .dropdown-item::before { display: none; } }

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