.booking-form-wrap { max-width: 640px; margin: 0 auto; }
.booking-field { margin-bottom: 20px; }
.booking-label { display: block; font-weight: 600; margin-bottom: 6px; }
.booking-label .required { color: #e53e3e; }
.booking-input, .booking-select, .booking-textarea { width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 16px; box-sizing: border-box; transition: border-color 0.2s; }
.booking-input:focus, .booking-select:focus, .booking-textarea:focus { outline: none; border-color: #1d4ed8; box-shadow: 0 0 0 3px rgba(29,78,216,.1); }
.booking-radio-group { display: flex; gap: 16px; }
.booking-radio-group label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.booking-submit-wrap { text-align: center; }
.booking-submit-btn { display: inline-block; padding: 14px 40px; background: #1d4ed8; color: #fff; border: none; border-radius: 8px; font-size: 18px; font-weight: 700; cursor: pointer; transition: background 0.2s; }
.booking-submit-btn:hover { background: #1e40af; }
.booking-submit-btn:disabled { background: #9ca3af; cursor: not-allowed; }
.booking-error { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; border-radius: 6px; padding: 12px 16px; margin-bottom: 16px; }
.booking-complete { text-align: center; padding: 40px 20px; }
.booking-complete-icon { font-size: 64px; color: #22c55e; margin-bottom: 16px; }
.booking-complete-title { font-size: 24px; margin-bottom: 12px; }
.booking-complete-code { font-size: 18px; margin-bottom: 16px; }
.booking-confirm-link { display: inline-block; padding: 12px 32px; background: #1d4ed8; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 700; transition: background 0.2s; }
.booking-confirm-link:hover { background: #1e40af; color: #fff; }
.booking-confirm-wrap { max-width: 640px; margin: 0 auto; }
.booking-confirm-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.booking-confirm-table th, .booking-confirm-table td { padding: 10px 14px; border-bottom: 1px solid #e5e7eb; text-align: left; vertical-align: top; }
.booking-confirm-table th { width: 140px; color: #6b7280; font-weight: 500; white-space: nowrap; }
.booking-status { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 600; }
.booking-status-confirmed { background: #dcfce7; color: #166534; }
.booking-status-cancelled { background: #fee2e2; color: #991b1b; }
.booking-status-completed { background: #dbeafe; color: #1e40af; }
.booking-benefit { padding: 8px 0; max-width: 300px; margin: 0 auto; border-bottom: 2px solid #6EC1E4; }
.booking-benefit__icon { display: none; }
.booking-confirm-note { color: #6b7280; font-size: 14px; margin-top: 16px; }
