/* LFA 2026 - Popup unifiée remplaçant les fenêtres Fancybox instables */
.lfa-popup-open { overflow: hidden !important; }
#lfa-unified-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483100 !important;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
  box-sizing: border-box;
  background: rgba(20, 24, 18, 0.72);
}
#lfa-unified-overlay.is-visible { display: flex !important; }
#lfa-unified-modal {
  position: relative !important;
  width: min(720px, 94vw) !important;
  height: min(620px, 88vh) !important;
  max-width: 96vw !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  border: 5px solid #fff !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.45) !important;
}
/* Tailles adaptées au contenu : évite les boîtes énormes ou mal proportionnées */
#lfa-unified-modal.lfa-popup-plan { width: min(590px, 94vw) !important; height: min(535px, 86vh) !important; }
#lfa-unified-modal.lfa-popup-actu { width: min(700px, 94vw) !important; height: min(520px, 86vh) !important; }
#lfa-unified-modal.lfa-popup-restauration { width: min(650px, 94vw) !important; height: min(820px, 92vh) !important; }
#lfa-unified-modal.lfa-popup-perdu { width: min(560px, 94vw) !important; height: min(650px, 90vh) !important; }
#lfa-unified-modal.lfa-popup-reservation { width: min(780px, 96vw) !important; height: min(840px, 92vh) !important; }
#lfa-unified-modal.lfa-popup-partenaires { width: min(980px, 96vw) !important; height: min(760px, 90vh) !important; }
#lfa-unified-modal.lfa-popup-large { width: min(980px, 96vw) !important; height: min(760px, 90vh) !important; }
#lfa-unified-titlebar {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 0 !important;
  z-index: 5 !important;
}
#lfa-unified-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 20 !important;
  width: 42px !important;
  height: 42px !important;
  line-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  background: #7b2f1d !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 30px !important;
  font-weight: bold !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.35) !important;
}
#lfa-unified-close:hover, #lfa-unified-close:focus { background: #4e1f13 !important; outline: none !important; }
#lfa-unified-content {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #fff !important;
}
#lfa-unified-content iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #fff !important;
}
#lfa-unified-modal.lfa-popup-plan iframe,
#lfa-unified-modal.lfa-popup-actu iframe { overflow: hidden !important; }
#lfa-unified-modal.lfa-popup-restauration iframe,
#lfa-unified-modal.lfa-popup-perdu iframe,
#lfa-unified-modal.lfa-popup-reservation iframe { overflow: auto !important; }
#lfa-unified-content .lfa-popup-html {
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  overflow: auto !important;
  padding: 18px !important;
  background: #fff !important;
}
#lfa-unified-content .lfa-popup-html iframe { height: 100% !important; }
.fancybox-close { z-index: 2147480000 !important; }
@media (max-width: 700px) {
  #lfa-unified-overlay { padding: 8px !important; }
  #lfa-unified-modal,
  #lfa-unified-modal.lfa-popup-plan,
  #lfa-unified-modal.lfa-popup-actu,
  #lfa-unified-modal.lfa-popup-restauration,
  #lfa-unified-modal.lfa-popup-perdu,
  #lfa-unified-modal.lfa-popup-reservation,
  #lfa-unified-modal.lfa-popup-partenaires,
  #lfa-unified-modal.lfa-popup-large {
    width: 100% !important;
    height: calc(100dvh - 16px) !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 16px) !important;
    border-width: 3px !important;
    border-radius: 12px !important;
  }
  #lfa-unified-close {
    width: 42px !important;
    height: 42px !important;
    line-height: 38px !important;
    font-size: 29px !important;
  }
}
@media (orientation: landscape) and (max-height: 520px) {
  #lfa-unified-overlay { padding: 6px !important; }
  #lfa-unified-modal,
  #lfa-unified-modal.lfa-popup-plan,
  #lfa-unified-modal.lfa-popup-actu,
  #lfa-unified-modal.lfa-popup-restauration,
  #lfa-unified-modal.lfa-popup-perdu,
  #lfa-unified-modal.lfa-popup-reservation {
    height: calc(100vh - 12px) !important;
    max-height: calc(100vh - 12px) !important;
  }
}
@supports not (height: 100dvh) {
  @media (max-width: 700px) {
    #lfa-unified-modal,
    #lfa-unified-modal.lfa-popup-plan,
    #lfa-unified-modal.lfa-popup-actu,
    #lfa-unified-modal.lfa-popup-restauration,
    #lfa-unified-modal.lfa-popup-perdu,
    #lfa-unified-modal.lfa-popup-reservation,
    #lfa-unified-modal.lfa-popup-partenaires,
    #lfa-unified-modal.lfa-popup-large { height: calc(100vh - 16px) !important; max-height: calc(100vh - 16px) !important; }
  }
}


