/* NB4 Events frontend styles */
.nb4-events{--nb4-col:3;--nb4-nav-color:currentColor;--nb4-dots-color:#666}

/* Card base */
.nb4-event-card{
  display:flex;
  gap:16px;
  margin:0 0 24px;
  align-items:stretch;
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  width:100%;
}
.nb4-event-card > *{min-width:0}

/* Contenitore elementi (lista/griglia) */
.nb4-events .nb4-events-items{
  display:grid;
  grid-template-columns:repeat(var(--nb4-col),minmax(0,1fr));
  gap:16px;
}
.nb4-events .nb4-events-items > *{min-width:0}

/* ===== META & TITOLI: sempre una riga per elemento ===== */
.nb4-event-card__title{
  margin:0 0 6px;
  font-weight:700;
  display:block;
  line-height:1.25;
}

/* Forza la meta in colonna (override tema/elementor) */
.nb4-event-card__meta{
  font-size:.95em;
  margin:0 0 8px;
  display:grid !important;
  grid-auto-flow:row;
  row-gap:4px;
  align-content:start;
  justify-items:start;
  opacity:.98;
}

/* Ogni pezzo meta su riga propria */
.nb4-event-card__meta .nb4-event-card__date,
.nb4-event-card__meta .nb4-event-card__time,
.nb4-event-card__meta .nb4-event-card__loc{
  display:block !important;
  margin:0;
  white-space:normal;
}
.nb4-event-card__date{font-weight:600}

/* Neutralizza eventuali separatori aggiunti dal tema */
.nb4-event-card__meta *::before,
.nb4-event-card__meta *::after{content:none !important}

/* Media nella card */
.nb4-event-card__media img{display:block;width:100%;height:auto;object-fit:cover}
.nb4-event-card__media{flex:0 0 280px;max-width:280px}
.nb4-event-card__body{
  padding:16px;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0
}

/* GRID mode */
.nb4-events.mode-grid .nb4-event-card{flex-direction:column}

/* Image positions (lista/griglia) */
.nb4-event-card.pos-top{flex-direction:column}
.nb4-event-card.pos-top .nb4-event-card__media{flex:0 0 auto;max-width:none;width:100%}
.nb4-event-card.pos-left{flex-direction:row}
.nb4-event-card.pos-right{flex-direction:row-reverse}
.nb4-event-card.pos-left .nb4-event-card__media,
.nb4-event-card.pos-right .nb4-event-card__media{flex:0 0 40%;max-width:40%}
.nb4-event-card.pos-left .nb4-event-card__body,
.nb4-event-card.pos-right .nb4-event-card__body{flex:1 1 60%}

/* Content alignment */
.nb4-event-card.align-h-left  .nb4-event-card__body{text-align:left}
.nb4-event-card.align-h-center.nb4-event-card .nb4-event-card__body,
.nb4-event-card.align-h-center .nb4-event-card__body{text-align:center}
.nb4-event-card.align-h-right .nb4-event-card__body{text-align:right}

.nb4-event-card.align-v-top{align-items:stretch}
.nb4-event-card.align-v-center{align-items:center}
.nb4-event-card.align-v-bottom{align-items:flex-end}

/* =========================
   SINGLE (pagina evento)
   ========================= */

/* Layout due colonne (desktop): 50% immagine / 50% contenuto */
.nb4-event-single .nb4-event-single__grid{
  display:grid;
  grid-template-columns:50% 50%;
  gap:24px;
  align-items:stretch;
  width:100%;
}
.nb4-event-single .nb4-event-single__right{
  display:flex;flex-direction:column;gap:12px;
  min-width:0;width:100%;max-width:100%;
}

/* Contenitore media: flex per allineamento verticale */
.nb4-event-single .nb4-event-single__media{
  height:100%;min-width:0;display:flex;
}

/* Allineamento verticale immagine nella colonna sinistra */
.nb4-event-single .nb4-event-single__media.v-align-top{justify-content:flex-start}
.nb4-event-single .nb4-event-single__media.v-align-center{justify-content:center}
.nb4-event-single .nb4-event-single__media.v-align-bottom{justify-content:flex-end}

/* Fit immagine (scegli una delle classi) */
.nb4-event-single .nb4-event-single__media.media-fit-cover img{
  width:100%;height:100%;object-fit:cover;
}
.nb4-event-single .nb4-event-single__media.media-fit-contain img{
  width:100%;height:auto;max-height:100%;object-fit:contain;
}
.nb4-event-single .nb4-event-single__media.media-fit-auto img{
  width:100%;height:auto;object-fit:unset;
}

/* Variante con immagine in alto (layout "one") */
.nb4-event-single__media img{width:100%;height:auto;display:block}

/* Azioni & navigazione */
.nb4-event-single__actions{margin:16px 0;display:flex;gap:12px;flex-wrap:wrap}
.nb4-event-single__actions .button{border:1px solid #ddd;padding:8px 12px;border-radius:8px;text-decoration:none}
.nb4-event-single__nav{display:flex;justify-content:space-between;margin-top:16px}

/* SINGLE: neutralizzazioni e righe separate */
.nb4-event-single__header, .nb4-event-single__body{ width:100% }
.nb4-event-single__title,
.nb4-event-single__meta-date,
.nb4-event-single__time,
.nb4-event-single__meta-loc{
  display:block;
  line-height:1.3;
  margin:0 0 6px 0;
}
.nb4-event-single__meta-loc{ margin-bottom:0 }

/* =========================
   CAROUSEL
   ========================= */
.nb4-events-swiper{position:relative}
.nb4-events-swiper .swiper-slide{height:auto}

/* Fallback arrows/dots */
.nb4-events .swiper-button-prev,
.nb4-events .swiper-button-next{
  color:var(--nb4-nav-color);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center
}
.nb4-events .swiper-button-prev::after{content:'‹';font-size:28px;line-height:1}
.nb4-events .swiper-button-next::after{content:'›';font-size:28px;line-height:1}
.nb4-events .swiper-pagination{position:relative;margin-top:8px}
.nb4-events .swiper-pagination-bullet{background:var(--nb4-dots-color);opacity:.5}
.nb4-events .swiper-pagination-bullet-active{opacity:1}

/* Arrow position presets */
.nb4-events.arrows-pos-inside-sides .swiper-button-prev,
.nb4-events.arrows-pos-inside-sides .swiper-button-next{position:absolute;top:50%;transform:translateY(-50%);}
.nb4-events.arrows-pos-inside-sides .swiper-button-prev{left:8px}
.nb4-events.arrows-pos-inside-sides .swiper-button-next{right:8px}
.nb4-events.arrows-pos-outside-sides{position:relative}
.nb4-events.arrows-pos-outside-sides .swiper-button-prev,
.nb4-events.arrows-pos-outside-sides .swiper-button-next{position:absolute;top:50%;transform:translateY(-50%);}
.nb4-events.arrows-pos-outside-sides .swiper-button-prev{left:-24px}
.nb4-events.arrows-pos-outside-sides .swiper-button-next{right:-24px}
.nb4-events.arrows-pos-inside-center .swiper-button-prev,
.nb4-events.arrows-pos-inside-center .swiper-button-next{position:absolute;top:50%;transform:translate(-50%,-50%);left:50%;}
.nb4-events.arrows-pos-inside-center .swiper-button-prev{margin-left:-28px}
.nb4-events.arrows-pos-inside-center .swiper-button-next{margin-left:28px}
.nb4-events.arrows-pos-top-right .swiper-button-prev,
.nb4-events.arrows-pos-top-right .swiper-button-next{position:absolute;top:8px}
.nb4-events.arrows-pos-top-right .swiper-button-prev{right:56px}
.nb4-events.arrows-pos-top-right .swiper-button-next{right:8px}
.nb4-events.arrows-pos-bottom-center .swiper-button-prev,
.nb4-events.arrows-pos-bottom-center .swiper-button-next{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);}
.nb4-events.arrows-pos-bottom-center .swiper-button-prev{margin-left:-28px}
.nb4-events.arrows-pos-bottom-center .swiper-button-next{margin-left:28px}

/* =========================
   Colonne responsive (lista/griglia)
   ========================= */
@media (min-width:1025px){
  .nb4-events.nb4-col-d-1 .nb4-events-items{--nb4-col:1}
  .nb4-events.nb4-col-d-2 .nb4-events-items{--nb4-col:2}
  .nb4-events.nb4-col-d-3 .nb4-events-items{--nb4-col:3}
  .nb4-events.nb4-col-d-4 .nb4-events-items{--nb4-col:4}
  .nb4-events.nb4-col-d-5 .nb4-events-items{--nb4-col:5}
  .nb4-events.nb4-col-d-6 .nb4-events-items{--nb4-col:6}
}
@media (min-width:768px) and (max-width:1024px){
  .nb4-events.nb4-col-t-1 .nb4-events-items{--nb4-col:1}
  .nb4-events.nb4-col-t-2 .nb4-events-items{--nb4-col:2}
  .nb4-events.nb4-col-t-3 .nb4-events-items{--nb4-col:3}
  .nb4-events.nb4-col-t-4 .nb4-events-items{--nb4-col:4}
  .nb4-events.nb4-col-t-5 .nb4-events-items{--nb4-col:5}
  .nb4-events.nb4-col-t-6 .nb4-events-items{--nb4-col:6}

  /* >>> FIX: Evento singolo 1 colonna su tablet (768–1024px) <<< */
  .nb4-event-single .nb4-event-single__grid{grid-template-columns:1fr}
  .nb4-event-single .nb4-event-single__media{height:auto}
  .nb4-event-single .nb4-event-single__media img{height:auto}
}
@media (max-width:767px){
  .nb4-events.nb4-col-m-1 .nb4-events-items{--nb4-col:1}
  .nb4-events.nb4-col-m-2 .nb4-events-items{--nb4-col:2}
  .nb4-events.nb4-col-m-3 .nb4-events-items{--nb4-col:3}
  .nb4-events.nb4-col-m-4 .nb4-events-items{--nb4-col:4}
  .nb4-events.nb4-col-m-5 .nb4-events-items{--nb4-col:5}
  .nb4-events.nb4-col-m-6 .nb4-events-items{--nb4-col:6}

  /* SINGLE: su tablet/telefono diventa 1 colonna (immagine sopra) */
  .nb4-event-single .nb4-event-single__grid{grid-template-columns:1fr}
  .nb4-event-single .nb4-event-single__media{height:auto}
  .nb4-event-single .nb4-event-single__media img{height:auto}
}

/* Media width tweaks per le card */
@media (max-width:1024px){
  .nb4-event-card__media{flex-basis:220px;max-width:220px}
}
@media (max-width:767px){
  .nb4-event-card__media{flex-basis:100%;max-width:100%}
}

/* Carousel sizing helpers */
.swiper-button-prev, .swiper-button-next{ display:flex; align-items:center; justify-content:center }
.swiper-pagination-bullet{ border-radius:50% }
/* --- NB4: Allineamento meta quando la card è centrata/destra --- */
.nb4-events .nb4-event-card.align-h-center .nb4-event-card__title,
.nb4-events .nb4-event-card.align-h-center .nb4-event-card__meta,
.nb4-events .nb4-event-card.align-h-center .nb4-event-card__excerpt {
  text-align: center !important;
}

.nb4-events .nb4-event-card.align-h-right .nb4-event-card__title,
.nb4-events .nb4-event-card.align-h-right .nb4-event-card__meta,
.nb4-events .nb4-event-card.align-h-right .nb4-event-card__excerpt {
  text-align: right !important;
}

/* assicurati che i figli non riportino a sinistra */
.nb4-events .nb4-event-card__meta > .nb4-event-card__date,
.nb4-events .nb4-event-card__meta > .nb4-event-card__time,
.nb4-events .nb4-event-card__meta > .nb4-event-card__loc {
  text-align: inherit !important;
  width: 100%; /* così il testo centra bene su tutta la riga */
}

/* opzionale: la meta eredita dal body */
.nb4-events .nb4-event-card__meta { text-align: inherit; }