/* =========================================================
   LFA 2026 - Correctif final chargé EN DERNIER
   Objectifs : menu mobile fonctionnel, cookie persistant,
   page activités sans chevauchement, sans conflit classes anciennes.
   ========================================================= */

/* Sécurité globale */
html, body { max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }

/* --- MENU DESKTOP propre --- */
body .lfa2026-nav-wrap{
  overflow:visible !important;
  z-index:9700 !important;
}
body .lfa2026-menu-toggle{
  cursor:pointer !important;
  user-select:none !important;
}
body .lfa2026-mainnav,
body .lfa2026-mainnav > ul,
body .lfa2026-mainnav li{
  overflow:visible !important;
}
body .lfa2026-mainnav > ul{
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
body .lfa2026-mainnav li{ position:relative !important; float:none !important; }
body .lfa2026-mainnav .lfa2026-sub{
  display:none !important;
  position:absolute !important;
  top:100% !important;
  left:0 !important;
  z-index:9900 !important;
}
body .lfa2026-mainnav li:hover > .lfa2026-sub,
body .lfa2026-mainnav li.lfa2026-open > .lfa2026-sub{
  display:block !important;
}

/* --- ACTIVITÉS : neutralisation des anciens floats/hauteurs fixes --- */
body.lfa2026-page-activites #main,
body.lfa2026-page-activites #main .shell{
  overflow:visible !important;
  height:auto !important;
  min-height:0 !important;
}
body.lfa2026-page-activites #main .shell{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:22px !important;
  max-width:1200px !important;
  width:96vw !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.lfa2026-page-activites #main .shell > .box,
body.lfa2026-page-activites #main .shell > .last-box,
body.lfa2026-page-activites .lfa2026-content-grid > .box,
body.lfa2026-page-activites .lfa2026-content-grid > .last-box{
  float:none !important;
  clear:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  display:block !important;
  flex:1 1 330px !important;
  width:auto !important;
  max-width:370px !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 22px 0 !important;
  overflow:visible !important;
}
body.lfa2026-page-activites .entry,
body.lfa2026-page-activites .post-data,
body.lfa2026-page-activites .news,
body.lfa2026-page-activites .news ul,
body.lfa2026-page-activites .news li{
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:visible !important;
}
body.lfa2026-page-activites .last-box .entry{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding-right:5px !important;
}
body.lfa2026-page-activites img{
  max-width:100% !important;
  height:auto !important;
}
body.lfa2026-page-activites p{
  overflow-wrap:anywhere !important;
}

