.portfolio {
  padding: 20px;
  column-count: 8;
  column-gap: 15px;
  margin: 20px;
  overflow: auto;
}

@media (max-width: 2400px) {
  .portfolio {
    column-count: 7;
  }
}

@media (max-width: 2100px) {
  .portfolio {
    column-count: 6;
  }
}

@media (max-width: 1800px) {
  .portfolio {
    column-count: 5;
  }
}

@media (max-width: 1500px) {
  .portfolio {
    column-count: 4;
  }
}

/* Tablet */
@media (max-width: 1200px) {
  .portfolio {
    column-count: 3;
  }
}

/* Mobile grande */
@media (max-width: 800px) {
  .portfolio {
    column-count: 2;
  }
}

/* Mobile piccolo */
@media (max-width: 400px) {
  .portfolio {
    column-count: 1;
  }
}

.card {
  break-inside: avoid;
  margin-bottom: 15px;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  transition: transform 0.3s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.card:hover {
  transform: translateY(-5px);
}

.card img {
  width: 100%;
  height: auto;
  display: block;
}

.card img:not(:last-child) {
  margin-bottom: 5px;
}