#banners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding: 0;
}

/* Pierwsze 6 kafelków — pełna szerokość na mobile */
.kafelek:nth-child(-n+6) {
  grid-column: span 2;
}

.kafelek {
  position: relative;
  border: 2px solid #009899;
  box-sizing: border-box;
  outline: 1px solid transparent;
  transition: outline 0.2s, opacity 0.2s;
  overflow: hidden;
  background: #fff;
}

.kafelek:hover {
  outline: 1px solid #009899;
  opacity: 0.8;
}

/* Do 1200px — zwiększone wysokości */
@media (max-width: 1199px) {
  /* Pierwsze 6 — 15% wyższe */
  .kafelek:nth-child(-n+6) a {
    padding-bottom: 51.75%;
  }

  /* Ostatnie 8 — 50% wyższe */
  .kafelek:nth-child(n+7) a {
    padding-bottom: 67.5%;
  }

  .kafelek a {
    position: relative;
  }

  .kafelek img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top;
  }
}

.kafelek a {
  display: block;
}

.kafelek img {
  display: block;
  width: 100%;
  height: auto;
}

/* Powyżej 1200px — normalna szerokość kontenera */
@media (min-width: 1200px) {
  #banners {
    width: auto;
    margin-left: 0;
  }
}

.kafelek-napis {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 5px;
    pointer-events: none;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}

.kafelek-napis span {
  font-weight: bold;
  font-size: 18px;
}

@media (min-width: 768px) {
  #banners {
    grid-template-columns: repeat(4, 1fr);
  }

  .kafelek:nth-child(-n+2) {
    grid-column: span 2;
  }

  .kafelek:nth-child(n+3):nth-child(-n+6) {
    grid-column: span 2;
  }

  /* Ostatnie 8 — po 1fr, czyli 4 w rzędzie na desktop */
  .kafelek:nth-child(n+7) {
    grid-column: span 1;
  }
}
.product-block-title a{
    color: #000;
    font-weight: 700;
}
.product-block-title p{
    text-align: center;
}
.carousel-control .icon-next, .carousel-control .icon-prev {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-family: serif;
    line-height: 1;
}
.carousel-control .icon-next {
    right: 50%;
    margin-right: -10px;
}
.card.card-block.fsch-home-block {
  padding: 15px;
  margin-top: 25px;
}
section#main .card.card-block.fsch-home-block:nth-child(1) {
  padding: 15px;
}