/* --- MOBILE / TABLETTE : ces règles DOIVENT rester après le desktop --- */
@media (max-width: 760px){
  body #header{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding-bottom:10px !important;
  }
  body #header .shell{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    display:block !important;
    padding:0 8px !important;
  }
  body #logo{
    position:relative !important;
    display:block !important;
    float:none !important;
    left:auto !important;
    top:auto !important;
    margin:8px auto 6px auto !important;
    z-index:9800 !important;
    text-align:center !important;
  }
  body #logo img,
  body #logo a{
    max-width:min(260px, 70vw) !important;
    height:auto !important;
  }

  body .lfa2026-nav-wrap{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    display:block !important;
    width:min(96vw, 460px) !important;
    max-width:96vw !important;
    min-width:0 !important;
    margin:6px auto 0 auto !important;
    padding:0 !important;
    overflow:visible !important;
    z-index:9900 !important;
    box-shadow:none !important;
  }
  body .lfa2026-menu-toggle{
    display:block !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:11px 14px !important;
    border:3px solid #fff !important;
    border-radius:16px !important;
    background:#976a46 !important;
    color:#fff !important;
    font-weight:bold !important;
    text-align:center !important;
    box-shadow:2px 2px 10px rgba(0,0,0,.25) !important;
  }
  body .lfa2026-menu-toggle span{ float:none !important; margin-left:8px !important; }

  body .lfa2026-mainnav{
    display:none !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    margin:8px 0 0 0 !important;
    padding:6px !important;
    border:3px solid #fff !important;
    border-radius:16px !important;
    background:#976a46 !important;
    box-shadow:2px 2px 10px rgba(0,0,0,.25) !important;
    overflow:visible !important;
  }
  body .lfa2026-nav-wrap.lfa2026-expanded .lfa2026-mainnav,
  body .lfa2026-nav-wrap.is-open .lfa2026-mainnav{
    display:block !important;
  }
  body .lfa2026-mainnav > ul{
    display:block !important;
    width:100% !important;
  }
  body .lfa2026-mainnav li{
    display:block !important;
    width:100% !important;
    float:none !important;
  }
  body .lfa2026-mainnav a{
    display:block !important;
    width:100% !important;
    margin:0 0 5px 0 !important;
    padding:12px 13px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#5d4433 !important;
    text-align:left !important;
    white-space:normal !important;
    font-size:14px !important;
    line-height:1.2 !important;
    text-decoration:none !important;
  }
  body .lfa2026-mainnav .lfa2026-sub{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 0 8px 0 !important;
    padding:0 0 0 12px !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body .lfa2026-mainnav li:hover > .lfa2026-sub{ display:none !important; }
  body .lfa2026-mainnav li.lfa2026-open > .lfa2026-sub,
  body .lfa2026-mainnav li.lfa2026-open:hover > .lfa2026-sub{ display:block !important; }
  body .lfa2026-sub a{
    font-size:13px !important;
    text-transform:none !important;
    background:#f6efe9 !important;
  }

  body #header .btn1,
  body #btn_billet,
  body .btn_billet{
    position:relative !important;
    display:flex !important;
    float:none !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(92vw, 260px) !important;
    margin:10px auto 0 auto !important;
    justify-content:center !important;
    z-index:9800 !important;
  }

  body #intro{ margin-top:0 !important; }

  body.lfa2026-page-activites #main .shell,
  body.lfa2026-page-activites .lfa2026-content-grid{
    display:block !important;
    width:94vw !important;
    max-width:520px !important;
  }
  body.lfa2026-page-activites #main .shell > .box,
  body.lfa2026-page-activites #main .shell > .last-box,
  body.lfa2026-page-activites .lfa2026-content-grid > .box,
  body.lfa2026-page-activites .lfa2026-content-grid > .last-box{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 18px auto !important;
  }
}

