/* Tasteful café motion — no letter rain */

[data-bw-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--bw-reveal-delay, 0ms);
}

[data-bw-reveal].is-in {
    opacity: 1;
    transform: none;
}

[data-bw-reveal="left"] { transform: translateX(16px); }
[data-bw-reveal="right"] { transform: translateX(-16px); }
[data-bw-reveal="scale"] { transform: scale(0.97); }
[data-bw-reveal="left"].is-in,
[data-bw-reveal="right"].is-in,
[data-bw-reveal="scale"].is-in {
    transform: none;
}

.bw-cover__branch {
    animation: bw-leaf-sway 12s ease-in-out infinite;
}

.bw-cover__branch--west { animation-delay: -5s; }

@keyframes bw-leaf-sway {
    0%, 100% { translate: 0 0; }
    50% { translate: 4px -6px; }
}

.bw-u-chip {
    display: none;
}

.bw-spread__u-corner {
    display: none;
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    z-index: 2;
    width: 22px;
    height: 22px;
    opacity: 0.7;
    pointer-events: none;
}

.bw-spread--feature .bw-spread__u-corner,
.bw-spread--picked .bw-spread__u-corner {
    display: block;
}

.bw-spread__u-corner .bw-u-mark__outer { stroke: var(--bw-ivory); stroke-width: 16; }
.bw-spread__u-corner .bw-u-mark__inner { stroke: var(--bw-gold); stroke-width: 6; }

.bw-spread--feature .bw-spread__u-corner,
.bw-spread--picked .bw-spread__u-corner {
    opacity: 0.8;
}

.bw-masthead.is-scrolled {
    box-shadow: 0 6px 20px color-mix(in srgb, var(--bw-olive-dark) 8%, transparent);
}

.bw-empty {
    text-align: center;
    padding: 3rem 1rem;
}

.bw-empty__u {
    display: inline-grid;
    place-items: center;
    width: 56px;
    height: 64px;
    margin: 0 auto 1rem;
    opacity: 0.55;
}

.bw-cart-fab {
    position: relative;
}

.bw-cart-fab__u {
    position: absolute;
    top: -5px;
    left: -5px;
    width: 16px;
    height: 16px;
    opacity: 0.9;
}

.bw-cart-fab__u .bw-u-mark__outer { stroke: var(--bw-ivory); stroke-width: 18; }
.bw-cart-fab__u .bw-u-mark__inner { stroke: var(--bw-gold); stroke-width: 7; }

.bw-chapter-list li,
.bw-chapter__spreads .bw-spread {
    --bw-reveal-delay: calc(var(--bw-i, 0) * 45ms);
}

.bw-colophon {
    position: relative;
    overflow: hidden;
}

.bw-colophon__u-bg {
    position: absolute;
    left: 50%;
    bottom: 6%;
    transform: translateX(-50%);
    width: min(42vw, 260px);
    height: min(52vw, 320px);
    opacity: 0.11;
    pointer-events: none;
}

.bw-colophon__inner { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
    [data-bw-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .bw-cover__branch {
        animation: none !important;
    }
}
