/* ===== Coverflow-карусель (Популярные направления + Горячие предложения) ===== */
.coverflow { position: relative; }
.coverflow:focus-visible { outline: 2px solid var(--brand); outline-offset: 8px; }
.coverflow-viewport {
  position: relative;
  height: 500px;
  perspective: 1600px;
  opacity: 0;
  transition: opacity .4s ease;
}
.coverflow.is-ready .coverflow-viewport { opacity: 1; }
.coverflow-track {
  position: relative;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
}
.coverflow-item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(400px, 84vw);
  height: 480px;
  transform-origin: 50% 50%;
  will-change: transform, opacity, filter;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.coverflow-item .destination-card,
.coverflow-item .hot-deal-card {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.coverflow-item .destination-card:hover { transform: none; }
.coverflow-item .hot-deal-card {
  display: flex;
  flex-direction: column;
  flex: none;
}
.coverflow-item .hot-deal-card:hover { transform: none; }
.coverflow-item .hd-media { flex: 0 0 auto; }
.coverflow-item .hd-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.coverflow-item .hd-foot { margin-top: auto; }
.coverflow-item.is-active .hot-deal-card { box-shadow: 0 34px 80px rgba(12, 38, 32, .34); }
.coverflow-item.is-active .destination-card { box-shadow: 0 34px 80px rgba(12, 38, 32, .42); }

/* Тур-карточки («Лучшие предложения») — плотнее, футер прижат к низу */
.coverflow-tours .coverflow-viewport { height: 560px; }
.coverflow-tours .coverflow-item { height: 540px; }
.coverflow-tours .tour-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.coverflow-tours .tour-card:hover { transform: none; }
.coverflow-tours .tour-card-image { flex: 0 0 auto; }
.coverflow-tours .tour-card-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.coverflow-tours .tour-card-footer { margin-top: auto; }

.coverflow-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 40;
  width: 54px;
  height: 54px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(12, 38, 32, .18);
  transition: background .25s, color .25s, border-color .25s;
}
.coverflow-arrow:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.coverflow-arrow.prev { left: 12px; }
.coverflow-arrow.next { right: 12px; }

.coverflow-dots { display: flex; justify-content: center; gap: 8px; margin-top: 26px; }
.coverflow-dots button {
  width: 8px;
  height: 8px;
  border: 0;
  border-radius: 50%;
  background: var(--line);
  padding: 0;
  cursor: pointer;
  transition: width .3s, background .3s, border-radius .3s;
}
.coverflow-dots button.active { width: 28px; border-radius: 4px; background: var(--brand); }

@media (max-width: 768px) {
  .coverflow-viewport { height: 440px; perspective: 1200px; }
  .coverflow-item { width: min(300px, 76vw); height: 400px; }
  .coverflow-arrow { width: 44px; height: 44px; font-size: 1.1rem; }
  .coverflow-tours .coverflow-viewport { height: 470px; }
  .coverflow-tours .coverflow-item { height: 450px; }
}
