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