.elementor-1310 .elementor-element.elementor-element-dafe12a{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1310 .elementor-element.elementor-element-21643fe{--display:flex;}.elementor-1310 .elementor-element.elementor-element-286b727.elementor-element{--align-self:center;}.elementor-1310 .elementor-element.elementor-element-d10bfed{--display:flex;}.elementor-1310 .elementor-element.elementor-element-5cd896f.elementor-element{--align-self:center;}.elementor-1310 .elementor-element.elementor-element-521a78a{--display:flex;}.elementor-1310 .elementor-element.elementor-element-7457c52.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-1310 .elementor-element.elementor-element-dafe12a{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1310 .elementor-element.elementor-element-dafe12a{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-dafe12a *//* GRID (se usi un container/section wrapper con class vds-gallery) */
.vds-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
@media (max-width:1024px){ .vds-gallery{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .vds-gallery{grid-template-columns:1fr;} }

/* CARD */
.vds-gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  transform:translateZ(0);
  background:#0b0b0f;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  transition:transform .35s ease, box-shadow .35s ease;
}

/* IMG */
.vds-gallery-card img{
  width:100%;
  height:340px;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:transform .6s cubic-bezier(.2,.7,.2,1), filter .6s ease;
  filter:saturate(1.05) contrast(1.02);
}

/* OVERLAY */
.vds-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.75) 100%);
  opacity:.85;
  transition:opacity .35s ease;
}

/* TEXT (metti il titolo dentro un container con class vds-gallery-title) */
.vds-gallery-title{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  color:#fff;
  font-weight:700;
  letter-spacing:.3px;
  transform:translateY(6px);
  transition:transform .35s ease, opacity .35s ease;
}
.vds-gallery-sub{
  display:block;
  margin-top:6px;
  font-size:13px;
  opacity:.85;
  font-weight:500;
}

/* HOVER */
.vds-gallery-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.vds-gallery-card:hover img{
  transform:scale(1.10);
  filter:saturate(1.12) contrast(1.06);
}
.vds-gallery-card:hover::after{ opacity:.95; }
.vds-gallery-card:hover .vds-gallery-title{ transform:translateY(0); }

/* Accessibilità: riduci animazioni se richiesto */
@media (prefers-reduced-motion: reduce){
  .vds-gallery-card, .vds-gallery-card img, .vds-gallery-title{ transition:none !important; }
}/* End custom CSS */