.inspiration-grid {
  width: 100%;
  min-height: 100vh;
}

.inspiration-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.inspiration-band__item {
  overflow: hidden;
}

.inspiration-grid__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
  transition: transform 0.4s ease;
}

.inspiration-band__item:hover .inspiration-grid__image {
  transform: scale(1.08);
}

/* ---------- Lightbox overlay ---------- */
.inspiration-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.inspiration-overlay.is-active {
  visibility: visible;
  opacity: 1;
  transition-delay: 0.1s;
}

.inspiration-overlay__bg-click {
  position: absolute;
  inset: 0;
}

.inspiration-overlay__close {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 2;
}

.inspiration-overlay__panel {
  position: relative;
  width: 100%;
  height: 100%;
}

.inspiration-overlay__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.inspiration-overlay__info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 70px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  color: #fff;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.inspiration-overlay__info.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.15s;
}

.inspiration-overlay__label {
  margin: 0 0 100px;
}

.inspiration-overlay__testo {
  margin: 0 0 24px;
  max-width: 750px;
}

.inspiration-overlay__autore {
  margin: 0;
  opacity: 0.75;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 600px) {
  .inspiration-overlay__info {
    padding: 32px 24px 28px;
  }
}

/* split3: una riga, 1/2 + 1/4 + 1/4 */
.inspiration-band--split3 {
  grid-template-rows: 55vh;
}
.inspiration-band--split3 .inspiration-band__item--1 {
  grid-column: 1 / 3;
}
.inspiration-band--split3 .inspiration-band__item--2 {
  grid-column: 3;
}
.inspiration-band--split3 .inspiration-band__item--3 {
  grid-column: 4;
}

/* nested-left: sopra a sinistra 1/2, sotto a sinistra 1/4 + 1/4, a destra 1/2 verticale */
.inspiration-band--nested-left {
  grid-template-rows: repeat(2, 27.5vh);
}
.inspiration-band--nested-left .inspiration-band__item--1 {
  grid-column: 1 / 3;
  grid-row: 1;
}
.inspiration-band--nested-left .inspiration-band__item--2 {
  grid-column: 1;
  grid-row: 2;
}
.inspiration-band--nested-left .inspiration-band__item--3 {
  grid-column: 2;
  grid-row: 2;
}
.inspiration-band--nested-left .inspiration-band__item--4 {
  grid-column: 3 / 5;
  grid-row: 1 / 3;
}

/* nested-right: sopra a sinistra 1/4 + 1/4, sotto a sinistra 1/2, a destra due 1/4 verticali */
.inspiration-band--nested-right {
  grid-template-rows: repeat(2, 27.5vh);
}
.inspiration-band--nested-right .inspiration-band__item--1 {
  grid-column: 1;
  grid-row: 1;
}
.inspiration-band--nested-right .inspiration-band__item--2 {
  grid-column: 2;
  grid-row: 1;
}
.inspiration-band--nested-right .inspiration-band__item--3 {
  grid-column: 1 / 3;
  grid-row: 2;
}
.inspiration-band--nested-right .inspiration-band__item--4 {
  grid-column: 3;
  grid-row: 1 / 3;
}
.inspiration-band--nested-right .inspiration-band__item--5 {
  grid-column: 4;
  grid-row: 1 / 3;
}

/* pair: due immagini 1/2 + 1/2 */
.inspiration-band--pair {
  grid-template-rows: 55vh;
}
.inspiration-band--pair .inspiration-band__item--1 {
  grid-column: 1 / 3;
}
.inspiration-band--pair .inspiration-band__item--2 {
  grid-column: 3 / 5;
}

@media screen and (max-width: 600px) {
  .inspiration-band {
    display: block;
  }
  .inspiration-grid__image {
    height: auto;
    object-fit: initial;
  }
}
