
/* ===== CSS ===== */
.t391__list.fd401-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--fd401-min), 1fr));
  gap: var(--fd401-gap);
}

.fd401-item {
  display: flex;
  border-radius: var(--fd401-radius);
  box-shadow: var(--fd401-shadow);
  overflow: hidden;
}

.fd401-media {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.fd401-img {
  width: 100%;
  height: 0;
  padding-top: calc(100% / (var(--fd401-aspect-ratio)));
  object-fit: cover;
}

.fd401-body {
  padding: 20px;
}

.fd401-btn {
  align-self: flex-end;
}

/* Hover анимация */
.fd401-item:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Intersection Observer анимация */
.fd401-item:not(.is-visible) {
  opacity: 0;
}


