.booking-form-container { background: white; border-radius: 8px; padding: 2rem; max-width: 500px; margin: 2rem auto; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .booking-form-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; } .booking-form-header h2 { font-size: 1.75rem; color: #1a202c; margin: 0; } .close-btn { background: none; border: none; font-size: 2rem; color: #718096; cursor: pointer; padding: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 4px; transition: background 0.2s; } .close-btn:hover { background: #edf2f7; } .service-summary { background: #f7fafc; padding: 1rem; border-radius: 6px; margin-bottom: 1.5rem; } .service-summary p { margin: 0.5rem 0; color: #4a5568; } .booking-form { display: flex; flex-direction: column; gap: 1.25rem; } .form-group { display: flex; flex-direction: column; } .form-group label { font-weight: 600; margin-bottom: 0.5rem; color: #2d3748; } .form-group input, .form-group select { padding: 0.75rem; border: 1px solid #cbd5e0; border-radius: 6px; font-size: 1rem; transition: border-color 0.2s; } .form-group input:focus, .form-group select:focus { outline: none; border-color: #3182ce; } .form-group input.error, .form-group select.error { border-color: #e53e3e; } .error-message { color: #e53e3e; font-size: 0.875rem; margin-top: 0.25rem; } .form-actions { display: flex; gap: 1rem; margin-top: 1rem; } .btn-cancel, .btn-submit { flex: 1; padding: 0.75rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background 0.2s; } .btn-cancel { background: #edf2f7; color: #4a5568; } .btn-cancel:hover { background: #e2e8f0; } .btn-submit { background: #3182ce; color: white; } .btn-submit:hover:not(:disabled) { background: #2c5282; } .btn-submit:disabled { background: #a0aec0; cursor: not-allowed; }