/**
 * Surcharges spécifiques à Divi
 * --------------------------------
 * Ne contient QUE les ajustements nécessaires pour que les composants du
 * design system (boutons, formulaire, sections courbées) s'intègrent
 * proprement dans les modules générés par Divi Builder, sans dupliquer ses
 * fonctionnalités ni casser l'éditeur visuel.
 *
 * Règle suivie : cibler les classes utilitaires posées manuellement par
 * l'éditeur (voir README §"Classes à ajouter dans Divi Builder") plutôt que
 * les identifiants générés automatiquement par Divi (#et_pb_module_xx) ou
 * la position d'un module.
 */

/* ==========================================================
   Boutons Divi (module Bouton, CTA, formulaires)
   Spécificité augmentée (.et_pb_button en plus de la classe utilitaire)
   pour la structure (padding, rayon, police) ; !important en plus sur
   les couleurs, seules propriétés que Divi peut resurfacer via une règle
   propre à l'ID du module (voir justification ci-dessous).
   ========================================================== */
.et_pb_button.maef-button,
.et_pb_module.maef-button {
	min-height: 44px;
	padding: 0.75rem 1.75rem;
	border-radius: var(--border-radius-pill);
	font-family: var(--font-heading);
	font-size: var(--font-size-sm);
	transition: filter var(--transition-default);
}

.et_pb_button.maef-button::after {
	/* Divi ajoute une flèche ::after sur ses boutons par défaut :
	   on la neutralise, le design system gère ses propres flèches. */
	display: none;
}

/* !important sur fond/bordure/texte uniquement : dès qu'un·e éditeur·rice
   touche, même une seule fois, le champ Couleur du texte/fond/bordure
   d'un module Bouton dans l'onglet Conception de Divi (y compris pour le
   remettre par défaut sans cliquer sur le petit reset), Divi génère une
   règle propre à l'ID de CE module (#et_pb_button_x { color: ... }), y
   compris pour ses états Survol/Actif. Une règle par ID bat toujours une
   règle par classes, quel que soit leur nombre — sans !important ici, un
   module bouton finit un jour avec un texte bleu par défaut de Divi.
   Mêmes couleurs qu'au repos sur :hover/:active à dessein : seule la
   légère surbrillance (filter, dans components.css) signale l'état. */
.et_pb_button.maef-button--primary,
.et_pb_button.maef-button--primary:hover,
.et_pb_button.maef-button--primary:active {
	background-color: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}

.et_pb_button.maef-button--secondary,
.et_pb_button.maef-button--secondary:hover,
.et_pb_button.maef-button--secondary:active {
	background-color: transparent !important;
	border-color: var(--color-black) !important;
	color: var(--color-primary) !important;
	font-weight: var(--font-weight-bold);
}

.et_pb_button.maef-button--tertiary,
.et_pb_button.maef-button--tertiary:hover,
.et_pb_button.maef-button--tertiary:active {
	background-color: transparent !important;
	border-color: var(--color-black) !important;
	color: var(--color-black) !important;
}

.et_pb_button.maef-button--on-dark,
.et_pb_button.maef-button--on-dark:hover,
.et_pb_button.maef-button--on-dark:active {
	background-color: transparent !important;
	border-color: var(--color-white) !important;
	color: var(--color-white) !important;
	font-weight: var(--font-weight-bold);
}

/* ==========================================================
   Navigation principale (#main-header)
   ------------------------------------------------------------
   Couleur : la fiche de référence indique #000000 pour l'ensemble du
   menu (pas de teinte tan documentée au survol/actif) — c'est la
   valeur retenue ici, sans couleur inventée.
   Graisse : la fiche indique "Regular et bold en actif", mais les
   items non actifs sont réellement embarqués en Medium (500) sur
   toutes les pages testées (jamais en Regular/400) ; seul l'item
   actif passe en Bold (700). Poids Medium ajouté au système pour
   rester fidèle à ce qui est réellement appliqué (voir variables.css).
   ========================================================== */
#top-menu > li > a {
	font-family: var(--font-heading);
	font-size: var(--font-size-nav);
	font-weight: var(--font-weight-medium);
	color: var(--color-text);
}

/* Retour visuel au survol sans introduire de couleur hors-spec :
   un léger fondu d'opacité suffit à signaler l'interactivité. */
#top-menu > li > a:hover {
	opacity: 0.65;
}

