/* MyDex 1.0.278 — Réglages de taille propres au Skin 2, après toutes les autres feuilles. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control {
  box-sizing:border-box!important;display:inline-flex!important;flex:0 1 auto!important;align-items:center!important;
  gap:6px!important;min-width:0!important;min-height:33px!important;padding:4px 8px!important;
  border:1px solid #2a4e6b!important;border-radius:8px!important;
  background:rgba(8,29,48,.83)!important;color:#d6e9fc!important;
  white-space:nowrap!important;margin:0!important;box-shadow:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control>label{font-size:11px!important;line-height:1!important;color:#c0def7!important;font-weight:600!important;min-width:0!important;margin:0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control .ec-s2-size-icon{font-size:13px!important;line-height:1!important;color:#83aecf!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control>input[type="range"] {
  flex:0 1 102px!important;width:102px!important;max-width:102px!important;min-width:68px!important;
  height:18px!important;min-height:18px!important;box-sizing:border-box!important;margin:0!important;
  padding:0!important;appearance:auto!important;accent-color:#229aff!important;cursor:pointer!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control>output{min-width:44px!important;text-align:right!important;font-size:10px!important;line-height:1.2!important;color:#a7cbe8!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-size-control>input[type="range"]:focus-visible{outline:2px solid #72c2ff!important;outline-offset:3px!important}
/* Galerie : piloter les colonnes. Le mode Liste garde sa mise en page d'origine. */
.ec-wrap.ec-app.ec-skin-2 .ec-skin2-gallery-controls{justify-content:space-between!important;gap:8px!important;margin:0 0 7px!important}
.ec-wrap.ec-app.ec-skin-2:not(.ec-skin2-gallery-list):not(.ec-gallery-mode-list) #ec-gallery.ec-gallery{
  grid-template-columns:repeat(var(--ec-s2-gallery-cols,5),minmax(0,1fr))!important;
}
/* Calendrier : commandes de mois, filtres et taille sur la même hauteur. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters{
  display:flex!important;align-items:center!important;align-content:center!important;justify-content:flex-start!important;
  flex-wrap:wrap!important;gap:6px 9px!important;margin:0 0 5px!important;padding:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-nav{order:0!important;align-self:center!important;margin:0 3px 0 0!important;width:auto!important;flex:0 0 auto!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > label{
  order:1!important;align-self:center!important;flex:0 1 154px!important;min-width:122px!important;max-width:165px!important;
  margin:0!important;gap:0!important;line-height:1!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters select{height:35px!important;min-height:35px!important;margin:0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-reset{order:2!important;align-self:center!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-size-control{order:3!important;margin-left:auto!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-day,
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-empty{
  min-height:var(--ec-s2-day-height,112px)!important;height:auto!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview .ec-s2-cal-poster{
  height:var(--ec-s2-poster-height,74px)!important;max-height:var(--ec-s2-poster-height,74px)!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-aside{margin:5px 0 0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-summary-toggle{padding:5px 8px!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-summary{padding:0 8px 7px!important}
/* Événements à venir : suppression de l'espace du vieux logo, garder affiches/calendrier et Ajouter. */
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel>.ec-upcoming-head{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  min-height:0!important;gap:0!important;padding:0!important;margin:0 0 7px!important;
  border:0!important;background:transparent!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:flex-end!important;gap:7px!important;width:100%!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-filter-row{margin-top:0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-affiche-posters-panel{padding:12px!important}
.ec-wrap.ec-app.ec-skin-2 .ec-affiche-posters-grid{
  grid-template-columns:repeat(var(--ec-s2-upcoming-cols,5),minmax(0,1fr))!important;
  gap:clamp(6px,1vw,14px)!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-affiche-mode-calendar .ec-calendar-upcoming .ec-day{
  min-height:var(--ec-s2-upcoming-day-height,130px)!important;
}
/* Petits écrans : la date puis les deux filtres, sans débordement. */
@media(max-width:900px){
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-size-control{margin-left:0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions{display:flex!important;flex-direction:row!important;gap:7px!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-add-btn{width:auto!important;min-width:72px!important}
}
@media(max-width:650px){
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-nav{width:100%!important;justify-content:center!important;flex:1 1 100%!important;order:0!important;margin:0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > label{
   flex:1 1 calc(50% - 5px)!important;min-width:0!important;max-width:none!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-size-control{order:3!important;flex:1 1 100%!important;justify-content:center!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-day,
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-empty{
   min-height:var(--ec-s2-mobile-day-height,56px)!important;max-height:var(--ec-s2-mobile-day-height,56px)!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-mobile-list .ec-s2-cal-list-poster{
   height:var(--ec-s2-mobile-poster-height,185px)!important;max-height:var(--ec-s2-mobile-poster-height,185px)!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-skin2-gallery-controls{justify-content:flex-start!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-skin2-toolbar-end{width:auto!important;flex:1 1 100%!important;justify-content:flex-end!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions{justify-content:flex-start!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions>.ec-s2-size-control{order:2!important;flex:1 1 100%!important;justify-content:center!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-add-btn{width:auto!important;min-width:0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-affiche-posters-panel{padding:8px!important}
}
/* Réduction des marges autour du bandeau et du premier rang de commandes. */
.ec-wrap.ec-app.ec-skin-2 .ec-skin2-cover--calendar,
.ec-wrap.ec-app.ec-skin-2 .ec-skin2-cover--upcoming{margin-bottom:8px!important}

/* MyDex 1.0.275 — une même barre de réglage pour les trois vues.
   Le curseur occupe toujours le premier emplacement, à gauche. */
.ec-wrap.ec-app.ec-skin-2 .ec-skin2-gallery-controls > .ec-s2-size-control{order:0!important;margin:0 auto 0 0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-skin2-gallery-controls > .ec-skin2-toolbar-end{order:1!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > .ec-s2-size-control{
  order:0!important;flex:0 0 auto!important;margin:0 10px 0 0!important;align-self:center!important
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-nav{
  order:1!important;margin:0 5px 0 0!important
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > label{order:2!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-reset{order:3!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > button[type="submit"]{order:3!important}

/* Le réglage du Calendrier ne touche plus à la taille d'une vignette fixe.
   La case est l'unique unité de taille. Le visuel utilise tout ce qui reste
   entre son titre et le numéro de jour. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-day,
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-empty{
  height:var(--ec-s2-day-height,151px)!important;
  min-height:var(--ec-s2-day-height,151px)!important;
  max-height:var(--ec-s2-day-height,151px)!important;
  overflow:hidden!important;
  padding:3px!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-previews{
  display:flex!important;align-items:stretch!important;justify-content:stretch!important;
  flex:1 1 auto!important;min-height:0!important;height:auto!important;
  margin:1px 0 2px!important;gap:2px!important;overflow:hidden!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview,
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-previews.is-multiple .ec-s2-cal-preview{
  display:flex!important;flex:1 1 100%!important;flex-direction:column!important;
  width:100%!important;max-width:100%!important;height:100%!important;
  min-height:0!important;gap:2px!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview .ec-s2-cal-poster{
  box-sizing:border-box!important;display:flex!important;flex:1 1 auto!important;
  width:100%!important;min-width:0!important;height:auto!important;
  min-height:0!important;max-height:none!important;margin:0!important;
  overflow:hidden!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview .ec-s2-cal-poster img{
  display:block!important;flex:1 1 100%!important;width:100%!important;max-width:100%!important;
  height:100%!important;max-height:100%!important;object-fit:fill!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview-title{
  display:block!important;flex:0 0 auto!important;min-height:0!important;
  line-height:1.2!important;font-size:10px!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-location{display:none!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-number{
  flex:0 0 14px!important;min-height:14px!important;line-height:14px!important;
  padding:0!important;margin-top:1px!important
}

/* À venir : ligne ordonnée (Taille → Futur/Passé → Catégories → Affiches/Calendrier → Ajouter).
   Plus aucune seconde barre de recherche, déjà disponible dans le bandeau général. */
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel > .ec-upcoming-head{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  margin:0 0 9px!important;padding:0!important;min-height:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex-flow:row wrap!important;gap:8px!important;width:100%!important;
  min-width:0!important;margin:0!important;padding:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-size-control{
  order:0!important;flex:0 0 auto!important;margin:0 6px 0 0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-filter-row{
  order:1!important;display:flex!important;flex:1 1 auto!important;align-items:center!important;
  justify-content:flex-start!important;flex-wrap:wrap!important;gap:7px!important;
  width:auto!important;min-width:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions .ec-upcoming-filters{
  display:flex!important;flex:0 1 auto!important;align-items:center!important;flex-wrap:wrap!important;
  gap:5px!important;width:auto!important;margin:0!important;padding:0!important;
  overflow:visible!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions .ec-upcoming-filter-actions{
  display:flex!important;flex:0 0 auto!important;align-items:center!important;
  gap:5px!important;margin:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions .ec-filter-chip,
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions .ec-upcoming-category-filter summary{
  box-sizing:border-box!important;min-height:34px!important;height:34px!important;
  padding:4px 10px!important;font-size:11px!important;line-height:1.15!important;
  white-space:nowrap!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-affiche-view-switch{
  order:2!important;flex:0 0 auto!important;margin:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-add-btn,
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-one-access-trigger{
  order:3!important;flex:0 0 auto!important;min-height:36px!important;height:36px!important;
  margin:0 0 0 auto!important;padding:0 13px!important;
  border-radius:8px!important;font-size:12px!important;
}
@media(max-width:900px){
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-filter-row{flex:1 1 100%!important;order:2!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-affiche-view-switch{order:1!important;margin-left:auto!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-add-btn,
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-one-access-trigger{order:3!important;margin-left:auto!important}
}
@media(max-width:650px){
 /* Même emplacement logique du curseur : tout en haut, à gauche, sur chaque vue. */
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > .ec-s2-size-control{
   order:0!important;flex:1 1 100%!important;justify-content:flex-start!important;
   margin:0!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-nav{
   order:1!important;flex:1 1 100%!important;margin:0!important;justify-content:flex-start!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters > label{order:2!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-day,
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-empty{
   height:var(--ec-s2-mobile-day-height,102px)!important;
   min-height:var(--ec-s2-mobile-day-height,102px)!important;
   max-height:var(--ec-s2-mobile-day-height,102px)!important;
   padding:2px!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-previews{display:flex!important;margin:1px 0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-preview-title{font-size:8px!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-number{
   align-self:flex-start!important;font-size:10px!important;flex-basis:12px!important;
   min-height:12px!important;line-height:12px!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-size-control{
   order:0!important;flex:1 1 100%!important;justify-content:flex-start!important;
   margin:0!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-affiche-view-switch{order:1!important;margin-left:0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-filter-row{order:2!important;flex:1 1 100%!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-upcoming-add-btn,
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-one-access-trigger{order:3!important;min-width:0!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions .ec-upcoming-filters{flex-wrap:wrap!important;overflow:visible!important}
}
/* Anciennes contraintes d'aspect-ratio 1:1 : empêcher que les cases
   ne deviennent plus larges que leur colonne lorsque la hauteur augmente. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-day,
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-empty{
  box-sizing:border-box!important;aspect-ratio:auto!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  justify-self:stretch!important;
}
/* Le formulaire Calendrier avait une règle de label à police 0 et largeur 50 %.
   Le libellé du curseur doit être identique aux deux autres pages. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-skin2-calendar-filters .ec-s2-size-control > label{
  display:inline-flex!important;flex:0 0 auto!important;width:auto!important;max-width:none!important;
  font-size:11px!important;line-height:1!important;font-weight:600!important;
  padding:0!important;margin:0!important;text-transform:none!important;
}

/* 1.0.276 — CALENDRIER UNIQUEMENT : le curseur agit désormais sur les
   deux dimensions de CHAQUE case. Les sept colonnes restent synchronisées
   avec les en-têtes des jours, quel que soit le réglage. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-fastcalendar{
  box-sizing:border-box!important;
  width:var(--ec-s2-calendar-grid-width,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-day,
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-empty{
  box-sizing:border-box!important;
  aspect-ratio:0.83!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
/* Le numéro reste toujours en HAUT, que le jour ait un flyer ou non.
   Annule l'ancien order:20 et margin-top:auto de 1.0.275. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty) > .ec-s2-cal-number{
  order:0!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  text-align:left!important;
  min-height:12px!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:650px){
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-day,
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > .ec-s2-cal-empty{
    aspect-ratio:0.53!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
  }
}

/* 1.0.277 — CALENDRIER SEUL : la ligne a une hauteur proportionnelle à la
   largeur réelle d'une case, définie par le curseur dans sizing.js.
   Neutraliser toutes les hauteurs fixes héritées, y compris sur mobile. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty){
  box-sizing:border-box!important;display:flex!important;position:relative!important;
  align-self:stretch!important;justify-self:stretch!important;
  aspect-ratio:auto!important;width:100%!important;height:100%!important;
  min-width:0!important;max-width:100%!important;
  min-height:0!important;max-height:none!important;
  padding:20px 3px 3px!important;overflow:hidden!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty) > .ec-s2-cal-number{
  position:absolute!important;top:3px!important;left:4px!important;
  right:auto!important;bottom:auto!important;order:0!important;
  margin:0!important;padding:0!important;align-self:flex-start!important;
  flex:0 0 auto!important;z-index:2!important;
}
@media(max-width:650px){
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty){padding:17px 1px 2px!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty) > .ec-s2-cal-number{top:2px!important;left:3px!important}
}

/* 1.0.278 — uniquement au nouveau cran -5 : deux mois côte à côte.
   Aucun changement de dimensions pour les anciens crans 0…100. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-month-pair {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;min-width:0!important;width:100%!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-month-panel {min-width:0!important;width:100%!important;}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-month-subtitle {display:none!important;}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-month-panel-next {display:none!important;}
@media(min-width:901px) {
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-month-pair {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;
  }
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-month-panel-next {display:block!important;}
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-month-subtitle {
    display:block!important;margin:0 0 5px!important;text-align:center!important;
    color:#e3f2ff!important;font-size:13px!important;font-weight:700!important;
  }
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-day,
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-empty {
    padding:3px 2px!important;
  }
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-calendar-ready .ec-s2-cal-two-months .ec-s2-cal-preview-title {
    font-size:9px!important;
  }
}

/* 1.0.279 — Événements à venir, même DA à deux mois que le Calendrier du Skin 2.
   L'ancien calendrier reste présent comme fallback si JavaScript est absent. */
.ec-wrap.ec-app.ec-skin-2 .ec-affiche-mode-calendar.ec-s2-upcoming-ready > .ec-calendar-panel.ec-calendar-upcoming {display:none!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar {
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
  margin:0!important;padding:0!important;box-sizing:border-box!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-nav {
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin:0 0 10px!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-month-panel:first-child > .ec-s2-cal-month-subtitle{display:block!important;margin:0 0 5px!important;text-align:center!important;color:#e3f2ff!important;font-size:13px!important;font-weight:700!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-day > .ec-s2-cal-previews{pointer-events:none!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-days > .ec-s2-cal-day{cursor:default!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-days > .ec-s2-cal-day.has-event{cursor:pointer!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-day .ec-s2-cal-more{position:absolute!important;right:3px!important;bottom:3px!important;z-index:4!important;color:#fff!important;background:#128be7!important;border-radius:8px!important;padding:1px 4px!important;font-size:9px!important}
@media(max-width:900px){
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-month-panel-next{display:none!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-nav{flex-wrap:wrap!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-nav .ec-s2-cal-nav{flex:1 1 100%!important}
}

/* 1.0.280 — Calendrier « Événements à venir » dans la même DA que
   le calendrier privé du Skin 2, sans toucher au Skin 1 ni au mode Affiches. */
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar{
  box-sizing:border-box!important;background:transparent!important;border:0!important;
  border-radius:0!important;padding:0!important;box-shadow:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar > .ec-upcoming-head{
  margin:0 0 8px!important;align-items:center!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-s2-size-control{
  order:0!important;margin:0 7px 0 0!important;flex:0 0 auto!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav{
  box-sizing:border-box!important;display:flex!important;flex:0 1 auto!important;
  order:1!important;align-items:center!important;justify-content:flex-start!important;
  gap:5px!important;min-width:0!important;margin:0 7px 0 0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav button{
  display:grid!important;place-items:center!important;flex:0 0 34px!important;
  width:32px!important;height:35px!important;min-height:35px!important;
  margin:0!important;padding:0!important;background:#101f32!important;
  color:#e7f5ff!important;border:1px solid #355473!important;border-radius:8px!important;
  box-shadow:none!important;font-size:23px!important;cursor:pointer!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav button:is(:hover,:focus-visible){
  background:#17598e!important;border-color:#55b6ff!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav .ec-s2-cal-today{
  display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;
  justify-content:center!important;width:auto!important;min-width:0!important;
  padding:0 8px!important;font-size:11px!important;font-weight:650!important;white-space:nowrap!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav .ec-s2-cal-title{
  color:#fff!important;font-size:16px!important;font-weight:700!important;line-height:1.2!important;
  margin:0!important;padding:0 5px!important;min-width:142px!important;text-align:center!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-upcoming-filter-row{order:2!important}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-affiche-view-switch{order:3!important}
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > :is(.ec-upcoming-add-btn,.ec-one-access-trigger){order:4!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-month-pair{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;
  width:100%!important;min-width:0!important;
}
@media(min-width:901px){
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar.ec-s2-cal-two-months .ec-s2-cal-month-pair{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;
  }
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-month-panel{min-width:0!important}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty){
  box-sizing:border-box!important;min-height:0!important;height:100%!important;max-height:none!important;
  aspect-ratio:auto!important;width:100%!important;padding:20px 3px 3px!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty) > .ec-s2-cal-number{
  position:absolute!important;top:3px!important;left:4px!important;right:auto!important;bottom:auto!important;
  margin:0!important;padding:0!important;order:0!important;z-index:2!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-previews{
  flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-preview .ec-s2-cal-poster img{
  width:100%!important;height:100%!important;object-fit:fill!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-summary-disclosure{
  display:block!important;margin-top:19px!important;border:1px solid #25445f!important;
  border-radius:9px!important;background:#0b1d30!important;overflow:hidden!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-summary-toggle{
  display:list-item!important;padding:6px 10px!important;cursor:pointer!important;
  color:#b7dbf5!important;font-size:11px!important;font-weight:700!important;
  list-style-position:inside!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-summary{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;
  gap:7px!important;padding:0 10px 9px!important;
}
@media(max-width:900px){
  .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-s2-upcoming-nav{
    order:1!important;flex:1 1 100%!important;width:100%!important;justify-content:center!important;margin:0!important;
  }
  .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-head-actions > .ec-s2-upcoming-nav .ec-s2-cal-title{
    min-width:0!important;flex:0 1 auto!important;font-size:14px!important;
  }
  .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-upcoming-filter-row{order:2!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > .ec-affiche-view-switch{order:3!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel.ec-affiche-view-calendar .ec-upcoming-head-actions > :is(.ec-upcoming-add-btn,.ec-one-access-trigger){order:4!important}
}
@media(max-width:650px){
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty){padding:17px 1px 2px!important}
  .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > :is(.ec-s2-cal-day,.ec-s2-cal-empty) > .ec-s2-cal-number{top:2px!important;left:3px!important}
}

/* La navigation supplémentaire n'existe visuellement que dans le mode Calendrier. */
.ec-wrap.ec-app.ec-skin-2 .ec-upcoming-panel:not(.ec-affiche-view-calendar) .ec-upcoming-head-actions > .ec-s2-upcoming-nav{display:none!important}


/* MyDex 1.0.281 — événements multi-jours : flyers présents pendant TOUTE la durée.
 * Un flyer long reste en fond et les nouveaux s'empilent, avec un bord visible.
 * Styles limités au calendrier Affiche du Skin 2, aucun changement au privé. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar{
  display:block!important;min-width:0!important;max-width:100%!important;
  margin-left:auto!important;margin-right:auto!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > .ec-s2-cal-day{
  overflow:hidden!important;min-width:0!important;min-height:0!important;max-height:none!important;
  height:100%!important;align-items:stretch!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-poster-stack{
  position:relative!important;display:block!important;flex:1 1 auto!important;
  width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  pointer-events:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-poster-layer{
  position:absolute!important;top:0!important;bottom:24px!important;
  left:var(--ec-s2-layer-shift,0px)!important;right:0!important;
  min-width:0!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #76b9e9!important;border-radius:3px!important;
  background:#112d48!important;box-shadow:-2px 0 4px rgba(0,0,0,.7)!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-poster-layer img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  max-height:none!important;object-fit:fill!important;border:0!important;opacity:1!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-caption{
  position:absolute!important;bottom:0!important;left:0!important;right:0!important;
  display:grid!important;gap:1px!important;min-height:22px!important;max-height:24px!important;
  overflow:hidden!important;align-content:center!important;pointer-events:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-title{
  font-size:9px!important;line-height:1.15!important;font-weight:750!important;
  color:#edf7ff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-dates{
  font-size:8px!important;line-height:1.1!important;font-weight:550!important;color:#a6d8ff!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
@media(max-width:650px){
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-cal-days > .ec-s2-cal-day{
   min-height:0!important;max-height:none!important;height:100%!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-poster-layer{
   bottom:17px!important;left:min(var(--ec-s2-layer-shift,0px),10px)!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-caption{
   min-height:16px!important;max-height:17px!important;
 }
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-title{font-size:7px!important}
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-stack-dates{font-size:7px!important}
}


/* 1.0.282 — Calendrier Affiche : deux mois uniquement au cran 0,
 * puis un seul mois dont les cases grandissent EN largeur et hauteur. */
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar:not(.ec-s2-cal-two-months) .ec-s2-cal-month-pair{
  grid-template-columns:minmax(0,1fr)!important;gap:0!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar:not(.ec-s2-cal-two-months) .ec-s2-cal-month-panel-next{
  display:none!important;
}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-upcoming-calendar .ec-s2-upcoming-poster-layer{
  transition:transform .16s ease,opacity .16s ease!important;
}
@keyframes ec-s2-upcoming-swap {from{opacity:.58;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-day.ec-s2-stack-flip .ec-s2-upcoming-poster-layer:nth-last-child(2){
  animation:ec-s2-upcoming-swap .18s ease-out!important;
}
@media(prefers-reduced-motion:reduce){
 .ec-wrap.ec-app.ec-skin-2 .ec-s2-upcoming-ready .ec-s2-cal-day.ec-s2-stack-flip .ec-s2-upcoming-poster-layer{animation:none!important;transition:none!important}
}
