/* Kontejner slideru: 100% včetně paddingu, bez scrollu */
.slider {
  width: 100%;
  box-sizing: border-box;
  padding: 0 40px 40px;
}

/* Grid řeší Views wrapper */
.slider .views-element-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px;
}

/* Karta */
.slider .views-element-container .views-row {
  position: relative;
  background: #000;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;

  /* Odstraňte pevnou výšku 400px */
  /* height: 400px; */

  /* Nastavte poměr stran (např. šířka/výška) */
  aspect-ratio: 5 / 4.2;
}

/* Obraz + hover */


/* Obraz musí vyplnit tento poměr */
.slider .views-element-container .views-row img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s;
}

.slider .views-element-container .views-row:hover img {
  transform: scale(1.05);
}

/* Overlay text */
.slider .views-element-container .views-row .views-field-title {
  width: 100%;
  float: left;
  position: absolute;
  top: 40px;
  left: 40px;
}

.slider .views-element-container .views-row .views-field-title a {
  font-size: 2em;
  color: #fff;
  width: 50%;
  text-decoration: none;
  float: left;
  line-height: 105%;
}

.slider .views-element-container .views-row .views-field-field-anotace {
  width: 100%;
  float: left;
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 20px 25px;
  background:#000;
  box-sizing: border-box;
}

.slider .views-element-container .views-row .views-field-field-anotace p {
  margin: 0;
  padding: 0;
}
