/* ---------- Buttons & cards ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.3em;border-radius:8px;font-weight:600;font-size:.95rem;background:var(--amber);color:#fff;transition:transform var(--duration-quick) var(--ease-smooth-out),background var(--duration-quick) var(--ease-smooth-out);}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--amber);color:#fff;}
.btn-primary:hover{background:var(--green-deep);}
.btn-ghost{background:transparent;color:var(--green-deep);box-shadow:none;border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--amber);background:var(--tint);}
.btn-ghost:active{transform:translateY(1px);}
.btn-sm{padding:.55em 1em;font-size:.82rem;}
.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-off-sm);padding:1.5em;}


/* ---------- Overlays (Login / Wizard) ---------- */
.overlay{position:fixed;inset:0;background:rgba(24,24,24,.55);display:flex;align-items:center;justify-content:center;z-index:60;padding:1.4em;}
.overlay-card{background:var(--paper-raised);border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow-off);padding:2.3em;max-width:420px;width:100%;position:relative;}
.overlay-close{position:absolute;top:1em;right:1em;width:2em;height:2em;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-soft);}
.overlay-close:hover{background:rgba(24,24,24,.06);}
.overlay-eyebrow{font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;color:var(--green-deep);margin-bottom:.6em;display:block;}
.field-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);display:block;margin-bottom:.5em;}
.text-input{width:100%;padding:.8em 1em;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:1rem;margin-bottom:1.2em;background:var(--paper);color:var(--ink);}
.text-input:focus{border-color:var(--green);}


.skip-link{display:block;text-align:center;margin-top:1.4em;font-size:.8rem;color:var(--ink-soft);text-decoration:underline;width:100%;}
.wizard-progress{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:1.2em;}
.choice-row{display:flex;gap:.9em;margin-bottom:1.2em;}
.choice-card{flex:1;border:1px solid var(--line);border-radius:10px;padding:1em;transition:border-color var(--duration-quick) var(--ease-smooth-out),background var(--duration-quick) var(--ease-smooth-out);text-align:left;}
.choice-card.selected{border-color:var(--green);background:rgba(0,85,255,.07);}
.choice-card h4{margin:.4em 0 .2em;font-size:.9rem;}
.choice-card p{font-size:.76rem;margin:0;}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:1.4em;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);padding:.9em 1.4em;border-radius:8px;font-size:.82rem;font-family:var(--font-mono);opacity:0;transition:opacity var(--duration-fast) var(--ease-smooth-out),transform var(--duration-fast) var(--ease-smooth-out);z-index:90;max-width:88vw;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
