/* VTP Horizontal Carousel */
.vtp-carousel{ position:relative; margin:0; width:100%; display: none;}
.vtp-carousel-header{ display:none; }
.vtp-carousel-title{ display:none; }
.vtp-carousel-ctrls{ position:absolute; inset:0; pointer-events:none; z-index:2; }
.vtp-carousel-btn, .vtp-carousel-dots{ pointer-events:auto; }
.vtp-carousel-btn{ appearance:none; border:none; background:transparent; color:#fff; width:80px; height:80px; font-size:48px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; position:absolute; top:50%; transform:translateY(-50%); pointer-events:auto; text-shadow:0 6px 18px rgba(0,0,0,.9), 0 0 16px rgba(0,0,0,.85), 0 0 2px rgba(0,0,0,.9); filter: drop-shadow(0 6px 18px rgba(0,0,0,.75)) drop-shadow(0 0 12px rgba(0,0,0,.85)); }
.vtp-carousel-btn:hover{ transform:translateY(-50%) scale(1.12); }
.vtp-carousel-btn:active{ transform:translateY(-50%) scale(0.97); }
.vtp-carousel-btn[data-dir="-1"]{ left:8px; }
.vtp-carousel-btn[data-dir="1"]{ right:8px; }
.vtp-carousel-btn[disabled]{ opacity:.4; cursor:not-allowed; }

/* Dots pagination */
.vtp-carousel-dots{ position:absolute; left:50%; transform:translateX(-50%); bottom:12px; display:flex; gap:8px; align-items:center; pointer-events:auto; z-index:3; }
.vtp-dot{ width:10px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:rgba(255,255,255,.15); padding:0; cursor:pointer; }
.vtp-dot.is-active{ background:#fff; border-color:#fff; }

.vtp-carousel-track{ display:flex; gap:0; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:0; scrollbar-width:none; -ms-overflow-style:none; }
.vtp-carousel-track::-webkit-scrollbar{ display:none; }

.vtp-slide{ flex:0 0 auto; width:360px; scroll-snap-align:start; }
@media (max-width: 600px){ .vtp-slide{ width: 280px; } }

.vtp-slide .vtp-card{ height:100%; display:flex; flex-direction:column; border-radius:0; box-shadow:none; border:none; background:transparent; transition:transform .2s ease, box-shadow .2s ease; }
.vtp-slide .vtp-card > a{ display:block; aspect-ratio:16/9; overflow:hidden; box-shadow: inset 0 0 0 1px rgba(110,76,152,.55), inset 0 0 24px rgba(0,0,0,.18); }
.vtp-slide .vtp-card img{ width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }

/* Text and links white on purple background */
.vtp-carousel .vtp-card-body, .vtp-carousel .vtp-card-body p, .vtp-carousel .vtp-card .vtp-meta { color:#fff; }
.vtp-carousel .vtp-title a{ color:#fff; text-decoration:none; }
.vtp-carousel .vtp-title a:hover{ opacity:.85; }

/* Fresher translucent body panel */
.vtp-carousel .vtp-card-body{
  background: linear-gradient(180deg, rgba(68,51,96,.86) 0%, rgba(68,51,96,.92) 60%, rgba(68,51,96,.98) 100%);
  backdrop-filter: saturate(120%) blur(3px);
  -webkit-backdrop-filter: saturate(120%) blur(3px);
  border-top: 1px solid rgba(255,255,255,.08);
}
.vtp-slide:hover .vtp-card-body{
  background: linear-gradient(180deg, rgba(68,51,96,.9) 0%, rgba(68,51,96,.96) 60%, rgba(68,51,96,.99) 100%);
}

/* Hover effect: slight lift + image zoom */
.vtp-slide:hover .vtp-card{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.12); }
.vtp-slide:hover .vtp-card > a{ box-shadow: inset 0 0 0 1px rgba(110,76,152,.65), inset 0 0 32px rgba(0,0,0,.24); }
.vtp-slide:hover .vtp-card > a img{ transform:scale(1.04); }
.vtp-slide .vtp-card-body{ flex:1; }
