/* Version téléphone (30/10/2026), d'après la toile Claude Design https://claude.ai/artifact/H9tGpHy4XY2fgkYjt7iVWv
   (kit commun et une planche par page). Groupe « commun » : en-tête, menu, pied de page, bouton haut de page, bandeaux, règles générales.
   Tout est dans la règle @media ci-dessous : rien ne change sur ordinateur ni sur tablette large. */
@media (max-width: 767px) {

  /* ── 1. En-tête fixe de 64 px (kit, partie 1) : logo court de 44 px à gauche, bouton menu de 44 px à droite.
     Le gros bouton « Découvrez nos formations » ne s'affiche plus (il est en bas du menu ouvert). L'en-tête reste en haut
     de l'écran pendant la lecture ; les ancres de page s'arrêtent sous lui (marge sur les cibles et non « scroll-padding »
     sur la page : sinon, à la fermeture du menu, le bouton menu qui reprend la main faisait remonter la page). */
  :where([id]) { scroll-margin-top: 72px; }
  .elementor-location-header { position: sticky; top: 0; z-index: 999; background: #fff; }
  .elementor-15 .elementor-element.elementor-element-f16677a {
    --padding-top: 0px !important; --padding-bottom: 0px !important; --padding-left: 16px !important; --padding-right: 8px !important;
    --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important;
    flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important;
    height: 64px; min-height: 0 !important; box-sizing: border-box; padding: 0 8px 0 16px !important; margin: 0 !important;
    background: #fff !important; border-bottom: 1px solid #e5e0db;
  }
  .elementor-15 .elementor-element.elementor-element-9554bc4 {
    --padding-top: 0px !important; --padding-bottom: 0px !important; --gap: 0px !important;
    flex: 0 1 auto !important; width: auto !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; align-items: flex-start !important;
  }
  .elementor-15 .elementor-element.elementor-element-1e0726c { width: auto !important; margin: 0 !important; }
  .elementor-15 .elementor-element.elementor-element-1e0726c a { display: block; }
  .elementor-15 .elementor-element.elementor-element-1e0726c img { display: block; width: auto !important; height: 44px !important; max-width: none; }
  .elementor-15 .elementor-element.elementor-element-2607413,
  .elementor-15 .elementor-element.elementor-element-1a6fd80 { display: none !important; }
  .elementor-15 .elementor-element.elementor-element-4e940b8 {
    --padding-top: 0px !important; --padding-bottom: 0px !important; --gap: 0px !important;
    flex: 0 0 44px !important; width: 44px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
  }
  .elementor-15 .elementor-element.elementor-element-5b5084d { width: 44px !important; margin: 0 !important; padding: 0 !important; }
  .elementor-15 .elementor-element.elementor-element-5b5084d .elementor-menu-toggle,
  .elementor-15 .elementor-element.elementor-element-5b5084d .elementor-menu-toggle:hover,
  .elementor-15 .elementor-element.elementor-element-5b5084d .elementor-menu-toggle:focus {
    width: 44px; height: 44px; box-sizing: border-box; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 4px;
    background: transparent !important; color: #8c3c39 !important; fill: #8c3c39 !important; font-size: 24px !important;
  }
  .elementor-15 .elementor-element.elementor-element-5b5084d .elementor-menu-toggle svg { width: 24px !important; height: 24px !important; fill: #8c3c39 !important; color: #8c3c39 !important; }
  .elementor-15 .elementor-element.elementor-element-5b5084d .elementor-menu-toggle:focus-visible { outline: 2px solid #8c3c39; outline-offset: -2px; }

  /* ── 2. Menu ouvert (kit, partie 2) : même en-tête de 64 px (logo court, croix), grandes entrées en Buda 22 px sur des
     lignes de 56 px, « Nos formations » en tête de liste, le bouton en bas. Une rubrique ouverte se présente comme
     dépliée : son titre en rouge avec la flèche vers le haut, ses pages en lignes de 44 px en dessous (les vignettes
     photo du menu ordinateur ne s'affichent pas sur téléphone). */
  .cx-mn-carte { display: flex; flex-direction: column; }
  .cx-mn-tete { flex: none; height: 64px; box-sizing: border-box; padding: 0 8px 0 16px; border-bottom: 1px solid #e5e0db; }
  .cx-mn-tete img { display: block; width: auto; height: 44px; }
  .cx-mn-corps { padding: 8px 16px 24px; }
  .cx-mn-liste > li:nth-child(3) { order: -1; }
  .cx-mn-liste > li:first-child { order: -2; }
  .cx-mn .cx-mn-ligne, .cx-mn .cx-mn-ligne:hover, .cx-mn .cx-mn-ligne:focus {
    min-height: 56px; font-family: Buda, Georgia, serif; font-weight: 700; font-size: 22px; line-height: 28px; color: #000;
  }
  .cx-mn .cx-mn-ligne:focus-visible { outline: 2px solid #8c3c39; outline-offset: -2px; }
  .cx-mn .cx-mn-ligne[aria-current="page"] { color: #8c3c39; }
  .cx-mn-suite svg { width: 20px; height: 20px; transform: rotate(90deg); color: #8c3c39; }
  .cx-mn-maison svg { width: 22px; height: 22px; color: #8c3c39; }
  .cx-mn-ici { font-size: 11px; line-height: 14px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 8px; }

  .cx-mn-rubrique { gap: 0; }
  .cx-mn-retour-ligne { min-height: 44px; }
  .cx-mn .cx-mn-retour, .cx-mn .cx-mn-retour:hover, .cx-mn .cx-mn-retour:focus { font: 700 16px/24px Inter, sans-serif; padding: 0 12px 0 0; color: #8c3c39; }
  .cx-mn-sur { display: none; }
  .cx-mn .cx-mn-titre {
    display: flex; align-items: center; justify-content: space-between; min-height: 56px; margin: 0;
    border-bottom: 1px solid #e5e0db; font-family: Buda, Georgia, serif; font-weight: 700; font-size: 22px; line-height: 28px; color: #8c3c39;
  }
  .cx-mn .cx-mn-titre::after {
    content: ""; flex: none; width: 20px; height: 20px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216.49,151.51a12,12,0,0,1-17,17L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M216.49,151.51a12,12,0,0,1-17,17L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0Z'/%3E%3C/svg%3E") no-repeat center / contain;
  }
  .cx-mn-vignettes, .cx-mn-vignettes.impair { display: flex; flex-direction: column; gap: 0; padding: 8px 0 0 16px; }
  .cx-mn .cx-mn-vignette, .cx-mn .cx-mn-vignette.neutre, .cx-mn .cx-mn-vignette.neutre.actif,
  .cx-mn-vignettes.impair .cx-mn-vignette:last-child {
    display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 0;
    min-height: 44px; aspect-ratio: auto; grid-column: auto; border-radius: 0; overflow: visible; background: transparent;
  }
  .cx-mn .cx-mn-vignette:hover, .cx-mn .cx-mn-vignette:focus-visible, .cx-mn .cx-mn-vignette.neutre:hover, .cx-mn .cx-mn-vignette.neutre:focus-visible { background: transparent; }
  .cx-mn-vignette img, .cx-mn-vignette.neutre svg { display: none; }
  .cx-mn-vignette span, .cx-mn-vignette:hover span, .cx-mn-vignette:focus-visible span,
  .cx-mn-vignette.neutre span, .cx-mn-vignette.neutre:hover span, .cx-mn-vignette.actif span, .cx-mn-vignette.actif:hover span,
  .cx-mn .cx-mn-vignette.neutre.actif span {
    position: static; inset: auto; display: block; padding: 0; background: transparent; text-align: left;
    font-family: Inter, sans-serif; font-weight: 400; font-size: 16px; line-height: 24px; color: #000;
  }
  .cx-mn-vignette.actif span, .cx-mn-vignette.actif:hover span, .cx-mn .cx-mn-vignette.neutre.actif span { font-weight: 700; color: #8c3c39; }
  .cx-mn .cx-mn-vignette:focus-visible { outline: 2px solid #8c3c39; outline-offset: -2px; }
  .cx-mn .cx-mn-lien, .cx-mn .cx-mn-lien:hover {
    display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 44px; padding: 0 0 8px 16px;
    border-bottom: 1px solid #e5e0db; font: 400 16px/24px Inter, sans-serif; color: #000;
  }
  .cx-mn-rubrique .cx-mn-vignettes:last-child { padding-bottom: 8px; border-bottom: 1px solid #e5e0db; }
  .cx-mn-lien svg { display: none; }
  .cx-mn-pied { flex: none; padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .cx-mn .cx-mn-bouton { height: 48px; font: 700 16px/24px Inter, sans-serif; gap: 8px; }

  /* ── 9. Pied de page (kit, partie 9) : logo vertical, coordonnées alignées avec leurs pictogrammes or clair à gauche,
     réseaux, liens légaux, puis la ligne « Dernière mise à jour » rattachée au rouge (sans grand vide rouge). */
  .elementor-176 .elementor-element.elementor-element-5b094bd,
  .elementor-176 .elementor-element.elementor-element-0adc354,
  .elementor-176 .elementor-element.elementor-element-fa5c09a {
    --padding-top: 0px !important; --padding-bottom: 0px !important; --padding-left: 16px !important; --padding-right: 16px !important;
    --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important;
    padding: 0 16px !important; margin: 0 !important; background-color: #8c3c39 !important;
  }
  .elementor-176 .elementor-element.elementor-element-5b094bd > .e-con-inner,
  .elementor-176 .elementor-element.elementor-element-0adc354 > .e-con-inner,
  .elementor-176 .elementor-element.elementor-element-fa5c09a > .e-con-inner { padding: 0 !important; margin: 0 !important; gap: 0 !important; }
  .elementor-176 .elementor-element.elementor-element-5b094bd > .e-con-inner { padding-top: 48px !important; }
  .elementor-176 .elementor-element.elementor-element-a9967a3 { --padding-top: 0px !important; --padding-bottom: 0px !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
  .elementor-176 .elementor-element.elementor-element-2c808cb { margin: 0 !important; }
  .elementor-176 .elementor-element.elementor-element-2c808cb img,
  .elementor-location-footer .elementor-element-2c808cb img { display: block; width: 150px !important; height: auto !important; max-width: none; margin: 0 auto; }

  /* Coordonnées : une ligne par information, pictogramme or clair de 20 px à gauche, centré sur la ligne. */
  .elementor-176 .elementor-element.elementor-element-0adc354 > .e-con-inner { padding-top: 24px !important; display: flex !important; flex-direction: column !important; gap: 14px !important; }
  .elementor-176 .elementor-element.elementor-element-e5ade95,
  .elementor-176 .elementor-element.elementor-element-d4c3b05 { --padding-top: 0px !important; --padding-bottom: 0px !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
  .elementor-176 .elementor-icon-list-items { display: flex !important; flex-direction: column; gap: 14px; margin: 0 !important; padding: 0 !important; }
  .elementor-176 .elementor-icon-list-item,
  .elementor-176 .elementor-icon-list-item:not(:last-child),
  .elementor-176 .elementor-icon-list-item:not(:first-child) { margin: 0 !important; padding: 0 !important; }
  .elementor-176 .elementor-icon-list-item:not(:last-child)::after { display: none !important; }
  .elementor-176 .elementor-icon-list-item,
  .elementor-176 .elementor-icon-list-item > a { display: flex !important; align-items: center !important; gap: 12px; min-height: 0 !important; text-align: left; }
  .elementor-176 .elementor-icon-list-icon { flex: none; width: 20px !important; min-width: 20px; height: 20px; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; padding: 0 !important; top: 0 !important; }
  .elementor-176 .elementor-icon-list-icon svg { flex: none; width: 20px !important; height: 20px !important; max-width: none !important; fill: #e4c9a6 !important; color: #e4c9a6 !important; }
  .elementor-176 .elementor-icon-list-text { padding: 0 !important; margin: 0 !important; font-family: Inter, sans-serif !important; font-weight: 400 !important; font-size: 15px !important; line-height: 22px !important; color: #fff !important; text-align: left; }

  /* Réseaux, filet, liens légaux et ©. */
  .elementor-176 .elementor-element.elementor-element-fa5c09a > .e-con-inner { padding: 24px 0 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
  .elementor-176 .cx-reseaux { padding: 0; gap: 8px; }
  .elementor-176 .cx-reseaux-titre { font-size: 11px; line-height: 14px; letter-spacing: .16em; color: #e4c9a6; }
  .elementor-176 .cx-reseaux-liens { gap: 16px; }
  .elementor-176 .cx-reseaux a span { width: 26px !important; height: 26px !important; }
  .elementor-176 .elementor-element.elementor-element-48aa3df { width: 100% !important; margin: 24px 0 0 !important; }
  .elementor-176 .elementor-element.elementor-element-48aa3df .elementor-divider { padding: 0 !important; display: block; }
  .elementor-176 .elementor-element.elementor-element-48aa3df .elementor-divider-separator { display: block; width: 100% !important; height: 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .3) !important; background: transparent !important; }
  .elementor-176 .elementor-element.elementor-element-6646e92 { width: 100% !important; margin: 0 !important; padding: 16px 0 0 !important; display: flex !important; flex-direction: column; gap: 8px; }
  .elementor-176 .elementor-element.elementor-element-6646e92 p { margin: 0 !important; font-family: Inter, sans-serif !important; font-size: 13px !important; line-height: 19px !important; text-align: center; }
  .elementor-176 .elementor-element.elementor-element-6646e92 p:first-child { order: 2; color: #e4c9a6 !important; }
  .elementor-176 .elementor-element.elementor-element-6646e92 p:last-child { order: 1; display: flex; flex-wrap: wrap; justify-content: center; font-size: 0 !important; line-height: 0 !important; color: transparent !important; }
  .elementor-176 .elementor-element.elementor-element-6646e92 p:last-child a { display: inline-flex; align-items: center; min-height: 32px; margin: 0 8px; font-size: 13px !important; line-height: 19px !important; color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

  /* Date de mise à jour (exigence Qualiopi) et « Gérer les cookies » : dernière ligne du rouge, en or clair. */
  .elementor-location-footer + p {
    margin: 0; padding: 0 16px 24px; background: #8c3c39; color: #e4c9a6;
    font-family: Inter, sans-serif; font-size: 13px; line-height: 19px; text-align: center;
  }
  .elementor-location-footer + p .consent-lien { display: inline-flex; align-items: center; min-height: 32px; color: #fff; font-size: 13px; line-height: 19px; text-underline-offset: 3px; }

  /* ── Bouton « haut de page » : rond rouge de 44 px, 16 px du bord, cerclé de blanc pour rester visible sur le rouge
     (pied de page, bandeaux d'appel). */
  .cx-haut { width: 44px; height: 44px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 0 0 2px #fff, 0 6px 18px rgba(58, 52, 49, .22); }

  /* ── Bandeau des cookies : carte compacte en bas de l'écran, texte en légende, boutons de 48 px
     (« Tout refuser » et « Tout accepter » côte à côte, à égalité ; « Personnaliser » en contour dessous). */
  .cookies { left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); max-height: calc(100vh - 80px); padding: 16px; border-radius: 4px; box-shadow: 0 10px 30px rgba(58, 52, 49, .25); }
  .cookies p { margin: 0 0 12px; font-size: 13px; line-height: 19px; color: #5c5550; }
  .cookies .cookies-titre { margin: 0 0 8px; font-family: Buda, Georgia, serif; font-weight: 700; font-size: 22px; line-height: 28px; color: #8c3c39; }
  .cookies-services label { font-size: 13px; line-height: 19px; }
  .cookies-boutons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cookies-boutons button { min-height: 48px; padding: 0 12px !important; }
  .cookies-boutons button:nth-child(2) { order: 3; grid-column: 1 / -1; background: transparent !important; color: #8c3c39 !important; box-shadow: inset 0 0 0 2px #8c3c39 !important; }
  .cookies-boutons button:nth-child(3) { order: 2; }

  /* ── Bandeau des fêtes : plus ramassé (caractères à côté du titre, texte en 14 px, lien d'au moins 44 px). */
  .cx-fete { font-size: 14px; line-height: 20px; }
  .cx-fete-dedans { padding: 12px 52px 12px 16px; gap: 8px 12px; justify-content: flex-start; text-align: left; }
  .cx-fete-caracteres { flex-basis: auto; font-size: 20px; }
  .cx-fete-texte { flex: 1 1 100%; }
  .cx-fete-lien { min-height: 44px; box-sizing: border-box; }
  .cx-fete-fermer { top: 4px; right: 4px; }

  /* ── Bandeau de pré-production : petite étiquette en bas à gauche, qui ne cache plus le bouton « haut de page ». */
  html:has(.cx-mn.ouvert) .cx-preprod,
  body:has(.cookies:not(.cookies-avant-lecture)) .cx-preprod,
  html:not([data-cookies="choisi"]) body:has(.cookies-avant-lecture) .cx-preprod { display: none; }
  .cx-preprod { left: 16px; right: auto; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: none; max-width: calc(100% - 92px); padding: 6px 12px; border-radius: 4px; font-size: 13px; line-height: 16px; text-align: left; opacity: .92; }
}
