/* ── EVENTS & MEETINGS GALLERY ── */
.events-gallery { padding:56px 32px; background:var(--white); border-top:2px solid #e8f5d0; }
.events-gallery-header { text-align:center; margin-bottom:36px; }
.events-gallery-header .section-heading { font-size:28px; }

.events-mosaic {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-template-rows:repeat(6,160px);
  gap:6px;
  max-width:1060px;
  margin:0 auto 28px;
}

.ev-photo {
  display:block;
  overflow:hidden;
  border-radius:6px;
  background:#f0f0f0;
  position:relative;
  cursor:pointer;
}
.ev-photo img {
  width:100%; height:100%;
  object-fit:cover; display:block;
  transition:transform .4s ease, filter .35s ease;
  filter:brightness(.92);
}
/* overlay scuro + titolo — nascosto a riposo */
.ev-photo-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10, 48, 64, 0.96) 0%, rgba(10, 48, 64, 0.73) 55%, transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:12px 14px;
  opacity:0;
  transition:opacity .3s ease;
}
.ev-photo-title {
  font-family:'Fredoka One',cursive;
  font-size:13px; color:white; line-height:1.25;
  letter-spacing:.2px;
  transform:translateY(6px);
  transition:transform .3s ease;
}
/* hover: foto a fuoco + overlay visibile */
.ev-photo:hover img {
  transform:scale(1.07);
  filter:brightness(1.05);
}
.ev-photo:hover .ev-photo-overlay { opacity:1; }
.ev-photo:hover .ev-photo-title   { transform:translateY(0); }

.ev-photo--w2 { grid-column:span 2; }
.ev-photo--h2 { grid-row:span 2; }
/* titolo più grande sulla foto alta */
.ev-photo--h2 .ev-photo-title { font-size:16px; }

.events-gallery-footer { text-align:center; }
.events-gallery-link {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 28px; border-radius:10px;
  background:var(--darkblue); color:white;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  text-decoration:none; letter-spacing:.3px;
  transition:background .2s, transform .15s;
}
.events-gallery-link:hover { background:var(--darkblue2); transform:translateY(-2px); }

@media(max-width:900px){
  .events-mosaic { grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(8,160px); }
  .ev-photo--w2 { grid-column:span 1; }
  .ev-photo--h2 { grid-row:span 1; }
  .events-gallery { padding:40px 20px; }
}
@media(max-width:520px){
  .events-mosaic { grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(12,140px); }
}