/*
Theme Name: Divi Community Child Theme
Description: Theme enfant de Divi par Divi Community
Author: Julien - WebMate
Author URI: https://www.divi-community.fr
Template: Divi
Version: 1.1
*/

/*
  ____ _____     _____      ____ ___  __  __ __  __ _   _ _   _ ___ _______   __
 |  _ \_ _\ \   / /_ _|    / ___/ _ \|  \/  |  \/  | | | | \ | |_ _|_   _\ \ / /
 | | | | | \ \ / / | |    | |  | | | | |\/| | |\/| | | | |  \| || |  | |  \ V /
 | |_| | |  \ V /  | |    | |__| |_| | |  | | |  | | |_| | |\  || |  | |   | |
 |____/___|  \_/  |___|    \____\___/|_|  |_|_|  |_|\___/|_| \_|___| |_|   |_|

*/


/* 
** CENTRER DU CONTENU VERTICALEMENT 
** Voir tuto : https://www.divi-community.fr/snippets-divi/centrer-du-contenu-verticalement
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}

/* Afficher uniquement le menu hamburger sur desktop */

@media (min-width: 981px) {
  /* cacher le menu horizontal classique */
  .xl-hamburger-menu .et_pb_menu__menu,
  .xl-hamburger-menu .et_pb_fullwidth_menu .et_pb_menu__menu {
    display: none !important;
  }

  /* montrer le menu mobile (hamburger) sur desktop */
  .xl-hamburger-menu .et_mobile_nav_menu,
  .xl-hamburger_menu .et_pb_fullwidth_menu .et_mobile_nav_menu {
    display: flex !important;
    float: none;
    margin: 0 0 0 auto;
    align-items: center;
  }

  /* enlever les puces dans le menu déroulant */
  .xl-hamburger-menu .et_mobile_nav_menu li {
    list-style-type: none;
  }
}

/*
** XLI — Formulaire Divi Form Builder sur fond sombre (section globale « Nous contacter »)
** Classe xli-form-sombre ajoutée au module Form (Avancé › Attributs › class)
*/
.xli-form-sombre .divi-form-builder-field[type=checkbox] + label,
.xli-form-sombre .et_pb_contact_field_options_list label,
.xli-form-sombre .dfb_content_text_field p {
	color: #E2E8F0;
}
.xli-form-sombre a {
	color: #FDBA74;
	text-decoration: underline;
}
.xli-form-sombre a:hover {
	color: #F97316;
}

/*
** XLI — Composants réutilisables (accueil v2, 2026-11-03)
** Classes posées dans Avancé › Attributs › class. Modifier ici = modifier partout.
*/
/* Boutons côte à côte (haut de page, support) */
.xli-hero .et_pb_button_module_wrapper,
.xli-actions .et_pb_button_module_wrapper {
	display: inline-block;
	margin: 0 12px 12px 0;
}
/* Bandeau de chiffres */
.xli-chiffres p { padding-bottom: 0; }
.xli-chiffres .xli-chiffre-valeur {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.2;
	color: var(--gcid-primary-color);
	margin-bottom: 6px;
}
.xli-chiffres .xli-chiffre-libelle { color: #475569; }
.xli-chiffres .et_pb_text_inner { text-align: center; }
@media (max-width: 980px) {
	.xli-chiffres .et_pb_row { display: flex; flex-wrap: wrap; }
	.xli-chiffres .et_pb_row > .et_pb_column { width: 50% !important; margin: 0 0 24px !important; padding: 0 8px; }
	.xli-chiffres .xli-chiffre-valeur { font-size: 26px; }
}
/* Cartes (services) */
.xli-carte {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 28px 24px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, .06);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.xli-carte:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(15, 23, 42, .12);
	border-color: var(--gcid-primary-color);
}
.xli-carte .et_pb_blurb_content { max-width: 100%; text-align: left; }
.xli-carte .et_pb_main_blurb_image { text-align: left; margin-bottom: 16px; }
.xli-carte h3 a { color: inherit; }
.xli-carte-col .et_pb_blurb {
	background: #fff;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 24px;
}
@media (min-width: 981px) {
	.xli-grille-cartes { display: flex; }
	.xli-grille-cartes > .et_pb_column { display: flex; }
	.xli-grille-cartes .xli-carte { width: 100%; }
}
/* Questions fréquentes */
.xli-faq .et_pb_toggle {
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 12px;
}
.xli-faq .et_pb_toggle_open { border-color: var(--gcid-primary-color); }
.xli-faq .et_pb_toggle_title:before { color: var(--gcid-primary-color); }

