body:has(.rsv-form) .sp-cta{display:none}.rsv-container{max-width:720px}.rsv-loading{color:var(--color-text-muted)}.rsv-form{gap:20px;display:grid}.rsv-step{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);min-width:0;margin:0;padding:16px}@media (min-width:768px){.rsv-step{padding:20px 24px}}.rsv-step legend{float:left;width:100%;font-family:var(--font-round);font-weight:700;font-size:var(--fs-h3);margin-bottom:12px;padding:0}.rsv-step legend+*{clear:both}.rsv-num{background:var(--color-primary);color:#fff;width:1.7em;height:1.7em;font-size:1rem;font-family:var(--font-base);border-radius:2px;place-items:center;margin-right:.5em;display:inline-grid}.rsv-size,.rsv-times{flex-wrap:wrap;gap:8px;display:flex}.rsv-times{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));display:grid}.rsv-chip{border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer;text-align:center;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-width:64px;min-height:48px;padding:6px 14px;font-weight:700;line-height:1.3;display:inline-flex;position:relative}.rsv-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.rsv-chip:hover{border-color:var(--color-primary)}.rsv-chip:has(input:focus-visible){outline:3px solid var(--color-pop-blue);outline-offset:2px}.rsv-chip.is-on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rsv-chip.is-full{color:var(--color-text-muted);background:var(--color-surface-alt);cursor:not-allowed;border-style:dashed}.rsv-chip.is-full input{cursor:not-allowed}.rsv-full{font-size:.8125rem;font-weight:500}.rsv-picked{margin-bottom:8px;font-weight:700}.rsv-error{color:var(--color-accent-dark);margin:8px 0 0;font-weight:700}.rsv-field{margin-bottom:18px}.rsv-field:last-of-type{margin-bottom:0}.rsv-field>label,.rsv-label{margin-bottom:6px;font-weight:700;display:block}.rsv-field input[type=text],.rsv-field input[type=email],.rsv-field input[type=tel],.rsv-field textarea,.adm input[type=text],.adm input[type=email],.adm input[type=tel],.adm input[type=date],.adm input[type=time],.adm input[type=number],.adm input[type=search],.adm input[type=url],.adm select,.adm textarea,.adm-login input[type=email],.adm-login input[type=text]{width:100%;min-height:48px;font:inherit;border:2px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:4px;padding:10px 12px;font-size:1rem}.rsv-field textarea,.adm textarea{resize:vertical;min-height:96px}.rsv-field input:focus,.rsv-field textarea:focus,.adm input:focus,.adm select:focus,.adm textarea:focus,.adm-login input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2c3e664d}.rsv-field [aria-invalid=true]{border-color:var(--color-accent)}.rsv-req,.rsv-opt{vertical-align:2px;border-radius:2px;margin-left:8px;padding:0 6px;font-size:.8125rem;display:inline-block}.rsv-req{background:var(--color-accent);color:#fff}.rsv-opt{background:var(--color-surface-alt);color:var(--color-text-muted)}.rsv-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.rsv-summary{border-top:4px solid var(--color-primary);background:var(--color-surface-alt);border-radius:var(--radius);padding:20px 16px}.rsv-summary h2{font-size:var(--fs-h3)}.rsv-summary dl,.rsv-done-list{grid-template-columns:5em 1fr;gap:6px 12px;margin:0 0 16px;display:grid}.rsv-summary dt,.rsv-done-list dt{color:var(--color-text-muted)}.rsv-summary dd,.rsv-done-list dd{margin:0;font-weight:700}.rsv-agree{cursor:pointer;align-items:center;gap:10px;min-height:48px;margin-bottom:8px;display:flex}.rsv-agree input{flex:none;width:24px;height:24px}.rsv-summary .btn{margin-top:12px}.rsv-summary .btn:disabled{opacity:.6;cursor:wait}.rsv-turnstile{margin:8px 0}.rsv-break{word-break:break-all}.rsv-pre{white-space:pre-wrap}.rsv-center{justify-content:center;margin-top:24px}.rsv-cal{max-width:420px}.rsv-cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rsv-cal-title{font-weight:700;font-size:var(--fs-lg)}.rsv-cal-nav{border:2px solid var(--color-border);background:var(--color-bg);width:48px;height:48px;color:var(--color-text);cursor:pointer;border-radius:4px;font-size:1.5rem}.rsv-cal-nav:disabled{opacity:.35;cursor:default}.rsv-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.rsv-cal-week{text-align:center;color:var(--color-text-muted);font-size:.875rem}.rsv-cal-day{aspect-ratio:1;min-height:44px;font:inherit;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:4px;font-weight:700}.rsv-cal-day:hover:not(:disabled){border-color:var(--color-primary)}.rsv-cal-day:disabled{color:#b3aa9a;cursor:default;background:0 0;border-color:#0000;font-weight:400}.rsv-cal .is-sun:not(:disabled){color:var(--color-accent-dark)}.rsv-cal .is-sat:not(:disabled){color:var(--color-indigo)}.rsv-cal-day.is-on,.rsv-cal-day.is-on.is-sun,.rsv-cal-day.is-on.is-sat{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rsv-events{gap:10px;display:grid}.rsv-event{border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:4px;gap:2px;padding:12px 14px;display:grid;position:relative}.rsv-event input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.rsv-event.is-on{border-color:var(--color-primary);box-shadow:inset 4px 0 0 var(--color-primary)}.rsv-event.is-full{opacity:.6;cursor:not-allowed}.rsv-event-title{font-weight:700;font-size:var(--fs-lg)}.rsv-event-rest{color:var(--color-primary);font-weight:700}.rsv-done{max-width:560px;margin:0 auto}.rsv-done h2{text-align:center}.rsv-done-mark{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 12px;font-size:2rem;font-weight:700;display:grid}.rsv-done-list{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.rsv-hint{color:var(--color-text-muted);margin:6px 0 0;font-size:1rem}.contact-form{margin-top:12px}.contact-kinds{grid-template-columns:repeat(auto-fill,minmax(min(100%,15em),1fr));gap:8px;display:grid}.contact-kinds .rsv-chip{text-align:left;align-items:flex-start}.contact-count{text-align:right}.contact-form .rsv-summary .btn{min-height:56px;margin-top:12px}.contact-done{border-top:4px solid var(--color-primary);background:var(--color-surface-alt);border-radius:var(--radius);padding:20px}.contact-done-title{font-family:var(--font-round);font-weight:700;font-size:var(--fs-h3);margin:0 0 8px}.contact-ref{letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:1.375rem}
