/* ===== AUTH PAGES (Login, Register) ===== */
.auth-page {
    min-height:80vh;
    display:flex; align-items:center; justify-content:center;
    padding:40px 20px;
}
.auth-box {
    width:100%; max-width:440px;
    background:#13131a;
    border:1px solid rgba(255,255,255,0.06);
    border-radius:16px;
    padding:40px 32px;
}
.auth-box .logo-center {
    text-align:center; font-size:1.4rem;
    color:#e0e0e8; margin-bottom:6px;
}
.auth-box .logo-center strong { color:#fff; }
.auth-box .logo-center .heart { color:#e84393; }
.auth-box h1 {
    text-align:center; font-size:1.3rem;
    color:#fff; font-weight:700; margin-bottom:4px;
}
.auth-box .subtitle {
    text-align:center; color:#555;
    font-size:0.88rem; margin-bottom:28px;
}
.auth-box .form-group { margin-bottom:18px; }
.auth-box .form-group label {
    display:block; font-size:0.82rem;
    color:#888; font-weight:500; margin-bottom:7px;
}
.auth-box input[type="text"],
.auth-box input[type="email"],
.auth-box input[type="tel"],
.auth-box input[type="password"] {
    width:100%; padding:13px 16px;
    background:#0a0a0f;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    color:#e0e0e8; font-size:0.9rem;
    font-family:inherit;
    transition:border-color .2s, box-shadow .2s;
}
.auth-box input:focus {
    outline:none;
    border-color:rgba(232,67,147,0.4);
    box-shadow:0 0 0 3px rgba(232,67,147,0.08);
}
.auth-box input.error {
    border-color:#ef4444;
    box-shadow:0 0 0 3px rgba(239,68,68,0.1);
}
.btn-auth {
    width:100%; padding:14px; margin-top:8px;
    background:linear-gradient(135deg, #e84393, #d63384);
    color:#fff; border:none; border-radius:10px;
    font-weight:600; font-size:0.95rem;
    cursor:pointer; font-family:inherit;
    transition:transform .15s, box-shadow .2s;
}
.btn-auth:hover {
    transform:translateY(-1px);
    box-shadow:0 4px 20px rgba(232,67,147,0.35);
}
.btn-auth:disabled {
    opacity:0.5; cursor:not-allowed; transform:none;
    box-shadow:none;
}
.switch-link {
    text-align:center; margin-top:20px;
    font-size:0.85rem; color:#555;
}
.switch-link a { color:#e84393; font-weight:500; }
.forgot { text-align:right; margin-top:-10px; margin-bottom:16px; }
.forgot a { font-size:0.78rem; color:#555; transition:color .2s; }
.forgot a:hover { color:#e84393; }

/* Alerts */
.alert {
    padding:12px 16px; border-radius:8px;
    font-size:0.85rem; margin-bottom:18px; display:none;
}
.alert-error {
    background:rgba(239,68,68,0.1);
    border:1px solid rgba(239,68,68,0.2);
    color:#ef4444;
}
.alert-success {
    background:rgba(74,222,128,0.08);
    border:1px solid rgba(74,222,128,0.2);
    color:#4ade80;
}

/* Password strength */
.password-strength {
    height:3px; background:rgba(255,255,255,0.06);
    border-radius:2px; margin-top:6px; overflow:hidden;
}
.password-strength .bar {
    height:100%; width:0; border-radius:2px;
    transition:width .3s, background .3s;
}
.password-hint { font-size:0.72rem; color:#444; margin-top:4px; }

/* Terms checkbox */
.auth-terms {
    display:flex; align-items:flex-start; gap:10px;
    cursor:pointer; font-size:0.82rem; color:#888;
}
.auth-terms input {
    accent-color:#e84393;
    width:16px; height:16px; margin-top:2px;
}
.auth-terms a { color:#e84393; text-decoration:underline; }

/* Login overlay for post-ad */
.login-overlay {
    padding:80px 0;
}
.login-overlay-box {
    max-width:500px; margin:0 auto;
    background:#13131a;
    border:1px solid rgba(255,255,255,0.06);
    border-radius:16px;
    padding:48px 32px;
    text-align:center;
}
.login-overlay-box .lock-icon {
    font-size:3rem; margin-bottom:16px; opacity:0.3;
}
.login-overlay-box h2 {
    font-size:1.4rem; color:#fff; margin-bottom:8px;
}
.login-overlay-box p {
    color:#666; font-size:0.92rem; margin-bottom:28px;
}
.login-overlay-btns {
    display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
}
.login-overlay-btns a {
    padding:13px 32px; border-radius:10px;
    font-weight:600; font-size:0.9rem;
    transition:transform .15s;
}
.login-overlay-btns .btn-primary {
    background:linear-gradient(135deg, #e84393, #d63384); color:#fff;
}
.login-overlay-btns .btn-secondary {
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1); color:#aaa;
}

@media (max-width:480px) {
    .auth-box { padding:28px 20px; }
    .login-overlay-btns { flex-direction:column; }
    .login-overlay-btns a { width:100%; text-align:center; }
}
