/* The public forms' page frame (submit a show, add or claim a venue, add a band, tell us). forms.css first. */
.top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.brand { color: var(--pink); font-weight: 700; text-decoration: none; font-size: 18px; }
nav { display: flex; flex-wrap: wrap; gap: 8px; }
nav a { color: var(--text); text-decoration: none; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); min-block-size: 40px; display: inline-flex; align-items: center; }
nav a[aria-current="page"] { background: var(--pink); color: var(--bg); border-color: var(--pink); font-weight: 700; }
main { max-width: 40rem; margin: 0 auto; padding: 20px 16px 120px; }
label small { display: block; color: var(--muted); font-weight: 300; font-size: 14px; }
.stack, .show-form { max-width: none; }
.done { margin-top: 20px; padding: 16px; border: 1px solid var(--yellow); border-radius: 10px; }
.done h2 { color: var(--yellow); }
.fine { color: var(--muted); font-size: 14px; margin-top: 28px; max-width: 60ch; }
fieldset.ways { display: flex; flex-direction: column; gap: 8px; }
fieldset.ways label { align-items: flex-start; min-block-size: 0; }
fieldset.ways input[type="radio"] { margin-top: 5px; }
table.current { border-collapse: collapse; width: 100%; margin: 8px 0 16px; }
table.current th, table.current td { text-align: left; padding: 6px 10px 6px 0; vertical-align: top; border-bottom: 1px solid var(--line); }
table.current th { color: var(--muted); font-weight: 600; white-space: nowrap; }
table.current input, table.current select { width: 100%; min-width: 8rem; }
@media (pointer: coarse) { button, nav a { min-block-size: 44px; } }
