/* =====================================================================
   ADX FORMATION — Header & Footer (chrome du thème)
   ===================================================================== */
:root{
  --axf-violet:#2e1f45;
  --axf-jaune:#FFC107;
}

*{ margin:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  padding:0;
  font-family:'Roboto',sans-serif;
  color:var(--axf-violet);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{ color:inherit; }
img{ max-width:100%; height:auto; }

/* ---------------------------------------------------------------
   NEUTRALISATION des contraintes Gutenberg / WP 6+
   Cible UNIQUEMENT les wrappers injectés par WP (.wp-block-html,
   .wp-block-shortcode, .wp-site-blocks…) sans toucher au padding
   interne des sections ADX.
   --------------------------------------------------------------- */

/* Conteneur racine WP */
.wp-site-blocks {
  padding: 0 !important;
  margin: 0 !important;
}
.has-global-padding {
  padding-inline: 0 !important;
}

/* Wrapper des blocs wp:html et wp:shortcode — on ne touche qu'à leur
   géométrie externe (max-width, marges, décorations) sans altérer
   le padding-left/right qui serait hérité par les sections enfants */
.wp-block-html,
.wp-block-shortcode {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  /* PAS de padding:0 ici — les sections internes ont leur propre padding */
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-sizing: border-box !important;
}

/* Layout flow / constrained : uniquement max-width et marges latérales */
.is-layout-flow > :where(*),
.is-layout-constrained > :where(*) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* entry-content : supprime les gaps entre blocs, sans toucher au padding interne */
.entry-content,
.axf-entry-content {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
.entry-content > *,
.axf-entry-content > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* <main> pleine largeur */
.axf-site-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: block;
}

/* Contenu des pages standards (index, articles) — centré avec padding.
   NE s'applique PAS sur front-page.php (home full-width) ni sur single.php
   qui a son propre conteneur .axf-single-content. */
.axf-page-content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 60px 40px;
  box-sizing: border-box;
  width: 100%;
}
@media (max-width: 768px) {
  .axf-page-content { padding: 40px 20px; }
}

/* ---------------------------- HEADER ---------------------------- */
.axf-site-header{
  position:sticky; top:0; z-index:9000;
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.06), 0 4px 18px rgba(46,31,69,.05);
}
.axf-header-inner{
  max-width:1500px; margin:0 auto; padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:30px;
}
.axf-logo{ display:flex; align-items:center; flex-shrink:0; text-decoration:none; }
.axf-logo img{ height:56px; width:auto; display:block; }
.axf-logo .axf-logo-fallback{
  font-family:'Oswald',sans-serif; font-weight:700; font-size:34px;
  color:var(--axf-violet); letter-spacing:-1px; line-height:1;
}
.axf-logo .axf-logo-fallback small{ display:block; font-size:11px; letter-spacing:3px; font-weight:400; color:#9a90ab; }

/* v6.5 — Picto « espace client » (connexion dédiée / accès console) */
.axf-account-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; flex-shrink:0;
  border:1px solid rgba(46,31,69,.14); border-radius:50%;
  color:var(--axf-violet); text-decoration:none;
  transition:background .18s, color .18s, border-color .18s;
}
.axf-account-link:hover,
.axf-account-link:focus-visible{ background:var(--axf-violet); color:#fff; border-color:var(--axf-violet); }
/* Mobile : logo a gauche, picto compte + burger groupes a droite.
   Auparavant seul .axf-account-link recevait un order ; le burger restait en
   order:0 et le justify-content:space-between du conteneur le repoussait au
   centre de l'en-tete. */
@media(max-width:960px){
  .axf-header-inner{ justify-content:flex-start; gap:0; }
  .axf-logo{ order:0; margin-right:auto; }
  .axf-account-link{ order:2; margin-left:0; margin-right:10px; width:38px; height:38px; }
  .axf-burger{ order:3; margin-left:0; }
  .axf-nav-mobile{ order:4; }
}

/* Menu principal */
.axf-primary-nav{ flex:1; }
.axf-primary-nav .axf-menu{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; justify-content:flex-end; gap:38px;
}
.axf-primary-nav .axf-menu li{ position:relative; }
.axf-primary-nav .axf-menu a{
  text-decoration:none; color:var(--axf-violet);
  font-family:'Roboto',sans-serif; font-weight:500; font-size:16px;
  padding:6px 0; display:inline-flex; align-items:center; gap:6px;
  transition:color .2s ease;
}
.axf-primary-nav .axf-menu > li > a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--axf-jaune); transition:width .25s ease;
}
.axf-primary-nav .axf-menu > li:hover > a{ color:#000; }
.axf-primary-nav .axf-menu > li:hover > a::after{ width:100%; }
/* Caret pour les sous-menus */
.axf-primary-nav .menu-item-has-children > a::before{
  content:''; order:2; width:7px; height:7px; margin-left:4px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px); transition:transform .2s ease;
}
.axf-primary-nav .menu-item-has-children:hover > a::before{ transform:rotate(225deg) translateY(2px); }

