body {
    background-image: url('assets/bacgroundConnexion.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    overflow-y: auto;
    /* Retour au défilement vertical */
    min-height: 100vh;
    min-width: 1024px;
    margin: 0;
    position: relative;
    padding-bottom: 60px;
}

.login-page-container {
    display: flex;
    min-height: calc(100vh - 120px);
    align-items: center;
    padding: clamp(30px, 5vh, 60px) clamp(5vw, 8vw, 10vw);
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    gap: 5vw;
}

.welcome-section {
    flex: 1;
    padding-right: 2vw;
}

.welcome-section h1 {
    color: #a45ee5;
    font-size: clamp(2.3rem, 3.8vw, 4.2rem);
    /* Taille réduite pour tout faire tenir */
    font-weight: 800;
    line-height: 1.05;
    max-width: 20ch;
    /* Augmenté pour éviter le retour à la ligne prématuré */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.login-section {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-container {
    background: rgba(255, 255, 255, 0.98);
    padding: clamp(40px, 8vh, 80px) clamp(30px, 5vw, 70px);
    border-radius: clamp(40px, 4vw, 60px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: min(750px, 45vw);
    text-align: center;
    box-sizing: border-box;
    min-height: min(580px, 80vh);
    display: flex;
    flex-direction: column;
    justify-content: center;
    backdrop-filter: blur(10px);
}

.form-group {
    margin-bottom: clamp(20px, 3.5vh, 40px);
    position: relative;
}

.form-group i {
    position: absolute;
    left: clamp(20px, 2vw, 30px);
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-dark-purple);
    font-size: clamp(1rem, 1.2vw, 1.4rem);
}

.form-group input {
    width: 100%;
    padding: clamp(15px, 2.2vh, 22px) clamp(45px, 5vw, 65px) clamp(15px, 2.2vh, 22px) clamp(50px, 5vw, 70px);
    border: 2px solid #E0D4F0;
    border-radius: 50px;
    font-family: var(--font-main);
    font-size: clamp(0.95rem, 1vw, 1.1rem);
    outline: none;
    transition: all 0.3s;
    color: #333;
    box-sizing: border-box;
}

.form-group input:focus {
    border-color: var(--color-accent-purple);
    box-shadow: 0 0 15px rgba(164, 94, 229, 0.15);
}

.form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(25px, 4vh, 45px);
    font-size: clamp(0.85rem, 0.9vw, 1rem);
    color: #666;
    padding: 0 15px;
}

.remember-me {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.forgot-password {
    color: #666;
    text-decoration: none;
    font-style: italic;
    transition: color 0.3s;
}

.forgot-password:hover {
    color: var(--color-dark-purple);
}

.btn-submit {
    width: 100%;
    padding: clamp(16px, 2.5vh, 24px);
    background-color: var(--color-dark-purple);
    color: #fff;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    font-size: clamp(1rem, 1.1vw, 1.25rem);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.btn-submit:hover {
    background-color: #1a0f29;
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
}


.footer-connexion {
    position: absolute;
    bottom: 20px;
    right: 5vw;
    font-size: 0.8rem;
    color: #666;
    z-index: 2;
}

.footer-connexion a {
    color: inherit;
    text-decoration: underline;
}

/* Mobile support removed as requested */