#top-menu > li.current-menu-item > a {
	font-weight: var(--font-weight-bold);
	opacity: 1;
}

/* En-tête transparent sur le hero (image pleine largeur) : texte de menu en
   blanc tant que la page n'a pas été scrollée. Le module main.js ajoute la
   classe .is-scrolled sur <body> au premier défilement — voir assets/js/main.js.
   Hypothèse : à activer uniquement si "En-tête transparent" est configuré dans
   Divi (Personnaliser > En-tête et navigation) pour la page d'accueil. */
body.maef-transparent-header:not(.is-scrolled) #top-menu > li > a,
body.maef-transparent-header:not(.is-scrolled) .logo_container .et-social-icon a {
	color: var(--color-white);
}

/* Menu mobile (hamburger) */
.et_mobile_menu li a {
	font-family: var(--font-heading);
	font-size: var(--font-size-nav);
	font-weight: var(--font-weight-medium);
}

.et_mobile_menu li.current-menu-item > a {
	font-weight: var(--font-weight-bold);
}

/* ==========================================================
   Sections / lignes courbées
   Le overflow:hidden est nécessaire pour que l'image ou le fond de couleur
   respecte le rayon de bordure appliqué à la section Divi qui l'englobe.
   ========================================================== */
.et_pb_section.maef-section--curved-top,
.et_pb_row.maef-section--curved-top {
	border-top-left-radius: var(--border-radius-lg);
	border-top-right-radius: var(--border-radius-lg);
	overflow: hidden;
}

.et_pb_section.maef-section--curved-bottom,
.et_pb_row.maef-section--curved-bottom {
	border-bottom-left-radius: var(--border-radius-lg);
	border-bottom-right-radius: var(--border-radius-lg);
	overflow: hidden;
}

/* ==========================================================
   Fonds de couleur (footer, CTA, sections navy/sage)
   ------------------------------------------------------------
   Divi génère pour CHAQUE section/ligne une règle .et_pb_section /
   .et_pb_row avec son propre background-color (même vide, Divi pose un
   blanc par défaut). Cette règle a exactement la même spécificité qu'un
   simple .maef-footer / .maef-cta : sans ce doublement de classe, c'est
   l'ordre de chargement qui déciderait du gagnant — et le CSS dynamique
   de Divi étant généré après celui du thème enfant, il l'emportait et
   repassait le fond en blanc malgré la classe posée dans le Builder.
   ========================================================== */
.et_pb_section.maef-footer,
.et_pb_row.maef-footer {
	background-color: var(--color-primary);
}

.et_pb_section.maef-cta,
.et_pb_row.maef-cta {
	background-color: var(--color-primary);
}

.et_pb_section.maef-section--primary,
.et_pb_row.maef-section--primary {
	background-color: var(--color-primary);
}

.et_pb_section.maef-section--surface,
.et_pb_row.maef-section--surface {
	background-color: var(--color-surface-alt);
}

/* ==========================================================
   Formulaire de contact (module Divi "Formulaire de contact")
   Reprend l'habillage de .maef-form (champs gris clair, pas de bordure
   visible, bouton pilule navy) directement sur le balisage généré par Divi.
   ========================================================== */
.et_pb_contact_form_container .et_pb_contact_field input,
.et_pb_contact_form_container .et_pb_contact_field textarea {
	background-color: var(--color-surface-alt);
	border: 1px solid transparent;
	border-radius: var(--border-radius-sm);
	padding: 1rem 1.25rem;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	color: var(--color-text);
}

.et_pb_contact_form_container .et_pb_contact_field input:focus,
.et_pb_contact_form_container .et_pb_contact_field textarea:focus {
	border-color: var(--color-primary);
	background-color: var(--color-white);
}

.et_pb_contact_form_container .et_pb_contact_submit {
	min-height: 44px;
	padding: 0.75rem 1.75rem;
	border-radius: var(--border-radius-pill);
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
	font-family: var(--font-heading);
	font-size: var(--font-size-sm);
}

/* ==========================================================
   Cartes construites avec le module Blurb Divi
   (icône désactivée dans les réglages du module, texte + lien uniquement)
   ========================================================== */
.et_pb_blurb.maef-card .et_pb_blurb_content {
	width: 100%;
}

.et_pb_blurb.maef-card .et_pb_module_header {
	font-family: var(--font-heading);
	font-size: var(--font-size-h5);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary);
}
