/* Nexus - vignettes de l'agenda (TK-20260831-0512)
   Ne porte que ce qu'Elementor ne sait pas exprimer : visuel pleine hauteur
   recadre, arrondi et ombre de la carte, filet de la pastille.
   Les couleurs restent celles du site, definies dans Elementor. */

/* ---- la carte : trois bandes jointives, aucune marge interieure ---- */
.nx-agenda-carte {
  padding: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(3, 35, 29, .09);
  background: #fff;
}
.nx-agenda-carte > .elementor-container { align-items: stretch; flex-wrap: nowrap; }
.nx-agenda-carte .elementor-column { display: flex; }
.nx-agenda-carte .elementor-widget-wrap { width: 100%; }

/* Les proportions de la maquette sont dessinees pour une carte large. Le bandeau
   de l'accueil ne fait que ~478 px : on fige donc la pastille a une largeur
   lisible et on laisse le titre absorber le reste, quelle que soit la colonne. */
.nx-agenda-carte .nx-agenda-visuel { flex: 0 0 22%; min-width: 86px; max-width: 150px; }
.nx-agenda-carte .nx-agenda-pastille { flex: 0 0 94px; }
.nx-agenda-carte .nx-agenda-texte { flex: 1 1 auto; min-width: 0; }

/* ---- le visuel, pleine hauteur et recadre ----
   L'image est sortie du flux : sinon une affiche verticale, mise a la largeur
   de la colonne, imposerait sa hauteur naturelle a toute la vignette. Hors du
   flux, elle remplit la hauteur definie par la pastille et le titre. */
.nx-agenda-visuel { margin: 0; position: relative; overflow: hidden; }
.nx-agenda-visuel .elementor-widget-wrap { padding: 0 !important; }
.nx-agenda-visuel .elementor-widget-image,
.nx-agenda-visuel .elementor-widget-image > .elementor-widget-container,
.nx-agenda-visuel .elementor-widget-image figure,
.nx-agenda-visuel .elementor-widget-image a { margin: 0; }
/* Le bloc de reference doit rester la colonne, sinon la hauteur en pourcentage
   se resout sur un conteneur intermediaire et l'image reste courte. */
.nx-agenda-visuel .elementor-widget-wrap,
.nx-agenda-visuel .elementor-widget-image,
.nx-agenda-visuel .elementor-widget-image > .elementor-widget-container,
.nx-agenda-visuel .elementor-widget-image figure,
.nx-agenda-visuel .elementor-widget-image a { position: static !important; }
.nx-agenda-visuel img {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  /* le theme impose height:auto aux images ; sans !important le rapport
     hauteur/largeur du fichier reprend la main et l'image reste courte */
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ---- la pastille de date : bloc plein, sans arrondi ni marge ---- */
.nx-agenda-pastille { align-items: center; border-radius: 0 !important; margin: 0 !important; }
.nx-agenda-pastille .elementor-widget-wrap {
  align-content: center;
  border-radius: 0 !important;
  padding-top: 14px;
  padding-bottom: 14px;
}
/* hauteur plancher, pour que le visuel ait toujours de quoi s'afficher */
.nx-agenda-carte > .elementor-container { min-height: 122px; }
.nx-agenda-pastille .elementor-widget { margin-bottom: 0 !important; }
.nx-agenda-pastille .jet-listing-dynamic-field__content { white-space: nowrap; }

/* filet au-dessus de la ligne basse */
.nx-agenda-bas .elementor-widget-container {
  border-top: 1px solid rgba(255, 255, 255, .45);
  margin-top: 9px;
  padding-top: 8px;
}

/* ---- le texte ---- */
.nx-agenda-texte .elementor-widget-wrap { align-content: center; }

/* ---- telephone ----
   A 340 px de large, les trois bandes ne laissent que ~145 px au titre. La
   variante telephone du site reprend donc la main : pastille + texte, sans
   visuel, mais avec exactement la meme mise en forme. */
.nx-agenda-carte-mob {
  padding: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(3, 35, 29, .09);
  background: #fff;
}
.nx-agenda-carte-mob > .elementor-container { align-items: stretch; flex-wrap: nowrap !important; min-height: 104px; }
.nx-agenda-carte-mob .elementor-column { display: flex; width: auto !important; }
.nx-agenda-carte-mob .elementor-widget-wrap { width: 100%; }
.nx-agenda-carte-mob .nx-agenda-pastille { flex: 0 0 88px !important; }
.nx-agenda-carte-mob .nx-agenda-texte { flex: 1 1 auto !important; min-width: 0; padding: 12px 14px !important; }
/* la colonne d'espacement d'origine n'a plus d'objet dans cette mise en page */
.nx-agenda-carte-mob .elementor-column:not(.nx-agenda-pastille):not(.nx-agenda-texte) { display: none !important; }
