/*
 * Sign-in and sign-up pages (client login, register, forgot/reset password, confirm email, admin login).
 * Lora headings and Inter interface text, solid buttons and notifications, matching the admin and client workspaces.
 * Scoped to body.rsvp-auth-body, which only these pages set. Loaded after rsvp.css; fonts come from workspace-fonts.css.
 */

body.rsvp-auth-body {
  --font-heading: "Lora", Georgia, "Times New Roman", serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* The shared muted tokens are about 2.7-3.2:1 on these surfaces; one step lighter clears 4.5:1. */
  --text-2: #af9d8d;
  --text-3: #8f8072;
  --au-red: #d4a09a;
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(60rem 28rem at 50% -8rem, color-mix(in srgb, var(--gold) 9%, transparent), transparent 70%),
    var(--bg-0);
}
:root[data-theme="light"] body.rsvp-auth-body { --text-2: #6e5d4c; --text-3: #796959; --au-red: #82463a; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) body.rsvp-auth-body { --text-2: #6e5d4c; --text-3: #796959; --au-red: #82463a; }
}

body.rsvp-auth-body .rsvp-auth-wrap { max-width: 460px; }
body.rsvp-auth-body .rsvp-auth-card {
  background: var(--bg-1); border: 1px solid var(--border); border-radius: 16px; padding: 40px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
:root[data-theme="light"] body.rsvp-auth-body .rsvp-auth-card { box-shadow: 0 18px 44px rgba(58, 46, 36, 0.12); }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) body.rsvp-auth-body .rsvp-auth-card { box-shadow: 0 18px 44px rgba(58, 46, 36, 0.12); }
}
body.rsvp-auth-body .rsvp-auth-logo { margin-bottom: 18px; }
body.rsvp-auth-body .rsvp-auth-logo img { max-width: 92px; max-height: 108px; }
body.rsvp-auth-body .rsvp-auth-eyebrow { margin-bottom: 8px; color: var(--text-2); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; }
body.rsvp-auth-body .rsvp-auth-title { margin-bottom: 26px; font-size: 1.95rem; line-height: 1.15; letter-spacing: -0.02em; }
body.rsvp-auth-body .rsvp-auth-sub { color: var(--text-2); line-height: 1.6; }

body.rsvp-auth-body .rsvp-form-label { color: var(--text-1); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.01em; text-transform: none; }
body.rsvp-auth-body .rsvp-form-input,
body.rsvp-auth-body select { min-height: 46px; border-radius: 9px; font-family: var(--font-body); }
body.rsvp-auth-body .rsvp-form-hint { color: var(--text-2); }
body.rsvp-auth-body .rsvp-btn { min-height: 46px; border-radius: 9px; font-family: var(--font-body); font-weight: 600; }
body.rsvp-auth-body :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

body.rsvp-auth-body .rsvp-auth-footer { color: var(--text-2); font-size: 0.88rem; }
body.rsvp-auth-body .rsvp-auth-footer p { line-height: 1.6; }
body.rsvp-auth-body .rsvp-auth-legal { color: var(--text-2); font-size: 0.82rem; }
body.rsvp-auth-body .rsvp-auth-legal a { color: var(--text-2); }

/* Notifications: solid fills (the icon still says which kind it is) */
body.rsvp-auth-body :is(.rsvp-flash, .rsvp-alert) { background: var(--bg-3); border: 1px solid var(--border); border-radius: 10px; color: var(--text-0); }
body.rsvp-auth-body :is(.rsvp-flash, .rsvp-alert)::before { background-color: var(--gold); }
body.rsvp-auth-body :is(.rsvp-flash--error, .rsvp-flash--warning, .rsvp-alert--warning, .rsvp-alert--error) { background: var(--gold); border-color: var(--gold); color: var(--bg-0); }
body.rsvp-auth-body :is(.rsvp-flash--error, .rsvp-flash--warning, .rsvp-alert--warning, .rsvp-alert--error)::before { background-color: var(--bg-0); }
body.rsvp-auth-body :is(.rsvp-flash--error, .rsvp-flash--warning, .rsvp-alert--warning, .rsvp-alert--error) :is(a, code, strong) { color: inherit; }
body.rsvp-auth-body .rsvp-btn--danger { background: transparent; border: 1px solid color-mix(in srgb, var(--au-red) 55%, transparent); color: var(--au-red) !important; }

@media (max-width: 520px) {
  body.rsvp-auth-body { padding: 24px 14px; }
  body.rsvp-auth-body .rsvp-auth-card { padding: 30px 20px; border-radius: 14px; }
  body.rsvp-auth-body .rsvp-auth-title { font-size: 1.65rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.rsvp-auth-body *, body.rsvp-auth-body *::before, body.rsvp-auth-body *::after { transition: none !important; }
}
