.res-wrap { max-width: 760px; margin: 0 auto; padding: 18vh var(--pad-page) 14vh; }
.res-wrap h1 { font-size: var(--fs-display); margin: 0.3em 0 0; }
.res-intro { color: var(--ivory-dim); font-size: var(--fs-lead); margin-top: 1rem; }

.res-form { margin-top: 2.5rem; display: grid; gap: 1.25rem; }
.res-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
select.input { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ivory-dim) 50%), linear-gradient(135deg, var(--ivory-dim) 50%, transparent 50%); background-position: calc(100% - 20px) center, calc(100% - 15px) center; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }

.walkin-notice { border: 1px solid rgba(232, 154, 76, 0.5); background: rgba(232, 154, 76, 0.08); border-radius: 3px; padding: 1rem 1.25rem; color: var(--ember); font-size: 0.9rem; line-height: 1.6; }
.bday-note { color: var(--gold); font-size: 0.85rem; margin-top: -0.5rem; }

.res-policy { margin-top: 1rem; color: var(--ivory-dim); font-size: 0.78rem; font-family: var(--font-mono); letter-spacing: 0.03em; line-height: 1.8; }

.confirm { text-align: center; padding: 8vh 0; }
.confirm .eyebrow { justify-content: center; }
.confirm .big { font-family: var(--font-serif); font-size: var(--fs-display); margin: 0.5rem 0; }
.confirm .big .deg { color: var(--gold); }
.js .confirm:not([hidden]) { animation: confirmIn 0.7s var(--ease) both; }
@keyframes confirmIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) { .res-row { grid-template-columns: 1fr; } }
