/* VENUS ONLINE - new look for login / register / forgot_password */
body { padding-top: 0 !important; background: radial-gradient(ellipse 60% 50% at 20% 0%, rgba(212,175,55,.12), transparent 70%), radial-gradient(ellipse 60% 50% at 90% 100%, rgba(196,30,58,.16), transparent 70%), #07050a !important; min-height: 100vh; }
.login-container, .wrap { max-width: 520px !important; margin: 0 auto !important; padding: 2.2rem 1rem 3rem !important; min-height: 0 !important; display: block !important; }

.login-card, .wrap .card { position: relative; border-radius: 20px !important; border: 1px solid rgba(212,175,55,.45) !important; overflow: hidden;
    background: linear-gradient(145deg, rgba(26,19,32,.97), rgba(10,8,14,.97)) !important; box-shadow: 0 30px 80px rgba(0,0,0,.65), 0 0 40px rgba(212,175,55,.08) !important; }
.login-card::before, .wrap .card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, transparent, #d4af37, #c41e3a, #d4af37, transparent); }

.login-header, .card-header { text-align: center; padding: 1.6rem 1.4rem 1.2rem !important; border-bottom: 1px solid rgba(212,175,55,.2) !important;
    background: radial-gradient(ellipse 80% 140% at 50% 0%, rgba(212,175,55,.16), transparent 70%) !important; }
.login-title, .card-header .title { font-family: 'Cinzel', serif !important; font-weight: 900 !important; letter-spacing: .08em; background: linear-gradient(100deg, #b8941f, #fff5d0 40%, #d4af37 70%, #b8941f); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none !important; }
.card-header .title i { -webkit-text-fill-color: #d4af37; margin-right: .4rem; }
.login-subtitle, .card-header .subtitle { color: #b9ae92 !important; letter-spacing: .08em; }

.form-control, .field input, .field select { border-radius: 12px !important; background: rgba(0,0,0,.5) !important; border: 1px solid rgba(212,175,55,.3) !important; color: #f1ead6 !important; transition: border-color .15s, box-shadow .15s; }
.form-control:focus, .field input:focus { border-color: #d4af37 !important; box-shadow: 0 0 0 3px rgba(212,175,55,.18) !important; outline: 0; }
.form-label, .field label { color: #d4af37 !important; font-weight: 600; letter-spacing: .03em; }

.btn, button.btn { border-radius: 26px !important; font-weight: 700 !important; letter-spacing: .05em; transition: transform .15s, box-shadow .15s; }
.btn-primary, .actions .btn:not(.btn-outline) { background: linear-gradient(135deg, #fff1b8, #d4af37 55%, #b8941f) !important; color: #1a1205 !important; border: 0 !important; box-shadow: 0 8px 22px rgba(212,175,55,.25); }
.btn-primary:hover, .actions .btn:not(.btn-outline):hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(212,175,55,.38); }
.btn-outline { background: rgba(0,0,0,.4) !important; border: 1px solid rgba(212,175,55,.45) !important; color: #e8dcae !important; }
.btn-outline:hover { background: rgba(212,175,55,.12) !important; }

.alert { border-radius: 12px !important; }
.forgot-link, .link, .back-link a { color: #d4af37 !important; }
.forgot-link:hover, .link:hover, .back-link a:hover { color: #fff1b8 !important; }

@media (max-width: 600px) {
    .login-container, .wrap { padding: 1rem .7rem 2rem !important; }
    .login-card, .wrap .card { border-radius: 16px !important; }
    .actions { flex-direction: column; }
    .actions .btn { width: 100%; text-align: center; justify-content: center; }
}