/* LFA 2026 - Fiches activités enrichies + tailles propres */
#lfa-unified-modal.lfa-popup-activity {
  width: min(650px, 94vw) !important;
  height: auto !important;
  max-height: min(760px, 90vh) !important;
}
#lfa-unified-modal.lfa-popup-activity #lfa-unified-content {
  height: auto !important;
  max-height: min(760px, 90vh) !important;
  overflow: auto !important;
  background: #fffaf1 !important;
}
#lfa-unified-modal.lfa-popup-activity .lfa-popup-html {
  height: auto !important;
  max-height: min(760px, 90vh) !important;
  overflow: auto !important;
  padding: 0 !important;
  background: #fffaf1 !important;
}
.lfa-fiche-activite {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 24px 24px 26px !important;
  color: #5b3a22 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.45 !important;
}
.lfa-fiche-head {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  margin: 0 46px 18px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid rgba(151,106,70,.25) !important;
}
.lfa-fiche-code {
  flex: 0 0 auto !important;
  min-width: 42px !important;
  height: 42px !important;
  line-height: 42px !important;
  border-radius: 50% !important;
  text-align: center !important;
  background: #976a46 !important;
  color: #fff !important;
  font-weight: bold !important;
  box-shadow: 0 3px 8px rgba(0,0,0,.18) !important;
}
.lfa-fiche-activite h2 {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #7b4c2a !important;
  font-size: 25px !important;
  line-height: 1.12 !important;
}
.lfa-fiche-badge {
  display: inline-block !important;
  margin-top: 4px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: #c62828 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: bold !important;
}
.lfa-fiche-infos {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}
.lfa-fiche-infos p {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: #f3eadb !important;
  color: #5b3a22 !important;
}
.lfa-fiche-section {
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  background: #fff !important;
  border: 1px solid rgba(151,106,70,.22) !important;
}
.lfa-fiche-section h3 {
  margin: 0 0 8px !important;
  color: #976a46 !important;
  font-size: 18px !important;
}
.lfa-fiche-section p { margin: 0 !important; }
.lfa-fiche-jeu { background: #f8f1e5 !important; }
.lfa2026-chapaya-box {
  margin-top: 18px !important;
  padding-top: 12px !important;
  text-align: center !important;
}
.lfa2026-chapaya-box img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
}
@media screen and (max-width: 980px) and (orientation: landscape) {
  .lfa2026-mainnav a[href*="qweekle"],
  .lfa2026-mainnav .btn_billet,
  .lfa2026-mainnav .menu-billetterie,
  .lfa2026-mainnav .lfa2026-ticket-link {
    margin-left: 5px !important;
  }
}
@media (max-width: 700px) {
  #lfa-unified-modal.lfa-popup-activity,
  #lfa-unified-modal.lfa-popup-activity #lfa-unified-content,
  #lfa-unified-modal.lfa-popup-activity .lfa-popup-html {
    height: auto !important;
    max-height: calc(100dvh - 16px) !important;
  }
  .lfa-fiche-activite { padding: 18px 14px 20px !important; }
  .lfa-fiche-infos { grid-template-columns: 1fr !important; }
  .lfa-fiche-head { margin-right: 42px !important; }
  .lfa-fiche-activite h2 { font-size: 21px !important; }
}

/* Correctif activités 20260529 : les fiches servant aux popups restent invisibles dans la page */
body.lfa2026-page-activites .lfa2026-hidden-popups,
body.lfa2026-page-activites #lfa-dynamic-fiches{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  position:absolute !important;
  left:-99999px !important;
  top:auto !important;
}
#lfa-unified-modal .lfa-fiche-activite{
  display:block !important;
  visibility:visible !important;
  position:static !important;
  left:auto !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#lfa-unified-modal .lfa-fiche-titlewrap{
  flex:1 1 auto !important;
  min-width:0 !important;
}
#lfa-unified-modal .lfa-fiche-title{
  display:block !important;
  margin:0 0 4px 0 !important;
  color:#7b4f2e !important;
  font-size:26px !important;
  line-height:1.12 !important;
  font-weight:bold !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
@media screen and (max-width: 640px){
  #lfa-unified-modal .lfa-fiche-title{font-size:21px !important;}
  #lfa-unified-modal .lfa-fiche-code{min-width:38px !important;height:38px !important;line-height:38px !important;}
}
