html.encralys-year-open { overflow: hidden; }

#encralys-year-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease-out;
}
#encralys-year-modal.is-open{ opacity:1; pointer-events:auto; }

.encralys-year-backdrop{
  position:absolute; inset:0;
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(2px);
  opacity:0; transition: opacity .3s ease-out;
}
#encralys-year-modal.is-open .encralys-year-backdrop{ opacity:1; }

.encralys-year-dialog{
  position: relative;
  z-index: 2;
  max-width: 960px;
  width: 92%;
  max-height: 90vh;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 22px 45px rgba(0,0,0,.35);
  overflow: hidden;
  display:flex;
  flex-direction: column;

  transform: translateY(20px) scale(.98);
  opacity:0;
  transition: transform .35s cubic-bezier(0.16,1,0.3,1), opacity .35s ease-out;
}
#encralys-year-modal.is-open .encralys-year-dialog{
  transform: translateY(0) scale(1);
  opacity:1;
}
@media (prefers-color-scheme: dark){
  .encralys-year-dialog{ background:#020617; color:#e5e7eb; }
}

.encralys-year-content{
  padding: 16px 18px;
  overflow-y: auto;
  max-height: calc(90vh - 48px);
}

/* boutons */
.encralys-year-close,
.encralys-year-fullscreen-toggle{
  position:absolute;
  top:12px;
  width:34px; height:34px;
  border:none;
  border-radius:10px;
  background: rgba(255,255,255,.08);
  color:#fff;
  backdrop-filter: blur(8px);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  font-size:0;
  transition: all .2s ease;
}
.encralys-year-fullscreen-toggle{ right:56px; }
.encralys-year-close{ right:12px; }
.encralys-year-close::before{ content:"✕"; font-size:16px; }
.encralys-year-fullscreen-toggle::before{ content:"⛶"; font-size:16px; }

@media (prefers-color-scheme: light){
  .encralys-year-close,
  .encralys-year-fullscreen-toggle{
    background: rgba(0,0,0,.08);
    color:#111827;
  }
}

.encralys-year-dialog.is-fullscreen{
  margin:0;
  max-width:100vw;
  max-height:100vh;
  width:100vw;
  height:100vh;
  border-radius:0;
}

.encralys-year-loading{
  padding:40px 0;
  text-align:center;
  font-size:15px;
  opacity:.85;
}

/* rendu interne (page année) */
.encralys-year--popup{ padding: 4px; }
.encralys-year__header{ margin-bottom: 10px; }
.encralys-year__title{ margin: 0 0 2px; font-size: 1.25rem; }
.encralys-year__sub{ margin: 0; opacity: .75; font-size: .95rem; }

.encralys-year-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.encralys-year-card{
  text-decoration:none;
  color:inherit;
}
.encralys-year-card__media img{
  width:100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  border-radius: 12px;
  display:block;
  border: 1px solid rgba(0,0,0,.08);
}
.encralys-year-card__placeholder{
  width:100%;
  aspect-ratio: 2/3;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.6;
  border: 1px solid rgba(0,0,0,.12);
}
.encralys-year-card__meta{ padding: 6px 2px 0; }
.encralys-year-card__title{ font-weight: 650; font-size: .95rem; line-height: 1.25; }
.encralys-year-card__sub{ font-size: .8rem; opacity: .75; margin-top: 2px; }
/* FORCE MODAL — anti-surcharge BuddyBoss */
#encralys-year-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#encralys-year-modal.is-open{
  opacity: 1 !important;
  pointer-events: auto !important;
}

#encralys-year-modal .encralys-year-backdrop{
  position: absolute !important;
  inset: 0 !important;
}

#encralys-year-modal .encralys-year-dialog{
  position: relative !important;
  z-index: 2 !important;
}
/* ===== ENCRALYS Years popup/page ===== */

.encralys-year-top{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}

.encralys-year-title{
  margin:0;
  font-size:1.2rem;
  font-weight:700;
}

/* Menu années (scroll horizontal) */
.encralys-year-menu{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:6px;
  -webkit-overflow-scrolling: touch;
}

.encralys-year-menu .encralys-year-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  text-decoration:none;
  white-space:nowrap;
  font-weight:700;
  font-size:.9rem;
  opacity:.9;
}

.encralys-year-menu .encralys-year-link.is-active{
  opacity:1;
  border-color: rgba(148,163,184,.8);
}

/* Grille de cartes */
.encralys-year-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap:12px;
}

.encralys-year-card{
  text-decoration:none;
  color:inherit;
  display:block;
}

.encralys-year-poster{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:12px;
  display:block;
  border:1px solid rgba(148,163,184,.25);
  background: rgba(148,163,184,.08);
}

.encralys-year-poster--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  opacity:.6;
}

.encralys-year-meta{
  padding:6px 2px 0;
}

.encralys-year-name{
  font-weight:800;
  font-size:.9rem;
  line-height:1.2;
}

.encralys-year-sub{
  font-size:.8rem;
  opacity:.75;
  margin-top:2px;
}
/* Année active = violet */
.encralys-year-menu .encralys-year-link.is-active{
  background: rgba(168, 85, 247, 0.18);  /* violet léger */
  border-color: rgba(168, 85, 247, 0.65);
  color: #a855f7;
  opacity: 1;
}
.encralys-year-menu .encralys-year-link:hover{
  border-color: rgba(168, 85, 247, 0.45);
}
.encralys-theme-menu{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:6px;
  -webkit-overflow-scrolling: touch;
}
.encralys-theme-menu .encralys-theme-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.35);
  text-decoration:none;
  white-space:nowrap;
  font-weight:800;
  font-size:.9rem;
  opacity:.9;
}
.encralys-year-menu .encralys-year-link.is-active,
.encralys-theme-menu .encralys-theme-link.is-active{
  background: rgba(168, 85, 247, 0.18);
  border-color: rgba(168, 85, 247, 0.65);
  color: #a855f7;
  opacity: 1;
}
/* ✅ Empêche le shrink au chargement */
#encralys-year-modal .encralys-year-dialog{
  width: min(960px, 92vw);
  max-height: 90vh;
  min-height: 70vh;          /* <- garde la taille */
  display: flex;
  flex-direction: column;
}

#encralys-year-modal .encralys-year-content{
  flex: 1 1 auto;
  min-height: 50vh;          /* <- garde la zone visible */
  overflow: auto;
}

/* ✅ Loader en overlay (ne remplace pas le contenu) */
#encralys-year-modal .encralys-year-loading{
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
  z-index: 5;
}

#encralys-year-modal.is-loading .encralys-year-loading{
  display: flex;
}