/* Styles de la page d'inscription (extraits de templates/register.html.twig) */

/* ===== BACKGROUND & AMBIANCE (Même que Login) ===== */
body { background-color: #0f1115; font-family: 'Inter', sans-serif; overflow-x: hidden; color: #e9ecef; }
.auth-bg-modern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 15% 50%, rgba(13, 110, 253, 0.15), transparent 25%), radial-gradient(circle at 85% 30%, rgba(111, 66, 193, 0.15), transparent 25%); z-index: -1; }
.auth-card { background: rgba(30, 34, 40, 0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); padding: 2.5rem; transition: transform 0.3s ease; }

/* Inputs & Labels */
.form-label { color: #adb5bd; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.5rem; }
.form-control { background-color: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); color: #fff; padding: 0.8rem 1rem; border-radius: 12px; font-size: 0.95rem; transition: all 0.2s ease; }
.form-control:focus { background-color: rgba(255, 255, 255, 0.05); border-color: var(--vz-primary); box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15); color: #fff; }
.form-control::placeholder { color: rgba(255, 255, 255, 0.3); }

/* Buttons */
.btn-gradient-primary { background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%); border: none; color: white; font-weight: 600; padding: 0.8rem; border-radius: 12px; box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3); transition: all 0.2s ease; }
.btn-gradient-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(13, 110, 253, 0.4); color: white; }
.btn-google-dark { background-color: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: #e9ecef; border-radius: 12px; font-weight: 500; padding: 0.7rem; transition: all 0.2s; }
.btn-google-dark:hover { background-color: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.2); color: #fff; }

/* Utils */
.divider-text { display: flex; align-items: center; color: rgba(255, 255, 255, 0.3); margin: 1.5rem 0; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; }
.divider-text::before, .divider-text::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, 0.1); }
.divider-text::before { margin-right: 1rem; }
.divider-text::after { margin-left: 1rem; }
.auth-footer { position: absolute; bottom: 20px; width: 100%; text-align: center; color: rgba(255,255,255,0.4); font-size: 0.85rem; }

/* Checkbox */
.form-check-input { background-color: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); cursor: pointer; }
.form-check-input:checked { background-color: var(--vz-primary); border-color: var(--vz-primary); }

/* Password Icons */
.password-addon { right: 10px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,0.5) !important; z-index: 10; }
.password-addon:hover { color: #fff !important; }

/* ===== SPÉCIFIQUE INSCRIPTION ===== */
/* Password Rules Box (Dark Mode) */
#password-contain {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #adb5bd;
    display: none;
}
#password-contain h5 { color: #fff; font-weight: 600; }

/* Valid/Invalid Colors */
.invalid { color: #ef5350; } /* Rouge doux */
.valid { color: #00d084; }   /* Vert vif */
.valid::before { content: "✔ "; }
.invalid::before { content: "✖ "; }

#confirm-password-error { display: none; color: #ef5350; font-size: 0.85rem; margin-top: 5px; }
