/* Pamook page loader — top indeterminate bar.
   Scoped to #loader.pamook-page-loader / .pamook-page-loader only. */

#loader.pamook-page-loader,
.pamook-page-loader {
    --ppl-height: 3px;
    --ppl-track: transparent;
    --ppl-a: var(--orange-deep, #ed5d43);
    --ppl-b: var(--orange, #f47b3b);
    --ppl-c: var(--orange-light, #ff9b3d);
    --ppl-glow: rgba(244, 123, 59, 0.35);

    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    height: var(--ppl-height);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    z-index: 10000;
    overflow: hidden;
    pointer-events: none;
    background: var(--ppl-track);
    visibility: visible;
    animation: none;
}

#loader.pamook-page-loader *,
.pamook-page-loader * {
    box-sizing: border-box;
}

.pamook-page-loader__bar {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 35%;
    border-radius: 0;
    background: linear-gradient(
        90deg,
        var(--ppl-a) 0%,
        var(--ppl-b) 45%,
        var(--ppl-c) 100%
    );
    box-shadow: 0 0 8px var(--ppl-glow);
    transform: translateX(-100%);
    animation: pamook-page-loader-slide 1.15s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    will-change: transform;
}

html[data-theme="dark"] #loader.pamook-page-loader,
html[data-theme="dark"] .pamook-page-loader {
    --ppl-a: var(--orange-deep, #ed5d43);
    --ppl-b: var(--orange, #f47b3b);
    --ppl-c: var(--orange-light, #ffb56a);
    --ppl-glow: rgba(244, 123, 59, 0.28);
    --ppl-track: rgba(255, 255, 255, 0.04);
}

@keyframes pamook-page-loader-slide {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(320%);
    }
}

@media (max-width: 767.98px) {
    #loader.pamook-page-loader,
    .pamook-page-loader {
        --ppl-height: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pamook-page-loader__bar {
        width: 100%;
        transform: none;
        animation: none;
        opacity: 0.85;
        background: linear-gradient(
            90deg,
            var(--ppl-a) 0%,
            var(--ppl-b) 50%,
            var(--ppl-c) 100%
        );
        box-shadow: none;
    }
}
