/* Affirm Consult — auth pages (login / signup). Depends on theme.css */
body.auth{min-height:100vh;overflow-x:hidden}
.auth-wrap{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}

/* Left brand panel (dark) */
.auth-aside{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:44px 52px}
.auth-aside::before{content:'';position:absolute;top:-20%;left:40%;width:80%;height:80%;background:radial-gradient(ellipse,rgba(31,58,44,.6),transparent 62%);pointer-events:none}
.auth-aside .top{position:relative;z-index:1}
.auth-aside .mid{position:relative;z-index:1;max-width:420px}
.auth-aside .mid h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.14;color:var(--paper);margin-bottom:18px}
.auth-aside .mid h2 .it{font-style:italic;color:var(--gold-2)}
.auth-aside .mid p{color:rgba(243,239,230,.6);font-size:1rem;line-height:1.6}
.auth-aside .bottom{position:relative;z-index:1;display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid rgba(243,239,230,.14);padding-top:24px}
.auth-aside .bfact .n{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--paper);line-height:1;font-variant-numeric:tabular-nums}
.auth-aside .bfact .l{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,230,.5);margin-top:7px}
.auth-curve{position:absolute;left:0;right:0;bottom:34%;z-index:0;opacity:.5}
.auth-curve svg{width:100%;height:180px;overflow:visible}

/* Right form panel */
.auth-main{display:flex;align-items:center;justify-content:center;padding:44px 40px;background:var(--paper)}
.auth-card{width:100%;max-width:400px}
.auth-card .eyebrow{margin-bottom:18px}
.auth-card h1{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:500;margin-bottom:8px;letter-spacing:-.01em}
.auth-card .sub{color:var(--soft);font-size:.96rem;margin-bottom:30px}
.auth-form .fg{margin-bottom:18px;position:relative}
.auth-form label{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:9px}
.auth-form input,.auth-form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:.95rem;font-family:'Inter',sans-serif;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.auth-form input::placeholder{color:var(--muted);opacity:.7}
.auth-form input:focus,.auth-form select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(31,58,44,.09)}
.auth-form input.err{border-color:var(--down)}
.pw-wrap{position:relative}
.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--muted);background:none;border:none;padding:4px;display:flex}
.pw-toggle:hover{color:var(--ink)}
.pw-toggle svg{width:17px;height:17px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-between{display:flex;align-items:center;justify-content:space-between;margin:6px 0 24px;font-size:.84rem}
.remember{display:flex;align-items:center;gap:8px;color:var(--soft);cursor:pointer}
.remember input{width:auto;accent-color:var(--forest)}
.auth-link{color:var(--forest);font-weight:600}
.auth-link:hover{text-decoration:underline}
.auth-submit{width:100%;justify-content:center;padding:15px;font-size:.82rem}
.auth-alt{text-align:center;margin-top:24px;font-size:.9rem;color:var(--soft)}
.field-err{color:var(--down);font-size:.76rem;margin-top:7px;display:none}
.field-err.show{display:block}
.form-alert{display:none;align-items:center;gap:10px;background:var(--down-bg,rgba(166,64,47,.1));border:1px solid rgba(166,64,47,.3);color:#7d2c20;border-radius:8px;padding:12px 14px;font-size:.85rem;margin-bottom:20px}
.form-alert.show{display:flex}
.form-alert svg{width:17px;height:17px;flex-shrink:0}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--soft);margin-bottom:22px;line-height:1.5}
.consent input{width:auto;margin-top:3px;accent-color:var(--forest)}
.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.74rem;color:var(--muted);margin-top:22px}
.secure-note svg{width:13px;height:13px}
.back-home{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin-bottom:30px;transition:color .2s}
.back-home:hover{color:var(--ink)}
.back-home svg{width:14px;height:14px}
.spinner{width:16px;height:16px;border:2px solid rgba(243,239,230,.4);border-top-color:var(--paper);border-radius:50%;animation:spin .7s linear infinite;display:none}
.abtn-loading .spinner,.auth-submit.loading .spinner{display:inline-block}
.auth-submit.loading .btn-label{opacity:.6}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .auth-wrap{grid-template-columns:1fr}
  .auth-aside{display:none}
  .auth-main{min-height:100vh}
}
