/* Bailador public pages: the same palette as the admin, from the studio logo.
   Orange carries black text everywhere; white on orange reaches only 3.3:1. */
:root {
  --brand: #fd4f00;
  --brand-ink: #000;
  --brand-strong: #e04600;
  --ink: #1b1b1b;
  --muted: #5f5a54;
  --line: #d5d0c9;
  --danger: #a31515;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); background: #f7f5f2; }
.site-header { background: #000; color: #fff; padding: .75rem 1rem; }
.site-header .brand { display: flex; align-items: center; gap: .625rem; max-width: 40rem; margin: 0 auto; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; }
.site-header img { display: block; border-radius: 6px; }
.page { max-width: 40rem; margin: 0 auto; padding: 1rem; }
h1 { font-size: 1.5rem; margin: 0 0 .5rem; }
fieldset { border: 1px solid var(--line); border-radius: .5rem; margin: 0 0 1rem; padding: .75rem; min-width: 0; background: #fff; }
legend { font-weight: 600; padding: 0 .25rem; }
label { display: block; font-weight: 500; }
input[type="text"], input[type="email"] { width: 100%; padding: .6rem; font-size: 1rem; border: 1px solid #8a8a8a; border-radius: .375rem; background: #fff; color: var(--ink); }
input:focus, button:focus, a:focus { outline: 3px solid var(--brand); outline-offset: 2px; }
button { width: 100%; padding: .8rem; font-size: 1rem; font-weight: 600; border: 0; border-radius: .375rem; background: var(--brand); color: var(--brand-ink); cursor: pointer; }
button:hover { background: var(--brand-strong); }
a { color: #c43d00; }
.error-summary { border: 2px solid var(--danger); border-radius: .5rem; padding: .75rem; margin-bottom: 1rem; background: #fdecea; }
.errorlist { color: var(--danger); margin: .25rem 0; padding-left: 1rem; }
.notice, .meta { color: var(--muted); }
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
