/* ─── Login Page — Police Poppins ────────────────────────────────────────── */
.login-body {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; position: relative;
    font-family: 'Poppins', sans-serif;
}

/* Fond animé */
.login-bg {
    position: fixed; inset: 0; z-index: 0;
    background: radial-gradient(ellipse at 20% 20%, #0a2a3a 0%, #0d1117 60%);
}
.login-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(0,217,192,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,217,192,.04) 1px, transparent 1px);
    background-size: 40px 40px;
}
.login-orb {
    position: absolute; border-radius: 50%;
    filter: blur(80px); pointer-events: none;
}
.orb-1 {
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(0,217,192,.12) 0%, transparent 70%);
    top: -150px; left: -150px;
    animation: float1 8s ease-in-out infinite;
}
.orb-2 {
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(59,130,246,.08) 0%, transparent 70%);
    bottom: -100px; right: -100px;
    animation: float2 10s ease-in-out infinite;
}
@keyframes float1 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(30px, 20px); }
}
@keyframes float2 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(-20px, -30px); }
}

/* Card */
.login-container {
    position: relative; z-index: 1;
    width: 100%; max-width: 420px;
    padding: var(--sp-6);
}
.login-card {
    background: rgba(22, 27, 34, .9);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--sp-8);
    box-shadow: var(--shadow-lg), 0 0 60px rgba(0,217,192,.05);
    animation: card-in .4s ease;
}
@keyframes card-in {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Brand — même fond que la navbar de landing.php */
.login-brand {
    display: flex; align-items: center; gap: var(--sp-3);
    margin: calc(-1 * var(--sp-8)) calc(-1 * var(--sp-8)) var(--sp-8);
    padding: var(--sp-4) var(--sp-8);
    border-radius: var(--r-xl) var(--r-xl) 0 0;
    background: #0d1117;
    border-bottom: 1px solid var(--border);
}
[data-theme="dsfr"] .login-brand {
    background: #4f6da7;
    border-bottom: 3px solid #0050c8;
}
[data-theme="herb"] .login-brand {
    background: #1a1a0e;
    border-bottom: 1px solid #2d2d18;
}
.login-isotopic {
    font-family: 'Poppins', sans-serif;
    font-size: .75rem; font-weight: 800;
    letter-spacing: .18em; color: var(--accent);
    text-transform: uppercase; user-select: none;
}
.login-brand-sep {
    width: 1px; height: 22px;
    background: var(--border); flex-shrink: 0;
}
.brand-icon {
    width: 38px; height: 38px;
    background: var(--accent-glow);
    border: 1px solid rgba(0,217,192,.3);
    border-radius: var(--r-md);
    display: flex; align-items: center; justify-content: center;
    color: var(--accent);
}
.brand-name {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem; font-weight: 700;
}

/* Titre */
.login-title {
    font-size: 1.6rem; font-weight: 800;
    margin-bottom: var(--sp-2);
}
.login-subtitle {
    color: var(--text-muted); font-size: .9rem;
    margin-bottom: var(--sp-6);
}

/* Sélecteur thème page login */
.login-theme-picker {
    position: fixed; top: var(--sp-4); right: var(--sp-5);
    z-index: 10;
    display: flex; align-items: center; gap: 8px;
    background: rgba(0,0,0,.3);
    backdrop-filter: blur(8px);
    padding: 6px 10px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.1);
}
[data-theme="dsfr"] .login-theme-picker,
[data-theme="herb"]  .login-theme-picker {
    background: rgba(255,255,255,.6);
    border-color: rgba(0,0,0,.1);
}
[data-theme="dsfr"] .theme-btn.active,
[data-theme="herb"]  .theme-btn.active { border-color: #333; }
.btn-primary.btn-full {
    height: 48px;
    font-size: .95rem; font-weight: 600;
    letter-spacing: .02em;
    margin-top: var(--sp-2);
    position: relative; overflow: hidden;
    color: #ffffff;
}
.btn-primary.btn-full::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, var(--accent), var(--accent-dark));
    transition: opacity .3s;
}
.btn-primary.btn-full:hover::before { opacity: .9; }
.btn-primary.btn-full span, .btn-primary.btn-full svg,
.btn-primary.btn-full:not(:has(span)) {
    position: relative; z-index: 1; color: #ffffff;
}

/* ─── Nouveau logo sur la login page ─────────────────────────────────────── */
.login-logo-link {
    display: flex; align-items: center; gap: var(--sp-2);
    text-decoration: none;
}
.login-logo-link:hover { opacity: .85; }
.login-logo-text {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem; font-weight: 900;
    letter-spacing: .01em; line-height: 1;
    text-transform: uppercase;
}
/* .logo-iso et .logo-topic déjà définis dans main.css */

/* Forcer les couleurs dans le bandeau quel que soit le thème */
.login-brand .logo-iso   { color: #ffffff !important; }
.login-brand .logo-topic { color: var(--accent) !important; }
.login-brand .brand-name {
    color: rgba(255,255,255,.75) !important;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .01em;
}
.login-brand .login-brand-sep { background: rgba(255,255,255,.2); }
.login-brand svg { color: var(--accent); }

/* Select thème login */
.theme-select-login {
    background: transparent; border: none;
    color: rgba(255,255,255,.7);
    font-family: 'Poppins', sans-serif;
    font-size: .78rem; font-weight: 500;
    cursor: pointer; outline: none;
    appearance: none;
    padding-right: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='rgba(255,255,255,.5)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
}
.theme-select-login option { background: #1c2330; color: #e6edf3; }

[data-theme="dsfr"] .theme-select-login,
[data-theme="herb"]  .theme-select-login { color: rgba(0,0,0,.6); }

/* Adapations thème pour le logo dans la login card */