/* Cookie banner : si validation mémorisée par notre correctif JS */
html.lfa-cookie-ok .cc-window,
html.lfa-cookie-ok .cc-banner,
html.lfa-cookie-ok .cc-dialog{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* =========================================================
   PATCH 20260529 - Logo visible + menu mobile au style desktop
   Chargé après les anciens correctifs pour éviter les conflits.
   ========================================================= */
@media (max-width: 760px){
  body #header{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:0 0 8px 0 !important;
  }
  body #header .shell{
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    overflow:visible !important;
    padding:0 8px !important;
  }

  /* Logo : on le garde visible, centré, sans écraser ses dimensions d'origine */
  body #logo{
    position:relative !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    float:none !important;
    clear:both !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    margin:4px auto -8px auto !important;
    z-index:10020 !important;
    text-align:center !important;
    overflow:visible !important;
  }
  body #logo a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
  }

  /* Nav mobile : même esprit que le menu desktop, pas le gros bloc marron */
  body .lfa2026-nav-wrap{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    display:block !important;
    width:min(96vw, 520px) !important;
    max-width:96vw !important;
    min-width:0 !important;
    margin:8px auto 0 auto !important;
    padding:0 !important;
    z-index:10010 !important;
    overflow:visible !important;
    background:transparent !important;
    box-shadow:0 0 35px #fff !important;
    border-radius:0 0 8px 8px !important;
  }
  body .lfa2026-menu-toggle{
    display:block !important;
    width:100% !important;
    min-height:40px !important;
    margin:0 !important;
    padding:11px 14px !important;
    cursor:pointer !important;
    border:0 !important;
    border-bottom:1px solid #3D3D3D !important;
    border-radius:0 0 8px 8px !important;
    background:#fff !important;
    color:#666 !important;
    font-weight:bold !important;
    font-size:.9em !important;
    line-height:1.1 !important;
    text-align:center !important;
    text-transform:uppercase !important;
    text-shadow:none !important;
    box-shadow:none !important;
  }
  body .lfa2026-menu-toggle:hover,
  body .lfa2026-nav-wrap.lfa2026-expanded .lfa2026-menu-toggle,
  body .lfa2026-nav-wrap.is-open .lfa2026-menu-toggle{
    background:#976a46 url(images/navigation-active.png) center center repeat !important;
    color:#fff !important;
    text-shadow:1px 1px 1px #0E0E0E !important;
  }
  body .lfa2026-menu-toggle span{float:none !important;margin-left:8px !important;}

  body .lfa2026-mainnav{
    display:none !important;
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 0 8px 8px !important;
    background:#fff !important;
    box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
    overflow:visible !important;
  }
  body .lfa2026-nav-wrap.lfa2026-expanded .lfa2026-mainnav,
  body .lfa2026-nav-wrap.is-open .lfa2026-mainnav{display:block !important;}
  body .lfa2026-mainnav > ul{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    list-style:none !important;
  }
  body .lfa2026-mainnav li{
    display:block !important;
    width:100% !important;
    float:none !important;
    position:relative !important;
  }
  body .lfa2026-mainnav a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:0 !important;
    border-bottom:1px dotted #ccc !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#666 !important;
    box-shadow:none !important;
    text-shadow:none !important;
    text-align:left !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    white-space:normal !important;
    font-size:.86em !important;
    line-height:1.2 !important;
    font-weight:bold !important;
  }
  body .lfa2026-mainnav a:hover,
  body .lfa2026-mainnav a.lfa2026-active,
  body .lfa2026-mainnav li.lfa2026-open > a{
    background:#976a46 url(images/navigation-active.png) center center repeat !important;
    color:#fff !important;
    text-shadow:1px 1px 1px #0E0E0E !important;
  }
  body .lfa2026-mainnav .lfa2026-sub{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  body .lfa2026-mainnav li:hover > .lfa2026-sub{display:none !important;}
  body .lfa2026-mainnav li.lfa2026-open > .lfa2026-sub,
  body .lfa2026-mainnav li.lfa2026-open:hover > .lfa2026-sub{display:block !important;}
  body .lfa2026-sub a{
    padding-left:28px !important;
    font-size:.82em !important;
    font-weight:normal !important;
    text-transform:none !important;
    background:#f7f7f7 !important;
    color:#333 !important;
    text-shadow:none !important;
  }
  body .lfa2026-sub a:hover{
    background:#eee !important;
    color:#000 !important;
    text-shadow:none !important;
  }

  body #btn_billet,
  body .btn_billet,
  body #header .btn1{
    position:relative !important;
    display:flex !important;
    float:none !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:min(92vw, 260px) !important;
    margin:10px auto 0 auto !important;
    justify-content:center !important;
    z-index:10000 !important;
  }
}

/* =========================================================
   PATCH 20260529-B - Logo mobile visible / Cufon intact / billetterie dans nav mobile
   ========================================================= */

/* Cufon doit garder son rendu interne : ne pas subir les correctifs responsive globaux */
.cufon,
.cufon * ,
.cufon canvas,
.cufon-canvas,
.cufon-canvas canvas{
  box-sizing:content-box !important;
  max-width:none !important;
}
.cufon,
.cufon-canvas{
  display:inline-block !important;
  overflow:visible !important;
  vertical-align:middle !important;
}
.cufon canvas,
.cufon-canvas canvas{
  display:block !important;
}

/* Entrée billetterie ajoutée par JS dans la nav : cachée en desktop */
body .lfa2026-billet-mobile-li{display:none !important;}

