.spa-booking-wc { margin: 20px 0; font-family: 'Inter', -apple-system, sans-serif; }
.spa-booking-layout { display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: start; }
@media (max-width: 768px) { .spa-booking-layout { grid-template-columns: 1fr; } }

.spa-booking-step { margin-bottom: 28px; }
.spa-booking-step h4 { font-size: 15px; font-weight: 600; margin-bottom: 12px; color: #fff; letter-spacing: -0.01em; }

.spa-operator-list { display: flex; flex-direction: column; gap: 6px; }
.spa-operator-option { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid #e2e8f0; border-radius: 10px; cursor: pointer; transition: all 0.2s; background: #fff; }
.spa-operator-option:hover { border-color: #94a3b8; background: #f8fafc; }
.spa-operator-option input[type="radio"] { accent-color: #d7b8a3; margin: 0; flex-shrink: 0; }
.spa-operator-photo { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.spa-operator-name { font-size: 14px; font-weight: 500; color: #334155; }

#spa-datepicker { max-width: 350px; }
.flatpickr-calendar { box-shadow: none !important; border: 1px solid #e2e8f0 !important; border-radius: 12px !important; }
.flatpickr-day.selected { background: #d7b8a3 !important; border-color: #d7b8a3 !important; color: #21211f !important; }

.spa-time-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; }
.spa-time-btn { padding: 10px 8px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 500; color: #334155; transition: all 0.2s; text-align: center; }
.spa-time-btn:hover { border-color: #d7b8a3; color: #d7b8a3; background: #f8f4f0; }
.spa-time-btn.selected { background: #d7b8a3; color: #21211f; border-color: #d7b8a3; }
.spa-time-placeholder, .spa-no-slots, .spa-loading, .spa-error { font-size: 14px; color: #94a3b8; padding: 10px 0; }
.spa-loading { color: #64748b; }

.spa-booking-summary-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 24px; position: sticky; top: 40px; }
@media (max-width: 768px) { .spa-booking-summary-card { position: static; } }
.spa-booking-summary-card h4 { font-size: 15px; font-weight: 700; margin-bottom: 16px; color: #0f172a; letter-spacing: -0.02em; }
.spa-summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
.spa-summary-list li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #e2e8f0; font-size: 14px; }
.spa-summary-list li:last-child { border-bottom: none; }
.spa-summary-label { color: #64748b; font-weight: 500; }
.spa-summary-value { color: #0f172a; font-weight: 600; text-align: right; }
.spa-summary-total { border-top: 2px solid #cbd5e1 !important; margin-top: 4px; padding-top: 14px !important; }
.spa-summary-total .spa-summary-label { font-size: 15px; }
.spa-summary-total .spa-summary-value { font-size: 18px; color: #d7b8a3; }

#spa-add-to-cart-booking { width: 100%; padding: 14px; font-size: 15px; font-weight: 600; border-radius: 10px; transition: all 0.2s; background: #d7b8a3; color: #21211f; border: none; }
#spa-add-to-cart-booking:disabled { opacity: 0.5; cursor: not-allowed; background: #94a3b8; }
#spa-add-to-cart-booking:not(:disabled):hover { background: #c5a18c; }

.spa-feedback { margin-top: 12px; font-size: 14px; }
.spa-error-msg { color: #dc2626; background: #fef2f2; padding: 10px 14px; border-radius: 8px; }
.spa-success-msg { color: #16a34a; background: #f0fdf4; padding: 10px 14px; border-radius: 8px; }
