/* ================= HERO CAROUSEL ================= */
.hero-carousel{
  position:relative;
  padding:18px 0 26px;
  overflow:hidden;
}

.hero-track{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  height:360px;
  touch-action:pan-y;
}

.hero-slide{
  position:absolute;
  width:220px;
  height:320px;
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  text-decoration:none;
  display:block;
  transition:transform 0.45s cubic-bezier(0.4,0,0.2,1),
             opacity 0.45s cubic-bezier(0.4,0,0.2,1),
             filter 0.45s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-slide .hero-gradient{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.15) 45%, transparent 65%);
}

.hero-slide .hero-rating{
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(4px);
  color:#fff;
  font-size:13px;
  font-weight:bold;
  padding:4px 10px;
  border-radius:20px;
  display:flex;
  align-items:center;
  gap:4px;
}

.hero-slide .hero-title{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  color:#fff;
  font-size:16px;
  font-weight:800;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* slide positions */
.hero-slide[data-pos="center"]{
  transform:translateX(0) scale(1);
  opacity:1;
  z-index:5;
  filter:brightness(1);
}
.hero-slide[data-pos="left"]{
  transform:translateX(-165px) scale(0.82);
  opacity:.55;
  z-index:3;
  filter:brightness(.6);
}
.hero-slide[data-pos="right"]{
  transform:translateX(165px) scale(0.82);
  opacity:.55;
  z-index:3;
  filter:brightness(.6);
}
.hero-slide[data-pos="far-left"]{
  transform:translateX(-260px) scale(0.7);
  opacity:0;
  z-index:1;
  filter:brightness(.4);
}
.hero-slide[data-pos="far-right"]{
  transform:translateX(260px) scale(0.7);
  opacity:0;
  z-index:1;
  filter:brightness(.4);
}
.hero-slide[data-pos="hidden"]{
  transform:translateX(0) scale(0.6);
  opacity:0;
  z-index:0;
  pointer-events:none;
}

/* dots */
.hero-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:14px;
}
.hero-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--border);
  cursor:pointer;
  transition:0.25s ease;
}
.hero-dot.active{
  width:18px;
  border-radius:4px;
  background:var(--accent);
}

@media(max-width:480px){
  .hero-slide{width:170px;height:250px;}
  .hero-track{height:290px;}
  .hero-slide[data-pos="left"]{transform:translateX(-120px) scale(0.8);}
  .hero-slide[data-pos="right"]{transform:translateX(120px) scale(0.8);}
  .hero-slide[data-pos="far-left"]{transform:translateX(-190px) scale(0.65);}
  .hero-slide[data-pos="far-right"]{transform:translateX(190px) scale(0.65);}
}