@media (max-width:760px){
  /* Logo : ne jamais écraser la hauteur d'origine avec height:auto.
     Les anciens CSS du site utilisent le logo en arrière-plan sur #logo a. */
  body #header #logo,
  body #logo{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:260px !important;
    max-width:78vw !important;
    min-height:118px !important;
    height:auto !important;
    margin:2px auto -10px auto !important;
    padding:0 !important;
    overflow:visible !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    z-index:10050 !important;
    float:none !important;
    clear:both !important;
  }
  body #header #logo a,
  body #logo a{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:260px !important;
    max-width:78vw !important;
    min-height:118px !important;
    height:118px !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
  }

  /* Le bouton billetterie original ne flotte plus sous/à côté du header en mobile */
  body > #btn_billet,
  body > .btn_billet{
    display:none !important;
  }

  /* Billetterie intégrée comme un vrai bouton de menu mobile */
  body .lfa2026-billet-mobile-li{display:block !important;}
  body .lfa2026-mainnav li.lfa2026-billet-mobile-li > a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:12px 14px !important;
    border:0 !important;
    border-bottom:1px dotted #ccc !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#666 !important;
    box-shadow:none !important;
    text-shadow:none !important;
    text-align:left !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    white-space:normal !important;
    font-size:.86em !important;
    line-height:1.2 !important;
    font-weight:bold !important;
  }
  body .lfa2026-mainnav li.lfa2026-billet-mobile-li > a:hover{
    background:#976a46 url(images/navigation-active.png) center center repeat !important;
    color:#fff !important;
    text-shadow:1px 1px 1px #0E0E0E !important;
  }
}


/* =========================================================
   PATCH 20260529-C - Billetterie dans la nav partout + popup jeu propre
   ========================================================= */
/* On garde l'ancien bouton seulement comme source JS, jamais visible : évite doublons PC/mobile */
body > #btn_billet,
body > .btn_billet,
#btn_billet.btn_billet{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body .lfa2026-billet-mobile-li{display:none !important;}
body .lfa2026-billet-nav-li{display:inline-block !important;}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin:0 0 0 6px !important;
  padding:8px 13px !important;
  border:2px solid #fff !important;
  border-radius:18px !important;
  background:#8b5a32 !important;
  color:#fff !important;
  box-shadow:0 2px 7px rgba(0,0,0,.28) !important;
  text-shadow:1px 1px 1px rgba(0,0,0,.35) !important;
  font-weight:bold !important;
  white-space:nowrap !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:hover{
  background:#6f3f20 !important;
  color:#fff !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:before{
  content:"🎟";
  font-size:1.05em;
  line-height:1;
}

@media (max-width:760px){
  body .lfa2026-mainnav li.lfa2026-billet-nav-li{display:block !important;}
  body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
    display:flex !important;
    width:auto !important;
    margin:8px 10px 10px 10px !important;
    padding:12px 14px !important;
    border:2px solid #fff !important;
    border-radius:12px !important;
    background:#8b5a32 !important;
    color:#fff !important;
    text-align:left !important;
    text-transform:uppercase !important;
    box-shadow:0 2px 8px rgba(0,0,0,.30) !important;
  }
}

/* =========================================================
   PATCH 20260529-D - Billetterie plus visible + mobile paysage
   ========================================================= */
@keyframes lfa2026-ticket-soft-pulse{
  0%,100%{transform:translateY(0) scale(1); box-shadow:0 2px 7px rgba(0,0,0,.28), 0 0 0 rgba(255,202,80,0);}
  50%{transform:translateY(-1px) scale(1.035); box-shadow:0 4px 12px rgba(0,0,0,.36), 0 0 12px rgba(255,202,80,.55);}
}

