.kf-reviews {
  max-width: 1180px;
  margin: 42px auto 12px;
  padding: 0 20px;
  font-family: "Exo 2",Arial,sans-serif;
  color: #111;
}

.kf-reviews-head {
  text-align: center;
  margin-bottom: 20px;
}

.kf-reviews h2 {
  margin: 0 0 8px;
  font-family: "Montserrat",Arial,sans-serif;
  font-size: 32px;
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.03em;
  color: #000;
}

.kf-reviews-sub {
  margin: 0 auto;
  color: #555;
  font-size: 16px;
  line-height: 1.45;
  max-width: 760px;
  text-align: center;
}

.kf-reviews-wrap {
  position: relative;
  padding: 0 54px;
}

.kf-reviews-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 4px 4px 8px;
  -webkit-overflow-scrolling: touch;
}

.kf-reviews-track::-webkit-scrollbar {
  display: none;
}

.kf-review-card {
  flex: 0 0 calc((100% - 36px)/3);
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #e6edf0;
  border-radius: 14px;
  padding: 24px;
  text-align: left;
  box-shadow: 0 10px 28px rgba(0,0,0,.045);
  min-height: 220px;
}

.kf-review-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.kf-review-label {
  font-family: "Montserrat",Arial,sans-serif;
  font-size: 16px;
  font-weight: 900;
  color: #000;
}

.kf-review-stars {
  color: #f5a400;
  font-size: 17px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.kf-review-type {
  display: block;
  color: #777;
  font-size: 14px;
  margin-top: -8px;
  margin-bottom: 14px;
}

.kf-review-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #222;
}

.kf-review-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #0088af;
  color: #fff;
  font-size: 28px;
  line-height: 38px;
  text-align: center;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 6px 16px rgba(0,0,0,.16);
}

.kf-review-arrow:hover {
  background: #006f91;
}

/* FIX: viditelný focus stav pro ovládání klávesnicí (dostupnost) */
.kf-review-arrow:focus-visible {
  outline: 2px solid #006f91;
  outline-offset: 2px;
}

.kf-review-prev {
  left: 6px;
}

.kf-review-next {
  right: 6px;
}

body.type-detail .p-detail-inner .kf-reviews,body.type-detail .p-detail .kf-reviews,body.type-detail .product .kf-reviews,body.type-detail .product-top .kf-reviews,body.type-detail .product-bottom .kf-reviews {
  display: none !important;
}

@media (max-width:900px) {
  .kf-reviews-wrap {
    padding: 0 48px;
  }

  .kf-review-card {
    flex-basis: calc((100% - 18px)/2);
  }

  .kf-review-prev {
    left: 4px;
  }

  .kf-review-next {
    right: 4px;
  }
}

@media (max-width:640px) {
  .kf-reviews {
    margin: 34px auto 22px;
    padding: 0 14px;
  }

  .kf-reviews h2 {
    font-size: 26px;
  }

  .kf-reviews-sub {
    font-size: 15px;
  }

  .kf-reviews-wrap {
    padding: 0;
  }

  .kf-review-card {
    flex-basis: 86%;
    min-height: auto;
    padding: 20px;
  }

  .kf-review-arrow {
    display: none;
  }
}
