/* ==========================================================
   SPINNER CHECKINFANS - Refresh visual
   ========================================================== */

#fullspin {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;

    align-items: center;
    justify-content: center;
    flex-direction: column;

    background:
        radial-gradient(circle at 50% 42%, rgba(255, 122, 0, 0.13), transparent 26%),
        rgba(0, 27, 46, 0.82);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-family: "Manrope", Arial, sans-serif;
}

#fullspin.show {
    display: flex;
}

/* Si el spinner tiene texto tipo h3 */
#fullspin h3,
#fullspin .spinner-text {
    margin: 18px 0 0;
    color: #ffffff;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-align: center;
}

/* Caja visual del loader */
.spinner-icon {
    position: relative;
    width: 76px;
    height: 76px;
    margin: 0;

    border-radius: 999px;
    background:
        linear-gradient(#001b2e, #001b2e) padding-box,
        conic-gradient(
            from 0deg,
            rgba(255, 122, 0, 0.08),
            #ff7a00,
            rgba(255, 122, 0, 0.08)
        ) border-box;

    border: 4px solid transparent;

    animation: cf-spin 0.9s linear infinite;
    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.28),
        0 0 0 10px rgba(255, 255, 255, 0.04);
}

/* Centro del spinner */
.spinner-icon::before {
    content: "";
    position: absolute;
    inset: 13px;

    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 0 0 1px rgba(0, 27, 46, 0.08);
}

/* Punto naranja interno */
.spinner-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;

    width: 13px;
    height: 13px;

    border-radius: 999px;
    background: #ff7a00;

    transform: translate(-50%, -50%);
    box-shadow:
        0 0 0 7px rgba(255, 122, 0, 0.13),
        0 0 24px rgba(255, 122, 0, 0.45);
}

@keyframes cf-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Mobile */
@media (max-width: 575.98px) {
    .spinner-icon {
        width: 66px;
        height: 66px;
    }

    .spinner-icon::before {
        inset: 11px;
    }

    #fullspin h3,
    #fullspin .spinner-text {
        font-size: 14px;
    }
}