@charset "utf-8";
/* CSS Document */

        :root {
            --bg-cream: #F9F6F0; /* Fond beige très clair */
            --bg-card: #FFFFFF;
            --text-dark: #1C1C1C;
            --text-muted: #6A6A6A;
            --brand-gold: #A88253; /* Bronze doré */
            --brand-gold-hover: #8E6C41;
            --border-color: #EAE5DC;
        }

        body {
            background-color: var(--bg-cream);
            font-family: 'Inter', sans-serif;
            color: var(--text-dark);
            font-weight: 300;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* --- Désactivation globale du soulignement au survol --- */
        a:hover {
            text-decoration: none !important;
        }

        /* --- Titres Style Éditorial --- */
        .serif-brand {
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.2rem;
            letter-spacing: 1px;
            font-weight: 600;
            color: var(--text-dark);
        }
        .serif-title {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 400;
            color: var(--text-dark);
        }
        .serif-title em {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            color: var(--brand-gold);
            font-weight: 400;
        }

        /* --- Écrin du Formulaire --- */
        .login-card {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 4px;
            padding: 3.5rem 3rem;
            max-width: 480px;
            width: 100%;
            box-shadow: 0 10px 40px rgba(168, 130, 83, 0.04);
        }

        /* --- Style des Champs de Saisie --- */
        .form-control-custom {
            background-color: #FAFAFA;
            border: 1px solid var(--border-color);
            border-radius: 0px; /* Style rectangulaire strict */
            padding: 0.8rem 1rem;
            font-size: 0.95rem;
            font-weight: 300;
            transition: all 0.3s ease;
        }
        .form-control-custom:focus {
            background-color: #FFFFFF;
            border-color: var(--brand-gold);
            box-shadow: none;
            outline: 0;
        }
        .input-group-text-custom {
            background-color: #FAFAFA;
            border: 1px solid var(--border-color);
            border-radius: 0px;
            color: var(--text-muted);
            padding: 0.8rem 1rem;
        }

        /* --- Bouton Ovale --- */
        .btn-gold-login {
            background-color: var(--brand-gold);
            color: #FFFFFF;
            border: none;
            border-radius: 30px;
            padding: 0.8rem 2.5rem;
            font-size: 0.95rem;
            letter-spacing: 0.5px;
            font-weight: 400;
            transition: all 0.3s ease;
            width: 100%;
        }
        .btn-gold-login:hover {
            background-color: var(--brand-gold-hover);
            color: #FFFFFF;
        }

        .login-footer-link {
            color: var(--text-muted);
            text-decoration: none;
            font-size: 0.85rem;
            transition: color 0.2s ease;
        }
        .login-footer-link:hover {
            color: var(--brand-gold);
        }

        /* Alerte d'erreur personnalisée style institutionnel */
        .alert-custom-error {
            background-color: #FDF2F2;
            color: #9B1C1C;
            border: 1px solid #F3D8D8;
            border-radius: 0px;
        }
