/**
 * SvarogFlipbook ULTRA — premium visual layer.
 * Glossy covers, ambient glow, springy transitions and micro-interactions.
 * Additive only: it never breaks the base layout.
 *
 * @package Svarog_Flipbook
 */

.svarog-flipbook {
    --svarog-ultra-glow: 0 30px 80px -20px rgba(109, 94, 252, .55);
    --svarog-ultra-ring: 0 0 0 1px rgba(255, 255, 255, .06) inset;
}

/* Ambient glow behind the whole stage */
.svarog-flipbook-stage::before {
    content: "";
    position: absolute;
    inset: -10% -5% -20%;
    z-index: 0;
    background:
        radial-gradient(50% 40% at 20% 10%, rgba(109,94,252,.20), transparent 70%),
        radial-gradient(45% 45% at 85% 85%, rgba(56,189,248,.18), transparent 70%);
    filter: blur(20px);
    opacity: .9;
    pointer-events: none;
}
.svarog-flipbook-book { z-index: 1; }

/* Glossy book drop-shadow that lifts on hover */
.svarog-flipbook-book-flip {
    filter: drop-shadow(0 30px 40px rgba(8, 11, 24, .38));
    transition: filter .4s ease, transform .4s ease;
}
.svarog-flipbook-stage:hover .svarog-flipbook-book-flip { filter: drop-shadow(0 38px 55px rgba(8, 11, 24, .5)); }

/* Page sheen animated across the book */
.svarog-flipbook-book-flip::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.18) 48%, transparent 62%);
    transform: translateX(-120%);
    animation: svarog-ultra-sheen 7s ease-in-out infinite;
    pointer-events: none;
    mix-blend-mode: screen;
}
@keyframes svarog-ultra-sheen {
    0%, 70%, 100% { transform: translateX(-120%); }
    40% { transform: translateX(120%); }
}

/* Leaf lift while hovering a bookmark/tool */
.svarog-fb-leaf { transform-style: preserve-3d; }
.svarog-fb-leaf:hover .svarog-fb-leaf-front { box-shadow: 0 20px 45px rgba(8,11,24,.30); }

/* Toolbar micro-interactions */
.svarog-fb-tool { position: relative; overflow: hidden; }
.svarog-fb-tool::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255,255,255,.5), transparent 60%);
    opacity: 0;
    transform: scale(0);
    transition: opacity .3s, transform .3s;
}
.svarog-fb-tool:active::after { opacity: .5; transform: scale(1); transition: none; }

/* Thumbnails pop */
.svarog-fb-thumb { transition: transform .22s cubic-bezier(.22,.72,.16,1), box-shadow .22s; }
.svarog-fb-thumb:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 12px 26px rgba(8,11,24,.28); }

/* Progress bar shimmer */
.svarog-flipbook-progress span {
    background-size: 200% 100%;
    animation: svarog-ultra-shimmer 2.2s linear infinite;
}
@keyframes svarog-ultra-shimmer {
    0% { background-position: 0% 0; }
    100% { background-position: 200% 0; }
}

/* Bookshelf: 3D shelf perspective */
.svarog-flipbook-bookshelf { perspective: 1400px; }
.svarog-flipbook-shelf-cover { transform: rotateY(0deg); transition: transform .45s cubic-bezier(.22,.72,.16,1), box-shadow .45s; }
.svarog-flipbook-shelf-book:hover .svarog-flipbook-shelf-cover {
    transform: translateY(-8px) rotateY(-9deg) rotateX(2deg);
    box-shadow: 0 34px 60px -18px rgba(8,11,24,.6);
}
.svarog-flipbook-shelf-book { transform-style: preserve-3d; }

/* Lightbox entrance */
.svarog-fb-lightbox.is-open .svarog-fb-lightbox-inner {
    animation: svarog-ultra-pop .45s cubic-bezier(.22,.72,.16,1);
}
@keyframes svarog-ultra-pop {
    0% { transform: translateY(14px) scale(.96); opacity: 0; }
    100% { transform: none; opacity: 1; }
}

/* Cover trigger shine sweep */
.svarog-flipbook-cover-media::after {
    content: "";
    position: absolute;
    top: -60%; left: -60%;
    width: 60%; height: 220%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    transform: rotate(18deg);
    transition: left .6s ease;
    pointer-events: none;
}
.svarog-flipbook-cover:hover .svarog-flipbook-cover-media::after { left: 130%; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .svarog-flipbook-book-flip::after,
    .svarog-flipbook-progress span { animation: none; }
    .svarog-flipbook-shelf-book:hover .svarog-flipbook-shelf-cover { transform: none; }
}
