/* ===== Footer Accordion: plus → minus icon ===== */
.plus-icon {
    position: relative;
    width: 18px;
    height: 18px;
}

.plus-icon::before,
.plus-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 18px;
    height: 2px;
    background: #ff2aa1;
    border-radius: 2px;
}

.plus-icon::after {
    transform: rotate(90deg);
    transition: transform .2s ease;
}

.plus-icon.open::after {
    transform: rotate(0deg);
}

/* ===== Hide scrollbar utility ===== */
.remove-scroller::-webkit-scrollbar {
    display: none;
}

.remove-scroller {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ===== Carousel dot indicators ===== */
.dot {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: #5b5b6a;
    opacity: .6;
    transition: transform .2s, opacity .2s;
}

.dot[aria-current="true"] {
    background: #ff2aa1;
    opacity: 1;
    transform: scale(1.2);
}

/* ===== Collection label: slide-in arrow on hover ===== */
.collection-label::after {
    content: "\2192"; /* → */
    display: inline-block;
    margin-left: 0.275rem;
    opacity: 0;
    font-size: 1.55em;
    transform: translateX(0);
    transition: opacity .3s ease, transform .3s ease;
}

.group:hover .collection-label::after {
    opacity: 1;
    transform: translateX(0.355rem);
}

/* ===== Neon pulse for CTA glow ===== */
@keyframes pulseShadow {
    0%, 100% {
        box-shadow: 0 0 16.3928px rgba(235, 34, 144, .55), 0 0 32.7855px rgba(235, 34, 144, .35);
    }
    50% {
        box-shadow: 0 0 16.3928px #eb2290, 0 0 32.7855px rgba(235, 34, 144, .85);
    }
}

.btn-gradient-hover:hover {
    background: linear-gradient(90deg, #eb2290, #412d7c) !important;
}

/* ===== Ken-Burns zoom animation ===== */
@keyframes kenBurns {
    from {
        transform: scale(1);
        transform-origin: 50% 50%;
    }
    to {
        transform: scale(1.08);
        transform-origin: 50% 50%;
    }
}

.kenburns {
    will-change: transform;
    animation: kenBurns 10s ease-in-out infinite alternate;
}

/* ===== Respect reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
    .kenburns {
        animation: none !important;
    }
}