/*
** XLI — Coordonnées du footer (section globale 1714) : texte simple au lieu de titres H1-H4 (SEO), même rendu
*/
.xli-footer-nom, .xli-footer-adresse, .xli-footer-tel, .xli-footer-mail {
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	padding-bottom: 10px;
}
.xli-footer-nom { font-size: 30px; line-height: 1.2em; text-transform: uppercase; color: #FF7F00; }
.xli-footer-adresse { font-variant: small-caps; font-size: 1.1vw; line-height: 1.5em; color: #fff; }
.xli-footer-tel { font-variant: small-caps; font-size: 1.1vw; line-height: 1.6em; color: #FF7F00; }
.xli-footer-mail { font-size: 18px; font-weight: 700; color: #fff; }
@media (max-width: 980px) {
	.xli-footer-nom { font-size: 45px; }
	.xli-footer-adresse { font-size: 3vw; }
	.xli-footer-tel { font-size: 3.5vw; }
	.xli-footer-mail { font-size: 24px; }
}
@media (max-width: 767px) {
	.xli-footer-nom { font-size: 35px; }
	.xli-footer-adresse { font-size: 5vw; }
	.xli-footer-tel { font-size: 3.7vw; }
	.xli-footer-mail { font-size: 25px; }
}

/*
** XLI — Champs Divi Form Builder : styles de base repris de Divi (.et_pb_contact).
** Divi ne les charge que sur les pages où il détecte un formulaire dans le contenu de la page :
** sans ces règles, le formulaire de la section globale (footer) perd ses marges internes et ses cases à cocher.
** Les couleurs restent réglées dans le module Form.
*/
.de_fb_form .et_pb_contact_field input,
.de_fb_form .et_pb_contact_field textarea {
	appearance: none;
	width: 100%;
	border-width: 0;
	font-size: 14px;
	padding: 16px;
}
.de_fb_form .et_pb_contact_field textarea { font-family: inherit; }
.de_fb_form .et_pb_contact_field input[type="checkbox"],
.de_fb_form .et_pb_contact_field input[type="radio"] {
	margin: 0;
	width: auto;
	max-width: none;
	padding: 0;
	display: none;
}
.de_fb_form .et_pb_contact_field input[type="checkbox"] + label,
.de_fb_form .et_pb_contact_field input[type="radio"] + label {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	cursor: pointer;
	line-height: 1.7em;
	min-height: 1.7em;
}
.de_fb_form .et_pb_contact_field input[type="checkbox"] + label i,
.de_fb_form .et_pb_contact_field input[type="radio"] + label i {
	width: 18px;
	height: 18px;
	background-color: #eee;
	font-style: normal;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-right: 6px;
}
.de_fb_form .et_pb_contact_field input[type="radio"] + label i { border-radius: 50%; }
.de_fb_form .et_pb_contact_field input[type="checkbox"]:checked + label i::before,
.de_fb_form .et_pb_contact_field input[type="radio"]:checked + label i::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.de_fb_form .et_pb_contact_field input[type="checkbox"]:checked + label i::before {
	content: "N";
	font-family: ETmodules;
	color: var(--gcid-primary-color);
	font-size: 13px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
}
.de_fb_form .et_pb_contact_field input[type="radio"]:checked + label i::before {
	background: var(--gcid-primary-color);
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

/*
** XLI — Bandeau cookies Complianz aux couleurs du site (variables de Complianz ; html:root pour passer devant ses réglages)
** « Refuser » et « Préférences » ont le même poids visuel entre eux (recommandation CNIL : refuser aussi simple qu'accepter)
*/
html:root {
	--cmplz_text_color: #0F172A;
	--cmplz_hyperlink_color: #C2410C;
	--cmplz_banner_border_color: #E2E8F0;
	--cmplz_banner_border_width: 1px 1px 1px 1px;
	--cmplz_banner_border_radius: 16px 16px 16px 16px;
	--cmplz_button_border_radius: 8px 8px 8px 8px;
	--cmplz_button_accept_background_color: var(--gcid-primary-color);
	--cmplz_button_accept_border_color: var(--gcid-primary-color);
	--cmplz_button_accept_text_color: #ffffff;
	--cmplz_button_deny_background_color: #ffffff;
	--cmplz_button_deny_border_color: #0F172A;
	--cmplz_button_deny_text_color: #0F172A;
	--cmplz_button_settings_background_color: #ffffff;
	--cmplz_button_settings_border_color: #0F172A;
	--cmplz_button_settings_text_color: #0F172A;
	--cmplz_slider_active_color: var(--gcid-primary-color);
}
.cmplz-cookiebanner .cmplz-btn { font-family: 'Montserrat', sans-serif; font-weight: 600; }
.cmplz-cookiebanner .cmplz-title { font-family: 'Montserrat', sans-serif; font-weight: 700; }

/*
** XLI — Polices hébergées sur le site (RGPD : plus d'appel à fonts.googleapis.com) — 2026-11-04
** Fichiers dans le dossier fonts/ du thème enfant (WOFF, sous-ensemble latin, polices variables)
*/
@font-face { font-family: 'Montserrat'; src: url('fonts/montserrat-latin-variable.woff') format('woff'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('fonts/montserrat-latin-italic-variable.woff') format('woff'); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Open Sans'; src: url('fonts/opensans-latin-variable.woff') format('woff'); font-weight: 300 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Open Sans'; src: url('fonts/opensans-latin-italic-variable.woff') format('woff'); font-weight: 300 800; font-style: italic; font-display: swap; }

/*
** XLI — Pied de page : ligne « Nos services / XL INFORMATIQUE / Horaires et zone » (section globale 1714, classe sur la ligne) — 2026-11-04
*/
.xli-footer-liens { border-top: 1px solid rgba(255,255,255,0.12); margin-top: 40px !important; padding-top: 40px !important; }
.xli-footer-liens .xli-footer-titre { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 17px; color: #FF7F00; padding-bottom: 0; margin-bottom: 12px; }
.xli-footer-liens ul { list-style: none !important; padding: 0 !important; margin: 0; }
.xli-footer-liens li { margin-bottom: 8px; }
.xli-footer-liens p, .xli-footer-liens a { color: rgba(255,255,255,0.8); font-size: 15px; line-height: 1.6; }
.xli-footer-liens a:hover { color: #FF7F00; }
@media (max-width: 980px) { .xli-footer-liens .et_pb_column { margin-bottom: 28px !important; } }

/*
** XLI — En-tête (Theme Builder, modèle « Tous Les Pages ») — 2026-11-04
** Section .xli-entete : bandeau .xli-entete-haut (zone, horaires, 2 téléphones) + barre .xli-entete-barre (logo, menu, bouton Nous contacter)
** En-tête fixé en haut au défilement (sticky), mise en page en flex sur toutes les tailles
*/
.et-l--header { position: sticky; top: 0; z-index: 9999; }
body.admin-bar .et-l--header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .et-l--header { top: 0; } }
.xli-entete { padding: 0 !important; }
.xli-entete-haut, .xli-entete-barre { display: flex !important; align-items: center; justify-content: space-between; width: 100% !important; max-width: none !important; margin: 0 !important; }
.xli-entete-haut .et_pb_column, .xli-entete-barre .et_pb_column { width: auto !important; margin: 0 !important; }
.xli-entete-haut { background: #0B1120; padding: 6px 4vw !important; border-bottom: 1px solid rgba(255,255,255,0.08); }
.xli-entete-haut p { font-size: 13px; line-height: 1.4; color: rgba(255,255,255,0.75); padding: 0; }
.xli-entete-tel { display: flex; gap: 22px; }
.xli-entete-tel a { color: #fff; font-weight: 600; white-space: nowrap; }
.xli-entete-tel a::before { content: "\e090"; font-family: ETmodules; font-weight: 400; color: #FF7F00; margin-right: 6px; }
.xli-entete-tel a:hover { color: #FF7F00; }
.xli-tel-nom { color: #FF7F00; margin-right: 3px; }
.xli-entete-barre { background: #0F172A; padding: 8px 4vw !important; box-shadow: 0 4px 18px rgba(0,0,0,0.25); position: relative; }
.xli-entete-barre .et_pb_column:nth-child(2) { flex: 1; }
.xli-entete-barre .et_pb_image img { height: 58px; width: auto; }
.xli-entete-barre .et_pb_menu .et_pb_menu__wrap { justify-content: center; }
.xli-entete-barre .et_pb_menu .et-menu > li { padding-left: 13px; padding-right: 13px; }
.xli-entete-barre .et_pb_menu .et-menu > li > a { color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 600; }
.xli-entete-barre .et_pb_menu .et-menu > li.current-menu-item > a, .xli-entete-barre .et_pb_menu .et-menu > li > a:hover { color: #FF7F00 !important; opacity: 1; }
.xli-entete-barre .et_pb_button { background: #FF7F00 !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; padding: 10px 20px !important; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px !important; line-height: 1.2 !important; white-space: nowrap; }
.xli-entete-barre .et_pb_button::after { display: none !important; }
.xli-entete-barre .et_pb_button:hover { background: #EA580C !important; }
.xli-entete-barre .et_pb_column:first-child, .xli-entete-barre .et_pb_column:last-child { flex-shrink: 0; }
.xli-entete-barre .et_pb_menu .et-menu { flex-wrap: nowrap; }
@media (min-width: 981px) and (max-width: 1279px) {
	.xli-entete-haut p { font-size: 12px; }
	.xli-entete-barre .et_pb_image img { height: 48px; }
	.xli-entete-barre .et_pb_menu .et-menu > li { padding-left: 6px; padding-right: 6px; }
	.xli-entete-barre .et_pb_menu .et-menu > li > a { font-size: 13px !important; }
	.xli-entete-barre .et_pb_button { padding: 9px 14px !important; font-size: 13px !important; }
}
@media (max-width: 980px) {
	.xli-entete-haut { justify-content: center; }
	.xli-entete-haut .et_pb_column:first-child { display: none !important; }
	.xli-entete-barre { padding: 6px 4vw !important; }
	.xli-entete-barre .et_pb_image img { height: 46px; }
	.xli-entete-barre .et_pb_column:nth-child(2) { order: 3; flex: 0 0 auto; }
	.xli-entete-barre .et_pb_column:nth-child(3) { order: 2; margin-left: auto !important; margin-right: 10px !important; }
	.xli-entete-barre .et_pb_column:nth-child(2), .xli-entete-barre .et_pb_menu, .xli-entete-barre .et_pb_menu_inner_container, .xli-entete-barre .et_pb_menu__wrap, .xli-entete-barre .et_mobile_nav_menu, .xli-entete-barre .mobile_nav { position: static !important; }
	.xli-entete-barre .et_mobile_menu { position: absolute; left: 0; right: 0; top: 100%; width: 100% !important; margin: 0 !important; padding: 8px 4vw 16px; background: #0F172A !important; border-top: 3px solid #FF7F00; box-shadow: 0 10px 20px rgba(0,0,0,0.3); }
	.xli-entete-barre .et_mobile_menu li a { color: #fff !important; font-family: 'Montserrat', sans-serif; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.08); }
	.xli-entete-barre .et_mobile_menu li.current-menu-item > a { color: #FF7F00 !important; }
	.xli-entete-barre .et_pb_button { padding: 9px 14px !important; font-size: 13px !important; }
}
@media (max-width: 420px) {
	.xli-entete-haut { padding: 6px 10px !important; }
	.xli-entete-tel { gap: 12px; }
	.xli-entete-tel a { font-size: 12px; }
	.xli-entete-barre .et_pb_button { padding: 8px 12px !important; }
}

/* === Grille de 4 cartes (pages services) : 2 × 2 entre 981 et 1279 px === */
@media (min-width: 981px) and (max-width: 1279px) {
	.xli-grille-cartes.et_pb_row_4col { flex-wrap: wrap; }
	.xli-grille-cartes.et_pb_row_4col > .et_pb_column { width: 47.25% !important; margin-right: 5.5% !important; margin-bottom: 30px; }
	.xli-grille-cartes.et_pb_row_4col > .et_pb_column:nth-child(2n) { margin-right: 0 !important; }
}

/* === En-tête : numéros en capsules « verre » à onde pulsée (2026-11-05) === */
.xli-entete-haut { padding-top: 6px !important; padding-bottom: 6px !important; }
.xli-entete-tel { display: flex; flex-wrap: nowrap; gap: 12px; margin: 0; }
.xli-entete-tel a {
	position: relative; display: inline-flex; flex-direction: column; justify-content: center;
	min-height: 40px; padding: 4px 16px 4px 46px; border-radius: 999px;
	font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; line-height: 1.15;
	letter-spacing: .04em; font-variant-numeric: tabular-nums; white-space: nowrap; color: #fff !important;
	background: linear-gradient(#0B1120, #0B1120) padding-box,
		linear-gradient(120deg, rgba(255,127,0,.9), rgba(255,255,255,.12) 45%, rgba(255,179,71,.7)) border-box;
	border: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
	transition: transform .25s, box-shadow .25s;
}
.xli-entete-tel a::before {
	content: ""; position: absolute; left: 5px; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 0;
	border-radius: 50%; background: linear-gradient(135deg, #FF7F00, #FF5E00); animation: xli-tel-onde 2.6s infinite;
}
.xli-entete-tel a:nth-child(2)::before { animation-delay: 1.3s; }
.xli-entete-tel a::after {
	content: ""; position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.xli-entete-tel .xli-tel-nom {
	display: block; margin: 0; font-size: 9.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: #FFB347; line-height: 1.1;
}
.xli-entete-tel a:hover { color: #fff !important; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,127,0,.25); }
@keyframes xli-tel-onde {
	0% { box-shadow: 0 0 0 0 rgba(255,127,0,.55); }
	70% { box-shadow: 0 0 0 9px rgba(255,127,0,0); }
	100% { box-shadow: 0 0 0 0 rgba(255,127,0,0); }
}
@media (min-width: 981px) and (max-width: 1279px) {
	.xli-entete-tel a { font-size: 14px; }
}
@media (max-width: 980px) {
	.xli-entete-haut { padding: 6px 8px !important; }
}
@media (max-width: 420px) {
	.xli-entete-tel { gap: 8px; }
	.xli-entete-tel a { font-size: 13px; letter-spacing: .02em; min-height: 36px; padding: 3px 11px 3px 38px; }
	.xli-entete-tel a::before { left: 4px; width: 26px; height: 26px; margin-top: -13px; }
	.xli-entete-tel a::after { left: 10px; width: 14px; height: 14px; margin-top: -7px; }
}
@media (max-width: 360px) {
	.xli-entete-tel { gap: 6px; }
	.xli-entete-tel a { font-size: 12px; letter-spacing: 0; padding: 3px 9px 3px 33px; }
	.xli-entete-tel a::before { width: 23px; height: 23px; margin-top: -11.5px; }
	.xli-entete-tel a::after { left: 9px; width: 12px; height: 12px; margin-top: -6px; }
	.xli-entete-tel .xli-tel-nom { font-size: 8.5px; letter-spacing: .12em; }
}
@media (prefers-reduced-motion: reduce) {
	.xli-entete-tel a::before { animation: none; }
	.xli-entete-tel a { transition: none; }
}

/* === Héros des pages de services (.xli-hero-service) — 2026-11-05 === */
.et_pb_section.xli-hero-service { position: relative; }
.et_pb_section.xli-hero-service::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(90deg, rgba(11,17,32,.95) 0%, rgba(11,17,32,.88) 42%, rgba(11,17,32,.55) 75%, rgba(11,17,32,.35) 100%);
}
.et_pb_section.xli-hero-service > .et_pb_row { position: relative; z-index: 1; }
.xli-hero-service h1 .xli-orange { color: #FF7F00; white-space: nowrap; }
.xli-surtitre {
	display: inline-block; margin-bottom: 18px; padding: 6px 14px; border-radius: 999px;
	border: 1px solid rgba(255,127,0,.6); background: rgba(255,127,0,.1); color: #FFB347;
	font: 700 12px/1.2 'Montserrat', sans-serif; letter-spacing: .16em; text-transform: uppercase;
}
.et_pb_text ul.xli-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; padding: 0 !important; list-style: none; }
.xli-badges li {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 10px;
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: #fff;
	font: 600 14px/1.3 'Montserrat', sans-serif;
}
.xli-badges li::before { content: ""; flex: 0 0 8px; height: 8px; border-radius: 50%; background: #FF7F00; box-shadow: 0 0 0 4px rgba(255,127,0,.18); }
@media (max-width: 980px) {
	.et_pb_section.xli-hero-service::before { background: linear-gradient(180deg, rgba(11,17,32,.9), rgba(11,17,32,.82)); }
}
@media (max-width: 767px) {
	.xli-surtitre { font-size: 11px; margin-bottom: 14px; }
	.xli-badges li { font-size: 13px; padding: 7px 12px; }
}

/* ===== Test du vrai partenariat (checklist interactive) ===== */
.xli-checklist { max-width: 900px; margin: 0 auto; }
.xli-checklist-groupe { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; padding: 22px 26px; margin-bottom: 18px; box-shadow: 0 4px 14px rgba(15,23,42,.04); }
.xli-checklist h3 { margin: 0 0 10px; padding: 0; font: 700 18px/1.3 'Montserrat', sans-serif; color: #0F172A; }
.xli-checklist label { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; border-top: 1px solid #F1F5F9; cursor: pointer; font-size: 16px; line-height: 1.55; color: #334155; }
.xli-checklist h3 + label { border-top: 0; }
.xli-checklist input[type=checkbox] { appearance: none; -webkit-appearance: none; flex: 0 0 24px; width: 24px; height: 24px; margin: 1px 0 0; border: 2px solid #CBD5E1; border-radius: 6px; background: #fff; position: relative; cursor: pointer; transition: background .2s, border-color .2s; }
.xli-checklist input[type=checkbox]:checked { background: #FF7F00; border-color: #FF7F00; }
.xli-checklist input[type=checkbox]:checked::after { content: ""; position: absolute; left: 7px; top: 3px; width: 6px; height: 11px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.xli-checklist input[type=checkbox]:focus-visible { outline: 3px solid rgba(255,127,0,.4); outline-offset: 2px; }
.xli-checklist input[type=checkbox]:checked + span { color: #0F172A; }
.xli-score { margin-top: 24px; padding: 22px 26px; border-radius: 16px; background: #0F172A; color: #fff; }
.xli-score-haut { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 600 15px/1.3 'Montserrat', sans-serif; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.8); }
.xli-score-nb { font: 800 30px/1 'Montserrat', sans-serif; color: #FF7F00; letter-spacing: 0; }
.xli-score-barre { height: 10px; margin: 14px 0; border-radius: 999px; background: rgba(255,255,255,.15); overflow: hidden; }
.xli-score-barre span { display: block; height: 100%; width: 0; border-radius: 999px; background: #FF7F00; transition: width .3s ease; }
.xli-score-ok .xli-score-barre span { background: #22C55E; }
.xli-score-ok .xli-score-nb { color: #22C55E; }
.xli-score-msg { margin: 0; padding: 0; font-size: 16px; line-height: 1.5; color: #fff; }
@media (max-width: 767px) {
	.xli-checklist-groupe { padding: 18px 16px; }
	.xli-checklist label { font-size: 15px; gap: 12px; }
	.xli-score { padding: 18px 16px; }
	.xli-score-nb { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) { .xli-score-barre span, .xli-checklist input[type=checkbox] { transition: none; } }

/* ===== Sous-menu « Services » de l'en-tête : libellés sur une ligne ===== */
@media (min-width: 981px) {
	.et-l--header .et_pb_menu .et-menu li ul.sub-menu { width: 290px; }
	.et-l--header .et_pb_menu .et-menu li li { width: 100%; }
	.et-l--header .et_pb_menu .et-menu li li a { width: auto; white-space: nowrap; }
}
