/**
 * Pretpot Animated Vertical Carousel with Blurred Media
 */

.pretpot-animated-vertical-carousel {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Stack wrapper — height set by JS */
.pretpot-avc-stack {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Card — all visual properties (size, blur, opacity, top) are set by JS */
.pretpot-avc-card {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    cursor: pointer;
    box-shadow: 0 4px 30px rgba(0,0,0,0.15);
    /* DO NOT add filter, opacity, or transition here — JS owns them */
}

/* Media fills card completely */
.pretpot-avc-card img,
.pretpot-avc-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

/* Play overlay for non-autoplay videos */
.pretpot-avc-video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.pretpot-avc-card:hover .pretpot-avc-video-overlay { opacity: 1; }

.pretpot-avc-play-icon {
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
}
.pretpot-avc-play-icon svg {
    width: 24px;
    height: 24px;
    fill: #000;
    margin-left: 4px;
}

/* ── Exit animations (applied to top card only by JS) ─────────────── */

.pretpot-avc-card.exiting-fall {
    animation: avc-exit-fall var(--avc-speed, 0.6s) cubic-bezier(0.4,0,0.8,1) forwards;
    pointer-events: none;
    z-index: 999 !important;
}
.pretpot-avc-card.exiting-fade {
    animation: avc-exit-fade var(--avc-speed, 0.6s) ease forwards;
    pointer-events: none;
    z-index: 999 !important;
}

@keyframes avc-exit-fall {
    0%   { opacity:1; filter:blur(0px); transform:translateX(-50%) translateY(0)   scale(1);    }
    35%  { opacity:.7;                  transform:translateX(-50%) translateY(20px) scale(.95);  }
    100% { opacity:0; filter:blur(6px); transform:translateX(-50%) translateY(90px) scale(.5);  }
}

@keyframes avc-exit-fade {
    0%   { opacity:1; filter:blur(0px); transform:translateX(-50%) scale(1);    }
    100% { opacity:0; filter:blur(0px); transform:translateX(-50%) scale(.93);  }
}

/* ── Text content ─────────────────────────────────────────────────── */

.pretpot-avc-text-top,
.pretpot-avc-text-bottom {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 20;
}

.pretpot-avc-text-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    text-align: center;
    z-index: 25;
    pointer-events: none;
}
.pretpot-avc-text-center .pretpot-avc-heading,
.pretpot-avc-text-center .pretpot-avc-subheading {
    pointer-events: auto;
}

.pretpot-avc-heading   { margin: 0; line-height: 1.2; }
.pretpot-avc-subheading { margin: 10px 0 0; line-height: 1.4; }

/* Animated text spans */
.pretpot-avc-char,
.pretpot-avc-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    animation: avc-text-reveal 0.5s ease forwards;
}
@keyframes avc-text-reveal {
    to { opacity:1; transform:translateY(0); }
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .pretpot-avc-card          { border-radius: 16px; }
    .pretpot-avc-play-icon     { width: 48px; height: 48px; }
    .pretpot-avc-play-icon svg { width: 20px; height: 20px; }
}