/* d:\CauLib\style.css */

.scroll-track {
    height: 15000vh;
    /* Barra hiper longa para simular scroll infinito */
    width: 100%;
}

.scene {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    /* Câmera mergulha, bordas são ocultas */
    perspective: 2000px;
    /* Aumenta a sensação de profundidade 3D */
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    cursor: grab;
    touch-action: none !important;
}

body.grabbing .scene {
    cursor: grabbing !important;
}

.gallery-wrapper {
    transform-style: preserve-3d;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.album-card {
    position: absolute;
    width: 45vw;
    max-width: 500px;
    aspect-ratio: 1 / 1;
    cursor: pointer;

    will-change: transform;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    transform-style: preserve-3d;
    pointer-events: auto !important;

    opacity: var(--op, 1);
    filter: blur(var(--blur, 0px));

    transform: translate3d(var(--tx, 0px), var(--ty, 0px), var(--tz, 0px)) rotateX(15deg) rotateY(0deg) scale(var(--s, 1));

    transition: z-index 0s;
    z-index: 1;
}

.album-card:hover {
    z-index: 50;
}

.album-inner {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    opacity: 1 !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    clip-path: inset(0px round 12px);
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.album-card:hover .album-inner {
    transform: translateX(80px) translateY(-20px) rotateZ(12deg);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
}

.album-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
    pointer-events: none;
    transform: scale(1.01);
}