/* RSVP page layout glue · VERBATIM from the approved mock ticket-build/stills/22-t2-applied/rsvp/index.html <style> (Oct 24 2026). Do not edit by hand. */
/* rsvp · LAYOUT GLUE ONLY. Components: ../../ophsides.css + ../../../shared/unified-neon-liquid.css (last). No new colours, glows, borders, fonts, buttons or focus styles. */
/* ── from ticket-build/index.html (verbatim): sheet stacking + quiet-link row ── */
/* ticket sheets reuse the waitlist .sheet; only stacking order above the ticket sheet */
.dim.over { z-index: 25; display: none; }
.sheet.small { z-index: 30; max-height: 70dvh; display: none; }
body.sheet-on .dim.over, .sheet.small.on { display: flex; }
.sheet.small .name { margin: 0 0 4px; }
.sheet.small .scan-state { margin: 0 0 12px; }
.sheet.small .field { margin: 0 0 4px; }
.sheet.small .btn-row { margin-top: 16px; }
.links { margin: 4px 0 0; }
/* ── from waitlist-build/ophsides.css (theme, unscoped, verbatim): SMS consent (20: opt-in row removed). Its red :focus-visible rule is NOT copied (no colour). ── */
#consent { text-align: left; color: rgba(255,255,255,.74); font-size: 12px; line-height: 18px; margin: 16px 0 0; max-width: none; }
#consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
#consent { margin: 12px 0 0; }
/* ── placement only ── */
#rsvp-sheet .name { margin: 0 0 16px; }
.names { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }   /* theme .names gap 12px */
#rsvp-form .field { margin: 0 0 16px; }                                                    /* theme #rsvp-form .field 16px */
#rsvp-form .line, .sheet.small .line { display: flex; }
#rsvp-form .line input, .sheet.small .line input { flex: 1; min-width: 0; width: 100%; outline: none; }   /* the approved focus cue is the white underline (.line:focus-within); the browser's own blue ring is removed, nothing added */
#rsvp-sheet .links .scan-next { min-height: 44px; display: flex !important; align-items: center; justify-content: center; }   /* hit area only; text box and type unchanged */
#rsvp-form .btn.pri { margin-top: 4px; }
/* ── 18 · flyer = the stacked RSVP flyer image (placement only; no CSS colour, filter or type on the art) ── */
html, body { background: var(--bg); }   /* #050506 = the pass backgroundColor rgb(5,5,6), which the art fades into */
.pass-art { position: fixed; top: 0; left: 0; right: 0; z-index: 0; max-width: 390px; margin: 0 auto; pointer-events: none; user-select: none; }
.pass-art img { display: block; width: 100%; height: auto; }
/* ── 19 · M/F question = admin-build STAGES chip row (#view-list .list-sort, Isaiah lock "chip setup without circle, selection is neon"), verbatim
      except: weight 500 -> 450 (Lausanne 250/450), no sideways scroll/mask (2-3 short options), 44px hit area. --fg-4 = admin :root token. ── */
#rsvp-form { --fg-4: rgba(255,255,255,.36); }
.mf { border: 0; margin: 0 0 16px; padding: 0; min-width: 0; }
.mf legend { padding: 0; margin: 0 0 2px; }
.mf .list-sort { display: flex; justify-content: flex-start; align-items: baseline; gap: 22px; margin: 0; }
.mf .list-sort button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; margin: 0 -11px; min-height: 44px;   /* 11px hit-area padding each side, cancelled by margin: text stays put, the 22px gap is shared */
  box-sizing: border-box;
  font: 450 10px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; color: var(--fg-4); -webkit-tap-highlight-color: transparent; }
.mf .list-sort button[aria-checked="true"] { color: #fff; text-shadow: 0 0 6px rgba(255,255,255,.55), 0 0 14px rgba(255,255,255,.35); }
.mf .list-sort button:focus-visible { outline: 1px solid rgba(255,255,255,.6); outline-offset: 3px; }   /* admin .list-sort focus, white */
/* ── 19 · lighter IG spacing (layout glue; footer markup + text verbatim). before -> after:
      .links .scan-next margin-top 14 -> 8 · .ig margin-top 28 -> 12 · .ig padding-top 18 -> 12 · .ig-head margin-bottom 12 kept (FOLLOW's Bright 2 glow already sits 12px from the grid) ── */
#rsvp-sheet .links .scan-next { margin-top: 8px !important; }
#rsvp-sheet .ig { margin-top: 12px; padding-top: 12px; }
