/* ============================================================
   EAGS — styles personnalisés
   Fichier enregistré dans functions.php (eags_enqueue_my_styles)
   et versionné sur sa date de modification (filemtime) pour
   invalider le cache du navigateur.
   Les règles sont rangées dans le sens de la page : de haut en bas.
   ============================================================ */

/* ------------------------------------------------------------
   1. Base — lissage des polices (toute la page)
   ------------------------------------------------------------ */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ------------------------------------------------------------
   2. Typographie — titres et paragraphes
      (utilisés dans toutes les sections : Hero → Copyright)
   ------------------------------------------------------------ */
.et_pb_heading h1,
.et_pb_heading h2,
.et_pb_heading h3,
.et_pb_heading h4 {
	text-wrap: balance;
}

.et_pb_text {
	text-wrap: pretty;
}

/* Paragraphes et listes : largeur de lecture confortable */
.et_pb_text:not(.et_pb_text_align_center) p,
.et_pb_text:not(.et_pb_text_align_center) ul {
	max-width: 66ch;
}

/* Texte centré : largeur confortée et recentrée */
.et_pb_text.et_pb_text_align_center p,
.et_pb_text.et_pb_text_align_center ul {
	max-width: 66ch;
	margin-left: auto;
	margin-right: auto;
}

/* ------------------------------------------------------------
   3. Boutons — .eags-btn (Hero, CTA et sections suivantes)
   ------------------------------------------------------------ */
.eags-btn.et_pb_module.et_pb_button {
	font-family: 'Noto Sans', sans-serif !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	border-radius: 8px !important;
	padding: 16px 34px !important;
	background-color: #173054 !important;
	color: #FFFFFF !important;
	box-shadow: 0 10px 24px rgba(23, 48, 84, .16);
	transition: background-color .16s ease-out, color .16s ease-out, box-shadow .2s ease-out, transform .2s ease-out;
	will-change: transform;
}

.eags-btn.et_pb_module.et_pb_button:hover {
	background-color: #1E4470 !important;
	color: #FFFFFF !important;
}

.eags-btn.et_pb_module.et_pb_button:active {
	transform: scale(.97);
}

/* Variante claire (sur fond sombre) */
.eags-btn-inverse.et_pb_module.et_pb_button {
	background-color: #FFFFFF !important;
	color: #173054 !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
}

.eags-btn-inverse.et_pb_module.et_pb_button:hover {
	background-color: #E9EEF5 !important;
	color: #173054 !important;
}

/* ------------------------------------------------------------
   4. Images — coins arrondis et fine bordure
   ------------------------------------------------------------ */
.et_pb_image_wrap {
	border-radius: 10px;
	overflow: hidden;
}

.et_pb_image img {
	outline: 1px solid rgba(17, 24, 39, .08);
	outline-offset: -1px;
}

/* ------------------------------------------------------------
   5. Navigation et accessibilité
   ------------------------------------------------------------ */
/* Ancre de la section Contact : marge sous le menu collant */
#contact {
	scroll-margin-top: 24px;
}

/* Halo de focus clavier */
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid #2EA3F2;
	outline-offset: 2px;
}

.eags-btn.et_pb_module.et_pb_button:focus-visible {
	outline: 2px solid #2EA3F2;
	outline-offset: 3px;
}

/* ------------------------------------------------------------
   6. Section Contact — bouton et champs du formulaire
   ------------------------------------------------------------ */
#et_pb_contact_form_7e7d38fb-c492-4815-9a5d-6aa286590aba .et_pb_button {
	background-color: #173054 !important;
	color: #FFFFFF !important;
	border-radius: 8px !important;
	font-family: 'Noto Sans', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	padding: 16px 34px !important;
}

#et_pb_contact_form_7e7d38fb-c492-4815-9a5d-6aa286590aba .et_pb_button:hover {
	background-color: #1E4470 !important;
}

/* Champs texte / téléphone / e-mail : largeur du formulaire */
input[type=text],
input[type=tel],
input[type=email] {
	width: 690px;
}

/* ------------------------------------------------------------
   7. Mobile
   ------------------------------------------------------------ */
@media (max-width: 767px) {
	.eags-btn.et_pb_module.et_pb_button {
		padding: 14px 26px;
		font-size: 14px;
	}
}

/* ------------------------------------------------------------
   8. Mouvement réduit (accessibilité)
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.eags-btn.et_pb_module.et_pb_button {
		transition: none;
	}

	.eags-btn.et_pb_module.et_pb_button:active {
		transform: none;
	}
}