.reservation-form-container{max-width:600px;margin:0 auto;padding:2rem 1rem}.reservation-form-header{text-align:center;margin-bottom:2rem}.reservation-form-header h2{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.75rem}.reservation-selected-info{background-color:var(--color-background-alt,#f5f5f5);border-radius:6px;margin-top:1rem;padding:1rem}.reservation-selected-info p{color:var(--color-text-secondary);margin:.5rem 0}.reservation-selected-info strong{color:var(--color-text-primary);font-weight:600}.reservation-form{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.reservation-form-error{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.reservation-form-fields{flex-direction:column;gap:1.5rem;display:flex}.reservation-form-field{flex-direction:column;display:flex}.reservation-form-field label{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:500}.reservation-form-field .required{color:#c33}.reservation-form-field .optional{color:var(--color-text-secondary);font-size:.9rem;font-weight:400}.reservation-form-field input{border:1px solid var(--color-border);border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}.reservation-form-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #2e4d3d1a}.reservation-form-field input[aria-invalid=true]{border-color:#c33}.reservation-form-field input[aria-invalid=true]:focus{border-color:#c33;box-shadow:0 0 0 2px #cc33331a}.field-error{color:#c33;margin-top:.25rem;font-size:.875rem}.reservation-form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.reservation-form-cancel,.reservation-form-submit{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.reservation-form-cancel{color:var(--color-text-secondary);border:1px solid var(--color-border);background-color:#0000}.reservation-form-cancel:hover,.reservation-form-cancel:focus{background-color:var(--color-background-alt);outline:none}.reservation-form-submit{background-color:var(--color-primary);color:var(--color-background)}.reservation-form-submit--green{background-color:var(--color-forest-green,#2e4d3d);color:var(--color-off-white,#faf7f4)}.reservation-form-submit:hover,.reservation-form-submit:focus{background-color:var(--color-primary-dark);outline:2px solid var(--color-primary);outline-offset:2px}.reservation-form-submit--green:hover,.reservation-form-submit--green:focus{background-color:var(--color-bg-cta-hover,#1e3d2d);color:var(--color-off-white,#faf7f4);outline:2px solid var(--color-forest-green,#2e4d3d);outline-offset:2px}.reservation-form-submit:disabled{opacity:.6;cursor:not-allowed}.reservation-form-submit[aria-busy=true]{color:#0000;position:relative}.reservation-form-submit[aria-busy=true]:after{content:"";border:2px solid var(--color-background);border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@media (max-width:768px){.reservation-form-container{padding:1rem}.reservation-form{padding:1.5rem}.reservation-form-header h2{font-size:1.5rem}.reservation-form-actions{flex-direction:column}.reservation-form-cancel,.reservation-form-submit{width:100%}}
.reservation-confirm-page{min-height:60vh;padding:2rem 1rem}.reservation-confirm-container{max-width:800px;margin:0 auto}.reservation-confirm-back{color:var(--color-primary);margin-bottom:2rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block}.reservation-confirm-back:hover,.reservation-confirm-back:focus{color:var(--color-primary-dark);outline:none;text-decoration:underline}@media (max-width:768px){.reservation-confirm-page{padding:1.5rem 1rem}}
