.book-marquee-container-55fd4a2a {
    overflow: visible; /* Changed from hidden to allow 3D overflow */
    position: relative;
    width: 100%;
    display: flex;
    perspective: 1200px; /* Added for 3D effect */
    padding: 40px 0; /* Add padding so 3D scaled items aren't cut off */
}

/* Smooth Pause implementation */
.book-marquee-track-55fd4a2a {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    transform-style: preserve-3d;
    
    /* Variables for smooth transition */
    --marquee-speed: 20s;
    animation: scrollMarquee55fd4a2a var(--marquee-speed) linear infinite;
}

/* The trick for smooth pause: We transition the animation-duration to a huge value 
   Since animation-play-state cannot be transitioned smoothly */
.marquee-pause-yes .book-marquee-track-55fd4a2a {
    transition: animation-duration 0.8s ease-out;
}

.marquee-pause-yes .book-marquee-container-55fd4a2a:hover .book-marquee-track-55fd4a2a {
    /* Effectively pauses it by making it super slow, smoothly transitioning to it */
    animation-duration: 9999s; 
}


@keyframes scrollMarquee55fd4a2a {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-33.333%)); }
}

.book-card-55fd4a2a {
    display: block;
    flex-shrink: 0;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s ease, z-index 0s 0.2s; /* 3D Transitions */
    transform: translateZ(0) scale(1) rotateY(0deg); /* Default state without 3D */
    z-index: 1;
}

.marquee-3d-yes .book-card-55fd4a2a {
    /* Base 3D styles applied only when enabled */
     transform: translateZ(-100px) scale(0.85) rotateY(20deg);
     filter: brightness(0.8) drop-shadow(0 5px 10px rgba(0,0,0,0.3));
}

.marquee-3d-yes .book-card-55fd4a2a:hover {
    transform: translateZ(50px) scale(1.1) rotateY(0deg);
    filter: brightness(1) drop-shadow(0 20px 30px rgba(0,0,0,0.6));
    z-index: 10;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s ease, z-index 0s;
}

/* Sibling effects (cards adjacent to hovered card) */
.marquee-3d-yes .book-marquee-track-55fd4a2a:hover .book-card-55fd4a2a:not(:hover) {
    transform: translateZ(-150px) scale(0.75) rotateY(25deg);
    filter: brightness(0.5);
    z-index: 0;
}

/* Style for items before the hovered one (requires JS or complex CSS, simplified here) */
.marquee-3d-yes .book-card-55fd4a2a:hover ~ .book-card-55fd4a2a {
    transform: translateZ(-150px) scale(0.75) rotateY(-25deg);
}

.book-card-inner-55fd4a2a {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
}

.book-image-55fd4a2a {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.book-overlay-55fd4a2a {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: ease-in-out;
}

.book-card-55fd4a2a:hover .book-overlay-55fd4a2a {
    opacity: 1;
}

.book-title-55fd4a2a {
    margin: 0 0 10px;
}
.book-author-55fd4a2a {
    margin-bottom: 5px;
}
.book-category-55fd4a2a {
    margin-bottom: 10px;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.book-desc-55fd4a2a {
    margin: 0;
    font-size: 0.9em;
}