@charset "UTF-8";
@import url(main.css);
/*-----------------------------------MENU DÉROULANT---------------------------------------*/
/* Conteneur du menu */
.navbar .dropdown-menu, .navbar .dropdown-menu.show { min-width: 280px !important; margin-top: 10px !important; padding: 0 !important; color: #000000 !important; background-color: #ffffff !important; border: 1px solid #e5e5e5 !important; border-radius: 4px !important; overflow: hidden !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important; }

/* Lignes du menu */
.navbar .dropdown-menu > li { width: 100% !important; margin: 0 !important; padding: 0 !important; color: #000000 !important; background-color: #ffffff !important; }

/* Tous les liens au repos */
.navbar .dropdown-menu .dropdown-item, .navbar .dropdown-menu.show .dropdown-item, .navbar .dropdown-menu .dropdown-item.text-color-fourth, .navbar .dropdown-menu.show .dropdown-item.text-color-fourth { display: flex !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; margin: 0 !important; padding: 14px 18px !important; color: #000000 !important; background-color: #ffffff !important; border: 0 !important; border-bottom: 1px solid #e8e8e8 !important; text-decoration: none !important; transition: color 0.2s ease, background-color 0.2s ease !important; }

/* Empêche le menu entier de devenir rouge à l’ouverture */
.navbar .dropdown-menu.show, .navbar .dropdown-menu.show > li, .navbar .dropdown-menu.show > li > a { color: #000000 !important; }

/* États clic, focus et actif */
.navbar .dropdown-menu .dropdown-item:focus, .navbar .dropdown-menu .dropdown-item:active, .navbar .dropdown-menu .dropdown-item.active, .navbar .dropdown-menu.show .dropdown-item:focus, .navbar .dropdown-menu.show .dropdown-item:active, .navbar .dropdown-menu.show .dropdown-item.active { color: #000000 !important; background-color: #ffffff !important; box-shadow: none !important; outline: none !important; }

/* Rouge uniquement sur le lien survolé */
.navbar .dropdown-menu .dropdown-item:hover, .navbar .dropdown-menu.show .dropdown-item:hover { color: #c60000 !important; background-color: #f3f3f3 !important; }

/* Suppression de la bordure du lien avant le séparateur manuel */
.navbar .dropdown-menu > li:has(+ li .dropdown-divider) .dropdown-item { border-bottom: 0 !important; }

/* Séparateur avant “Voir plus” */
.navbar .dropdown-menu .dropdown-divider { height: 1px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background-color: #dcdcdc !important; opacity: 1 !important; }

/* Lien “Voir plus” */
.navbar .dropdown-menu .dropdown-item.fw-bold { color: #000000 !important; background-color: #fafafa !important; border-bottom: 0 !important; }

/* Survol de “Voir plus” */
.navbar .dropdown-menu .dropdown-item.fw-bold:hover { color: #c60000 !important; background-color: #f3f3f3 !important; }

/* Icône du lien “Voir plus” */
.navbar .dropdown-menu .dropdown-item i { margin-left: 20px !important; color: inherit !important; font-size: 12px !important; transition: transform 0.2s ease !important; }

/* Animation de la flèche */
.navbar .dropdown-menu .dropdown-item:hover i { transform: translateX(3px) !important; }

@media screen and (max-width: 991px) { .navbar .dropdown-menu, .navbar .dropdown-menu.show { width: 100% !important; min-width: 100% !important; margin-top: 8px !important; border-radius: 0 !important; box-shadow: none !important; } .navbar .dropdown-menu .dropdown-item, .navbar .dropdown-menu.show .dropdown-item { padding: 13px 16px !important; white-space: normal !important; } }

.navbar .dropdown-menu, .navbar .dropdown-menu.show, .navbar .dropdown-menu > li, .navbar .dropdown-menu .dropdown-item, .navbar .dropdown-menu .dropdown-item:hover, .navbar .dropdown-menu .dropdown-item:focus, .navbar .dropdown-menu .dropdown-item:active, .navbar .dropdown-menu .dropdown-item.active { border-color: #e8e8e8 !important; outline: none !important; text-decoration: none !important; box-shadow: none !important; }

/* Supprime les traits décoratifs rouges */
.navbar .dropdown-menu .dropdown-item::before, .navbar .dropdown-menu .dropdown-item::after, .navbar .dropdown-menu > li::before, .navbar .dropdown-menu > li::after { display: none !important; width: 0 !important; height: 0 !important; content: none !important; background: transparent !important; border: none !important; }

/* Liens noirs au repos */
.navbar .dropdown-menu .dropdown-item, .navbar .dropdown-menu.show .dropdown-item { color: #000000 !important; background-color: #ffffff !important; border: 0 !important; border-bottom: 1px solid #e8e8e8 !important; }

/* Gris léger et texte rouge uniquement au survol */
.navbar .dropdown-menu .dropdown-item:hover { color: #c60000 !important; background-color: #f3f3f3 !important; border-color: #e8e8e8 !important; }

/* Aucun rouge au clic ou au focus */
.navbar .dropdown-menu .dropdown-item:focus, .navbar .dropdown-menu .dropdown-item:active, .navbar .dropdown-menu .dropdown-item.active { color: #000000 !important; background-color: #ffffff !important; border-color: #e8e8e8 !important; }

/* Séparateur gris avant “Voir plus” */
.navbar .dropdown-menu .dropdown-divider { height: 1px !important; margin: 0 !important; padding: 0 !important; border: none !important; background-color: #dcdcdc !important; opacity: 1 !important; }

/* Aucun trait sous le dernier lien */
.navbar .dropdown-menu > li:last-child .dropdown-item { border-bottom: none !important; }

/*---------------------------------------HERO------------------------------------------*/
.hero-brand { position: relative; isolation: isolate; width: 100%; min-height: 760px; padding: 120px 40px 100px; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; background-color: #111111; }

.hero-brand *, .hero-brand *::before, .hero-brand *::after { box-sizing: border-box; }

/* Image de fond */
.hero-brand__background { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }

.hero-brand__background-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

/* Dégradé noir */
.hero-brand__overlay { position: absolute; z-index: -2; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.62) 100%); }

/* Contenu */
.hero-brand__container { position: relative; z-index: 2; width: 100%; max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; }

/* Logo transparent, sans fond */
.hero-brand__logo { width: auto; max-width: 320px; max-height: 190px; margin: 0 auto 40px; padding: 0; display: block; object-fit: contain; background: transparent; }

/* Titre */
.hero-brand__title { max-width: 950px; margin: 0 auto; color: #ffffff; text-align: center; }

.hero-brand__title h1, .hero-brand__title h2, .hero-brand__title h3, .hero-brand__title p { margin: 0; padding: 0; color: inherit; text-align: center; }

.hero-brand__title h1, .hero-brand__title h2 { font-size: 52px; line-height: 1.12; font-weight: 700 !important; }

/* Conteneur des boutons */
.hero-brand__buttons { width: 100%; margin-top: 45px; display: flex; align-items: stretch; justify-content: center; gap: 18px; }

/* Styles communs aux boutons */
.hero-brand__button { width: 250px; min-height: 58px; margin: 0 !important; padding: 15px 25px !important; border: 2px solid #dc0e18; display: inline-flex; align-items: center; justify-content: center; text-align: center !important; text-decoration: none !important; font-size: 16px; line-height: 1.2; font-weight: 600 !important; color: #ffffff !important; transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

/* Suppression des marges générées par le contenu Liquid */
.hero-brand__button p, .hero-brand__button span, .hero-brand__button strong, .hero-brand__button div { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: inherit; text-align: center !important; }

/* Bouton téléphone */
.hero-brand__button--primary { background-color: #dc0e18; border-color: #dc0e18; color: #ffffff !important; }

.hero-brand__button--primary:hover, .hero-brand__button--primary:focus { background-color: transparent; border-color: #ffffff; color: #ffffff !important; transform: translateY(-2px); }

/* Bouton redirection */
.hero-brand__button--secondary { background-color: transparent; border-color: #ffffff; color: #ffffff !important; }

.hero-brand__button--secondary:hover, .hero-brand__button--secondary:focus { background-color: #dc0e18; border-color: #dc0e18; color: #ffffff !important; transform: translateY(-2px); }

/* Force la couleur blanche sur les contenus internes */
.hero-brand__button--primary *, .hero-brand__button--secondary * { color: #ffffff !important; }

/* Tablette */
@media screen and (max-width: 991px) { .hero-brand { min-height: 680px; padding: 110px 30px 80px; } .hero-brand__logo { max-width: 270px; max-height: 160px; margin-bottom: 35px; } .hero-brand__title h1, .hero-brand__title h2 { font-size: 44px; } }

/* Mobile */
@media screen and (max-width: 767px) { .hero-brand { min-height: 650px; padding: 90px 20px 65px; } .hero-brand__logo { max-width: 220px; max-height: 140px; margin-bottom: 30px; } .hero-brand__title h1, .hero-brand__title h2 { font-size: 35px; line-height: 1.15; } .hero-brand__buttons { max-width: 380px; margin-top: 35px; flex-direction: column; gap: 14px; } .hero-brand__button { width: 100%; min-height: 56px; } }

/* Très petits écrans */
@media screen and (max-width: 480px) { .hero-brand { min-height: 600px; padding: 80px 18px 55px; } .hero-brand__logo { max-width: 190px; } .hero-brand__title h1, .hero-brand__title h2 { font-size: 30px; } }

/*--------------------------------------BARRE DE NAVIGATION-----------------------------------------*/
#navigation-bar-hide { position: fixed !important; top: 0 !important; right: 0; left: 0; z-index: 9999; width: 100%; opacity: 1 !important; }

#navigation-bar-show, #navigation-bar-hide { width: 100%; min-height: 88px; padding: 8px 28px; background-color: rgba(255, 255, 255, 0.98) !important; border-bottom: 2px solid #dc0e18; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08); color: #111111 !important; opacity: 1 !important; transition: background-color 0.3s ease, box-shadow 0.3s ease; }

#navigation-bar-show, #navigation-bar-show *, #navigation-bar-show *::before, #navigation-bar-show *::after, #navigation-bar-hide, #navigation-bar-hide *, #navigation-bar-hide *::before, #navigation-bar-hide *::after { box-sizing: border-box; }

#navigation-bar-show .container-fluid, #navigation-bar-hide .container-fluid { width: 100%; max-width: 1500px; min-height: 70px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; }

#navigation-bar-show .navbar-brand, #navigation-bar-hide .navbar-brand { flex: 0 0 auto; margin: 0; padding: 0; display: flex; align-items: center; }

#navigation-bar-show .logo_nav, #navigation-bar-hide .logo_nav { width: auto; height: auto; max-width: 150px; max-height: 68px; display: block; object-fit: contain; background-color: transparent; }

#navigation-bar-show .navbar-collapse, #navigation-bar-hide .navbar-collapse { align-items: center; }

#navigation-bar-show .navbar-nav, #navigation-bar-hide .navbar-nav { margin-top: 0 !important; margin-bottom: 0 !important; flex-wrap: nowrap !important; align-items: center; }

#navigation-bar-show .navbar-nav li, #navigation-bar-hide .navbar-nav li { position: relative; margin: 0; padding: 12px 14px !important; list-style: none; }

#navigation-bar-show .navbar-nav li .animated-border-button, #navigation-bar-show .navbar-nav li .obftrucs, #navigation-bar-show .navbar-nav li a, #navigation-bar-hide .navbar-nav li .animated-border-button, #navigation-bar-hide .navbar-nav li .obftrucs, #navigation-bar-hide .navbar-nav li a { position: relative; margin: 0; padding: 4px 0; display: inline-flex; align-items: center; justify-content: center; color: #111111 !important; line-height: 1.25; font-weight: 600 !important; text-align: center; text-decoration: none !important; cursor: pointer; white-space: nowrap; transition: color 0.3s ease; }

#navigation-bar-show .navbar-nav li .animated-border-button::after, #navigation-bar-show .navbar-nav li .obftrucs::after, #navigation-bar-show .navbar-nav li a::after, #navigation-bar-hide .navbar-nav li .animated-border-button::after, #navigation-bar-hide .navbar-nav li .obftrucs::after, #navigation-bar-hide .navbar-nav li a::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 0; height: 2px; background-color: #dc0e18; transform: translateX(-50%); transition: width 0.3s ease; }

#navigation-bar-show .navbar-nav li:hover .animated-border-button, #navigation-bar-show .navbar-nav li:hover .obftrucs, #navigation-bar-show .navbar-nav li:hover a, #navigation-bar-hide .navbar-nav li:hover .animated-border-button, #navigation-bar-hide .navbar-nav li:hover .obftrucs, #navigation-bar-hide .navbar-nav li:hover a { color: #dc0e18 !important; }

#navigation-bar-show .navbar-nav li:hover .animated-border-button::after, #navigation-bar-show .navbar-nav li:hover .obftrucs::after, #navigation-bar-show .navbar-nav li:hover a::after, #navigation-bar-hide .navbar-nav li:hover .animated-border-button::after, #navigation-bar-hide .navbar-nav li:hover .obftrucs::after, #navigation-bar-hide .navbar-nav li:hover a::after { width: 100%; }

#navigation-bar-show .button-header-telephone, #navigation-bar-hide .button-header-telephone { min-width: 185px; min-height: 50px; margin: 0 0 0 18px !important; padding: 12px 22px !important; border: 2px solid #dc0e18; border-radius: 0 !important; display: inline-flex; align-items: center; justify-content: center; gap: 9px; background-color: #dc0e18; color: #ffffff !important; line-height: 1; font-weight: 600 !important; text-align: center; text-decoration: none !important; white-space: nowrap; transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

#navigation-bar-show .button-header-telephone i, #navigation-bar-hide .button-header-telephone i { margin: 0; padding: 0; color: inherit !important; line-height: 1; }

#navigation-bar-show .button-header-telephone:hover, #navigation-bar-show .button-header-telephone:focus, #navigation-bar-hide .button-header-telephone:hover, #navigation-bar-hide .button-header-telephone:focus { border-color: #dc0e18; background-color: transparent; color: #dc0e18 !important; transform: translateY(-2px); }

#navigation-bar-show .navbar-toggler, #navigation-bar-hide .navbar-toggler { width: 48px; height: 44px; margin: 0; padding: 8px; border: 2px solid #dc0e18 !important; border-radius: 0; background-color: #ffffff !important; box-shadow: none !important; }

#navigation-bar-show .navbar-toggler:focus, #navigation-bar-hide .navbar-toggler:focus { box-shadow: none !important; }

#navigation-bar-show .navbar-toggler-icon, #navigation-bar-hide .navbar-toggler-icon { width: 24px; height: 24px; }

@media screen and (max-width: 1250px) and (min-width: 992px) { #navigation-bar-show, #navigation-bar-hide { padding-right: 12px; padding-left: 12px; } #navigation-bar-show .container-fluid, #navigation-bar-hide .container-fluid { padding-right: 8px; padding-left: 8px; } #navigation-bar-show .logo_nav, #navigation-bar-hide .logo_nav { max-width: 120px; max-height: 58px; } #navigation-bar-show .navbar-nav li, #navigation-bar-hide .navbar-nav li { padding-right: 8px !important; padding-left: 8px !important; } #navigation-bar-show .navbar-nav li .animated-border-button, #navigation-bar-show .navbar-nav li .obftrucs, #navigation-bar-show .navbar-nav li a, #navigation-bar-hide .navbar-nav li .animated-border-button, #navigation-bar-hide .navbar-nav li .obftrucs, #navigation-bar-hide .navbar-nav li a { font-size: 14px !important; } #navigation-bar-show .button-header-telephone, #navigation-bar-hide .button-header-telephone { min-width: 160px; margin-left: 8px !important; padding-right: 14px !important; padding-left: 14px !important; font-size: 14px; } }

@media screen and (max-width: 991px) { #navigation-bar-show, #navigation-bar-hide { min-height: 76px; padding: 7px 18px; } #navigation-bar-show .container-fluid, #navigation-bar-hide .container-fluid { min-height: 60px; padding: 0; } #navigation-bar-show .logo_nav, #navigation-bar-hide .logo_nav { max-width: 125px; max-height: 58px; } #navigation-bar-show .navbar-collapse, #navigation-bar-hide .navbar-collapse { position: absolute; top: 100%; right: 0; left: 0; width: 100%; padding: 18px 20px 24px; background-color: #ffffff; border-bottom: 2px solid #dc0e18; box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1); } #navigation-bar-show .navbar-nav, #navigation-bar-hide .navbar-nav { width: 100%; margin: 0 !important; flex-direction: column; flex-wrap: nowrap !important; align-items: stretch !important; } #navigation-bar-show .navbar-nav li, #navigation-bar-hide .navbar-nav li { width: 100%; padding: 0 !important; border-bottom: 1px solid rgba(0, 0, 0, 0.08); } #navigation-bar-show .navbar-nav li:last-child, #navigation-bar-hide .navbar-nav li:last-child { border-bottom: 0; } #navigation-bar-show .navbar-nav li .animated-border-button, #navigation-bar-show .navbar-nav li .obftrucs, #navigation-bar-show .navbar-nav li a, #navigation-bar-hide .navbar-nav li .animated-border-button, #navigation-bar-hide .navbar-nav li .obftrucs, #navigation-bar-hide .navbar-nav li a { width: 100%; min-height: 48px; padding: 12px 8px; justify-content: center; white-space: normal; } #navigation-bar-show .navbar-nav li .animated-border-button::after, #navigation-bar-show .navbar-nav li .obftrucs::after, #navigation-bar-show .navbar-nav li a::after, #navigation-bar-hide .navbar-nav li .animated-border-button::after, #navigation-bar-hide .navbar-nav li .obftrucs::after, #navigation-bar-hide .navbar-nav li a::after { display: none; } #navigation-bar-show .navbar-nav li:hover .animated-border-button, #navigation-bar-show .navbar-nav li:hover .obftrucs, #navigation-bar-show .navbar-nav li:hover a, #navigation-bar-hide .navbar-nav li:hover .animated-border-button, #navigation-bar-hide .navbar-nav li:hover .obftrucs, #navigation-bar-hide .navbar-nav li:hover a { background-color: rgba(220, 14, 24, 0.06); } #navigation-bar-show .navbar-collapse > .d-flex, #navigation-bar-hide .navbar-collapse > .d-flex { width: 100%; margin: 18px 0 0 !important; } #navigation-bar-show .button-header-telephone, #navigation-bar-hide .button-header-telephone { width: 100%; min-height: 52px; margin: 0 !important; } }

@media screen and (max-width: 480px) { #navigation-bar-show, #navigation-bar-hide { padding-right: 14px; padding-left: 14px; } #navigation-bar-show .logo_nav, #navigation-bar-hide .logo_nav { max-width: 105px; max-height: 52px; } #navigation-bar-show .navbar-collapse, #navigation-bar-hide .navbar-collapse { padding-right: 16px; padding-left: 16px; } }

/*--------------------------------------BLOC SERVICES----------------------------------------*/
.emnr-services { width: 100%; padding: 110px 40px; background-color: #f7f7f7; overflow: hidden; }

.emnr-services *, .emnr-services *::before, .emnr-services *::after { box-sizing: border-box; }

.emnr-services__container { width: 100%; max-width: 1300px; margin: 0 auto; }

.emnr-services__header { max-width: 760px; margin: 0 auto 55px; text-align: center; }

.emnr-services__eyebrow { margin-bottom: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; color: #dc0e18; font-size: 15px; line-height: 1.3; font-weight: 700 !important; letter-spacing: 2px; text-transform: uppercase; }

.emnr-services__eyebrow::before, .emnr-services__eyebrow::after { content: ""; width: 42px; height: 2px; display: block; flex: 0 0 auto; background-color: #dc0e18; }

.emnr-services__eyebrow p, .emnr-services__title h2, .emnr-services__title h3, .emnr-services__title p, .emnr-services__intro p { margin: 0; padding: 0; }

.emnr-services__title { color: #111111; }

.emnr-services__title h2, .emnr-services__title h3, .emnr-services__title p { margin: 0; color: #111111; font-size: 46px; line-height: 1.15; font-weight: 700 !important; }

.emnr-services__intro { max-width: 680px; margin: 20px auto 0; color: #555555; line-height: 1.7; }

.emnr-services__intro p { color: inherit; }

.emnr-services__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }

.emnr-service-card { position: relative; min-height: 540px; display: flex; align-items: flex-end; overflow: hidden; background-color: #111111; color: #ffffff !important; text-decoration: none !important; }

.emnr-service-card__image { position: absolute; inset: 0; width: 100%; height: 100%; }

.emnr-service-card__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform 0.6s ease; }

.emnr-service-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.25) 38%, rgba(0, 0, 0, 0.9) 100%); transition: background 0.4s ease; }

.emnr-service-card__content { position: relative; z-index: 2; width: 100%; padding: 42px; color: #ffffff; }

.emnr-service-card__number { width: 48px; height: 48px; margin-bottom: 24px; border: 1px solid rgba(255, 255, 255, 0.55); display: inline-flex; align-items: center; justify-content: center; color: #ffffff; font-size: 14px; line-height: 1; font-weight: 700 !important; }

.emnr-service-card__title { max-width: 480px; color: #ffffff; }

.emnr-service-card__title h2, .emnr-service-card__title h3, .emnr-service-card__title p { margin: 0; padding: 0; color: #ffffff !important; font-size: 34px; line-height: 1.15; font-weight: 700 !important; }

.emnr-service-card__description { max-width: 500px; margin-top: 16px; color: rgba(255, 255, 255, 0.85); line-height: 1.65; }

.emnr-service-card__description p { margin: 0; padding: 0; color: inherit !important; }

.emnr-service-card__button { margin-top: 28px; padding: 0 0 6px; border-bottom: 2px solid #dc0e18; display: inline-flex; align-items: center; justify-content: center; gap: 12px; color: #ffffff !important; line-height: 1.3; font-weight: 600 !important; text-align: center; }

.emnr-service-card__button p, .emnr-service-card__button span, .emnr-service-card__button strong, .emnr-service-card__button div { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.emnr-service-card__arrow { font-size: 22px; line-height: 1; transition: transform 0.3s ease; }

.emnr-service-card:hover .emnr-service-card__image img { transform: scale(1.06); }

.emnr-service-card:hover .emnr-service-card__overlay { background: linear-gradient(180deg, rgba(220, 14, 24, 0.1) 0%, rgba(0, 0, 0, 0.35) 38%, rgba(0, 0, 0, 0.94) 100%); }

.emnr-service-card:hover .emnr-service-card__arrow { transform: translateX(6px); }

@media screen and (max-width: 991px) { .emnr-services { padding: 90px 30px; } .emnr-services__title h2, .emnr-services__title h3, .emnr-services__title p { font-size: 40px; } .emnr-service-card { min-height: 480px; } .emnr-service-card__content { padding: 34px; } .emnr-service-card__title h2, .emnr-service-card__title h3, .emnr-service-card__title p { font-size: 30px; } }

@media screen and (max-width: 767px) { .emnr-services { padding: 75px 20px; } .emnr-services__header { margin-bottom: 40px; } .emnr-services__eyebrow { gap: 10px; font-size: 14px; } .emnr-services__eyebrow::before, .emnr-services__eyebrow::after { width: 30px; } .emnr-services__title h2, .emnr-services__title h3, .emnr-services__title p { font-size: 34px; } .emnr-services__grid { grid-template-columns: 1fr; gap: 20px; } .emnr-service-card { min-height: 440px; } .emnr-service-card__content { padding: 30px; } .emnr-service-card__title h2, .emnr-service-card__title h3, .emnr-service-card__title p { font-size: 28px; } }

@media screen and (max-width: 480px) { .emnr-services { padding: 65px 16px; } .emnr-services__eyebrow { gap: 8px; font-size: 13px; letter-spacing: 1.5px; } .emnr-services__eyebrow::before, .emnr-services__eyebrow::after { width: 22px; } .emnr-services__title h2, .emnr-services__title h3, .emnr-services__title p { font-size: 30px; } .emnr-service-card { min-height: 410px; } .emnr-service-card__content { padding: 26px 22px; } .emnr-service-card__number { width: 44px; height: 44px; margin-bottom: 20px; } .emnr-service-card__title h2, .emnr-service-card__title h3, .emnr-service-card__title p { font-size: 25px; } }

/*--------------------------------------BLOC QSN----------------------------------------*/
.emnr-about { width: 100%; padding: 120px 40px; background-color: #ffffff; overflow: hidden; }

.emnr-about *, .emnr-about *::before, .emnr-about *::after { box-sizing: border-box; }

.emnr-about__container { width: 100%; max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1.02fr 0.98fr; gap: 85px; align-items: center; }

.emnr-about__visual { position: relative; width: 100%; padding: 0 32px 32px 0; }

.emnr-about__brick-decoration { position: absolute; z-index: 1; right: 0; bottom: 0; width: 190px; height: 150px; color: #dc0e18; opacity: 0.32; pointer-events: none; }

.emnr-about__brick-decoration svg { width: 100%; height: 100%; display: block; overflow: visible; }

.emnr-about__image { position: relative; z-index: 2; width: 100%; height: 620px; overflow: hidden; background-color: #111111; }

.emnr-about__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0.17) 100%); pointer-events: none; }

.emnr-about__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

.emnr-about__content { width: 100%; max-width: 590px; }

.emnr-about__eyebrow { margin-bottom: 18px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 14px; color: #dc0e18; font-size: 15px; line-height: 1.3; font-weight: 700 !important; letter-spacing: 2px; text-transform: uppercase; }

.emnr-about__eyebrow::before, .emnr-about__eyebrow::after { content: ""; width: 42px; height: 2px; display: block; flex: 0 0 auto; background-color: #dc0e18; }

.emnr-about__eyebrow p, .emnr-about__eyebrow span, .emnr-about__eyebrow strong, .emnr-about__eyebrow div { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.emnr-about__title { color: #111111; }

.emnr-about__title h2, .emnr-about__title h3, .emnr-about__title p { margin: 0; padding: 0; color: #111111; font-size: 48px; line-height: 1.12; font-weight: 700 !important; }

.emnr-about__description { margin-top: 26px; color: #555555; line-height: 1.75; }

.emnr-about__description p { margin: 0 0 16px; color: inherit; }

.emnr-about__description p:last-child { margin-bottom: 0; }

.emnr-about__features { margin-top: 38px; display: flex; flex-direction: column; gap: 22px; }

.emnr-about__feature { display: grid; grid-template-columns: 54px 1fr; gap: 20px; align-items: flex-start; }

.emnr-about__feature-number { width: 54px; height: 54px; border: 1px solid rgba(220, 14, 24, 0.35); display: inline-flex; align-items: center; justify-content: center; color: #dc0e18; font-size: 14px; line-height: 1; font-weight: 700 !important; }

.emnr-about__feature-content { padding-top: 2px; }

.emnr-about__feature-title { color: #111111; }

.emnr-about__feature-title h3, .emnr-about__feature-title h4, .emnr-about__feature-title p { margin: 0; padding: 0; color: #111111; font-size: 20px; line-height: 1.3; font-weight: 700 !important; }

.emnr-about__feature-description { margin-top: 7px; color: #000000; line-height: 1.65; }

.emnr-about__feature-description p { margin: 0; padding: 0; color: inherit; }

.emnr-about__button { min-width: 235px; min-height: 58px; margin-top: 38px; padding: 15px 26px !important; border: 2px solid #dc0e18; display: inline-flex; align-items: center; justify-content: center; gap: 14px; background-color: #dc0e18; color: #ffffff !important; line-height: 1.2; font-weight: 600 !important; text-align: center; text-decoration: none !important; transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease; }

.emnr-about__button p, .emnr-about__button span, .emnr-about__button strong, .emnr-about__button div { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.emnr-about__button-arrow { font-size: 22px; line-height: 1; transition: transform 0.3s ease; }

.emnr-about__button:hover { background-color: transparent; color: #dc0e18 !important; transform: translateY(-2px); }

.emnr-about__button:hover .emnr-about__button-arrow { transform: translateX(5px); }

@media screen and (max-width: 1100px) { .emnr-about__container { gap: 55px; } .emnr-about__image { height: 560px; } .emnr-about__title h2, .emnr-about__title h3, .emnr-about__title p { font-size: 42px; } }

@media screen and (max-width: 991px) { .emnr-about { padding: 95px 30px; } .emnr-about__container { grid-template-columns: 1fr; gap: 60px; } .emnr-about__visual { max-width: 700px; margin: 0 auto; } .emnr-about__image { height: 580px; } .emnr-about__content { max-width: 700px; margin: 0 auto; } }

@media screen and (max-width: 767px) { .emnr-about { padding: 75px 20px; } .emnr-about__container { gap: 45px; } .emnr-about__visual { padding: 0 24px 24px 0; } .emnr-about__brick-decoration { width: 145px; height: 115px; opacity: 0.3; } .emnr-about__image { height: 470px; } .emnr-about__eyebrow { gap: 10px; font-size: 14px; } .emnr-about__eyebrow::before, .emnr-about__eyebrow::after { width: 30px; } .emnr-about__title h2, .emnr-about__title h3, .emnr-about__title p { font-size: 35px; } .emnr-about__feature { grid-template-columns: 48px 1fr; gap: 16px; } .emnr-about__feature-number { width: 48px; height: 48px; } }

@media screen and (max-width: 480px) { .emnr-about { padding: 65px 16px; } .emnr-about__visual { padding: 0 18px 18px 0; } .emnr-about__brick-decoration { width: 110px; height: 87px; opacity: 0.28; } .emnr-about__image { height: 390px; } .emnr-about__eyebrow { gap: 8px; font-size: 13px; letter-spacing: 1.5px; } .emnr-about__eyebrow::before, .emnr-about__eyebrow::after { width: 22px; } .emnr-about__title h2, .emnr-about__title h3, .emnr-about__title p { font-size: 30px; } .emnr-about__description { margin-top: 20px; } .emnr-about__features { margin-top: 30px; } .emnr-about__button { width: 100%; min-width: 0; margin-top: 32px; } }

/*------------------------------------BLOC SEO----------------------------------------*/
.first-activity-div, .second-activity-div, .third-activity-div { position: relative; width: calc(100% - 80px); max-width: 1250px; margin: 45px auto !important; padding: 45px 50px !important; border: 1px solid rgba(17, 17, 17, 0.08); border-radius: 0 !important; overflow: hidden; background-color: #ffffff !important; color: #111111 !important; box-shadow: 0 14px 35px rgba(0, 0, 0, 0.07) !important; }

.first-activity-div *, .second-activity-div *, .third-activity-div *, .first-activity-div *::before, .first-activity-div *::after, .second-activity-div *::before, .second-activity-div *::after, .third-activity-div *::before, .third-activity-div *::after { box-sizing: border-box; }

.first-activity-div::before, .second-activity-div::before, .third-activity-div::before { content: ""; position: absolute; top: 0; width: 110px; height: 4px; background-color: #dc0e18; z-index: 3; }

.first-activity-div::before, .third-activity-div::before { left: 0; }

.second-activity-div::before { right: 0; }

.first-activity-div::after, .second-activity-div::after, .third-activity-div::after { content: ""; position: absolute; z-index: 0; width: 125px; height: 95px; opacity: 0.1; pointer-events: none; background-image: linear-gradient(90deg, #dc0e18 0, #dc0e18 30%, transparent 30%, transparent 36%, #dc0e18 36%, #dc0e18 66%, transparent 66%, transparent 72%, #dc0e18 72%, #dc0e18 100%), linear-gradient(0deg, #dc0e18 0, #dc0e18 22%, transparent 22%, transparent 29%, #dc0e18 29%, #dc0e18 51%, transparent 51%, transparent 58%, #dc0e18 58%, #dc0e18 80%, transparent 80%, transparent 87%, #dc0e18 87%, #dc0e18 100%); background-blend-mode: multiply; }

.first-activity-div::after, .third-activity-div::after { right: -25px; bottom: -22px; }

.second-activity-div::after { left: -25px; bottom: -22px; }

.first-activity-div .background-image-div-opacity, .second-activity-div .background-image-div-opacity, .third-activity-div .background-image-div-opacity { display: none; }

.first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { position: relative; z-index: 2; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; flex-wrap: nowrap; gap: 55px; }

.first-activity-div > .row > div, .second-activity-div > .row > div, .third-activity-div > .row > div { padding: 0 !important; }

.first-activity-div .col-lg-7, .second-activity-div .col-lg-7, .third-activity-div .col-lg-7 { flex: 1 1 auto; width: auto; max-width: none; }

.first-activity-div .col-lg-5, .second-activity-div .col-lg-5, .third-activity-div .col-lg-5 { flex: 0 0 390px; width: 390px; max-width: 390px; }

.first-activity-title, .second-activity-title, .third-activity-title { position: relative; margin: 0 0 22px !important; padding-top: 24px; color: #111111 !important; }

.first-activity-title::before, .second-activity-title::before, .third-activity-title::before { content: ""; position: absolute; top: 0; left: 0; width: 52px; height: 3px; background-color: #dc0e18; }

.first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { margin: 0 !important; padding: 0 !important; color: #111111 !important; font-size: 36px; line-height: 1.18; font-weight: 700 !important; }

.first-activity-title h2 span, .second-activity-title h2 span, .third-activity-title h2 span { color: inherit !important; font-weight: inherit !important; }

.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { max-width: 670px; margin: 0 !important; color: #5e5e5e !important; font-size: 16px !important; line-height: 1.75; font-weight: 400 !important; }

.first-activity-div .lead p, .second-activity-div .lead p, .third-activity-div .lead p { margin: 0 !important; padding: 0 !important; color: inherit !important; font-size: inherit !important; line-height: inherit; }

.first-activity-div .card, .second-activity-div .card, .third-activity-div .card { position: relative; width: 390px; height: 300px !important; min-height: 300px !important; border: 0 !important; border-radius: 0 !important; overflow: hidden; isolation: isolate; background-color: #171717; background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; box-shadow: none !important; transition: transform 0.4s ease, box-shadow 0.4s ease; }

.first-activity-div .card::before, .second-activity-div .card::before, .third-activity-div .card::before { content: ""; position: absolute; inset: 0; z-index: 1; border: 1px solid rgba(255, 255, 255, 0.12); pointer-events: none; }

.first-activity-div .card::after, .second-activity-div .card::after, .third-activity-div .card::after { content: ""; position: absolute; right: 18px; bottom: 18px; z-index: 3; width: 42px; height: 42px; border-right: 3px solid #dc0e18; border-bottom: 3px solid #dc0e18; pointer-events: none; }

.first-activity-div .black-screen, .second-activity-div .black-screen, .third-activity-div .black-screen { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.38) 100%); }

.first-activity-div .card > .d-flex, .second-activity-div .card > .d-flex, .third-activity-div .card > .d-flex { position: relative; z-index: 2 !important; width: 100%; height: 300px !important; min-height: 300px !important; margin: 0; padding: 25px !important; justify-content: flex-end; }

.first-activity-div .card h3, .second-activity-div .card h3, .third-activity-div .card h3 { margin: 0 !important; padding: 0 !important; }

.first-activity-div .card h3 a, .second-activity-div .card h3 a, .third-activity-div .card h3 a { display: inline-flex; align-items: center; justify-content: center; color: #ffffff !important; text-decoration: none !important; }

.first-activity-div .card h3 a:not(:empty), .second-activity-div .card h3 a:not(:empty), .third-activity-div .card h3 a:not(:empty) { padding: 8px 0; border-bottom: 2px solid #dc0e18; }

.first-activity-div:hover .card, .second-activity-div:hover .card, .third-activity-div:hover .card { transform: translateY(-4px); box-shadow: 0 15px 28px rgba(0, 0, 0, 0.14) !important; }

@media screen and (max-width: 1100px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 50px); padding: 38px !important; } .first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { gap: 38px; } .first-activity-div .col-lg-5, .second-activity-div .col-lg-5, .third-activity-div .col-lg-5 { flex-basis: 340px; width: 340px; max-width: 340px; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { width: 340px; height: 270px !important; min-height: 270px !important; } .first-activity-div .card > .d-flex, .second-activity-div .card > .d-flex, .third-activity-div .card > .d-flex { height: 270px !important; min-height: 270px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 32px; } }

@media screen and (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 40px); margin: 35px auto !important; padding: 34px !important; } .first-activity-div > .row, .second-activity-div > .row, .third-activity-div > .row { flex-direction: column !important; align-items: stretch; gap: 30px; } .first-activity-div > .row > div, .second-activity-div > .row > div, .third-activity-div > .row > div, .first-activity-div .col-lg-5, .second-activity-div .col-lg-5, .third-activity-div .col-lg-5, .first-activity-div .col-lg-7, .second-activity-div .col-lg-7, .third-activity-div .col-lg-7 { width: 100%; max-width: 100%; flex: 0 0 100%; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { width: 100%; height: 320px !important; min-height: 320px !important; } .first-activity-div .card > .d-flex, .second-activity-div .card > .d-flex, .third-activity-div .card > .d-flex { height: 320px !important; min-height: 320px !important; } }

@media screen and (max-width: 767px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 30px); margin: 28px auto !important; padding: 25px !important; } .first-activity-div::before, .second-activity-div::before, .third-activity-div::before { width: 85px; } .first-activity-div::after, .second-activity-div::after, .third-activity-div::after { width: 105px; height: 80px; } .first-activity-title, .second-activity-title, .third-activity-title { padding-top: 20px; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 28px; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 16px !important; line-height: 1.7; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { height: 270px !important; min-height: 270px !important; } .first-activity-div .card > .d-flex, .second-activity-div .card > .d-flex, .third-activity-div .card > .d-flex { height: 270px !important; min-height: 270px !important; } }

@media screen and (max-width: 480px) { .first-activity-div, .second-activity-div, .third-activity-div { width: calc(100% - 24px); padding: 20px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 25px; } .first-activity-div .card, .second-activity-div .card, .third-activity-div .card { height: 230px !important; min-height: 230px !important; } .first-activity-div .card > .d-flex, .second-activity-div .card > .d-flex, .third-activity-div .card > .d-flex { height: 230px !important; min-height: 230px !important; padding: 20px !important; } }

/*-----------------------------------BLOC MAPS--------------------------------------*/
.contact-map-section { position: relative; width: 100%; padding: 110px 40px; overflow: hidden; background-color: #f7f7f7; }

.contact-map-section *, .contact-map-section *::before, .contact-map-section *::after { box-sizing: border-box; }

.contact-map-container { position: relative; z-index: 2; width: 100%; max-width: 1300px; margin: 0 auto; }

.contact-map-heading { max-width: 800px; margin: 0 auto 55px; text-align: center; }

.contact-map-eyebrow { margin-bottom: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; color: #dc0e18; font-size: 15px; line-height: 1.3; font-weight: 700 !important; letter-spacing: 2px; text-transform: uppercase; }

.contact-map-eyebrow::before, .contact-map-eyebrow::after { content: ""; width: 42px; height: 2px; display: block; flex: 0 0 auto; background-color: #dc0e18; }

.contact-map-eyebrow h2, .contact-map-eyebrow h3, .contact-map-eyebrow p, .contact-map-eyebrow span, .contact-map-eyebrow strong, .contact-map-eyebrow div { margin: 0 !important; padding: 0 !important; color: inherit !important; font-size: inherit; line-height: inherit; font-weight: inherit !important; letter-spacing: inherit; text-transform: inherit; }

.contact-map-title { color: #111111; }

.contact-map-title h2, .contact-map-title h3, .contact-map-title p { margin: 0 !important; padding: 0 !important; color: #111111 !important; font-size: 46px; line-height: 1.15; font-weight: 700 !important; }

.contact-map-description { max-width: 680px; margin: 20px auto 0; color: #5f5f5f; line-height: 1.75; }

.contact-map-description p { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.contact-info-grid { width: 100%; max-width: 1180px; margin: 0 auto 55px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.contact-info-card { position: relative; min-height: 110px; padding: 25px 24px; border: 1px solid rgba(17, 17, 17, 0.08); display: flex; align-items: center; gap: 18px; overflow: hidden; background-color: #ffffff; color: #111111 !important; text-align: left; text-decoration: none !important; box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }

.contact-info-card::before { content: ""; position: absolute; top: 0; left: 0; width: 75px; height: 4px; background-color: #dc0e18; transition: width 0.3s ease; }

.contact-info-card:hover { border-color: rgba(220, 14, 24, 0.25); transform: translateY(-5px); box-shadow: 0 20px 42px rgba(0, 0, 0, 0.1); }

.contact-info-card:hover::before { width: 100%; }

.contact-info-icon { position: relative; z-index: 2; flex: 0 0 52px; width: 52px; height: 52px; border: 1px solid rgba(220, 14, 24, 0.24); display: flex; align-items: center; justify-content: center; background-color: rgba(220, 14, 24, 0.06); color: #dc0e18; font-size: 20px; line-height: 1; }

.contact-info-icon i { margin: 0; padding: 0; color: inherit !important; line-height: 1; }

.contact-info-content { position: relative; z-index: 2; flex: 1; color: #111111; }

.contact-info-content p, .contact-info-content span, .contact-info-content strong, .contact-info-content div { color: inherit; }

.contact-info-content p { margin: 0 !important; padding: 0 !important; font-size: 16px; line-height: 1.55; }

.contact-info-content span { display: block; margin-bottom: 5px; color: #777777; font-size: 13px; line-height: 1.3; font-weight: 600 !important; letter-spacing: 0.5px; text-transform: uppercase; }

.contact-info-content strong { color: #111111; font-weight: 700 !important; }

.contact-map-block { position: relative; width: 100%; max-width: 1180px; margin: 0 auto; }

.contact-map-wrapper { position: relative; z-index: 1; width: 100%; height: 460px; min-height: 460px; border-top: 5px solid #dc0e18; overflow: hidden; background-color: #eeeeee; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.11); }

#emnr-intervention-map { position: relative; width: 100%; height: 460px; min-height: 460px; display: block; background-color: #eeeeee; }

#emnr-intervention-map.leaflet-container { width: 100%; height: 460px; min-height: 460px; background-color: #eeeeee; font: inherit; }

.contact-map-wrapper .leaflet-pane, .contact-map-wrapper .leaflet-tile, .contact-map-wrapper .leaflet-marker-icon, .contact-map-wrapper .leaflet-marker-shadow, .contact-map-wrapper .leaflet-tile-container, .contact-map-wrapper .leaflet-pane > svg, .contact-map-wrapper .leaflet-pane > canvas { position: absolute; top: 0; left: 0; }

.contact-map-wrapper .leaflet-container { overflow: hidden; outline: 0; }

.contact-map-wrapper .leaflet-tile { visibility: inherit; }

.contact-map-wrapper .leaflet-control-container { position: relative; z-index: 800; }

.contact-map-wrapper .leaflet-control-zoom { margin-top: 18px; margin-left: 18px; border: 0; border-radius: 0; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14); }

.contact-map-wrapper .leaflet-control-zoom a { width: 38px; height: 38px; border: 0; border-bottom: 1px solid rgba(17, 17, 17, 0.1); border-radius: 0 !important; display: flex; align-items: center; justify-content: center; background-color: #ffffff; color: #111111; font-size: 21px; line-height: 1; text-decoration: none; transition: background-color 0.3s ease, color 0.3s ease; }

.contact-map-wrapper .leaflet-control-zoom a:last-child { border-bottom: 0; }

.contact-map-wrapper .leaflet-control-zoom a:hover, .contact-map-wrapper .leaflet-control-zoom a:focus { background-color: #dc0e18; color: #ffffff; }

.contact-map-wrapper .leaflet-control-attribution { padding: 4px 8px; background-color: rgba(255, 255, 255, 0.9); color: #555555; font-size: 10px; }

.contact-map-wrapper .leaflet-control-attribution a { color: #dc0e18; text-decoration: none; }

.contact-map-wrapper .leaflet-popup-content-wrapper { border-radius: 0; background-color: #ffffff; color: #111111; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16); }

.contact-map-wrapper .leaflet-popup-content { margin: 14px 18px; color: #111111; line-height: 1.5; text-align: center; }

.contact-map-wrapper .leaflet-popup-content strong { color: #dc0e18; font-weight: 700 !important; }

.contact-map-wrapper .leaflet-popup-tip { background-color: #ffffff; }

.contact-map-wrapper .leaflet-popup-close-button { top: 5px; right: 7px; color: #111111; font-size: 20px; transition: color 0.3s ease; }

.contact-map-wrapper .leaflet-popup-close-button:hover { color: #dc0e18; }

.contact-map-wrapper .leaflet-interactive { transition: fill-opacity 0.3s ease, stroke-width 0.3s ease; }

.contact-map-wrapper .leaflet-interactive:hover { fill-opacity: 0.78; stroke-width: 4; }

@media screen and (max-width: 991px) { .contact-map-section { padding: 90px 30px; } .contact-map-title h2, .contact-map-title h3, .contact-map-title p { font-size: 40px; } .contact-info-grid { max-width: 900px; grid-template-columns: 1fr; gap: 18px; } .contact-info-card { min-height: 100px; } .contact-map-block { max-width: 900px; } .contact-map-wrapper, #emnr-intervention-map, #emnr-intervention-map.leaflet-container { height: 400px; min-height: 400px; } }

@media screen and (max-width: 767px) { .contact-map-section { padding: 75px 20px; } .contact-map-heading { margin-bottom: 40px; } .contact-map-eyebrow { gap: 10px; font-size: 14px; } .contact-map-eyebrow::before, .contact-map-eyebrow::after { width: 30px; } .contact-map-title h2, .contact-map-title h3, .contact-map-title p { font-size: 34px; } .contact-map-description { margin-top: 17px; } .contact-info-grid { margin-bottom: 40px; } .contact-info-card { padding: 22px 20px; } .contact-map-wrapper, #emnr-intervention-map, #emnr-intervention-map.leaflet-container { height: 350px; min-height: 350px; } .contact-map-wrapper .leaflet-control-zoom { margin-top: 14px; margin-left: 14px; } }

@media screen and (max-width: 480px) { .contact-map-section { padding: 65px 16px; } .contact-map-eyebrow { gap: 8px; font-size: 13px; letter-spacing: 1.5px; } .contact-map-eyebrow::before, .contact-map-eyebrow::after { width: 22px; } .contact-map-title h2, .contact-map-title h3, .contact-map-title p { font-size: 30px; } .contact-map-description { line-height: 1.65; } .contact-info-card { min-height: 95px; padding: 20px 17px; gap: 14px; } .contact-info-icon { flex-basis: 46px; width: 46px; height: 46px; font-size: 18px; } .contact-info-content p { font-size: 15px; } .contact-map-wrapper { border-top-width: 4px; } .contact-map-wrapper, #emnr-intervention-map, #emnr-intervention-map.leaflet-container { height: 300px; min-height: 300px; } .contact-map-wrapper .leaflet-control-zoom a { width: 34px; height: 34px; font-size: 19px; } .contact-map-wrapper .leaflet-control-attribution { max-width: 210px; font-size: 9px; } }

/*-------------------------------------BLOC ENGAGEMENTS------------------------------------*/
.services-block { position: relative; width: 100%; padding: 75px 40px; overflow: hidden; background-color: #ffffff; }

.services-block *, .services-block *::before, .services-block *::after { box-sizing: border-box; }

.services-block__container { width: 100%; max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 24px; align-items: stretch; }

.services-block__left { position: relative; min-height: 500px; overflow: hidden; isolation: isolate; background-color: #111111; background-position: center; background-repeat: no-repeat; background-size: cover; }

.services-block__left::before { content: ""; position: absolute; z-index: 3; top: 0; left: 0; width: 105px; height: 5px; background-color: #dc0e18; }

.services-block__left::after { content: ""; position: absolute; z-index: 3; right: 22px; bottom: 22px; width: 50px; height: 50px; border-right: 3px solid #dc0e18; border-bottom: 3px solid #dc0e18; pointer-events: none; }

.services-block__overlay { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.42) 42%, rgba(0, 0, 0, 0.9) 100%); }

.services-block__content { position: relative; z-index: 2; width: 100%; min-height: 500px; padding: 42px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; color: #ffffff; }

.services-block__eyebrow { display: flex; align-items: flex-start; gap: 12px; color: #ffffff; }

.services-block__eyebrow::before { content: ""; width: 42px; height: 2px; margin-top: 20px; flex: 0 0 auto; background-color: #dc0e18; }

.services-block__eyebrow h2, .services-block__eyebrow h3, .services-block__eyebrow p, .services-block__eyebrow span, .services-block__eyebrow strong, .services-block__eyebrow div { margin: 0 !important; padding: 0 !important; color: #ffffff !important; font-size: 38px; line-height: 1.15; font-weight: 700 !important; }

.services-block__description { max-width: 500px; margin-top: 18px; color: rgba(255, 255, 255, 0.85); line-height: 1.65; }

.services-block__description p, .services-block__description span, .services-block__description strong, .services-block__description div { color: inherit !important; }

.services-block__description p { margin: 0 !important; padding: 0 !important; }

.services-block__button { min-width: 215px; min-height: 54px; margin-top: 26px; padding: 13px 25px !important; border: 2px solid #dc0e18; display: inline-flex; align-items: center; justify-content: center; gap: 13px; background-color: #dc0e18; color: #ffffff !important; line-height: 1.2; font-weight: 600 !important; text-align: center; text-decoration: none !important; transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

.services-block__button p, .services-block__button span, .services-block__button strong, .services-block__button div { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.services-block__button-arrow { font-size: 21px; line-height: 1; transition: transform 0.3s ease; }

.services-block__button:hover, .services-block__button:focus { background-color: transparent; border-color: #ffffff; color: #ffffff !important; transform: translateY(-3px); }

.services-block__button:hover .services-block__button-arrow { transform: translateX(5px); }

.services-block__right { min-height: 500px; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); gap: 18px; }

.services-block__card { position: relative; min-height: 0; padding: 24px 26px; border: 1px solid rgba(17, 17, 17, 0.07); overflow: hidden; background-color: #f7f7f7; color: #111111; box-shadow: 0 10px 26px rgba(0, 0, 0, 0.04); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.3s ease; }

.services-block__card::before { content: ""; position: absolute; top: 0; left: 0; width: 65px; height: 4px; background-color: #dc0e18; transition: width 0.3s ease; }

.services-block__card::after { display: none; }

.services-block__card:hover { border-color: rgba(220, 14, 24, 0.2); background-color: #ffffff; transform: translateY(-4px); box-shadow: 0 17px 34px rgba(0, 0, 0, 0.08); }

.services-block__card:hover::before { width: 100%; }

.services-block__card-number { position: absolute; top: 19px; right: 22px; color: rgba(220, 14, 24, 0.28); font-size: 13px; line-height: 1; font-weight: 700 !important; letter-spacing: 1px; }

.services-block__card-icon { width: 82px; height: 82px; margin: 0 0 14px; padding: 0; border: 0; display: flex; align-items: center; justify-content: flex-start; background: transparent; }

.services-block__card-icon img { width: 82px; height: 82px; max-width: 82px; max-height: 82px; display: block; object-fit: contain; object-position: left center; }

.services-block__card-title { padding-right: 22px; color: #111111; }

.services-block__card-title h3, .services-block__card-title h4, .services-block__card-title h5, .services-block__card-title h6, .services-block__card-title p, .services-block__card-title span, .services-block__card-title strong, .services-block__card-title div { margin: 0 !important; padding: 0 !important; color: #111111 !important; font-size: 19px; line-height: 1.25; font-weight: 700 !important; }

.services-block__card-description { margin-top: 8px; color: #626262; font-size: 14px; line-height: 1.55; }

.services-block__card-description p, .services-block__card-description span, .services-block__card-description strong, .services-block__card-description div { color: inherit !important; }

.services-block__card-description p { margin: 0 !important; padding: 0 !important; font-size: inherit; line-height: inherit; }

@media screen and (max-width: 1100px) { .services-block__container { grid-template-columns: 0.85fr 1.15fr; } .services-block__left, .services-block__content, .services-block__right { min-height: 480px; } .services-block__content { padding: 34px; } .services-block__eyebrow h2, .services-block__eyebrow h3, .services-block__eyebrow p, .services-block__eyebrow span, .services-block__eyebrow strong, .services-block__eyebrow div { font-size: 33px; } .services-block__card { padding: 22px; } .services-block__card-icon, .services-block__card-icon img { width: 72px; height: 72px; max-width: 72px; max-height: 72px; } .services-block__card-title h3, .services-block__card-title h4, .services-block__card-title h5, .services-block__card-title h6, .services-block__card-title p, .services-block__card-title span, .services-block__card-title strong, .services-block__card-title div { font-size: 17px; } .services-block__card-description { font-size: 13px; } }

@media screen and (max-width: 991px) { .services-block { padding: 80px 30px; } .services-block__container { grid-template-columns: 1fr; } .services-block__left, .services-block__content { min-height: 430px; } .services-block__right { min-height: auto; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; } .services-block__card { min-height: 245px; } .services-block__card-icon, .services-block__card-icon img { width: 82px; height: 82px; max-width: 82px; max-height: 82px; } }

@media screen and (max-width: 767px) { .services-block { padding: 70px 20px; } .services-block__left, .services-block__content { min-height: 400px; } .services-block__content { padding: 30px 26px; } .services-block__eyebrow h2, .services-block__eyebrow h3, .services-block__eyebrow p, .services-block__eyebrow span, .services-block__eyebrow strong, .services-block__eyebrow div { font-size: 30px; } .services-block__right { grid-template-columns: 1fr; } .services-block__card { min-height: 0; padding: 25px; } .services-block__card-icon, .services-block__card-icon img { width: 90px; height: 90px; max-width: 90px; max-height: 90px; } .services-block__card-description { font-size: 14px; } }

@media screen and (max-width: 480px) { .services-block { padding: 60px 16px; } .services-block__left, .services-block__content { min-height: 375px; } .services-block__content { padding: 26px 21px; } .services-block__left::after { right: 16px; bottom: 16px; width: 40px; height: 40px; } .services-block__eyebrow { gap: 9px; } .services-block__eyebrow::before { width: 28px; margin-top: 15px; } .services-block__eyebrow h2, .services-block__eyebrow h3, .services-block__eyebrow p, .services-block__eyebrow span, .services-block__eyebrow strong, .services-block__eyebrow div { font-size: 27px; } .services-block__button { width: 100%; min-width: 0; } .services-block__card { padding: 23px 21px; } .services-block__card-icon, .services-block__card-icon img { width: 85px; height: 85px; max-width: 85px; max-height: 85px; } }

/*--------------------------------HERO PAGES SECONDAIRES---------------------------------*/
.carousel-item-homepage img, .first-carousel-img { transform: none !important; transition: none !important; box-shadow: none !important; filter: none !important; opacity: 1 !important; }

.titleText { letter-spacing: 0em; }

.first-carousel-img { height: 40vh; object-fit: cover; }

.first-carousel-img, .second-carousel-img { width: 100%; height: 55vh; object-fit: cover; }

.carousel-item-homepage { position: relative; height: 55vh; overflow: hidden; }

.carousel-item-homepage::after { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.38) 50%, rgba(0, 0, 0, 0.68) 100%); pointer-events: none; }

.carousel-item-homepage img { position: relative; z-index: 1; width: 100%; display: block; }

.carousel-item-homepage .carousel-caption, .carousel-item-homepage .carousel-content, .carousel-item-homepage .titleText { position: relative; z-index: 3; }

#fullHeight { position: relative; height: 55vh; overflow: hidden; }

@media (max-width: 991px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } .first-carousel-img { height: 45vh; } }

@media (max-width: 576px) { .first-carousel-img, .second-carousel-img, .carousel-item-homepage, #fullHeight { height: 50vh; } .first-carousel-img { height: 35vh; } .carousel-item-homepage::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.44) 50%, rgba(0, 0, 0, 0.72) 100%); } }

/*----------------------------------------BLOC BULLET POINT-------------------------------------------*/
section.habitat-feature.habitat-feature--reverse { background-color: #f7f7f7 !important; }

section.habitat-feature.habitat-feature--reverse .habitat-feature__list li { background-color: #ffffff !important; }

.habitat-feature { position: relative; width: 100%; padding: 100px 40px; overflow: hidden; background-color: #ffffff; }

.habitat-feature *, .habitat-feature *::before, .habitat-feature *::after { box-sizing: border-box; }

.habitat-feature__container { width: 100%; max-width: 1250px; margin: 0 auto; display: grid; grid-template-columns: 1fr 0.88fr; align-items: center; gap: 85px; }

.habitat-feature__content { width: 100%; max-width: 610px; }

.habitat-feature__title { position: relative; padding-top: 24px; color: #111111; }

.habitat-feature__title::before { content: ""; position: absolute; top: 0; left: 0; width: 58px; height: 3px; background-color: #dc0e18; }

.habitat-feature__title h2, .habitat-feature__title h3, .habitat-feature__title p { margin: 0 !important; padding: 0 !important; color: #111111 !important; font-size: 43px; line-height: 1.14; font-weight: 700 !important; }

.habitat-feature__title span, .habitat-feature__title strong { color: inherit !important; font-weight: inherit !important; }

.habitat-feature__description { max-width: 580px; margin-top: 24px; color: #5f5f5f; line-height: 1.75; }

.habitat-feature__description p { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.habitat-feature__list { margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; list-style: none; }

.habitat-feature__list li { position: relative; min-height: 76px; margin: 0; padding: 16px 18px; border-left: 3px solid #dc0e18; display: flex; align-items: center; gap: 14px; background-color: #f7f7f7; color: #111111; transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; }

.habitat-feature__list li:hover { background-color: #ffffff; transform: translateY(-3px); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.07); }

.habitat-feature__check { flex: 0 0 30px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }

.habitat-feature__check svg { width: 24px; height: 24px; display: block; fill: #dc0e18; }

.habitat-feature__item-text { flex: 1; color: #111111; line-height: 1.4; font-weight: 600 !important; }

.habitat-feature__item-text p, .habitat-feature__item-text span, .habitat-feature__item-text strong, .habitat-feature__item-text div { margin: 0 !important; padding: 0 !important; color: inherit !important; line-height: inherit; }

.habitat-feature__button { min-width: 220px; min-height: 56px; margin-top: 34px; padding: 14px 26px !important; border: 2px solid #dc0e18; display: inline-flex; align-items: center; justify-content: center; gap: 13px; background-color: #dc0e18; color: #ffffff !important; line-height: 1.2; font-weight: 600 !important; text-align: center; text-decoration: none !important; transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease; }

.habitat-feature__button p, .habitat-feature__button span, .habitat-feature__button strong, .habitat-feature__button div { margin: 0 !important; padding: 0 !important; color: inherit !important; }

.habitat-feature__button-arrow { font-size: 21px; line-height: 1; transition: transform 0.3s ease; }

.habitat-feature__button:hover, .habitat-feature__button:focus { background-color: transparent; color: #dc0e18 !important; transform: translateY(-3px); }

.habitat-feature__button:hover .habitat-feature__button-arrow { transform: translateX(5px); }

.habitat-feature__visual { position: relative; width: 100%; padding: 0 28px 28px 0; }

.habitat-feature__image { position: relative; z-index: 2; width: 100%; height: 470px; overflow: hidden; background-color: #111111; }

.habitat-feature__image::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.2) 100%); pointer-events: none; }

.habitat-feature__image::after { content: ""; position: absolute; z-index: 3; right: 22px; bottom: 22px; width: 48px; height: 48px; border-right: 3px solid #dc0e18; border-bottom: 3px solid #dc0e18; pointer-events: none; }

.habitat-feature__image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

.habitat-feature__brick-decoration { position: absolute; z-index: 1; right: 0; bottom: 0; width: 150px; height: 105px; display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 25px; gap: 7px; opacity: 0.22; pointer-events: none; }

.habitat-feature__brick-decoration span { display: block; background-color: #dc0e18; }

.habitat-feature__brick-decoration span:nth-child(4) { width: 50%; }

.habitat-feature__brick-decoration span:nth-child(5) { margin-left: -50%; }

.habitat-feature--reverse .habitat-feature__container { grid-template-columns: 0.88fr 1fr; }

.habitat-feature--reverse .habitat-feature__content { order: 2; }

.habitat-feature--reverse .habitat-feature__visual { order: 1; padding: 0 0 28px 28px; }

.habitat-feature--reverse .habitat-feature__brick-decoration { right: auto; left: 0; }

@media screen and (max-width: 1050px) { .habitat-feature__container { gap: 55px; } .habitat-feature__title h2, .habitat-feature__title h3, .habitat-feature__title p { font-size: 38px; } .habitat-feature__image { height: 430px; } }

@media screen and (max-width: 991px) { .habitat-feature { padding: 85px 30px; } .habitat-feature__container, .habitat-feature--reverse .habitat-feature__container { grid-template-columns: 1fr; gap: 50px; } .habitat-feature__content, .habitat-feature--reverse .habitat-feature__content { order: 2; max-width: 750px; margin: 0 auto; } .habitat-feature__visual, .habitat-feature--reverse .habitat-feature__visual { order: 1; width: 100%; max-width: 750px; margin: 0 auto; padding: 0 24px 24px 0; } .habitat-feature--reverse .habitat-feature__brick-decoration { right: 0; left: auto; } .habitat-feature__image { height: 430px; } }

@media screen and (max-width: 767px) { .habitat-feature { padding: 70px 20px; } .habitat-feature__container { gap: 40px; } .habitat-feature__title { padding-top: 20px; } .habitat-feature__title h2, .habitat-feature__title h3, .habitat-feature__title p { font-size: 33px; } .habitat-feature__list { grid-template-columns: 1fr; gap: 12px; } .habitat-feature__list li { min-height: 68px; } .habitat-feature__image { height: 350px; } .habitat-feature__brick-decoration { width: 120px; height: 84px; grid-auto-rows: 20px; gap: 5px; } }

@media screen and (max-width: 480px) { .habitat-feature { padding: 60px 16px; } .habitat-feature__title h2, .habitat-feature__title h3, .habitat-feature__title p { font-size: 29px; } .habitat-feature__description { margin-top: 20px; } .habitat-feature__list { margin-top: 28px; } .habitat-feature__list li { padding: 14px 15px; } .habitat-feature__button { width: 100%; min-width: 0; } .habitat-feature__visual, .habitat-feature--reverse .habitat-feature__visual { padding: 0 16px 16px 0; } .habitat-feature__image { height: 285px; } .habitat-feature__image::after { right: 16px; bottom: 16px; width: 38px; height: 38px; } .habitat-feature__brick-decoration { width: 95px; height: 67px; opacity: 0.18; } }

/*----------------------------------BLOC GALERIE---------------------------------*/
.custom-gallery-block { position: relative; width: 100%; padding: 85px 30px; overflow: hidden; background-color: #f7f7f7; }

.custom-gallery-block *, .custom-gallery-block *::before, .custom-gallery-block *::after, .custom-gallery-lightbox *, .custom-gallery-lightbox *::before, .custom-gallery-lightbox *::after { box-sizing: border-box; }

.custom-gallery-block .container { position: relative; z-index: 2; width: 100%; max-width: 1300px; margin: 0 auto; }

.custom-gallery-block .container::after { content: ""; position: absolute; z-index: -1; right: -30px; bottom: -45px; width: 150px; height: 110px; opacity: 0.06; background-image: linear-gradient(90deg, #dc0e18 0, #dc0e18 29%, transparent 29%, transparent 36%, #dc0e18 36%, #dc0e18 65%, transparent 65%, transparent 72%, #dc0e18 72%, #dc0e18 100%), linear-gradient(0deg, #dc0e18 0, #dc0e18 29%, transparent 29%, transparent 36%, #dc0e18 36%, #dc0e18 65%, transparent 65%, transparent 72%, #dc0e18 72%, #dc0e18 100%); pointer-events: none; }

/* -------------------------------------------------------------------------- TITRE -------------------------------------------------------------------------- */
.custom-gallery-block__header { position: relative; width: 100%; margin-bottom: 42px; padding-top: 22px; }

.custom-gallery-block__header::before { content: ""; position: absolute; top: 0; left: 0; width: 65px; height: 4px; background-color: #dc0e18; }

.custom-gallery-block__title { color: #111111; }

.custom-gallery-block__title h1, .custom-gallery-block__title h2, .custom-gallery-block__title h3, .custom-gallery-block__title h4, .custom-gallery-block__title h5, .custom-gallery-block__title h6, .custom-gallery-block__title p, .custom-gallery-block__title span, .custom-gallery-block__title strong, .custom-gallery-block__title div { margin: 0 !important; padding: 0 !important; color: #111111 !important; font-size: 42px; line-height: 1.15; font-weight: 700 !important; }

/* -------------------------------------------------------------------------- GRILLE -------------------------------------------------------------------------- */
.custom-gallery-grid { position: relative; width: 100%; }

.custom-gallery-grid .row { margin-right: -10px; margin-left: -10px; row-gap: 20px; }

.custom-gallery-item { height: 320px !important; margin: 0; padding-right: 10px; padding-left: 10px; }

.custom-gallery-card { position: relative; width: 100%; height: 100%; overflow: hidden; background-color: #111111; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08); }

.custom-gallery-card::before { content: ""; position: absolute; z-index: 3; top: 0; left: 0; width: 65px; height: 4px; background-color: #dc0e18; pointer-events: none; transition: width 0.35s ease; }

.custom-gallery-card::after { content: ""; position: absolute; z-index: 4; right: 18px; bottom: 18px; width: 42px; height: 42px; border-right: 3px solid #dc0e18; border-bottom: 3px solid #dc0e18; opacity: 0; transform: translate(8px, 8px); pointer-events: none; transition: opacity 0.35s ease, transform 0.35s ease; }

.custom-gallery-card:hover::before { width: 100%; }

.custom-gallery-card:hover::after { opacity: 1; transform: translate(0, 0); }

.custom-gallery-link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; color: #ffffff; text-decoration: none; cursor: pointer; }

.custom-gallery-image { display: block; width: 100% !important; height: 100% !important; border: 0; border-radius: 0 !important; object-fit: cover !important; object-position: center; transform: scale(1); filter: brightness(1); transition: transform 0.55s ease, filter 0.55s ease; }

/* -------------------------------------------------------------------------- SURVOL DES IMAGES -------------------------------------------------------------------------- */
.custom-gallery-hover { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #ffffff; background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.75) 100%); opacity: 0; transition: opacity 0.35s ease; }

.custom-gallery-hover::before, .custom-gallery-hover::after { content: ""; position: absolute; top: 50%; left: 50%; background-color: #ffffff; transform: translate(-50%, -50%); }

.custom-gallery-hover::before { width: 38px; height: 2px; }

.custom-gallery-hover::after { width: 2px; height: 38px; }

.custom-gallery-hover i { display: none; }

.custom-gallery-link:hover .custom-gallery-image, .custom-gallery-link:focus-visible .custom-gallery-image { transform: scale(1.055); filter: brightness(0.78); }

.custom-gallery-link:hover .custom-gallery-hover, .custom-gallery-link:focus-visible .custom-gallery-hover { opacity: 1; }

.custom-gallery-link:focus-visible { outline: 3px solid #dc0e18; outline-offset: -3px; }

/* -------------------------------------------------------------------------- LIGHTBOX -------------------------------------------------------------------------- */
.custom-gallery-lightbox { position: fixed; inset: 0; z-index: 99999; width: 100%; height: 100%; padding: 55px 95px; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.94); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s ease, visibility 0.3s ease; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

.custom-gallery-lightbox::before { content: ""; position: absolute; top: 0; left: 0; width: 110px; height: 5px; background-color: #dc0e18; }

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

.custom-gallery-lightbox__visual { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }

.custom-gallery-lightbox__image { display: block; width: auto; max-width: 85vw; height: auto; max-height: 85vh; margin: 0; border: 0; border-radius: 0; object-fit: contain; box-shadow: 0 25px 70px rgba(0, 0, 0, 0.55); }

/* -------------------------------------------------------------------------- BOUTONS DE LA LIGHTBOX -------------------------------------------------------------------------- */
.custom-gallery-lightbox__button { position: absolute; z-index: 3; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 0; display: flex; align-items: center; justify-content: center; background-color: rgba(17, 17, 17, 0.55); color: #ffffff; cursor: pointer; transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }

.custom-gallery-lightbox__button:hover { border-color: #dc0e18; background-color: #dc0e18; color: #ffffff; }

.custom-gallery-lightbox__button:focus-visible { outline: 2px solid #dc0e18; outline-offset: 4px; }

.custom-gallery-lightbox__previous, .custom-gallery-lightbox__next { top: 50%; width: 56px; height: 70px; font-size: 24px; transform: translateY(-50%); }

.custom-gallery-lightbox__previous { left: 22px; }

.custom-gallery-lightbox__next { right: 22px; }

.custom-gallery-lightbox__previous:hover { transform: translate(-4px, -50%); }

.custom-gallery-lightbox__next:hover { transform: translate(4px, -50%); }

.custom-gallery-lightbox__close { top: 20px; right: 20px; width: 52px; height: 52px; font-size: 25px; }

.custom-gallery-lightbox__counter { position: absolute; bottom: 20px; left: 50%; min-width: 75px; padding: 8px 14px; background-color: rgba(17, 17, 17, 0.7); color: #ffffff; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-align: center; transform: translateX(-50%); }

body.custom-gallery-lightbox-open { overflow: hidden; }

/* -------------------------------------------------------------------------- RESPONSIVE -------------------------------------------------------------------------- */
@media screen and (max-width: 1100px) { .custom-gallery-item { height: 290px !important; } }

@media screen and (max-width: 991px) { .custom-gallery-block { padding: 75px 25px; } .custom-gallery-item { height: 330px !important; } .custom-gallery-lightbox { padding: 60px 70px; } }

@media screen and (max-width: 767px) { .custom-gallery-block { padding: 65px 20px; } .custom-gallery-block__header { margin-bottom: 32px; } .custom-gallery-block__title h1, .custom-gallery-block__title h2, .custom-gallery-block__title h3, .custom-gallery-block__title h4, .custom-gallery-block__title h5, .custom-gallery-block__title h6, .custom-gallery-block__title p, .custom-gallery-block__title span, .custom-gallery-block__title strong, .custom-gallery-block__title div { font-size: 34px; } .custom-gallery-grid .row { row-gap: 16px; } .custom-gallery-item { height: 290px !important; padding-right: 8px; padding-left: 8px; } .custom-gallery-lightbox { padding: 65px 45px; } .custom-gallery-lightbox__image { max-width: 90vw; max-height: 78vh; } .custom-gallery-lightbox__previous, .custom-gallery-lightbox__next { width: 42px; height: 58px; font-size: 20px; } .custom-gallery-lightbox__previous { left: 3px; } .custom-gallery-lightbox__next { right: 3px; } .custom-gallery-lightbox__close { top: 8px; right: 8px; width: 45px; height: 45px; font-size: 21px; } }

@media screen and (max-width: 575px) { .custom-gallery-block { padding: 55px 15px; } .custom-gallery-block__title h1, .custom-gallery-block__title h2, .custom-gallery-block__title h3, .custom-gallery-block__title h4, .custom-gallery-block__title h5, .custom-gallery-block__title h6, .custom-gallery-block__title p, .custom-gallery-block__title span, .custom-gallery-block__title strong, .custom-gallery-block__title div { font-size: 29px; } .custom-gallery-item { height: 275px !important; } .custom-gallery-card::after { right: 14px; bottom: 14px; width: 34px; height: 34px; } .custom-gallery-block .container::after { width: 100px; height: 75px; } }

@media screen and (max-width: 420px) { .custom-gallery-item { height: 245px !important; } }

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