/**
 * Login / signup split layout. Loads after landing.css (for the shared
 * guest header) and theme.css (for the Bootstrap form controls).
 */

body.pv-auth-page { background: #fff; }

.pv-auth {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    min-height: calc(100vh - 68px);
}

/* ---- left brand panel: flat navy, message anchored to the bottom ---- */
.pv-auth-brand {
    background: var(--ld-navy-deep);
    color: #fff;
    padding: 44px 34px 48px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* stays in view while a long form (signup) scrolls beside it */
    position: sticky;
    top: 68px;
    align-self: start;
    height: calc(100vh - 68px);
}

.pv-auth-brand-inner { max-width: 16rem; }

.pv-auth-brand h2 {
    color: #fff;
    margin: 0 0 14px;
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.pv-auth-brand p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .68);
}

/* ---- right form column ---- */
.pv-auth-main {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 56px 24px 72px;
}

@media (min-width: 1280px) {
    .pv-auth-main { padding-right: 300px; }
}

.pv-auth-form { width: 100%; max-width: 380px; }
.pv-auth-form.is-wide { max-width: 620px; }

.pv-auth-form h1 {
    margin: 0 0 6px;
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--ld-ink);
}

.pv-auth-lead {
    margin: 0 0 28px;
    font-size: .95rem;
    color: var(--ld-mut);
}

/* form controls inherit theme.css; only spacing and the submit differ */
.pv-auth-form .form-label {
    font-size: .875rem;
    font-weight: 600;
    color: var(--ld-ink-2);
    margin-bottom: 5px;
}

.pv-auth-form .form-control,
.pv-auth-form textarea.form-control {
    padding: 10px 13px;
    font-size: .95rem;
}

.pv-auth-form .form-group,
.pv-auth-form .mb-3 { margin-bottom: 16px; }

.pv-auth-submit {
    width: 100%;
    justify-content: center;
    padding: 12px 22px;
    font-size: 15px;
    margin-top: 4px;
}

.pv-auth-alt {
    margin-top: 22px;
    text-align: center;
    font-size: .9rem;
    color: var(--ld-mut);
}

.pv-auth-alt a { font-weight: 700; color: var(--ld-navy); }
.pv-auth-alt a:hover { text-decoration: underline; }

.pv-auth-help {
    margin-top: 14px;
    font-size: .85rem;
    line-height: 1.7;
    color: var(--ld-mut-2);
}

.pv-auth-help a { color: var(--ld-mut); font-weight: 600; }
.pv-auth-help a:hover { color: var(--ld-ink); text-decoration: underline; }

/* remember-me row */
.pv-auth-form .form-check { display: flex; align-items: center; gap: 8px; margin: 2px 0 6px; }
.pv-auth-form .form-check-input { margin: 0; }
.pv-auth-form .form-check-label { font-size: .9rem; color: var(--ld-ink-2); }

/* ---- signup: grouped sections ---- */
.pv-auth-section { margin-bottom: 26px; }

.pv-auth-section-title {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ld-mut-2);
    padding-bottom: 8px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--ld-line);
}

.pv-auth-form .hint-block {
    font-size: .8rem;
    color: var(--ld-mut-2);
    margin-top: 5px;
}

#lursoft-result { font-size: .9rem; }

/* ---- responsive: brand panel becomes a slim intro above the form ---- */
@media (max-width: 991px) {
    .pv-auth { grid-template-columns: 1fr; min-height: 0; }
    .pv-auth-brand-inner { max-width: none; }
    .pv-auth-brand { padding: 32px 24px; position: static; height: auto; }
    .pv-auth-brand h2 { font-size: 1.4rem; }
    .pv-auth-brand p { font-size: .92rem; }
    .pv-auth-main { padding: 36px 24px 56px; }
}
