.sahaj-page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 100vh;
    padding: 24px;
    background: #18181a;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, visibility 0.18s ease;
}

body.is-page-loading .sahaj-page-loader,
.sahaj-page-loader.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sahaj-page-loader__mark {
    position: relative;
    width: 150px;
    height: 150px;
    display: grid;
    place-items: center;
}

.sahaj-page-loader__ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background:
        conic-gradient(
            from -32deg,
            transparent 0deg,
            transparent 34deg,
            rgba(255, 255, 255, 0.84) 35deg,
            rgba(255, 255, 255, 0.84) 128deg,
            transparent 129deg,
            transparent 212deg,
            rgba(255, 255, 255, 0.84) 213deg,
            rgba(255, 255, 255, 0.84) 314deg,
            transparent 315deg,
            transparent 360deg
        );
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
    animation: sahaj-loader-spin 1.08s linear infinite;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.12));
}

.sahaj-page-loader__logo {
    position: relative;
    z-index: 1;
    width: 82px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.28));
}

.sahaj-page-loader__text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@keyframes sahaj-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 560px) {
    .sahaj-page-loader__mark {
        width: 132px;
        height: 132px;
    }

    .sahaj-page-loader__logo {
        width: 72px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sahaj-page-loader__ring {
        animation-duration: 2.4s;
    }
}
