@font-face {
    font-family: "MTNBrighterSans";
    src: url("../fonts/MTNBrighterSans-Regular.woff") format("woff");
}
:root {
    --color-MTNBlue: #09476c;
    --color-MTNYellow: #fecb00;
}
/* Centrer le loader */
.loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* fond semi-transparent */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Loader animé */
.loader {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(0deg, #fecb00, #09476c);
    animation: rotateLoader 1.5s linear infinite;
    position: relative;
}

/* Petit cercle intérieur pour effet */
.loader::after {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: white;
}

/* Animation de rotation */
@keyframes rotateLoader {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "MTNBrighterSans";
}
.color-primary {
    background: var(--color-MTNBlue);
}
.color-secondary {
    background: var(--color-MTNYellow);
}
.text-color-primary {
    color: var(--color-MTNBlue);
}
.text-color-secondary {
    color: var(--color-MTNYellow);
}
.gradient-bg {
    background: linear-gradient(135deg, white 0%, whitesmoke 100%);
    min-height: 100vh;
    background-image: url("../images/main.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.glass-effect {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

/* Custom file upload styling */
input[type="file"]::-webkit-file-upload-button {
    display: none;
}

/* Loading animation */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

/* Modal slide animation */
.transform {
    transition: transform 0.5s ease-in-out;
}

/* Image preview styling */
#candidate-photo-preview img {
    border: 2px solid #e5e7eb;
}

/* Modal blur background effect */
body.modal-open-blur > *:not(#confirmationModal):not(#loadingOverlay) {
    filter: blur(3px);
    transition: filter 0.3s ease-in-out;
}

/* Ensure modal and loading overlay don't get blurred */
body.modal-open-blur #confirmationModal,
body.modal-open-blur #loadingOverlay {
    filter: none;
}

/* Add backdrop blur overlay for better effect */
body.modal-open-blur::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 40;
    transition: background 0.3s ease-in-out;
}

/* Ensure modal appears above the backdrop */
#confirmationModal {
    z-index: 50;
}

/* Smooth transition for blur effect */
body * {
    transition: filter 0.3s ease-in-out;
}

.swal2-title{
    font-size: 18px !important;
    margin-top: 1rem;
}

.swal2-html-container {
    padding: 0;
    overflow: hidden;
}

.swal2-html-container .swal2-input{
    border : 1px solid #000000;
    font-size: 13px;
    width: 90%;
}

.swal2-confirm {
    background-color: #09476C !important ;
    padding: 12px;
    border-radius: 10px;
}

