.quiko-page-loading[hidden] {
    display: none !important;
}

.quiko-page-loading {
    position: fixed;
    z-index: 2147483646;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.42);
    cursor: progress;
    backdrop-filter: blur(2px);
}

.quiko-page-loading__card {
    display: flex;
    min-width: min(280px, calc(100vw - 48px));
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 20px 24px;
    border: 1px solid rgba(230, 110, 26, 0.3);
    border-radius: 18px;
    color: #172033;
    background: #fff;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.28);
    font-size: 16px;
}

.quiko-page-loading__spinner,
.quiko-is-processing::before {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    border: 4px solid rgba(230, 110, 26, 0.22);
    border-top-color: #e66e1a;
    border-radius: 50%;
    animation: quiko-loading-spin 0.75s linear infinite;
}

.quiko-is-processing {
    position: relative;
    pointer-events: none !important;
    cursor: progress !important;
}

.quiko-is-processing::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 8px;
    border-width: 3px;
    vertical-align: -2px;
}

body.quiko-navigation-busy {
    cursor: progress;
}

@keyframes quiko-loading-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .quiko-page-loading__spinner,
    .quiko-is-processing::before {
        animation: none;
    }
}

@media (max-width: 640px) {
    .language-switcher a {
        padding-inline: 7px;
        font-size: 11px;
    }

    .public-marketing .language-switcher a {
        flex: 1 1 auto;
        white-space: nowrap;
    }
}
