@charset "UTF-8";
@import url(main.css);
a.button, .btn, .button, button, a.button_homepageDoubleScreen, .bloc-k8m2-hero__button, .bloc-a7f3-cta-intervention__button, .bloc-a7f3-recrutement__button, .button_homepageScreen, .bloc-r7k2-button, #navigation-bar-show .button-header-telephone { background: #F28C00 !important; color: #fff !important; border-radius: 0 !important; font-weight: 600 !important; text-decoration: none !important; transition: all 0.3s ease !important; padding: 10px 22px !important; }

a.button:hover, .btn:hover, .button:hover, button:hover, a.button_homepageDoubleScreen:hover, .bloc-k8m2-hero__button:hover, .bloc-a7f3-cta-intervention__button:hover, .bloc-a7f3-recrutement__button:hover, .button_homepageScreen:hover, .bloc-r7k2-button:hover { background: #006FDF !important; color: #F28C00 !important; }

h2 { color: #006fdf; font-size: 28px !important; font-weight: 700 !important; }

@media (max-width: 1024px) { h2 { font-size: 24px !important; } }

h3 { font-size: 23px !important; line-height: 1.05 !important; font-weight: 700 !important; }

@media (max-width: 1024px) { h3 { font-size: 18px !important; } }

ul.navbar-nav.d-flex.flex-wrap.justify-content-center.align-items-center.my-4.my-lg-0.mx-auto.text-center { flex-wrap: unset !important; }

/*--------------------------------------------------------- BLOC PRESTATIONS ACCUEIL ---------------------------------------------------------*/
.bloc-k9m2-home-services { width: 100%; padding: 70px 20px; }

.bloc-k9m2-home-services__container { max-width: 1225px; margin: 0 auto; }

.bloc-k9m2-home-services__intro { max-width: 1140px; margin: 0 auto 36px; text-align: center; }

.bloc-k9m2-home-services__intro p { margin: 0; font-size: 18px; line-height: 1.45; color: #000000; }

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

.bloc-k9m2-flip-card { height: 187px; perspective: 1000px; cursor: pointer; }

.bloc-k9m2-flip-card__inner { position: relative; width: 100%; height: 100%; transition: transform 0.7s ease; transform-style: preserve-3d; }

.bloc-k9m2-flip-card.is-flipped .bloc-k9m2-flip-card__inner { transform: rotateY(180deg); }

.bloc-k9m2-flip-card__face { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; backface-visibility: hidden; overflow: hidden; }

.bloc-k9m2-flip-card__front { background-size: cover; background-position: center; }

.bloc-k9m2-flip-card__front::after { content: ""; position: absolute; inset: 0; background: rgba(28, 119, 194, 0.58); z-index: 1; }

.bloc-k9m2-flip-card__front-title { position: relative; z-index: 2; text-align: center; color: #ffffff; line-height: 0.95; text-transform: uppercase; }

.bloc-k9m2-flip-card__front-title * { margin: 0; color: inherit; line-height: inherit; text-transform: inherit; }

.bloc-k9m2-flip-card__back { padding: 28px 24px; gap: 10px; background: #006FDF; color: #ffffff; text-align: center; transform: rotateY(180deg); box-sizing: border-box; flex-direction: column; }

.bloc-k9m2-home-services__title { margin: 0 0 24px; line-height: 1.15; text-align: center; }

.bloc-k9m2-home-services__title * { margin: 0; line-height: inherit; text-align: inherit; }

.bloc-k9m2-flip-card__back-title { margin: 0 0 6px; text-transform: uppercase; }

.bloc-k9m2-flip-card__back-title * { margin: 0; text-transform: inherit; }

.bloc-k9m2-flip-card__back p { margin: 0; font-size: 14px; line-height: 1.35; max-width: 100%; }

.bloc-k9m2-home-services__button-wrapper { margin-top: 30px; text-align: center; }

@media (max-width: 1024px) { .bloc-k9m2-home-services__grid { grid-template-columns: repeat(2, 1fr); } .bloc-k9m2-flip-card { height: 210px; } }

@media (max-width: 640px) { .bloc-k9m2-home-services { padding: 50px 16px; } .bloc-k9m2-home-services__intro p { font-size: 14px; } .bloc-k9m2-home-services__grid { grid-template-columns: 1fr; gap: 16px; } .bloc-k9m2-flip-card { height: 190px; } }

/*--------------------------------------------------------- BLOC HERO ---------------------------------------------------------*/
.bloc-k8m2-hero { position: relative; min-height: 350px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; overflow: hidden; }

.bloc-k8m2-hero__overlay { position: absolute; inset: 0; background: rgba(255, 255, 255, 0.42); }

.bloc-k8m2-hero__content { position: relative; z-index: 2; max-width: 1050px; padding: 90px 20px 60px; text-align: center; }

.bloc-k8m2-hero__content h1 { margin: 0; color: #006fdf; font-size: 38px; line-height: 1.15; }

.bloc-k8m2-button { display: inline-block; text-decoration: none; }

.bloc-k8m2-hero__button { margin-top: 22px; }

.bloc-k8m2-hero__button p { margin-bottom: 0px !important; }

@media (max-width: 900px) { .bloc-k8m2-hero__content h1 { font-size: 30px; } }

@media (max-width: 640px) { .bloc-k8m2-hero { min-height: 360px; } .bloc-k8m2-hero__content h1 { font-size: 25px; } }

/*--------------------------------------------------------- BLOC BARRE DE NAVIGATION ---------------------------------------------------------*/
#headerPage { position: relative; z-index: 9999; }

#navigation-bar-show { margin-bottom: 0 !important; min-height: 75px !important; padding: 0 !important; }

#navigation-bar-show .container-fluid { min-height: 75px !important; }

#navigation-bar-show + section, #navigation-bar-show + div { margin-top: 0 !important; }

/* bande blanche logo */
#navigation-bar-show::before { content: ""; position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: -1; }

/* logo */
#navigation-bar-show .navbar-brand { position: fixed; top: 0 !important; left: 50%; transform: translateX(-50%); height: 135px !important; width: 520px !important; max-width: 520px !important; display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; overflow: visible !important; }

#navigation-bar-show .logo_nav { width: 500px !important; height: auto !important; max-width: 100% !important; max-height: 95px !important; object-fit: contain !important; }

/* contenu navbar */
#navigation-bar-show .container-fluid { max-width: 1450px; margin: 0 auto; }

#navigation-bar-show .navbar-collapse { justify-content: center; }

#navigation-bar-show .navbar-nav { align-items: center; justify-content: center; margin: 0 auto !important; }

#navigation-bar-show .navbar-nav li { position: relative; padding: 0 18px !important; }

#navigation-bar-show .navbar-nav li:not(:last-child)::after { content: "|"; position: absolute; right: -3px; top: 50%; transform: translateY(-50%); color: #ff8a00; font-weight: 800; }

#navigation-bar-show .animated-border-button { color: #fff !important; text-transform: uppercase; font-size: 19px !important; white-space: nowrap; }

#navigation-bar-show .animated-border-button:hover { color: #ff8a00; }

/* bouton téléphone */
#navigation-bar-show .button-header-telephone { background: #fff !important; color: #ff8a00 !important; font-size: 18px; padding: 10px 15px !important; }

#navigation-bar-show .button-header-telephone:hover { background: #ff8a00 !important; color: #fff !important; }

/* scroll propre */
body { padding-top: 210px !important; transition: padding-top 0.55s cubic-bezier(0.22, 1, 0.36, 1); }

body.gfi-scrolled-body { padding-top: 75px !important; }

#navigation-bar-show { top: 135px !important; transition: top 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease !important; }

#navigation-bar-show.gfi-scrolled { top: 0 !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important; }

#navigation-bar-show.gfi-scrolled::before, #navigation-bar-show.gfi-scrolled .navbar-brand { opacity: 0; pointer-events: none; }

/*--------------------------------------------------------- MOBILE ---------------------------------------------------------*/
/* mobile */
@media screen and (max-width: 991px) { :root { --gfi-logo-height: 90px; --gfi-nav-height: 0px; } body { padding-top: 90px !important; } #navigation-bar-show { top: 0 !important; min-height: 90px !important; background: #fff !important; } #navigation-bar-show::before { display: none; } #navigation-bar-show .navbar-brand { position: static; transform: none !important; opacity: 1 !important; display: flex !important; height: 90px !important; width: auto !important; } #navigation-bar-show .logo_nav { height: 62px !important; max-height: 62px !important; width: auto !important; } #navigation-bar-show .container-fluid { justify-content: space-between; } #navigation-bar-show .navbar-toggler { background: #006fdf !important; border: none; } #navigation-bar-show .navbar-collapse { position: fixed; top: 90px; left: 0; width: 100%; background: #006fdf; padding: 20px; box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15); } #navigation-bar-show .navbar-nav li { padding: 12px 0 !important; } #navigation-bar-show .navbar-nav li::after { display: none; } #navigation-bar-show .button-header-telephone { font-size: 15px !important; margin: 15px auto 0 !important; } #navigation-bar-show .animated-border-button { font-size: 15px !important; } #navigation-bar-show.gfi-scrolled .navbar-brand { display: flex !important; transform: none !important; opacity: 1 !important; } }

/*--------------------------------------------------------- BLOC PRESENTATION AVEC ICONS ET VILLES ---------------------------------------------------------*/
.bloc-k9m2-intro { padding: 70px 20px; background: #ffffff; text-align: center; }

.bloc-k9m2-intro__container { max-width: 1140px; margin: 0 auto; }

.bloc-k9m2-intro h2 { margin: 0 0 12px; line-height: 1.2; font-weight: 800; }

.bloc-k9m2-intro h4 { margin: 0 0 22px; color: #006FDF; font-size: 20px; line-height: 1.35; font-weight: 800; }

.bloc-k9m2-intro__text { margin: 0 auto; color: #000000; font-size: 18px; line-height: 1.45; }

.bloc-k9m2-intro__text p { margin: 0; }

.bloc-k9m2-intro__icons { display: flex; justify-content: center; gap: 80px; margin: 42px 0 38px; }

.bloc-k9m2-intro__item { display: flex; flex-direction: column; align-items: center; }

.bloc-k9m2-intro__icon { width: 100px; height: 100px; color: #006FDF; margin-bottom: 14px; }

.bloc-k9m2-intro__icon svg { width: 100%; height: 100%; fill: currentColor; }

.bloc-k9m2-intro__item span { color: #006fdf; font-size: 18px; font-weight: 800; text-transform: uppercase; }

@media (max-width: 700px) { .bloc-k9m2-intro { padding: 50px 16px; } .bloc-k9m2-intro h4 { font-size: 16px; } .bloc-k9m2-intro__text { font-size: 15px; } .bloc-k9m2-intro__icons { flex-direction: column; gap: 28px; margin: 34px 0; } .bloc-k9m2-intro__icon { width: 76px; height: 76px; } }

/*--------------------------------------------------------- BLOC APPROCHE TERRAIN ---------------------------------------------------------*/
.bloc-x8k4-text { padding: 40px 20px; text-align: center; }

.bloc-x8k4-text__container { max-width: 1140px; margin: 0 auto; }

.bloc-x8k4-text__container > *:first-child { margin: 0 0 18px; font-size: 28px; line-height: 1.2; }

.bloc-x8k4-text__container > *:last-child { margin: 0 auto; color: #000000; font-size: 18px; line-height: 1.45; }

@media (max-width: 700px) { .bloc-x8k4-text { padding: 50px 16px; } .bloc-x8k4-text__container > *:first-child { font-size: 24px; } .bloc-x8k4-text__container > *:last-child { font-size: 16px; } }

.bloc-x8k4-text--no-top { padding-top: 0; }

/*--------------------------------------------------------- BLOC FAQ ---------------------------------------------------------*/
/* FAQ - état normal */
.faq-button { background: #ffffff !important; color: #F28C00 !important; border: 2px solid #F28C00 !important; border-radius: 8px !important; transition: all 0.3s ease; }

/* Texte du bouton */
.faq-button > * { color: #F28C00 !important; }

/* Flèche */
.faq-button svg { stroke: #F28C00 !important; transition: transform 0.3s ease, stroke 0.3s ease; }

/* Hover */
.faq-button:hover { background: #F28C00 !important; color: #ffffff !important; }

/* Texte au hover */
.faq-button:hover > * { color: #ffffff !important; }

/* Flèche au hover */
.faq-button:hover svg { stroke: #ffffff !important; }

/* Question ouverte */
.faq-button[aria-expanded="true"] { background: #F28C00 !important; color: #ffffff !important; }

.faq-button[aria-expanded="true"] > * { color: #ffffff !important; }

.faq-button[aria-expanded="true"] svg { stroke: #ffffff !important; }

.faq-section { margin-bottom: 0 !important; }

section.faq-section.py-5 { padding-bottom: 0 !important; }

/*--------------------------------------------------------- MENTIONS LEGALES ---------------------------------------------------------*/
.gfi-mention-marques { padding: 0px 20px 50px; }

.gfi-mention-marques__content { padding: 0 20px; border-left: 3px solid #F28C00; }

.gfi-mention-marques__content p { margin: 0; font-size: 14px; line-height: 1.6; color: #555; }

/* Responsive */
@media (max-width: 768px) { .gfi-mention-marques { padding: 25px 15px; } .gfi-mention-marques p { font-size: 13px; } }

/*--------------------------------------------------------- BLOC INTERVENTION ---------------------------------------------------------*/
.bloc-a7f3 { padding: 60px 20px; text-align: center; }

.bloc-a7f3__container { max-width: 1140px; margin: 0 auto; }

.bloc-a7f3 h1 { margin: 0 0 22px; color: #006FDF; font-size: 32px; line-height: 1.2; font-weight: 800; text-transform: uppercase; }

.bloc-a7f3__intro { margin: 0 auto 18px; color: #000000; font-size: 18px; line-height: 1.5; }

.bloc-a7f3__info { margin-top: 45px; padding: 28px 45px; background: rgba(0, 111, 223, 0.29); text-align: center; }

.bloc-a7f3__info h2 { margin: 0 0 18px; line-height: 1.25; font-weight: 800; }

.bloc-a7f3__info p { margin: 0 0 14px; color: #000000; font-size: 16px; line-height: 1.5; }

.bloc-a7f3__info p:last-child { margin-bottom: 0; }

@media (max-width: 700px) { .bloc-a7f3 { padding: 50px 16px; } .bloc-a7f3 h1 { font-size: 28px; } .bloc-a7f3__intro { font-size: 15px; } .bloc-a7f3__info { padding: 25px 20px; margin-top: 35px; } .bloc-a7f3__info p { font-size: 14px; } }

/*--------------------------------------------------------- BOUTONS CTA ---------------------------------------------------------*/
.bloc-a7f3-cta-intervention { padding: 40px 20px; text-align: center; }

.bloc-a7f3-cta-intervention__container { max-width: 1140px; margin: 0 auto; }

.bloc-a7f3-cta-intervention h2 { line-height: 1.2; font-weight: 800; margin: 0 0 14px; }

.bloc-a7f3-cta-intervention p { margin: 0 0 25px; font-size: 18px; line-height: 1.45; }

/* uniquement pour l'espace du bouton */
.bloc-a7f3-cta-intervention__button { display: inline-block; text-decoration: none; margin-top: 5px; }

.bloc-a7f3-cta-intervention__button p { margin-bottom: 0; font-size: 16px; }

@media (max-width: 700px) { .bloc-a7f3-cta-intervention { padding: 50px 16px; } .bloc-a7f3-cta-intervention p { font-size: 16px; margin-bottom: 28px; } .bloc-a7f3-cta-intervention__button { display: inline-block; } .bloc-a7f3-cta-intervention__button p { margin-bottom: 0; } }

/*--------------------------------------------------------- INTERVENTION CARTE ---------------------------------------------------------*/
.bloc-a7f3-zone { padding: 40px 20px; }

.bloc-a7f3-zone__container { position: relative; max-width: 1140px; margin: 0 auto; border: 2px solid #006FDF; padding: 15px 25px 25px; overflow: hidden; min-height: 410px; border-radius: 12px; /* tu peux ajuster la valeur comme tu veux */ }

.bloc-a7f3-zone h2 { margin-bottom: 15px; text-align: center; line-height: 1.2; text-transform: uppercase; }

.bloc-a7f3-zone__content { display: block; }

.bloc-a7f3-zone__text { flex: 1; width: 55%; padding-top: 30px; }

.bloc-a7f3-zone__text p { margin: 0 0 18px; color: #000000; font-size: 16px; line-height: 1.5; text-align: justify; }

.bloc-a7f3-zone__text p:last-child { margin-bottom: 0; }

.bloc-a7f3-zone__image { position: absolute; right: 0; bottom: 0; width: 42%; height: 95%; display: flex; align-items: flex-end; }

.bloc-a7f3-zone__image img { width: 100%; height: 100%; object-fit: contain; object-position: bottom right; }

@media (max-width: 900px) { .bloc-a7f3-zone__container { min-height: unset; padding: 25px; } .bloc-a7f3-zone__text { width: 100%; } .bloc-a7f3-zone__image { position: relative; right: auto; bottom: auto; width: 70%; height: auto; margin: 30px auto 0; } .bloc-a7f3-zone__image img { height: auto; object-fit: contain; } }

@media (max-width: 700px) { .bloc-a7f3-zone { padding: 50px 16px; } .bloc-a7f3-zone__container { padding: 20px; } .bloc-a7f3-zone h2 { margin-bottom: 25px; } .bloc-a7f3-zone__text p { font-size: 15px; line-height: 1.45; text-align: left; } .bloc-a7f3-zone__image { width: 100%; margin-top: 25px; } }

/*--------------------------------------------------------- BLOC EXPERTISE ---------------------------------------------------------*/
.bloc-a7f3-expertise { padding: 60px 20px; }

.bloc-a7f3-expertise__container { max-width: 1140px; margin: 0 auto; }

.bloc-a7f3-expertise h1 { margin: 0 0 10px; text-align: center; color: #006FDF; font-size: 32px; line-height: 1.2; font-weight: 800; text-transform: uppercase; }

.bloc-a7f3-expertise__intro { margin: 0 auto 40px; text-align: center; color: #006FDF; font-size: 20px; font-weight: 600; line-height: 1.4; max-width: 900px; }

.bloc-a7f3-expertise__intro p { margin: 0; text-align: center; }

.bloc-a7f3-expertise__image-wrapper { position: relative; width: 98%; max-width: 1120px; margin: 0 auto 55px; }

.bloc-a7f3-expertise__image-bg { position: absolute; left: -10px; bottom: -10px; width: calc(100% + 20px); height: calc(100% - 14px); background: #9ec5ee; }

.bloc-a7f3-expertise__image-wrapper img { position: relative; z-index: 1; display: block; width: 100%; height: 380px; object-fit: cover; }

.bloc-a7f3-expertise__columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 35px; }

.bloc-a7f3-expertise__column p { margin: 0 0 18px; color: #000000; font-size: 16px; line-height: 1.55; }

.bloc-a7f3-expertise__column strong { font-weight: 800; }

@media (max-width: 900px) { .bloc-a7f3-expertise__columns { grid-template-columns: 1fr; gap: 0; } }

@media (max-width: 700px) { .bloc-a7f3-expertise { padding: 50px 16px; } .bloc-a7f3-expertise h1 { font-size: 28px; } .bloc-a7f3-expertise__intro { font-size: 17px; margin-bottom: 30px; } .bloc-a7f3-expertise__image-wrapper { margin-bottom: 40px; } .bloc-a7f3-expertise__image-bg { left: -8px; bottom: -8px; width: calc(100% + 16px); height: calc(100% - 10px); } .bloc-a7f3-expertise__column p { font-size: 15px; } }

/*--------------------------------------------------------- BLOC SAVOIR FAIRE ---------------------------------------------------------*/
.bloc-a7f3-savoir-faire { padding: 60px 20px; }

.bloc-a7f3-savoir-faire__container { max-width: 1400px; margin: 0 auto; }

.bloc-a7f3-savoir-faire__intro { max-width: 1140px; margin: 0 auto 50px; text-align: center; }

.bloc-a7f3-savoir-faire__intro h2 { margin: 0 0 20px; line-height: 1.2; }

.bloc-a7f3-savoir-faire__intro p { margin: 0 0 15px; font-size: 18px; line-height: 1.5; }

.bloc-a7f3-savoir-faire__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }

.bloc-a7f3-savoir-faire__card { display: flex; flex-direction: column; }

.bloc-a7f3-savoir-faire__card img { width: 100%; height: 220px; object-fit: cover; display: block; }

.bloc-a7f3-savoir-faire__content { background: #006FDF69; padding: 28px 25px; text-align: center; flex: 1; }

.bloc-a7f3-savoir-faire__content h3 { margin: 0 0 15px; color: #006FDF; }

.bloc-a7f3-savoir-faire__content p { margin: 0; color: #000; font-size: 16px; line-height: 1.45; }

@media (max-width: 1100px) { .bloc-a7f3-savoir-faire__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 640px) { .bloc-a7f3-savoir-faire { padding: 50px 16px; } .bloc-a7f3-savoir-faire__intro p { font-size: 16px; } .bloc-a7f3-savoir-faire__grid { grid-template-columns: 1fr; } .bloc-a7f3-savoir-faire__card img { height: 200px; } .bloc-a7f3-savoir-faire__content { padding: 22px 18px; } }

/*--------------------------------------------------------- GALERIE EQUIPEMENTS ---------------------------------------------------------*/
.bloc-x8k4-galerie { padding: 40px 20px; }

.bloc-x8k4-galerie__container { max-width: 1140px; margin: 0 auto; }

.bloc-x8k4-galerie h2 { margin: 0 0 40px; text-align: center; line-height: 1.2; }

.bloc-x8k4-galerie__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }

.bloc-x8k4-galerie__grid img { width: 100%; height: 240px; object-fit: cover; display: block; }

/* tablette */
@media (max-width: 900px) { .bloc-x8k4-galerie__grid { grid-template-columns: repeat(2, 1fr); } .bloc-x8k4-galerie__grid img { height: 220px; } }

/* mobile */
@media (max-width: 640px) { .bloc-x8k4-galerie { padding: 50px 16px; } .bloc-x8k4-galerie h2 { margin-bottom: 30px; } .bloc-x8k4-galerie__grid { grid-template-columns: 1fr; } .bloc-x8k4-galerie__grid img { height: 220px; } }

/*--------------------------------------------------------- RECRUTEMENT ---------------------------------------------------------*/
.bloc-a7f3-recrutement { padding: 30px 20px; }

.bloc-a7f3-recrutement__container { position: relative; max-width: 1050px; margin: 0 auto; min-height: 330px; background: #a4cbf3; display: flex; align-items: center; }

/* IMAGE */
.bloc-a7f3-recrutement__image { position: absolute; left: -80px; bottom: 0; width: 300px; height: 390px; z-index: 2; }

.bloc-a7f3-recrutement__image img { width: 100%; height: 100%; object-fit: contain; }

/* CONTENU */
.bloc-a7f3-recrutement__content { width: 100%; padding: 35px 70px 35px 260px; text-align: center; }

.bloc-a7f3-recrutement__content h2 { margin: 0 0 25px; color: #ffffff; font-style: italic; }

.bloc-a7f3-recrutement__content p { margin: 0 auto 25px; line-height: 1.5; max-width: 650px; }

/* bouton */
.bloc-a7f3-recrutement__button { display: inline-block; margin-top: 10px; text-decoration: none; }

.bloc-a7f3-recrutement__button p { margin-bottom: 0; }

/* responsive */
@media (max-width: 900px) { .bloc-a7f3-recrutement__container { min-height: auto; flex-direction: column; padding-top: 230px; } .bloc-a7f3-recrutement__image { top: -30px; left: 50%; transform: translateX(-50%); width: 220px; height: 280px; } .bloc-a7f3-recrutement__content { padding: 35px 25px; } }

@media (max-width: 600px) { .bloc-a7f3-recrutement { padding: 50px 15px; } .bloc-a7f3-recrutement__content p { font-size: 16px; } }

/*--------------------------------------------------------- TRANSMISSION ---------------------------------------------------------*/
.bloc-a7f3-transmission { padding: 60px 20px 20px; }

.bloc-a7f3-transmission__container { max-width: 1140px; margin: 0 auto; }

/* HEADER */
.bloc-a7f3-transmission__header { text-align: center; color: #006FDF; margin-bottom: 45px; }

.bloc-a7f3-transmission__header h2 { margin: 0; line-height: 1.2; }

.bloc-a7f3-transmission__header p { margin: 0; font-size: 22px; }

/* GRID CARTES */
.bloc-a7f3-transmission__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* CARTE */
.bloc-a7f3-transmission__card { border: 2px solid #006FDF; background: #fff; display: flex; flex-direction: column; overflow: hidden; padding: 10px; }

/* CONTENU */
.bloc-a7f3-transmission__content { padding: 25px 25px 30px; text-align: center; flex: 1; }

.bloc-a7f3-transmission__content h3 { margin: 0 0 20px; color: #006FDF; }

.bloc-a7f3-transmission__content p { margin: 0; font-size: 14px; line-height: 1.5; }

/* IMAGE */
.bloc-a7f3-transmission__card img { width: 100%; height: 225px; object-fit: cover; display: block; }

/* RESPONSIVE TABLETTE */
@media (max-width: 900px) { .bloc-a7f3-transmission__grid { grid-template-columns: repeat(2, 1fr); } }

/* RESPONSIVE MOBILE */
@media (max-width: 600px) { .bloc-a7f3-transmission { padding: 50px 15px; } .bloc-a7f3-transmission__header { margin-bottom: 35px; } .bloc-a7f3-transmission__header p { font-size: 18px; } .bloc-a7f3-transmission__grid { grid-template-columns: 1fr; } .bloc-a7f3-transmission__content { padding: 20px; } .bloc-a7f3-transmission__card img { height: 200px; } }

/*---------------------------------------------------------BLOC PRESTATIONS BORNE DE RECHARGE---------------------------------------------------------*/
.bloc-a7f3-borne { padding: 30px 20px 60px; }

.bloc-a7f3-borne__container { width: 100%; padding: 0 80px; margin: 0 auto; }

.bloc-a7f3-borne__header { max-width: 1550px; margin: 0 auto 45px; text-align: center; }

.bloc-a7f3-borne__header h2 { margin: 0 0 24px; line-height: 1.12; }

.bloc-a7f3-borne__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

.bloc-a7f3-borne__card { position: relative; min-height: 200px; padding: 24px; border-radius: 22px; background: #ffffff; border: 1px solid rgba(16, 24, 40, 0.08); box-shadow: 0 18px 45px rgba(16, 24, 40, 0.08); overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }

.bloc-a7f3-borne__card::before { content: ""; position: absolute; right: -45px; top: -45px; width: 130px; height: 130px; border-radius: 50%; background: rgba(242, 140, 0, 0.08); transition: transform 0.35s ease, background 0.35s ease; }

.bloc-a7f3-borne__card:hover { transform: translateY(-6px); border-color: rgba(0, 111, 223, 0.28); box-shadow: 0 24px 60px rgba(16, 24, 40, 0.13); }

.bloc-a7f3-borne__card:hover::before { transform: scale(1.25); background: rgba(0, 111, 223, 0.14); }

.bloc-a7f3-borne__icon { position: relative; z-index: 1; width: 45px; height: 45px; margin-bottom: 22px; display: flex; align-items: center; justify-content: center; border-radius: 15px; background: #F28C00; color: #101828; font-size: 14px; font-weight: 800; transition: background 0.35s ease, color 0.35s ease; }

.bloc-a7f3-borne__card:hover .bloc-a7f3-borne__icon { background: #006FDF; color: #ffffff; }

.bloc-a7f3-borne__card h3 { position: relative; z-index: 1; margin: 0 0 14px; line-height: 1.25; color: #006FDF; }

.bloc-a7f3-borne__text { position: relative; z-index: 1; }

.bloc-a7f3-borne__text p { margin: 0; line-height: 1.65; }

/*---------------------------------------------------------
RESPONSIVE
---------------------------------------------------------*/
@media (max-width: 768px) { .bloc-a7f3-borne { padding: 55px 15px; } .bloc-a7f3-borne__container { padding: 0; } .bloc-a7f3-borne__header { margin-bottom: 30px; } .bloc-a7f3-borne__grid { grid-template-columns: 1fr; gap: 16px; } .bloc-a7f3-borne__card { min-height: auto; padding: 24px; border-radius: 18px; } .bloc-a7f3-borne__icon { width: 48px; height: 48px; margin-bottom: 20px; border-radius: 14px; } }

/*--------------------------------------------------------- Modification pour les puces des listes des blocs servicesList------------------------------*/
div.shadow-lg { box-shadow: none !important; }

.fs-5.lead ul { list-style: none; padding-left: 0; margin-top: 10px; margin-bottom: 10px; }

.fs-5.lead ul li { position: relative; padding-left: 26px; margin-bottom: 6px; /* réduit l’espace vertical */ line-height: 1.35; /* texte plus compact */ }

.fs-5.lead ul li::before { content: "✓"; position: absolute; left: 0; top: 2px; color: #F28C00; }

/* Supprime l’espace généré par les <p> dans les li */
.fs-5.lead ul li p { margin-bottom: 0; }

/*---------------------------------------------------------FORMULAIRE MICROSOFT GFI------------------------------*/
/* Pages formulaires GFI */
body:has(#page-intervention), body:has(#page-recrutement) { padding-top: 0 !important; }

body:has(#page-intervention) #headerPage, body:has(#page-recrutement) #headerPage, body:has(#page-intervention) .spacer, body:has(#page-recrutement) .spacer { display: none !important; }

body:has(#page-intervention) .contenu, body:has(#page-recrutement) .contenu, body:has(#page-intervention) main, body:has(#page-recrutement) main, body:has(#page-intervention) .wrapper, body:has(#page-recrutement) .wrapper { padding-top: 0 !important; margin-top: 0 !important; }

/* Formulaire pleine largeur */
.bloc-gfi-formulaire { width: 100%; padding: 0; }

.bloc-gfi-formulaire__container { width: 100%; }

.bloc-gfi-formulaire iframe { display: block; width: 100%; height: 100vh; min-height: 900px; border: none; }

.spacer { display: none !important; }

/*--------------------------------------------------------- ICONS CONTACT BAS DE PAGE ---------------------------------------------------------*/
.bulle-link { width: 60px !important; height: 60px !important; min-width: 60px !important; min-height: 60px !important; }

#bulle-container { opacity: 1 !important; visibility: visible !important; display: flex !important; pointer-events: auto !important; transform: none !important; }

@media screen and (max-width: 767px) { .bulle-link { width: 52px !important; height: 52px !important; min-width: 52px !important; min-height: 52px !important; } }

/*--------------------------------------------------------- CTA 2 BOUTONS ---------------------------------------------------------*/
.bloc-r7k2-cta { width: 100%; min-height: 320px; background-size: cover; background-position: center; background-attachment: fixed; }

.bloc-r7k2-content { position: relative; z-index: 1; }

.bloc-r7k2-button { display: inline-block; }

.bloc-r7k2-button p { margin-bottom: 0; }

@media (max-width: 767.98px) { .bloc-r7k2-cta { background-attachment: scroll; } .bloc-r7k2-button p { margin-bottom: 0; } }

/*---------------------------------------------------------BLOC PICTOCARD----------------------------------------------------------------*/
.picto_card { padding: 30px 30px; margin: 10px auto; }

.picto_card .row { margin-top: 0 !important; margin-bottom: 0 !important; }

.picto_card .svg-picto-card { max-width: 500px; margin: 0 auto; }

.picto_card .svg-picto-card .text-shadow { max-width: 350px; margin-left: auto; margin-right: auto; }

.picto_card .svg-picto-card > svg { width: 30% !important; height: 30% !important; margin: 0 auto !important; color: #f28c00 !important; }

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