.button-spinner{
    width:12px;
    height:12px;
    display:inline-block;
    flex:0 0 12px;
    margin-right:7px;
    vertical-align:-2px;
    border:2px solid rgba(255,255,255,.42);
    border-top-color:#fff;
    border-radius:50%;
    animation:bsanda-spin .7s linear infinite;
}
.button-loading-text{display:inline-block;vertical-align:middle}
.is-loading{pointer-events:none!important}
button:disabled,
input[type="submit"]:disabled{
    cursor:not-allowed!important;
}
@keyframes bsanda-spin{
    to{transform:rotate(360deg)}
}


/* Global navigation loading overlay */
#bsanda-navigation-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(8, 15, 28, .46);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease;
}
#bsanda-navigation-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
#bsanda-navigation-overlay.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.bsanda-navigation-loader {
    min-width: 142px;
    max-width: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 22px;
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 55px rgba(0,0,0,.25);
    color: #172033;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}
.navigation-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(11,59,145,.18);
    border-top-color: #0b3b91;
    border-radius: 50%;
    animation: bsanda-navigation-spin .7s linear infinite;
}
.navigation-loading-text {
    line-height: 1.2;
}
html.bsanda-nav-loading,
html.bsanda-nav-loading body {
    cursor: progress !important;
}
body.dark-mode #bsanda-navigation-overlay .bsanda-navigation-loader {
    background: rgba(20,28,43,.97);
    color: #eef3fb;
    box-shadow: 0 18px 55px rgba(0,0,0,.5);
}
body.dark-mode #bsanda-navigation-overlay .navigation-spinner {
    border-color: rgba(255,255,255,.18);
    border-top-color: #eef3fb;
}
@keyframes bsanda-navigation-spin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    #bsanda-navigation-overlay { transition: none; }
    .navigation-spinner { animation-duration: 1.4s; }
}
