/* Compléments propres au nouveau site, chargés après les styles d'Elementor. */

/* Emplacement des contenus externes pas encore branchés (avis Google, fil Instagram). */
.emplacement-externe { padding: 32px 16px; border: 1px dashed #C69C6B; border-radius: 10px; text-align: center; color: #8C3C39; font-family: Inter, sans-serif; font-size: 14px; }

/* Vidéo YouTube : format 16/9 comme le lecteur d'Elementor. */
.elementor-widget-video .elementor-wrapper { aspect-ratio: 16 / 9; }
.elementor-widget-video .elementor-video { width: 100%; height: 100%; border: 0; }

/* Prise de rendez-vous Google Agenda (Contact) : la page de Google est transparente, la feuille de style
   qui lui donnait son fond n'est plus servie par Google. On pose le fond blanc derrière elle. */
iframe[src*="calendar.google.com/calendar/appointments"] { background: #fff; border-radius: 8px; }

/* Titre devenu le titre principal de la page (h1) pour le référencement : il garde la taille de sa balise
   d'origine quand Elementor ne lui en donne pas (tailles du thème : h1 2.5rem, h2 2rem…). */
.elementor-heading-title[data-taille="h1"] { font-size: 2.5rem; }
.elementor-heading-title[data-taille="h2"] { font-size: 2rem; }
.elementor-heading-title[data-taille="h3"] { font-size: 1.75rem; }
.elementor-heading-title[data-taille="h4"] { font-size: 1.5rem; }
.elementor-heading-title[data-taille="h5"] { font-size: 1.25rem; }
.elementor-heading-title[data-taille="h6"] { font-size: 1rem; }
/* Fil Instagram (Trustindex) : le bloc Elementor centre ses éléments ; sans largeur imposée, le widget se tasse. */
.elementor-widget:has(.instagram-trustindex), .elementor-widget:has(.consent-instagram) { align-self: stretch; width: 100%; }

/* Cookies (bandeau maison, 12/10/2026) : bandeau, réglages par service, vignettes des contenus de tiers. */
.cookies { position: fixed; z-index: 1000; left: 16px; right: 16px; bottom: 16px; max-width: 760px; margin: 0 auto; max-height: calc(100vh - 32px); overflow: auto; background: #fff; color: #333; border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,.25); padding: 20px; font-family: Inter, sans-serif; font-size: 14px; line-height: 1.5; outline: none; }
.cookies p { margin: 0 0 12px; }
.cookies-titre { font-family: Buda, serif; font-size: 22px; color: #8C3C39; }
.cookies-services { border: 0; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cookies-services legend { font-weight: 600; margin-bottom: 6px; }
.cookies-services label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.cookies-services input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #8C3C39; flex: none; }
.cookies-boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.cookies-boutons button { flex: 1 1 160px; }
.consent-vignette { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px 16px; min-height: 220px; background: #F6EFE9; border: 1px dashed #C69C6B; border-radius: 8px; text-align: center; font-family: Inter, sans-serif; font-size: 14px; color: #4A433D; }
.consent-vignette p { margin: 0; max-width: 420px; }
.elementor-wrapper .consent-vignette { aspect-ratio: 16 / 9; min-height: 0; }
.consent-lien { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.rdv-lien { display: inline-block; padding: 10px 18px; border-radius: 4px; color: #fff !important; font: 500 14px Roboto, sans-serif; text-decoration: none; }

/* Notre équipe (maquette validée le 12/10/2026) : formateurs par discipline, cartes à la suite ; une rangée
   incomplète se centre. Les réglages des cartes reprennent ceux d'Elementor (identiques pour toutes), pour qu'une
   carte ajoutée (Severina Rizza) ait le même rendu. */
.elementor-widget-equipe-formation { width: 100%; }
.equipe-filtres { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 10px 0 44px; }
.equipe-discipline { margin: 0 0 50px; }
.equipe-discipline h3 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 12px; margin: 0 0 24px; text-align: center; font-family: Buda, serif; font-size: 30px; font-weight: 700; line-height: 1.2; color: #8C3C39; }
.equipe-discipline h3 small { font: 500 12px Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #C69C6B; }
.equipe-grille { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.equipe-grille > .elementor-widget-call-to-action { flex: 0 1 calc((100% - 40px) / 3); min-width: 0; padding: 0; border-radius: 10px; overflow: hidden; margin: 0; }
.equipe-grille .elementor-cta__content { min-height: 300px; text-align: center; padding: 10px; }
.equipe-grille .elementor-cta__bg, .equipe-grille .elementor-cta__bg-overlay { transition-duration: 1500ms; }
.equipe-responsable { display: inline-block; margin-top: 6px; padding: 3px 9px; border-radius: 999px; background: #F3E3D8; color: #8C3C39; font-weight: 600; font-size: .9em; }
@media (max-width: 1024px) { .equipe-grille > .elementor-widget-call-to-action { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 767px) { .equipe-grille > .elementor-widget-call-to-action { flex-basis: 100%; } }

/* Boutons propres au nouveau site (filtres de « Notre équipe », cookies, « Afficher… ») : même forme que les boutons
   Elementor du site (« Découvrez nos formations ») : doré, blanc au survol, bordeaux quand le choix est actif. Les
   couleurs du survol et de la sélection sont imposées : sinon le thème WordPress d'origine les met en rose (#c36). */
.equipe-filtres button, .cookies-boutons button, .consent-bouton { min-height: 44px; padding: 15px 20px; border: 0; border-radius: 10px; background: #C69C6B; color: #fff; font: 500 14px/1.1em Inter, sans-serif; text-transform: uppercase; letter-spacing: 1.5px; box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, .35); cursor: pointer; }
.equipe-filtres button:hover, .equipe-filtres button:focus, .cookies-boutons button:hover, .cookies-boutons button:focus, .consent-bouton:hover, .consent-bouton:focus { background: #fff; color: #8C3C39; }
.equipe-filtres button[aria-pressed="true"], .equipe-filtres button[aria-pressed="true"]:hover, .equipe-filtres button[aria-pressed="true"]:focus { background: #8C3C39; color: #fff; }
.equipe-filtres button:focus-visible, .cookies-boutons button:focus-visible, .consent-bouton:focus-visible { outline: 2px solid #8C3C39; outline-offset: 3px; }
.consent-lien:hover, .consent-lien:focus { background: none; color: inherit; }

/* Newsletter (13/10/2026) : case de consentement, champ caché pour les robots, message après l'envoi. */
.newsletter-piege { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.newsletter-consentement label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.newsletter-consentement input { width: 18px; height: 18px; margin: 3px 0 0; flex: none; accent-color: #8C3C39; }
.newsletter-merci { padding: 16px; border-radius: 8px; background: #F6EFE9; color: #3A3431; }
.newsletter-merci p { margin: 0 0 8px; }
.newsletter-merci p:last-child { margin: 0; }

/* Liens du bas de page (13/10/2026) : WordPress les passait en bordeaux au survol et après un clic, la couleur du
   fond : ils disparaissaient. Doré à la place, souligné pour rester lisible. */
body .elementor-176 .elementor-element.elementor-element-6646e92 a:hover,
body .elementor-176 .elementor-element.elementor-element-6646e92 a:focus { color: #C69C6B; text-decoration: underline; }

/* Pages de texte (CGV, règlement intérieur, outils/pages_textes.py) : titres d'article et note de version. */
.elementor-element-350b793 h2 { margin: 1.6em 0 .5em; font-family: Buda, serif; font-size: 28px; font-weight: 700; line-height: 1.2; color: #8C3C39; }
.elementor-element-350b793 h3 { margin: 1.2em 0 .4em; font-family: Inter, sans-serif; font-size: 19px; font-weight: 600; line-height: 1.3; color: #3A3431; }
.elementor-element-350b793 .texte-note { color: #6E6560; font-size: 15px; }
.elementor-element-350b793 ul { margin: 0 0 1em; padding-left: 1.4em; }
.elementor-element-350b793 li { margin: 0 0 .3em; }
/* Liens des pages de texte : bordeaux, doré au survol (le thème WordPress d'origine les mettait en rose #c36). */
.elementor-element-350b793 a { color: #8C3C39; text-decoration: underline; }
.elementor-element-350b793 a:hover, .elementor-element-350b793 a:focus { color: #C69C6B; }
