/* Account pages: sign in, create account, reset, settings */
.acct { max-width: 620px; }
.acct h1 { color: var(--maroon); }
.acct h2 { margin: 0 0 8px; color: var(--maroon); font-size: 20px; }
.acct-tabs { display: flex; gap: 8px; margin: 12px 0 4px; }
.acct-tabs button { font: 600 14px 'Oswald', sans-serif; letter-spacing: 0.03em; padding: 9px 18px; border: 2px solid var(--maroon); background: #fff; color: var(--maroon); border-radius: 4px; cursor: pointer; }
.acct-tabs button[aria-selected="true"] { background: var(--maroon); color: var(--gold); }
.acct-form { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.acct-form label { font-weight: 600; font-size: 14px; margin-top: 8px; }
.acct-form input[type="email"], .acct-form input[type="password"], .acct-form input:not([type]) { font: inherit; padding: 10px 12px; border: 1px solid #cdbfae; border-radius: 4px; background: #fff; width: 100%; box-sizing: border-box; }
.acct-form input:focus-visible { outline: 2px solid var(--maroon); outline-offset: 1px; }
.acct-form .btn { align-self: flex-start; margin-top: 14px; border: 0; cursor: pointer; }
.acct-form .btn[disabled] { opacity: .6; cursor: wait; }
.acct-hint { font-weight: 400; color: var(--muted); font-size: 13px; }
.acct-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 400 !important; }
.acct-check input { margin-top: 4px; }
.acct-links { margin: 10px 0 0; font-size: 14px; }
.acct-links a, .acct-check a { color: var(--maroon); }
.acct-msg { margin: 10px 0 0; font-weight: 600; }
.acct-msg:empty { display: none; }
.acct-msg.ok { color: #1d6b3a; background: #e1f3e8; border: 1px solid #1d6b3a; padding: 10px 12px; border-radius: 4px; }
.acct-msg.bad { color: #7a1c1f; background: #f9e1e1; border: 1px solid #a3262a; padding: 10px 12px; border-radius: 4px; }
.acct-card { background: #fff; border: 1px solid #e8ddc9; border-radius: 6px; padding: 16px; margin-top: 16px; }
.acct-danger h2 { color: #a3262a; }
.acct-card .btn.secondary { background: transparent; color: var(--maroon); border: 2px solid var(--maroon); }

.acct-lead { margin: 6px 0 4px; font-size: 16px; }
.acct-tabs button { font-size: 16px; padding: 12px 20px; }
.acct-linkbtn { all: unset; cursor: pointer; color: var(--maroon); text-decoration: underline; font-weight: 600; }
.acct-bad { outline: 3px solid #a3262a; outline-offset: 2px; border-radius: 4px; }
.acct-check.acct-bad { padding: 6px; }
.acct-done { border-color: #1d6b3a; background: #f1faf4; }
.acct-done h2 { color: #1d6b3a; }

/* [hidden] must always win over display rules such as .acct-form { display: flex } */
.acct [hidden], .acct-form[hidden], .acct-card[hidden] { display: none !important; }

/* tabs look like tabs, not like buttons: the action buttons live inside the forms */
.acct-tabs { display: flex; gap: 4px; margin: 14px 0 6px; border-bottom: 2px solid #e1d3bb; }
.acct-tabs button { background: none; border: 0; border-bottom: 4px solid transparent; margin-bottom: -2px; border-radius: 0; color: #8a5a6d; font: 600 17px 'Oswald', sans-serif; letter-spacing: 0.02em; padding: 10px 16px; cursor: pointer; }
.acct-tabs button:hover { color: var(--maroon); }
.acct-tabs button[aria-selected="true"] { background: none; color: var(--maroon); border-bottom-color: var(--maroon); }

/* waitlist box */
.waitlist-form { max-width: 520px; margin: 22px auto 0; display: flex; flex-direction: column; gap: 6px; text-align: left; }
.waitlist-form label { font-weight: 600; }
.waitlist-row { display: flex; gap: 8px; flex-wrap: wrap; }
.waitlist-row input[type="email"] { flex: 1 1 220px; font: inherit; padding: 10px 12px; border: 1px solid #cdbfae; border-radius: 4px; background: #fff; }
.waitlist-row .btn { border: 0; cursor: pointer; }
.waitlist-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.waitlist-msg { margin: 4px 0 0; min-height: 1.2em; font-weight: 600; }
.waitlist-msg.ok { color: #1d6b3a; } .waitlist-msg.bad { color: #a3262a; }
.waitlist-note { margin: 0; font-size: 13px; opacity: .8; }
