/* Seif Bros site loader - clean logo only + hide page until fully loaded */
html.sbf-loading,
html.sbf-loading body {
    overflow: hidden;
}

html.sbf-loading body > *:not(#sbfSiteLoader) {
    visibility: hidden;
}

.sbf-site-loader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0f0f0f;
    opacity: 1;
    visibility: visible;
    transition: opacity .55s ease, visibility .55s ease;
}

.sbf-site-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.sbf-site-loader__inner {
    width: min(120px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sbf-site-loader__logo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    opacity: 0;
    transform: translateY(10px) scale(.96);
    animation: sbf-loader-in .9s ease forwards, sbf-loader-pulse 1.8s ease-in-out infinite .9s;
    filter: drop-shadow(0 18px 34px rgba(0, 0, 0, .45));
}

@keyframes sbf-loader-in {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes sbf-loader-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: .74;
        transform: scale(.985);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sbf-site-loader,
    .sbf-site-loader__logo {
        animation: none;
        transition: none;
    }

    .sbf-site-loader__logo {
        opacity: 1;
        transform: none;
    }
}
