/* LFA hard fix 2026-05-28F : priorité finale, sans modifier les anciens fichiers */
html, body{width:100% !important;max-width:100% !important;overflow-x:hidden !important;}
body{min-width:0 !important;}
body #header{position:relative !important;z-index:9000 !important;background:#fff !important;overflow:visible !important;margin:0 !important;padding:0 !important;}
body #header .shell{position:relative !important;max-width:1220px !important;width:100% !important;margin:0 auto !important;box-sizing:border-box !important;overflow:visible !important;}

/* Billetterie toujours alignée avec la nav, jamais par-dessus */
body #header .btn1{
  position:absolute !important;right:10px !important;top:52px !important;float:none !important;margin:0 !important;z-index:9800 !important;
  padding:11px 16px !important;font-size:1.05em !important;line-height:1 !important;white-space:nowrap !important;
}

/* Logo au-dessus de l'intro, mais ne cache pas la nav */
body #logo{position:absolute !important;left:0 !important;top:0 !important;z-index:9700 !important;margin:0 !important;}

/* Nav identique sur toutes pages + espace réservé entre logo et billet */
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:none !important;}
body .lfa2026-mainnav{display:block !important;background:#fff !important;border-radius:0 0 8px 8px !important;overflow:visible !important;}
body .lfa2026-mainnav > ul{display:flex !important;flex-wrap:nowrap !important;justify-content:center !important;align-items:stretch !important;margin:0 !important;padding:0 !important;list-style:none !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;width:auto !important;background:#fff !important;color:#666 !important;text-decoration:none !important;border-right:1px solid #3D3D3D !important;border-radius:0 !important;box-shadow:none !important;text-shadow:none !important;white-space:nowrap !important;padding:14px 9px !important;font-size:.76em !important;line-height:1.1 !important;font-weight:bold !important;}
body .lfa2026-mainnav a:hover,body .lfa2026-mainnav a.lfa2026-active,body .lfa2026-mainnav li:hover>a{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;background:#fff !important;min-width:230px !important;width:max-content !important;max-width:320px !important;box-shadow:2px 2px 0 #BEBEBE !important;z-index:9900 !important;margin:0 !important;padding:0 !important;list-style:none !important;}
body .lfa2026-mainnav li:hover>.lfa2026-sub{display:block !important;}
body .lfa2026-sub li{width:100% !important;float:none !important;}
body .lfa2026-sub a{font-size:.80em !important;text-align:left !important;color:#000 !important;background:#fff !important;text-shadow:none !important;border-right:0 !important;border-bottom:1px dotted #ccc !important;padding:11px 18px !important;white-space:normal !important;}
body .lfa2026-sub a:hover{background:#eee !important;color:#000 !important;text-shadow:none !important;}

/* Intro et carousel */
body #intro{position:relative !important;z-index:1 !important;width:100% !important;max-width:100% !important;height:clamp(470px, 50vw, 690px) !important;min-height:0 !important;max-height:none !important;margin:0 !important;padding:5mm 0 !important;box-sizing:border-box !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;}
body #intro>center{width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;}
body .lfa2026-carousel{width:min(1220px, calc(100vw - 10mm)) !important;height:100% !important;margin:0 auto !important;position:relative !important;display:block !important;overflow:hidden !important;box-sizing:border-box !important;}
body .lfa2026-track,body .lfa2026-slide{height:100% !important;width:100% !important;}
body .lfa2026-track{display:flex !important;transition:transform .65s ease !important;}
body .lfa2026-slide{flex:0 0 100% !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;}
body .lfa2026-slide img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center center !important;margin:0 !important;display:block !important;}

/* Colonnes : 3 desktop / 2 tablette / 1 smartphone sans croisement */
body #main{overflow:visible !important;clear:both !important;}
body #main .shell{width:min(1220px,100%) !important;max-width:1220px !important;margin:0 auto !important;padding:18px 12px !important;box-sizing:border-box !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;align-items:start !important;overflow:visible !important;}
body #main .shell>br{display:none !important;}
body #main .shell>.box,body #main .shell>.last-box{float:none !important;clear:none !important;position:relative !important;width:auto !important;max-width:none !important;min-width:0 !important;margin:0 !important;box-sizing:border-box !important;grid-column:auto !important;}
body #main .entry,body #main .news,body #main .news ul,body #main .news li,body #main .post-data{width:auto !important;max-width:100% !important;box-sizing:border-box !important;float:none !important;}
body #main img{max-width:100% !important;height:auto !important;}

/* Fancybox : toujours dans le viewport complet, bouton fermer visible */
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;}
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-close{display:block !important;visibility:visible !important;opacity:1 !important;z-index:100010 !important;top:-18px !important;right:-18px !important;}
body .fancybox-inner iframe{width:100% !important;height:100% !important;max-width:100% !important;border:0 !important;}

/* Iframe plan pleine largeur avec 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;}

@media(max-width:1120px){
  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 -18px auto !important;text-align:center !important;}
  body #header .btn1{position:relative !important;right:auto !important;top:auto !important;align-self:flex-end !important;margin:-44px 8px 4px auto !important;transform:scale(.9) !important;transform-origin:top right !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{font-size:.78em !important;padding:12px 10px !important;}
  body #main .shell{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media(max-width:760px){
  body #header{padding-top:0 !important;}
  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;right:auto !important;top:auto !important;margin:0 auto -22px auto !important;display:block !important;text-align:center !important;float:none !important;transform:none !important;}
  body #logo a{display:block !important;margin-left:auto !important;margin-right:auto !important;}
  body #header .btn1{display:none !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-weight:bold !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;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:.88em !important;padding:10px 12px !important;border-right:0 !important;border-bottom:1px dotted #ccc !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;}
  body .lfa2026-sub a{padding-left:30px !important;background:#f8f8f8 !important;}
  body #intro{height:calc(100svh - 105px) !important;min-height:390px !important;max-height:720px !important;padding:5mm 0 !important;}
  body .lfa2026-carousel{width:calc(100vw - 10mm) !important;height:100% !important;}
  body .lfa2026-slide img{object-fit:cover !important;}
  body #main .shell{display:grid !important;grid-template-columns:1fr !important;width:100% !important;max-width:100% !important;padding:14px 10px !important;gap:16px !important;}
  body #main .shell>.box,body #main .shell>.last-box{width:100% !important;max-width:620px !important;margin:0 auto !important;float:none !important;clear:none !important;}
}
