.elementor-110 .elementor-element.elementor-element-0e2cf4d{width:100%;max-width:100%;column-gap:0px;text-align:center;font-family:"Tahoma", Sans-serif;font-size:23px;}.elementor-110 .elementor-element.elementor-element-0e2cf4d p{margin-block-end:0px;}.elementor-110 .elementor-element.elementor-element-f8dd19d{--spacer-size:50px;}.elementor-110 .elementor-element.elementor-element-eb7ffca{--spacer-size:100px;}@media(min-width:768px){.elementor-110 .elementor-element.elementor-element-1d701d5{width:100%;}}@media(max-width:1024px){.elementor-110 .elementor-element.elementor-element-0e2cf4d{width:100%;max-width:100%;}}@media(max-width:767px){.elementor-110 .elementor-element.elementor-element-0e2cf4d{width:100%;max-width:100%;}}/* Start custom CSS for section, class: .elementor-element-d640b96 *//* Centro il widget di testo orizzontalmente nella colonna */
.elementor-section:first-of-type .elementor-widget-text-editor {
  margin-left: auto;
  margin-right: auto;
}/* End custom CSS */
/* Start custom CSS *//* CONTAINER */
.staff-section {
  max-width: 1200px;
  margin: auto;
  padding-bottom: 100px;
}

/* TITOLI SEZIONI */
.staff-section h2 {
  margin-top: 120px;
  margin-bottom: 40px;
  font-size: 34px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #111 !important;
  text-align: center;
  position: relative;
  border: none;
}

/* Linea elegante sotto il titolo */
.staff-section h2::after {
  content: "";
  display: block;
  width: 70px;
  height: 4px;
  background: #c8102e;
  margin: 12px auto 0;
}

/* GRIGLIA */
.staff-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 28px;
  margin-bottom: 70px;
}

/* CARD */
.staff-card {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  transition: all 0.4s ease;
  background: #000;
  min-height: 420px; /* aumenta l’altezza per overlay e bio */
}

/* effetto profondità */
.staff-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}

/* IMMAGINE */
.staff-card img {
  width: 100%;
  height: 360px; /* aumenta leggermente */
  object-fit: cover;
  transition: transform 0.6s ease;
}

/* ZOOM al passaggio */
.staff-card:hover img {
  transform: scale(1.12);
}

/* OVERLAY */
.overlay {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 25px 20px 20px 20px; /* più padding in alto per badge e ruolo */
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.95) 0%,
    rgba(0,0,0,0.6) 50%,
    transparent 100%
  );
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 120px; /* più spazio per testo */
}

/* NOME */
.overlay h3 {
  margin: 0;
  font-size: 20px; /* leggermente più grande */
  font-weight: 700;
  line-height: 1.2;
}

/* RUOLO */
.overlay .role {
  font-size: 14px; /* leggermente più grande */
  color: #ddd;
  margin-top: 6px;
  display: block;
  line-height: 1.2;
}

/* MINI BIO */
.overlay .bio {
  font-size: 13px;
  color: #bbb;
  margin-top: 6px;
  line-height: 1.3;
}

/* BADGE */
.overlay .badge {
  position: relative;  /* non più absolute */
  top: 0;
  left: 0;
  margin-bottom: 8px;  /* spazio tra badge e nome */
  background: rgba(200,16,46,0.95);
  color: white;
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 20px;
  font-weight: 600;
  display: inline-block;
}

/* FIX ELEMENTOR / HESTIA */
.elementor .staff-section h2 {
  color: #111 !important;
}

/* RESPONSIVE: testo più piccolo su mobile */
@media (max-width: 768px) {
  .overlay h3 {
    font-size: 18px;
  }
  .overlay .role {
    font-size: 12px;
  }
  .overlay .bio {
    font-size: 11px;
  }
  .staff-card img {
    height: 300px;
  }
  .staff-card {
    min-height: 380px;
  }
}/* End custom CSS */