body .lfa2026-mainnav li.lfa2026-billet-nav-li{
  vertical-align:middle !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
  position:relative !important;
  top:-1px !important;
  min-height:28px !important;
  padding:9px 16px !important;
  border:2px solid #ffe08a !important;
  border-radius:19px !important;
  background:linear-gradient(180deg,#f6b33d 0%,#d87920 46%,#8b4a22 100%) !important;
  color:#fff !important;
  letter-spacing:.02em !important;
  box-shadow:0 3px 10px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.35) !important;
  animation:lfa2026-ticket-soft-pulse 2.6s ease-in-out infinite !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:before{
  content:"🎟️" !important;
  font-size:1.12em !important;
  margin-right:2px !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:hover{
  background:linear-gradient(180deg,#ffc75a 0%,#ea8625 48%,#743916 100%) !important;
  transform:translateY(-1px) scale(1.04) !important;
  color:#fff !important;
}

@media (prefers-reduced-motion:reduce){
  body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{animation:none !important;}
}

@media (max-width:760px){
  body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
    top:auto !important;
    width:auto !important;
    min-height:0 !important;
    margin:9px 10px 11px 10px !important;
    padding:13px 15px !important;
    border-radius:13px !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* Smartphone en paysage : le menu complet reste visible, mais on le descend pour ne plus toucher le logo. */
@media (orientation:landscape) and (max-height:520px) and (max-width:980px){
  body #header #logo,
  body #logo{
    margin-bottom:12px !important;
  }
  body .lfa2026-nav-wrap{
    margin-top:25px !important;
    clear:both !important;
  }
}


/* =========================================================
   PATCH 20260529-E - Ticket plus parlant + plan centré dans l'intro
   ========================================================= */
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
  overflow:visible !important;
  padding-left:34px !important;
  margin-left:18px !important;
  border-color:#fff0a8 !important;
  background:linear-gradient(180deg,#ffd363 0%,#ef8d25 48%,#8b421a 100%) !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:before{
  content:"🎫" !important;
  position:absolute !important;
  left:-18px !important;
  top:50% !important;
  transform:translateY(-50%) rotate(-10deg) !important;
  width:36px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:24px !important;
  line-height:1 !important;
  border-radius:50% !important;
  background:#fff7d6 !important;
  border:2px solid #fff !important;
  box-shadow:0 3px 8px rgba(0,0,0,.35) !important;
  margin:0 !important;
}
body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:after{
  content:"" !important;
  position:absolute !important;
  inset:-4px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.45) !important;
  pointer-events:none !important;
}
@media(max-width:760px){
  body .lfa2026-mainnav li.lfa2026-billet-nav-li > a{
    margin:12px 14px 14px 28px !important;
    padding-left:42px !important;
  }
  body .lfa2026-mainnav li.lfa2026-billet-nav-li > a:before{
    left:-20px !important;
    width:40px !important;
    height:40px !important;
    font-size:26px !important;
  }
}

body.lfa2026-page-plan #intro.lfa2026-plan-intro{
  height:auto !important;
  min-height:0 !important;
  padding:18px 0 24px 0 !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body.lfa2026-page-plan .lfa2026-plan-wood-stage{
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.lfa2026-page-plan .lfa2026-plan-embed{
  width:min(96vw, 1220px) !important;
  height:min(calc(100vh - 190px), 720px) !important;
  min-height:520px !important;
  max-height:720px !important;
  margin:0 auto !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(0,0,0,.28) !important;
  display:block !important;
  position:relative !important;
}
body.lfa2026-page-plan iframe.lfa2026-plan-frame{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  border:0 !important;
  display:block !important;
  overflow:hidden !important;
}
@media(max-width:1180px){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    height:auto !important;
    padding-top:14px !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-embed{
    height:min(calc(100vh - 170px), 680px) !important;
    min-height:460px !important;
  }
}
@media(max-width:760px){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    padding:10px 0 16px 0 !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-wood-stage{
    padding:0 8px !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-embed{
    width:96vw !important;
    height:min(calc(100vh - 150px), 640px) !important;
    min-height:430px !important;
    border-radius:12px !important;
  }
}
@media(max-width:520px){
  body.lfa2026-page-plan .lfa2026-plan-embed{
    height:calc(100vh - 140px) !important;
    min-height:390px !important;
  }
}
@media(orientation:landscape) and (max-height:520px){
  body.lfa2026-page-plan .lfa2026-plan-embed{
    height:calc(100vh - 120px) !important;
    min-height:300px !important;
  }
}

/* =========================================================
   PATCH 20260529-F - Page plan : afficher 100% de la carte
   Principe : on charge la carte dans une grande iframe paysage,
   puis on la réduit proportionnellement pour qu'elle soit entièrement visible.
   ========================================================= */
body.lfa2026-page-plan #intro.lfa2026-plan-intro{
  height:auto !important;
  min-height:min(86vh, 860px) !important;
  padding:22px 0 28px 0 !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body.lfa2026-page-plan .lfa2026-plan-wood-stage{
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto !important;
  padding:0 14px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
body.lfa2026-page-plan .lfa2026-plan-embed{
  position:relative !important;
  width:1280px !important;
  height:720px !important;
  max-width:none !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:hidden !important;
  margin:0 auto !important;
  border-radius:16px !important;
  background:#f7f1df !important;
  box-shadow:0 10px 28px rgba(0,0,0,.32) !important;
  transform-origin:top center !important;
}
body.lfa2026-page-plan iframe.lfa2026-plan-frame{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:1280px !important;
  height:720px !important;
  max-width:none !important;
  max-height:none !important;
  min-width:1280px !important;
  min-height:720px !important;
  border:0 !important;
  display:block !important;
  overflow:hidden !important;
}
body.lfa2026-page-plan #main{
  margin-top:0 !important;
}
@media(max-width:760px){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    min-height:0 !important;
    padding:12px 0 18px 0 !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-wood-stage{
    padding:0 6px !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-embed{
    border-radius:12px !important;
  }
}
@media(orientation:landscape) and (max-height:560px){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    padding-top:10px !important;
    padding-bottom:12px !important;
  }
}

/* =========================================================
   PATCH 20260529-G - Page plan mobile propre
   On ne scale plus le conteneur complet : seul l'iframe est réduite.
   Cela évite les débordements/positions bizarres sur smartphone.
   ========================================================= */
body.lfa2026-page-plan{
  overflow-x:hidden !important;
}
body.lfa2026-page-plan .lfa2026-plan-wood-stage{
  max-width:100vw !important;
  overflow:hidden !important;
}
body.lfa2026-page-plan .lfa2026-plan-embed{
  transform:none !important;
  transform-origin:top left !important;
  overflow:hidden !important;
  max-width:96vw !important;
  max-height:none !important;
}
body.lfa2026-page-plan iframe.lfa2026-plan-frame{
  transform-origin:top left !important;
  overflow:hidden !important;
}
@media(max-width:760px){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:10px 0 14px 0 !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-wood-stage{
    width:100vw !important;
    max-width:100vw !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-embed{
    border-radius:10px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.28) !important;
  }
}
@media(max-width:760px) and (orientation:portrait){
  body.lfa2026-page-plan .lfa2026-plan-embed{
    width:96vw !important;
    height:54vw !important;
  }
}
@media(max-width:900px) and (orientation:landscape){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    padding-top:34px !important;
  }
}


/* =========================================================
   PATCH 20260529-H - Plan mobile paysage + footer smartphone
   - PC et mobile portrait conservés
   - Mobile paysage : ratio réel du plan, iframe centrée
   - Footer mobile : liens/copyright sur lignes propres, sans superposition
   ========================================================= */
@media (max-width: 980px) and (orientation: landscape){
  body.lfa2026-page-plan #intro.lfa2026-plan-intro{
    min-height: calc(100vh - 118px) !important;
    height: auto !important;
    padding: 28px 0 18px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-wood-stage{
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  body.lfa2026-page-plan .lfa2026-plan-embed{
    width: min(96vw, calc((100vh - 170px) * 2.138)) !important;
    height: auto !important;
    aspect-ratio: 40.56 / 18.97 !important;
    max-height: calc(100vh - 170px) !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    transform: none !important;
  }
  body.lfa2026-page-plan iframe.lfa2026-plan-frame{
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 760px){
  body #footer{
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 14px 0 18px 0 !important;
    clear: both !important;
  }
  body #footer .shell{
    width: 94vw !important;
    max-width: 94vw !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: visible !important;
    text-align: center !important;
  }
  body #footer .footer-navigation,
  body #footer .footer-navigation ul,
  body #footer .footer-navigation li{
    float: none !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px 8px !important;
    line-height: 1.35 !important;
    overflow: visible !important;
    text-align: center !important;
  }
  body #footer .footer-navigation a{
    display: inline-block !important;
    float: none !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }
  body #footer p,
  body #footer p.right,
  body #footer .right{
    float: none !important;
    position: static !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 4px auto 0 auto !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    display: block !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

/* =========================================================
   PATCH 20260529-F - Espacement réel billetterie desktop
   Ciblé sur le LI ajouté par JS, avec cache-busting HTML.
   ========================================================= */
@media (min-width: 761px){
  body .lfa2026-mainnav > ul > li.lfa2026-billet-nav-li{
    margin-left: 36px !important;
    padding-left: 0 !important;
    flex: 0 0 auto !important;
  }
  body .lfa2026-mainnav > ul > li.lfa2026-billet-nav-li > a{
    margin-left: 0 !important;
  }
}
