html {
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    background: #fff;
    color: #666;
}

h1,h2,h3,h4,h5,h6 {
    font-weight: 500 !important;
}

.uk-overflow-fade-vertical {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    mask-image: linear-gradient(to var(--uk-overflow-fade-direction), rgba(0, 0, 0, var(--uk-overflow-fade-start-opacity)), #000 50px, #000 calc(100% - 100px), rgba(0, 0, 0, var(--uk-overflow-fade-end-opacity)));
}

.uk-overflow-fade-vertical {
    overflow-y: auto;
    --uk-overflow-fade-direction: bottom;
}

.uk-child-width-1-7>* {
    width: calc(100% / 7)!important;
}

@media (min-width: 640px) {
    .uk-child-width-1-7>* {
        width: calc(100% / 7)
    }
}

@media (min-width: 960px) {
    .uk-child-width-1-7>* {
        width: calc(100% / 7)
    }
}

/* Page loader base */
.page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* when hidden */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Visible state */
.page-loader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Backdrop */
.page-loader__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35); /* noir bleuté semi-transparent */
    backdrop-filter: blur(3px);
}

/* Content container */
.page-loader__content {
    position: relative;
    padding: 1.5rem 2rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.95);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Spinner */
.page-loader__spinner {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 3px solid rgba(148, 163, 184, 0.4);   /* gris clair */
    border-top-color: white;
    animation: page-loader-spin 0.7s linear infinite;
}

/* Text */
.page-loader__text {
    margin: 0;
    font-size: 0.95rem;
    color: #e5e7eb;
    letter-spacing: 0.03em;
}

/* Animation */
@keyframes page-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

