/* =========================
   AUTH PAGES
========================= */

.auth-page {
    background: var(--color-bg-app);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

/* bigger container */
.auth-container {
    width: 100%;
    max-width: 600px;
    padding: var(--space-4xl);
}

@media (min-width: 768px) {
    .auth-container {
        max-width: 640px;
    }
}

/* bigger card */
.auth-card {
    padding: 36px; /* more than token for better feel */
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    background: var(--color-bg-main);
}

/* header */

.auth-header {
    text-align: center;
    margin-bottom: var(--space-3xl);
}

.auth-header img {
    height: 48px; /* slightly bigger logo */
}

/* heading */

.auth-card h2 {
    text-align: center;
    margin-bottom: var(--space-xl);
    font-size: 22px;
    font-weight: var(--font-weight-semibold);
}

/* form */

.auth-card form {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

/* form group */

.form-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

/* labels */

.auth-card label {
    font-size: 13px;
    color: var(--color-text-muted);
}

/* inputs */

.auth-card input {
    width: 100%;
    padding: 12px 14px; /* 🔥 key fix: horizontal padding */
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-md);
    font-size: 15px; /* slightly bigger */
    box-sizing: border-box; /* 🔥 ensures padding doesn't overflow */
}

.auth-card input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-focus-ring);
}

/* checkbox alignment (fix remember me) */

.auth-card input[type="checkbox"] {
    width: auto;
}

/* button */

.auth-card .btn {
    width: 100%;
    padding: 12px;
    font-size: 15px;
}

/* description */

.auth-description {
    font-size: 14px;
    color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
    text-align: center;
}

/* links */

.auth-links {
    margin-top: var(--space-xl);
    text-align: center;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.auth-links a {
    text-decoration: none;
}

.btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    width: 100%;
    /*color: var(--color-text-inverse) !important;*/
}

.btn-google img {
    width: 18px;
    height: 18px;
}