/* Déroulant simple (items racine ordinaires, hors mega) */
.axf-primary-nav .sub-menu{
  list-style:none; margin:0; padding:8px 0;
  position:absolute; top:100%; left:0; min-width:240px;
  background:#fff; box-shadow:0 18px 40px rgba(46,31,69,.18);
  border-top:3px solid var(--axf-jaune);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .2s ease; z-index:60;
}
.axf-primary-nav li:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.axf-primary-nav .sub-menu a{ padding:10px 22px; display:block; font-size:14px; }
.axf-primary-nav .sub-menu a:hover{ background:#f7f5fb; }
.axf-primary-nav .sub-menu a::after{ display:none; }

/* Bascule des deux rendus du menu */
.axf-nav-mobile{ display:none; }

/* =====================================================================
   MEGA MENU — « Nos formations » (desktop)
   Niveau 1 : rubriques (colonne gauche, pictos, eyebrows)
   Niveau 2 : familles (blocs titrés)   Niveau 3 : programmes (liens)
   ===================================================================== */
.axf-site-header{ position:sticky; }
.axf-menu > li.axf-has-mega{ position:static; }

.axf-mega{
  position:absolute; top:100%; left:0; right:0; z-index:60;
  background:#fff; border-top:3px solid var(--axf-jaune);
  box-shadow:0 28px 56px rgba(46,31,69,.22);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all .18s ease;
  overflow:hidden; /* clippe le fond lilas full-bleed de la colonne rubriques */
}
.axf-menu > li.axf-has-mega:hover > .axf-mega,
.axf-menu > li.axf-has-mega:focus-within > .axf-mega{
  opacity:1; visibility:visible; transform:translateY(0);
}
.axf-mega-inner{ max-width:1500px; margin:0 auto; padding:0 40px; display:flex; align-items:stretch; }
.axf-mega .axf-arr{ color:var(--axf-jaune); }

/* --- Niveau 1 : rubriques --- */
.axf-mega-tabs{
  list-style:none; margin:0; width:330px; flex-shrink:0;
  background:#f7f5fb; border-right:1px solid #eceaf2;
  padding:26px 16px 30px;
  position:relative;
}
/* Prolonge le fond lilas jusqu'au bord gauche de l'écran, pour que la
   colonne ne « flotte » pas dans le conteneur centré */
.axf-mega-tabs::before{
  content:''; position:absolute; top:0; bottom:0; right:100%; width:50vw;
  background:#f7f5fb;
}
.axf-mega-eyebrow{
  padding:0 12px 12px;
  font-family:'Oswald',sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:2.2px; text-transform:uppercase; color:#9a90ab;
}
.axf-mega-sep{ height:1px; background:#e3dfee; margin:18px 12px; }
/* .axf-primary-nav en préfixe pour battre `.axf-primary-nav .axf-menu a`
   (0,2,1) qui sinon remet le padding horizontal à 0. */
.axf-primary-nav .axf-mega-tab a{
  display:flex; align-items:center; gap:14px; padding:11px 16px;
  margin-bottom:4px; border-radius:8px;
  border-left:4px solid transparent;
  transition:background .14s, border-color .14s, box-shadow .14s;
}
.axf-primary-nav .axf-mega-tab.active a,
.axf-primary-nav .axf-mega-tab a:hover{ box-shadow:0 4px 14px rgba(46,31,69,.07); }
.axf-mega-tab a::after{ display:none; }
.axf-mega-tab-ico{
  flex-shrink:0; width:36px; height:36px; border-radius:8px;
  background:#f1eef7; color:var(--axf-violet);
  display:flex; align-items:center; justify-content:center;
  transition:background .14s, color .14s;
}
.axf-mega-tab-ico .axf-picto{ display:inline-flex; width:18px; height:18px; }
.axf-mega-tab-ico .axf-picto svg{ width:100%; height:100%; }
.axf-mega-tab-lbl{
  font-family:'Oswald',sans-serif; font-size:14.5px; font-weight:500;
  line-height:1.2; letter-spacing:.3px;
}
.axf-mega-tab-chev{ margin-left:auto; color:#c4bdd1; font-size:17px; transition:transform .14s, color .14s; }
.axf-mega-tab.active a, .axf-mega-tab a:hover{ background:#fff; border-left-color:var(--axf-jaune); }
.axf-mega-tab.active .axf-mega-tab-ico{ background:var(--axf-violet); color:var(--axf-jaune); }
.axf-mega-tab.active .axf-mega-tab-chev{ color:var(--axf-jaune); transform:translateX(3px); }

/* --- Panneaux --- */
.axf-mega-panels{ flex:1; min-width:0; }
.axf-mega-panel{ display:none; padding:28px 0 26px 44px; }
.axf-mega-panel.active{ display:block; animation:adxFadeIn .18s ease; }
@keyframes adxFadeIn{ from{ opacity:0; transform:translateY(4px);} to{ opacity:1; transform:none;} }

.axf-mega-panel-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  padding-bottom:14px; margin-bottom:20px; border-bottom:1px solid #eceaf2;
}
.axf-mega-panel-title{ font-family:'Oswald',sans-serif; font-size:19px; font-weight:600; letter-spacing:.3px; }
.axf-mega-panel-desc{ font-size:13px; color:#6b6377; margin-top:3px; }
.axf-mega-panel-link{
  flex-shrink:0; font-family:'Oswald',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:1.2px; text-transform:uppercase; color:#5e4682;
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
}
.axf-mega-panel-link::after{ display:none; }
.axf-mega-panel-link:hover{ color:var(--axf-violet); }
.axf-mega-panel-link .axf-arr{ transition:transform .14s; }
.axf-mega-panel-link:hover .axf-arr{ transform:translateX(3px); }

/* --- Niveau 2 : familles — Niveau 3 : programmes --- */
.axf-mega-blocks{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px 44px; }
.axf-mega-blocks.cols-4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.axf-mega-blocks.cols-1{ grid-template-columns:1fr; }
.axf-mega-block-title{
  display:flex; align-items:center; gap:9px;
  font-family:'Oswald',sans-serif; font-size:13.5px; font-weight:600;
  letter-spacing:.8px; text-transform:uppercase; color:var(--axf-violet);
  margin-bottom:9px;
}
.axf-mega-block-title::before{ content:''; width:16px; height:3px; background:var(--axf-jaune); flex-shrink:0; }
.axf-mega-block-title a{ padding:0; font-family:inherit; font-size:inherit; font-weight:inherit; }
.axf-mega-block-title a::after{ display:none; }
.axf-mega-block-title a:hover{ color:#5e4682; }
.axf-mega-links{ list-style:none; margin:0; padding:0; }
.axf-mega-links a{
  display:block; padding:5.5px 0; font-size:13.5px; font-weight:400;
  color:#6b6377; line-height:1.3;
  transition:color .12s, padding-left .12s;
}
.axf-mega-links a::after{ display:none; }
.axf-mega-links a:hover{ color:var(--axf-violet); padding-left:6px; }
.axf-mega-links.twocol{ column-count:2; column-gap:44px; }
.axf-mega-links.twocol li{ break-inside:avoid; }

/* --- Bandeau accès rapide --- */
.axf-mega-foot{ background:var(--axf-violet); color:#fff; }
.axf-mega-foot-inner{
  max-width:1500px; margin:0 auto; padding:18px 40px;
  display:flex; align-items:center; gap:34px;
}
.axf-mega-foot-links{ list-style:none; margin:0; padding:0; display:flex; gap:30px; flex:1; }
/* Sélecteurs préfixés .axf-primary-nav pour battre la règle générique
   `.axf-primary-nav .axf-menu a` (qui imposait le violet sur violet). */
.axf-primary-nav .axf-mega-foot-links a{
  display:inline-flex; align-items:center; gap:8px; padding:0;
  font-size:13.5px; font-weight:500; color:rgba(255,255,255,.9);
  transition:color .14s;
}
.axf-primary-nav .axf-mega-foot-links a::after{ display:none; }
.axf-primary-nav .axf-mega-foot-links a:hover{ color:var(--axf-jaune); }
.axf-mega-foot-links .axf-arr{ color:var(--axf-jaune); font-size:17px; }
/* CTA : même style que la version mobile (fond jaune, coins arrondis) */
/* .axf-mega-foot en plus du préfixe pour passer devant `.axf-menu a`. */
.axf-primary-nav .axf-mega-foot .axf-mega-cta{
  display:inline-block; flex-shrink:0; margin-left:auto;
  background:var(--axf-jaune); color:var(--axf-violet);
  padding:14px 34px; border-radius:8px; text-align:center; line-height:1;
  font-family:'Oswald',sans-serif; font-size:14px; font-weight:700;
  letter-spacing:1.2px; text-transform:uppercase;
  transition:background .14s;
}
.axf-primary-nav .axf-mega-foot .axf-mega-cta::after{ display:none; }
.axf-primary-nav .axf-mega-foot .axf-mega-cta:hover{ background:#fff; color:var(--axf-violet); }

@media (max-width:1200px){
  .axf-mega-inner{ padding:0 24px; }
  .axf-mega-foot-inner{ padding:14px 24px; }
  .axf-mega-tabs{ width:280px; padding:22px 12px 26px; }
  .axf-mega-blocks{ gap:10px 32px; }
  .axf-mega-blocks.cols-4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .axf-mega-panel{ padding:24px 0 22px 30px; }
}

/* Burger mobile */
.axf-burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.axf-burger span{ width:26px; height:2px; background:var(--axf-violet); transition:.3s; }
.axf-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.axf-burger.open span:nth-child(2){ opacity:0; }
.axf-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---------------------------- FOOTER ---------------------------- */
.axf-site-footer{ background:#1c1c1c; color:#cfcfcf; }
.axf-footer-top{
  max-width:1500px; margin:0 auto; padding:60px 40px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;
}
.axf-footer-col .axf-footer-logo img{ height:80px; width:auto; margin-bottom:24px; }
.axf-footer-col .axf-footer-logo .axf-logo-fallback{ color:#fff; }
.axf-footer-col .axf-footer-logo .axf-logo-fallback small{ color:#8a8a8a; }
.axf-footer-tagline{ font-size:15px; line-height:1.7; color:#b9b9b9; max-width:300px; margin-bottom:24px; }
.axf-footer-social{ display:flex; gap:14px; }
.axf-footer-social a{
  width:34px; height:34px; border-radius:4px; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:.2s;
}
.axf-footer-social a:hover{ background:var(--axf-jaune); color:var(--axf-violet); }
.axf-footer-social svg{ width:18px; height:18px; fill:currentColor; }

.axf-footer-heading{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:1px;
  font-size:18px; font-weight:700; color:#fff; margin-bottom:22px;
}
.axf-footer-col .axf-menu{ list-style:none; margin:0; padding:0; }
.axf-footer-col .axf-menu li{ margin-bottom:14px; position:relative; }
.axf-footer-col .axf-menu a{
  text-decoration:none; color:#cfcfcf; font-size:15px; transition:color .2s; display:flex; justify-content:space-between; align-items:center; gap:10px;
}
.axf-footer-col .axf-menu a:hover{ color:var(--axf-jaune); }
.axf-footer-col .axf-menu .menu-item-has-children > a::after{
  content:''; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); opacity:.6;
}
.axf-footer-col .sub-menu{ list-style:none; margin:10px 0 0; padding:0 0 0 12px; border-left:1px solid rgba(255,255,255,.1); }

.axf-footer-contact{ list-style:none; margin:0; padding:0; }
.axf-footer-contact li{ display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; font-size:15px; color:#cfcfcf; line-height:1.5; }
.axf-footer-contact li svg{ width:17px; height:17px; flex-shrink:0; margin-top:3px; fill:none; stroke:var(--axf-jaune); stroke-width:2; }
.axf-footer-contact a{ text-decoration:none; color:#cfcfcf; transition:color .2s; }
.axf-footer-contact a:hover{ color:var(--axf-jaune); }

/* Horaires d'ouverture : sous-liste jour / créneaux dans la colonne Contact. */
.axf-footer-hours-item{ align-items:flex-start; }
.axf-footer-hours-label{
  display:block; margin-bottom:8px; font-family:'Oswald',sans-serif; font-size:12px;
  text-transform:uppercase; letter-spacing:1px; color:#fff;
}
.axf-footer-hours{ list-style:none; margin:0; padding:0; }
.axf-footer-hours li{
  display:flex; justify-content:space-between; gap:14px;
  margin:0; padding:4px 0; font-size:13.5px; color:#cfcfcf; line-height:1.4;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.axf-footer-hours li:last-child{ border-bottom:0; }
.axf-footer-hours-day{ color:#e6e6e6; }
.axf-footer-hours-time{ white-space:nowrap; color:#a9a9a9; }

.axf-footer-bottom{ border-top:1px solid rgba(255,255,255,.08); }
.axf-footer-bottom-inner{
  max-width:1500px; margin:0 auto; padding:22px 40px;
  font-size:13px; color:#7d7d7d;
}

@media (max-width:1024px){
  .axf-footer-top{ grid-template-columns:1fr 1fr; gap:40px; }
}
@media (max-width:900px){
  .axf-header-inner{ padding:14px 20px; }
  .axf-burger{ display:flex; }
  .axf-nav-desktop{ display:none; }

  /* ── Tiroir plein écran ── */
  .axf-nav-mobile{
    display:block;
    position:fixed; left:0; right:0; bottom:0;
    top:var(--axf-header-h, 73px);
    background:#fff; z-index:8000;
    transform:translateX(100%); transition:transform .28s ease;
    overflow:hidden;
  }
  .axf-nav-mobile.open{ transform:translateX(0); }
  body.axf-mnav-open{ overflow:hidden; }
  .axf-mnav-scroll{ height:100%; overflow-y:auto; -webkit-overflow-scrolling:touch; }

  /* Niveau 0 : entrées racine */
  .axf-m-menu{ list-style:none; margin:0; padding:0; }
  .axf-m-item{ border-bottom:1px solid #eceaf2; }
  .axf-m-row{ display:flex; align-items:stretch; width:100%; }
  .axf-m-row > .axf-m-label{
    flex:1; padding:17px 20px; display:flex; align-items:center;
    font-family:'Oswald',sans-serif; font-size:16px; font-weight:500;
    letter-spacing:.3px; color:var(--axf-violet); text-decoration:none;
  }
  .axf-m-toggle{
    width:56px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:none; border:0; border-left:1px solid #eceaf2; cursor:pointer;
  }
  .axf-m-toggle::after{
    content:''; width:9px; height:9px;
    border-right:2.5px solid #5e4682; border-bottom:2.5px solid #5e4682;
    transform:rotate(45deg); transition:transform .22s;
  }
  .axf-m-item.open > .axf-m-row .axf-m-toggle::after{ transform:rotate(225deg); }

  /* Niveau 1 : rubriques */
  .axf-m-sub{ display:none; background:#f7f5fb; }
  .axf-m-item.open > .axf-m-sub{ display:block; }
  .axf-m-eyebrow{
    padding:14px 20px 6px;
    font-family:'Oswald',sans-serif; font-size:11px; font-weight:600;
    letter-spacing:2px; text-transform:uppercase; color:#9a90ab;
  }
  .axf-m-rub{ border-top:1px solid #ece9f3; border-bottom:0; }
  .axf-m-rub > .axf-m-row > .axf-m-label{
    gap:12px; font-size:15px; padding:14px 20px;
  }
  .axf-m-ico{
    flex-shrink:0; width:30px; height:30px; border-radius:7px;
    background:#f1eef7; color:var(--axf-violet);
    display:flex; align-items:center; justify-content:center;
  }
  .axf-m-ico .axf-picto{ display:inline-flex; width:16px; height:16px; }
  .axf-m-ico .axf-picto svg{ width:100%; height:100%; }
  .axf-m-rub > .axf-m-row > .axf-m-toggle{ border-left-color:#e3dfee; }
  .axf-m-rub.open{ background:#fff; }

  /* Niveaux 2 + 3 : familles et programmes */
  .axf-m-fam{ display:none; padding:2px 0 12px; background:#fff; }
  .axf-m-item.open > .axf-m-fam{ display:block; }
  .axf-m-fam-group{ padding:8px 20px 4px 62px; }
  .axf-m-fam-title{
    display:flex; align-items:center; gap:8px;
    font-family:'Oswald',sans-serif; font-size:12.5px; font-weight:600;
    letter-spacing:.6px; text-transform:uppercase; color:var(--axf-violet);
    margin:8px 0 6px;
  }
  .axf-m-fam-title::before{ content:''; width:14px; height:3px; background:var(--axf-jaune); flex-shrink:0; }
  .axf-m-prog{ list-style:none; margin:0; padding:0; }
  .axf-m-prog a{
    display:block; padding:8px 0; font-size:14px; color:#6b6377;
    line-height:1.3; text-decoration:none;
  }
  .axf-m-prog a:active{ color:var(--axf-violet); }
  .axf-m-fam.flat .axf-m-prog a{ padding:8px 20px 8px 62px; }
  .axf-m-fam-all{
    display:inline-flex; align-items:center; gap:7px; margin:6px 0 2px 62px;
    font-family:'Oswald',sans-serif; font-size:12px; font-weight:600;
    letter-spacing:1px; text-transform:uppercase; color:#5e4682; text-decoration:none;
  }
  .axf-m-fam-all .axf-arr{ color:var(--axf-jaune); }

  /* Bandeau accès rapide */
  .axf-mnav-foot{ background:var(--axf-violet); color:#fff; padding:16px 20px 20px; }
  .axf-mnav-foot-links{ list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:2px; }
  .axf-mnav-foot-links a{
    display:flex; align-items:center; gap:10px; padding:9px 0;
    font-size:14.5px; font-weight:500; color:rgba(255,255,255,.9); text-decoration:none;
  }
  .axf-mnav-foot-links .axf-arr{ color:var(--axf-jaune); font-size:17px; }
  .axf-mnav-cta{
    display:block; text-align:center; background:var(--axf-jaune); color:var(--axf-violet);
    padding:14px; border-radius:8px; text-decoration:none;
    font-family:'Oswald',sans-serif; font-size:14px; font-weight:700;
    letter-spacing:1.2px; text-transform:uppercase;
  }
  .axf-mnav-cta:active{ background:#fff; }
}
@media (max-width:600px){
  .axf-footer-top{ grid-template-columns:1fr; }
  .axf-footer-bottom-inner, .axf-footer-top{ padding-left:20px; padding-right:20px; }
}

/* =====================================================================
   BANDEAU « LAST MINUTE » (au-dessus du header)
   Rendu par inc/lastminute-banner.php. Il défile avec la page : le
   header sticky reprend seul le haut de l'écran une fois dépassé.
   ===================================================================== */
.axf-lastminute{ width:100%; }
.axf-lastminute__inner{
  max-width:1500px; margin:0 auto; padding:9px 40px;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.axf-lastminute__tag{
  display:inline-flex; align-items:center; gap:7px; flex-shrink:0;
  font-family:'Oswald',sans-serif; font-size:11.5px; font-weight:700;
  letter-spacing:1.6px; text-transform:uppercase;
  padding:5px 11px; border-radius:100px;
}
.axf-lastminute__tag .axf-picto{ display:inline-flex; width:14px; height:14px; }
.axf-lastminute__tag .axf-picto svg{ width:100%; height:100%; }
.axf-lastminute__text{
  flex:1; min-width:0; font-size:14px; line-height:1.35;
  display:flex; align-items:baseline; gap:6px 14px; flex-wrap:wrap;
}
.axf-lastminute__text strong{ font-weight:600; }
.axf-lastminute__meta{ font-size:13px; opacity:.85; }
.axf-lastminute__seats{ font-weight:600; opacity:1; }
.axf-lastminute__note{ font-size:13px; opacity:.8; }
.axf-lastminute__cta{
  flex-shrink:0; display:inline-block; text-decoration:none;
  padding:9px 22px; border-radius:7px; line-height:1;
  font-family:'Oswald',sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:1.1px; text-transform:uppercase;
  transition:background .14s, color .14s;
}
.axf-lastminute__close{
  flex-shrink:0; background:none; border:0; cursor:pointer; padding:4px;
  display:inline-flex; opacity:.6; color:inherit; transition:opacity .14s;
}
.axf-lastminute__close:hover{ opacity:1; }

/* Variante jaune (défaut) */
.axf-lastminute--jaune{ background:var(--axf-jaune); color:var(--axf-violet); }
.axf-lastminute--jaune .axf-lastminute__tag{ background:var(--axf-violet); color:var(--axf-jaune); }
.axf-lastminute--jaune .axf-lastminute__cta{ background:var(--axf-violet); color:#fff; }
.axf-lastminute--jaune .axf-lastminute__cta:hover{ background:#fff; color:var(--axf-violet); }

/* Variante violette */
.axf-lastminute--violet{ background:var(--axf-violet); color:#fff; }
.axf-lastminute--violet .axf-lastminute__tag{ background:var(--axf-jaune); color:var(--axf-violet); }
.axf-lastminute--violet .axf-lastminute__cta{ background:var(--axf-jaune); color:var(--axf-violet); }
.axf-lastminute--violet .axf-lastminute__cta:hover{ background:#fff; }

@media (max-width:1200px){
  .axf-lastminute__inner{ padding:9px 24px; }
}
@media (max-width:860px){
  .axf-lastminute__inner{ padding:10px 20px; gap:10px; }
  .axf-lastminute__text{ flex:1 1 100%; order:3; font-size:13.5px; }
  .axf-lastminute__cta{ order:2; margin-left:auto; padding:8px 16px; font-size:11.5px; }
  .axf-lastminute__close{ order:4; position:absolute; right:14px; top:10px; }
  .axf-lastminute{ position:relative; }
}
