.registration-layout{gap:2rem;display:grid}[hidden]{display:none!important}.registration-form{margin-inline:auto}.registration-summary{align-self:start}@media (width>=1024px){.registration-summary{z-index:40;width:20rem;position:fixed;top:6.5rem;right:max(1rem,50vw - 40rem);box-shadow:0 1rem 2.5rem #2537521f}}.form-section{border:0;border-bottom:1px solid var(--border);margin:0 0 3rem;padding:0 0 3rem}.form-section>legend{width:100%;color:var(--brand-ink);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:flex}.form-section>legend span{background:var(--brand-primary-strong);color:#fff;border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:.875rem;display:grid}.form-help{color:var(--brand-ink-muted);margin-bottom:1.25rem;line-height:1.7}.form-error{color:var(--brand-danger-strong);margin-top:1rem;font-weight:700}.form-notice{color:#9a3412;background:#fff7ed;border-radius:.5rem;margin-top:1.25rem;padding:1rem}.session-block{border:1px solid var(--brand-primary-200);border-radius:.75rem;overflow:hidden}.session-card{border:0!important;border-radius:0!important}.meal-picker{border:0;border-top:1px solid var(--brand-primary-200);background:var(--brand-primary-50);margin:0;padding:1.25rem}.meal-picker legend{color:var(--brand-ink);padding-top:1.25rem;font-weight:700}.choice-card{border:1px solid var(--brand-primary-200);cursor:pointer;background:#fff;border-radius:.65rem;align-items:flex-start;gap:.85rem;padding:1.1rem;display:flex}.choice-card:has(input:checked){border-color:var(--brand-primary-strong);box-shadow:0 0 0 2px #647af11f}.choice-card input{accent-color:var(--brand-primary-strong);margin-top:.25rem}.choice-card span{gap:.25rem;display:grid}.choice-card small{color:var(--brand-primary-strong);font-weight:700}.choice-card strong{color:var(--brand-ink)}.choice-card em{color:var(--brand-ink-muted);font-size:.9rem;font-style:normal;line-height:1.5}.form-grid{grid-template-columns:1fr;gap:1rem;display:grid}.registration-form label:not(.choice-card,.consent-row){color:var(--brand-ink);gap:.45rem;font-weight:700;display:grid}.registration-form label>span[aria-hidden=true]{color:var(--brand-danger-strong);margin-left:.2rem;display:inline}.registration-form input:not([type=checkbox],[type=radio]),.registration-form textarea{border:1px solid var(--border);width:100%;color:var(--brand-ink);font:inherit;background:#fff;border-radius:.5rem;padding:.75rem .85rem}.consent-row{align-items:flex-start;gap:.75rem;line-height:1.6;display:flex}.consent-row input{accent-color:var(--brand-primary-strong);margin-top:.3rem}@media (width>=768px){.registration-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}#registration-form button:disabled{opacity:.55;cursor:not-allowed}.meal-picker legend{float:left;width:100%;margin:0 0 1rem;padding:0}.meal-picker>div{clear:both}.session-block,.choice-card{transition:border-color .2s,box-shadow .2s,transform .2s,background-color .2s}.session-block:has(.session-toggle:checked){border-color:var(--brand-primary-strong);box-shadow:0 6px 22px #455bd014}.choice-card:has(input:checked){background:#f8faff}.meal-picker:not([hidden]){animation:.24s ease-out both meal-reveal}@keyframes meal-reveal{0%{opacity:.4;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.choice-card:hover{border-color:var(--brand-primary-strong);transform:translateY(-2px);box-shadow:0 5px 18px #455bd019}}.registration-form :is(input,select,textarea):focus-visible{outline:2px solid var(--brand-primary-strong);outline-offset:2px}.registration-form select{border:1px solid var(--border);width:100%;color:var(--brand-ink);font:inherit;background:#fff;border-radius:.5rem;padding:.75rem .85rem}.registration-form label:not(.choice-card,.consent-row){display:block}.registration-form label:not(.choice-card,.consent-row)>:is(input,select,textarea){margin-top:.45rem;display:block}.meal-card{padding:.75rem}.meal-card span{flex:1;min-width:0}.meal-card img{aspect-ratio:16/9;object-fit:cover;border-radius:.4rem;width:100%;margin-bottom:.55rem;display:block}@media (prefers-reduced-motion:reduce){.session-block,.choice-card{transition:none}.meal-picker:not([hidden]){animation:none}}
