/* GHRM - Correctifs d'accessibilite WCAG 2.2 AA du rendu natif Divi 5.9.0
   Chaque regle compense une lacune native documentee. Ne pas ajouter de style decoratif ici. */

/* 1. Divi rend les labels de formulaire en display:none : absents de l'arbre d'accessibilite. */
.et_pb_newsletter_form .et_pb_contact_form_label,
.et_pb_contact_form .et_pb_contact_form_label{display:block!important;margin-bottom:6px;font-size:14px}

/* Le titre d'options repete le label : masque visuellement, conserve pour les lecteurs d'ecran. */
.et_pb_newsletter_form .et_pb_contact_field_options_title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 2. Cibles tactiles minimales de 44px (WCAG 2.5.8). */
.et_pb_newsletter_form .input,
.et_pb_newsletter_form .et_pb_newsletter_button,
.et_pb_contact_form .input{min-height:44px}
.et_pb_menu .et-menu li>a{min-height:44px;display:flex;align-items:center}

/* 3. Focus visible (WCAG 2.4.11), couleur issue des variables globales GHRM. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gcid-ghrm-brand-primary,#FF6600);outline-offset:2px}

/* 4. Reduction des animations (WCAG 2.3.3). */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 5. Mega menus : Divi n'ouvre les sous-menus qu'au survol.
      Zero regle :focus-within dans style-static.min.css -> inaccessible au clavier (WCAG 2.1.1). */
.et_pb_menu .et-menu>li:focus-within>ul,
.et_pb_menu .et-menu>li.mega-menu:focus-within>ul,
.et_pb_menu .et-menu li:focus-within>ul.sub-menu{opacity:1!important;visibility:visible!important;display:block!important}
.et_pb_menu .et-menu>li.mega-menu:focus-within>ul{position:absolute!important}

/* 6. Menu mobile : Divi deploie tous les niveaux en permanence. Passage en accordeon. */
.et_mobile_menu .menu-item-has-children>ul.sub-menu{display:none}
.et_mobile_menu .menu-item-has-children.ghrm-ouvert>ul.sub-menu{display:block}
.ghrm-bascule{background:none;border:0;padding:0 12px;min-width:44px;min-height:44px;cursor:pointer;float:right;color:inherit;font-size:18px;line-height:1}
.ghrm-bascule::before{content:"+"}
.menu-item-has-children.ghrm-ouvert>.ghrm-bascule::before{content:"\2212"}


/* ==========================================================================
   GHRM - Cibles interactives 44px (WCAG 2.2 AA, critere 2.5.8 Target Size)
   Ajoute le 21/08/2026. Ne modifie ni la taille de texte ni les couleurs :
   seule la boite du controle est portee a 44px de haut, le contenu reste
   centre. Les etats hover, focus et focus-visible restent ceux de Divi.
   ========================================================================== */
.et_pb_button,
a.et_pb_button,
.et_pb_contact_submit,
.mailerlite-subscribe-submit,
button[type="submit"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* Icone de recherche du menu : zone cliquable etendue, icone inchangee. */
.et_pb_menu__search-button {
  min-width: 44px;
  min-height: 44px;
}

/* La fleche Divi reste positionnee par rapport au bouton, pas au flux flex. */
.et_pb_button::after { position: relative; }

/* Module Recherche Divi : champ et bouton portes a 44px, perimetre public.
   La barre d'administration WordPress est exclue explicitement.
   Le champ est traite en meme temps que le bouton : les deux sont alignes
   sur la meme ligne, corriger le bouton seul creerait un decalage vertical.
   Taille de texte, couleur et largeur inchangees. */
input[type="submit"]:not(.adminbar-button),
input.et_pb_searchsubmit,
input.et_pb_s {
  min-height: 44px;
}

/* ==========================================================================
   GHRM - Indicateur de focus clavier (WCAG 2.4.7 et 2.4.11)
   Divi pose outline-style:none sur les controles. On retablit un indicateur
   uniquement au focus clavier (:focus-visible), donc invisible au clic souris.
   Double contour : trait sombre + halo blanc, lisible sur fond clair comme
   sur fond sombre sans dependre d'une couleur de marque.
   Aucune modification des etats normal, hover ou active.
   ========================================================================== */
.et_pb_button:focus-visible,
a.et_pb_button:focus-visible,
.et_pb_contact_submit:focus-visible,
.mailerlite-subscribe-submit:focus-visible,
button[type="submit"]:focus-visible,
input[type="submit"]:not(.adminbar-button):focus-visible,
input.et_pb_searchsubmit:focus-visible,
input.et_pb_s:focus-visible,
.et_pb_menu__search-button:focus-visible,
.et-menu a:focus-visible,
.et_pb_contact_field input:focus-visible,
.et_pb_contact_field textarea:focus-visible,
.et_pb_contact_select:focus-visible {
  outline: 3px solid #111827 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 6px #FFFFFF, 0 0 0 8px #111827 !important;
  border-radius: 4px;
}

/* Le contour deborde la boite : les conteneurs directs ne doivent pas le rogner. */
.et_pb_button_module_wrapper,
.et_pb_contact_field,
.et_pb_searchform,
.et_pb_search,
[class*="et_pb_search_"],
.et_pb_menu__wrap { overflow: visible !important; }
