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

/* Card base */
.nb4-event-card{
  display:flex;
  flex-direction:column;
  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;
}
/* >>> FIX FONT TITOLO: il link eredita tipografia e colore del titolo <<< */
.nb4-events .nb4-event-card__title a{
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.nb4-events .nb4-event-card__title a:hover,
.nb4-events .nb4-event-card__title a:focus{
  color: inherit;
  text-decoration: none;
}

/* 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.
   1.6.17: dimensioni guidate dalle variabili impostate dal controllo
   "Posizione immagine" (CSS Elementor per breakpoint). Default = sopra. */
.nb4-event-card__media img{display:block;width:100%;height:auto;object-fit:cover}
.nb4-event-card__media{
  flex:0 0 var(--nb4-media-basis,auto);
  max-width:var(--nb4-media-max,none);
  width:var(--nb4-media-w,100%);
}
.nb4-event-card__body{
  padding:16px;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0
}

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

/* Griglia evento singolo. Il numero di colonne arriva dal controllo
   "Layout" (CSS Elementor per breakpoint); default una colonna. */
.nb4-event-single .nb4-event-single__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  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:var(--nb4-media-h,auto);min-width:0;display:flex;
}

/* Posizione verticale immagine: variabili dal controllo Elementor (per breakpoint) */
.nb4-event-single .nb4-event-single__media{align-items:var(--nb4-img-valign,flex-start)}
.nb4-event-single .nb4-event-single__media img{object-position:var(--nb4-img-objpos,center top)}

/* Fit immagine. --nb4-media-h: 100% con due colonne, auto con una colonna */
.nb4-event-single .nb4-event-single__media.media-fit-cover img{
  width:100%;height:var(--nb4-media-h,auto);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;
}
.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}

/* Carousel sizing helpers */
.swiper-button-prev, .swiper-button-next{ display:flex; align-items:center; justify-content:center }
.swiper-pagination-bullet{ border-radius:50% }
/* --- Allineamento orizzontale: arriva dal controllo Elementor (per breakpoint) --- */
/* 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; }
/* CTA prenotazione nelle card griglia/carosello: stile visivo ereditato da Elementor */
.nb4-event-card__booking{margin-top:16px}


/* =========================================================
   Descrizione card: clamp responsive affidabile
   ========================================================= */
.nb4-events .nb4-event-card__excerpt{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:var(--nb4-excerpt-lines-d,3);
  line-clamp:var(--nb4-excerpt-lines-d,3);
  overflow:hidden !important;
  max-width:100%;
}
@media (max-width:1024px){
  .nb4-events .nb4-event-card__excerpt{
    -webkit-line-clamp:var(--nb4-excerpt-lines-t,var(--nb4-excerpt-lines-d,3));
    line-clamp:var(--nb4-excerpt-lines-t,var(--nb4-excerpt-lines-d,3));
  }
}
@media (max-width:767px){
  .nb4-events .nb4-event-card__excerpt{
    -webkit-line-clamp:var(--nb4-excerpt-lines-m,var(--nb4-excerpt-lines-t,var(--nb4-excerpt-lines-d,3)));
    line-clamp:var(--nb4-excerpt-lines-m,var(--nb4-excerpt-lines-t,var(--nb4-excerpt-lines-d,3)));
  }
}
