/* LFA 2026 - correctif structurel final : nav / intro / carousel / box / fancybox
   Fichier chargé en dernier, noms uniques pour éviter les conflits. */
html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;box-sizing:border-box!important;}
*,*:before,*:after{box-sizing:border-box!important;}
body{margin:0!important;}

/* HEADER / LOGO / NAV : index identique aux autres */
body #header{position:relative!important;z-index:9000!important;background:#fff!important;overflow:visible!important;margin:0!important;padding:0!important;min-width:0!important;width:100%!important;}
body #header .shell{position:relative!important;width:min(1220px,100%)!important;max-width:1220px!important;min-width:0!important;margin:0 auto!important;padding:0 10px!important;overflow:visible!important;display:block!important;}
body #logo{position:absolute!important;left:10px!important;top:10px!important;z-index:9300!important;margin:0!important;float:none!important;}
body #logo a{display:block!important;}
body .lfa2026-nav-wrap,
.lfa2026-nav-wrap {
    top: 75% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}
body .lfa2026-mainnav{display:block!important;width:100%!important;background:#fff!important;border-radius:0 0 8px 8px!important;overflow:visible!important;}
body .lfa2026-mainnav ul{list-style:none!important;margin:0!important;padding:0!important;}
body .lfa2026-mainnav>ul{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:stretch!important;overflow:visible!important;}
body .lfa2026-mainnav li{float:none!important;position:relative!important;margin:0!important;padding:0!important;}
body .lfa2026-mainnav>ul>li{flex:0 1 auto!important;}
body .lfa2026-mainnav a{display:block!important;background:#fff!important;color:#666!important;text-decoration:none!important;border-right:1px solid #3D3D3D!important;border-left:0!important;border-bottom:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;white-space:nowrap!important;text-transform:none!important;padding:14px 8px!important;font:bold .74em/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:.2px!important;}
body .lfa2026-mainnav a:hover,body .lfa2026-mainnav li:hover>a,body .lfa2026-mainnav a.lfa2026-active{background:url(images/navigation-active.png) center center repeat!important;color:#fff!important;text-shadow:1px 1px 1px #0E0E0E!important;}
body .lfa2026-sub{position:absolute!important;top:100%!important;left:0!important;display:none!important;min-width:235px!important;width:max-content!important;max-width:330px!important;background:#fff!important;box-shadow:2px 2px 0 #BEBEBE!important;z-index:9500!important;overflow:visible!important;}
body .lfa2026-mainnav li:hover>.lfa2026-sub{display:block!important;}
body .lfa2026-sub li{display:block!important;width:100%!important;float:none!important;}
body .lfa2026-sub a{background:#fff!important;color:#000!important;text-shadow:none!important;border-right:0!important;border-bottom:1px dotted #ccc!important;white-space:normal!important;text-align:left!important;padding:11px 18px!important;font:bold .78em/1.2 Arial,Helvetica,sans-serif!important;}
body .lfa2026-sub a:hover{background:#eee!important;color:#000!important;text-shadow:none!important;}
body .lfa2026-menu-toggle{display:none!important;}

/* Billetterie alignée à droite de la nav, pas en chevauchement */
body #header .btn1, body #header a.btn1{position:absolute!important;right:10px!important;top:5px!important;float:none!important;margin:0!important;z-index:9400!important;display:inline-block!important;text-decoration:none!important;padding:10px 14px!important;font-family:arial!important;font-size:1em!important;line-height:1!important;color:#fff!important;background-color:#976a46!important;border-radius:24px!important;border:4px solid #fff!important;box-shadow:3px 3px 12px #444!important;white-space:nowrap!important;}

/* INTRO : peu de marge blanche au-dessus, logo superposé à l'intro */
body #intro{position:relative!important;z-index:1!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:-10px 0 0 0!important;padding:5mm 0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-height:0!important;height:auto!important;}
body #intro>center{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;}

/* CAROUSEL : desktop en format natif/non rogné, max possible dans le bois */
body .lfa2026-carousel{position:relative!important;display:block!important;width:min(1180px,calc(100vw - 10mm))!important;max-width:calc(100vw - 10mm)!important;aspect-ratio:16/9!important;height:auto!important;max-height:calc(100svh - 120px)!important;margin:0 auto!important;overflow:hidden!important;line-height:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;}
body .lfa2026-track{display:flex!important;width:100%!important;height:100%!important;align-items:center!important;transition:transform .55s ease!important;will-change:transform!important;}
body .lfa2026-slide{flex:0 0 100%!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:transparent!important;line-height:0!important;}
body .lfa2026-slide img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;margin:0 auto!important;float:none!important;position:static!important;}
body .lfa2026-btn{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:5!important;width:34px!important;height:46px!important;border:0!important;background:rgba(151,106,70,.76)!important;color:#fff!important;font-size:32px!important;line-height:40px!important;cursor:pointer!important;}
body .lfa2026-prev{left:0!important;} body .lfa2026-next{right:0!important;}
body .lfa2026-dots{position:absolute!important;left:0!important;right:0!important;bottom:8px!important;display:flex!important;justify-content:center!important;gap:6px!important;z-index:5!important;}
body .lfa2026-dot{width:9px!important;height:9px!important;border-radius:50%!important;border:1px solid #fff!important;background:rgba(255,255,255,.45)!important;padding:0!important;cursor:pointer!important;}
body .lfa2026-dot.lfa2026-on{background:#976a46!important;}

/* CONTENU : grille forcée même si index/activites ont une structure différente */
body #main{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;clear:both!important;margin:0!important;padding:0!important;}
body #main .shell{width:min(1220px,100%)!important;max-width:1220px!important;min-width:0!important;margin:0 auto!important;padding:18px 12px!important;display:block!important;overflow:visible!important;}
body .lfa2026-box-grid{width:min(1220px,100%)!important;max-width:1220px!important;min-width:0!important;margin:0 auto!important;padding:18px 12px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:start!important;clear:both!important;}
body .lfa2026-box-grid>.box,body .lfa2026-box-grid>.last-box,body #main .box,body #main .last-box{float:none!important;clear:none!important;position:relative!important;width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;}
body #main .entry,body #main .news,body #main .news ul,body #main .news li,body #main .post-data,body #main p{width:auto!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;float:none!important;}
body #main img{max-width:100%!important;height:auto!important;}
body #main .cl{clear:both!important;}

/* Plan iframe responsive ratio */
body iframe[src*="plan"],body iframe[src*="maps"],body iframe[src*="google"]{width:100%!important;max-width:100%!important;aspect-ratio:16/9!important;height:auto!important;min-height:320px!important;display:block!important;}

/* Fancybox / JEU : viewport complet, jamais encapsulé dans intro/main */
body .fancybox-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:100000!important;overflow:auto!important;background:rgba(0,0,0,.55)!important;}
body .fancybox-wrap{position:fixed!important;z-index:100001!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;max-width:96vw!important;max-height:92vh!important;margin:0!important;}
body .fancybox-skin,body .fancybox-outer,body .fancybox-inner{box-sizing:border-box!important;max-width:96vw!important;max-height:92vh!important;}
body .fancybox-inner{overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
body .fancybox-inner iframe{width:100%!important;height:100%!important;max-width:100%!important;border:0!important;display:block!important;}
body .fancybox-close{display:block!important;visibility:visible!important;opacity:1!important;z-index:100010!important;top:-18px!important;right:-18px!important;}

@media(max-width:1180px){
  body #header .shell{display:flex!important;flex-direction:column!important;align-items:center!important;padding:0 8px!important;}
  body #logo{position:relative!important;left:auto!important;top:auto!important;margin:0 auto -20px auto!important;text-align:center!important;}
  body .lfa2026-nav-wrap,
.lfa2026-nav-wrap {
    top: 75% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}
  body .lfa2026-mainnav>ul{flex-wrap:wrap!important;}
  body .lfa2026-mainnav a{padding:12px 9px!important;font-size:.78em!important;}
  body #header .btn1{position:relative!important;right:auto!important;top:auto!important;align-self:flex-end!important;margin:-42px 8px 3px auto!important;transform:scale(.9)!important;transform-origin:top right!important;}
  body .lfa2026-box-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:760px){
  body #header .shell{padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;}
  body #logo{position:relative!important;left:auto!important;top:auto!important;margin:0 auto -24px auto!important;display:block!important;text-align:center!important;float:none!important;transform:none!important;z-index:9300!important;}
  body #logo a{margin-left:auto!important;margin-right:auto!important;}
  body #header .btn1{position:relative!important;display:block!important;align-self:center!important;margin:2px auto 4px auto!important;right:auto!important;top:auto!important;transform:scale(.88)!important;}
  body .lfa2026-nav-wrap,
.lfa2026-nav-wrap {
    top: 75% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}
  body .lfa2026-menu-toggle{display:block!important;width:100%!important;margin:0!important;padding:9px 12px!important;background:#fff!important;color:#666!important;border:0!important;border-bottom:1px solid #3D3D3D!important;border-radius:0 0 8px 8px!important;box-shadow:0 0 25px #fff!important;font:bold .95em/1.1 Arial,Helvetica,sans-serif!important;text-align:center!important;}
  body .lfa2026-menu-toggle span{float:none!important;margin-left:8px!important;}
  body .lfa2026-mainnav{display:none!important;width:100%!important;background:#fff!important;box-shadow:0 8px 18px rgba(0,0,0,.22)!important;}
  body .lfa2026-nav-wrap,
.lfa2026-nav-wrap {
    top: 75% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}
  body .lfa2026-mainnav>ul{display:block!important;width:100%!important;margin:0!important;padding:0!important;}
  body .lfa2026-mainnav li{display:block!important;width:100%!important;float:none!important;}
  body .lfa2026-mainnav a{display:block!important;width:100%!important;box-sizing:border-box!important;text-align:left!important;white-space:normal!important;font-size:.86em!important;padding:10px 12px!important;border-right:0!important;border-bottom:1px dotted #ccc!important;background:#fff!important;color:#666!important;text-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{position:static!important;width:100%!important;max-width:none!important;min-width:0!important;box-shadow:none!important;margin:0!important;padding:0!important;display:none!important;}
  body .lfa2026-sub a{padding-left:30px!important;background:#f8f8f8!important;color:#000!important;}
  body #intro{margin:-6px 0 0 0!important;padding:5mm 0!important;height:calc(100svh - 98px)!important;min-height:390px!important;max-height:760px!important;}
  body #intro>center{height:100%!important;}
  body .lfa2026-carousel{width:calc(100vw - 10mm)!important;height:100%!important;max-height:100%!important;aspect-ratio:auto!important;}
  body .lfa2026-slide img{object-fit:cover!important;max-width:none!important;max-height:none!important;}
  body .lfa2026-box-grid{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;padding:14px 10px!important;gap:16px!important;}
  body .lfa2026-box-grid>.box,body .lfa2026-box-grid>.last-box{width:100%!important;max-width:620px!important;margin:0 auto!important;}
}

/* PATCH 20260528 - anti-croisement textes/colonnes : reprend le dessus sur les anciens floats/hauteurs */
body #main,
body #main *{
  min-width:0!important;
  box-sizing:border-box!important;
}
body #main .shell{
  float:none!important;
  clear:both!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body #main .box,
body #main .last-box{
  display:block!important;
  float:none!important;
  clear:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  vertical-align:top!important;
}
body #main .box h1,
body #main .box h2,
body #main .box h3,
body #main .box h4,
body #main .box h5,
body #main .box h6,
body #main .box h7,
body #main .last-box h1,
body #main .last-box h2,
body #main .last-box h3,
body #main .last-box h4,
body #main .last-box h5,
body #main .last-box h6,
body #main .last-box h7,
body #main .entry,
body #main .entry p,
body #main .news,
body #main .news ul,
body #main .news li,
body #main .post-data{
  float:none!important;
  clear:none!important;
  position:relative!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  line-height:1.35!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
body #main .news ul,
body #main .news li{
  display:block!important;
  margin-left:0!important;
  padding-left:0!important;
  list-style:none!important;
}
body #main .post-image{
  max-width:100%!important;
  height:auto!important;
}

@media(min-width:901px){
  body .lfa2026-box-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:start!important;
  }
  body .lfa2026-box-grid>.box,
  body .lfa2026-box-grid>.last-box{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}
@media(min-width:621px) and (max-width:900px){
  body .lfa2026-box-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
  }
  body .lfa2026-box-grid>.box,
  body .lfa2026-box-grid>.last-box{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}
@media(max-width:620px){
  body #main .shell{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px 10px!important;
  }
  body .lfa2026-box-grid{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:12px 10px!important;
    margin:0 auto!important;
  }
  body #main .box,
  body #main .last-box,
  body .lfa2026-box-grid>.box,
  body .lfa2026-box-grid>.last-box{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 18px auto!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body #main .entry,
  body #main .entry p,
  body #main .news,
  body #main .news ul,
  body #main .news li,
  body #main .post-image,
  body #main .post-data{
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body #main br{
    line-height:1!important;
  }
}
