.tair-booking{box-sizing:border-box;width:100%;max-width:420px;background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.06);color:#222}
.tair-booking *{box-sizing:border-box}

.tair-booking-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.tair-booking-head h3{margin:0;font-size:16px;font-weight:700}

.tair-step-indicator{display:flex;align-items:center;gap:4px;flex-shrink:0}
.tair-step-dot{width:20px;height:20px;border-radius:50%;background:#eee;color:#999;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.tair-step-dot-active{background:#222;color:#fff}
.tair-step-line{width:14px;height:1px;background:#ddd}

.tair-step{width:100%}

/* Calendar */
.tair-calendar{border:1px solid #e4e4e4;border-radius:11px;padding:10px;margin-bottom:10px}
.tair-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:700;font-size:13px}
.tair-cal-head button{border:1px solid #e0e0e0;background:#fff;border-radius:7px;width:26px;height:26px;line-height:1;cursor:pointer;font-size:15px}
.tair-cal-head button:disabled{opacity:.3;cursor:not-allowed}
.tair-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:#999;margin-bottom:4px}
.tair-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.tair-cal-cell{border:0;background:#f3f3f3;border-radius:7px;height:30px;font-size:12px;cursor:default;color:#bbb;width:100%}
.tair-cal-cell.tair-cal-empty{background:transparent}
.tair-cal-cell.tair-cal-has-slots{background:#eef2ff;color:#222;cursor:pointer;font-weight:600}
.tair-cal-cell.tair-cal-has-slots:hover{background:#e2e8ff}
.tair-cal-cell.tair-cal-selected{background:#222;color:#fff}
.tair-cal-cell.tair-cal-disabled{cursor:not-allowed}

/* Slot picker */
.tair-slots{margin-bottom:10px}
.tair-slots label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.tair-slot-list{display:flex;flex-wrap:wrap;gap:6px}
.tair-slot-chip{border:1px solid #dcdcdc;background:#fff;border-radius:20px;padding:6px 12px;font-size:12px;cursor:pointer}
.tair-slot-chip:hover:not(:disabled){border-color:#222}
.tair-slot-chip:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.tair-slot-chip.tair-slot-selected{background:#222;color:#fff;border-color:#222}

/* Shared fields */
.tair-field{margin:0 0 10px}
.tair-field label{display:block;margin-bottom:4px;font-size:12px;font-weight:700}
.tair-field label span{font-weight:400;color:#888}
.tair-field input,.tair-field select,.tair-field textarea{width:100%;border:1px solid #dcdcdc;border-radius:8px;background:#fff;padding:8px 10px;font-size:13px;min-height:36px}
.tair-field textarea{resize:vertical;min-height:auto}
.tair-persons-field{margin-bottom:12px}

.tair-quantity{display:grid;grid-template-columns:36px 1fr 36px;border:1px solid #dcdcdc;border-radius:8px;overflow:hidden;max-width:160px}
.tair-quantity button{border:0;background:#f7f7f7;font-size:16px;cursor:pointer;min-height:32px}
.tair-quantity input{border:0;border-left:1px solid #eee;border-right:1px solid #eee;border-radius:0;text-align:center;min-width:0;min-height:32px}
.tair-availability-hint{display:block;margin-top:5px;color:#777;font-size:11px}

.tair-phone-group{display:grid;grid-template-columns:88px 1fr;gap:6px}
.tair-phone-group select{padding:8px 4px;font-size:12px}

.tair-total{display:flex;align-items:center;justify-content:space-between;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid #e4e4e4}
.tair-total strong{font-size:19px}

.tair-step-actions{display:flex;align-items:center;gap:8px;margin-top:6px}
.tair-step-actions>*:only-child,.tair-step-actions .tair-next,.tair-step-actions .tair-submit{margin-left:auto}
.tair-step-actions .tair-back{margin-right:auto}

.tair-next,.tair-submit{min-height:40px;border:0;border-radius:8px;background:#222;color:#fff;font-weight:700;cursor:pointer;font-size:13px;padding:0 20px}
.tair-next:disabled,.tair-submit:disabled{background:#c9c9c9;cursor:not-allowed}
.tair-back{min-height:40px;border:1px solid #dcdcdc;border-radius:8px;background:#fff;color:#222;font-weight:700;cursor:pointer;font-size:13px;padding:0 16px}

.tair-form-msg{min-height:0;margin-top:8px;font-size:12px}
.tair-form-msg.tair-msg-error{color:#c0392b}

.tair-booking-notice,.tair-booking-error{border-radius:9px;padding:12px;background:#f7f7f7;color:#555;font-size:14px}
.tair-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Success recap */
.tair-success{text-align:center}
.tair-success-icon{width:38px;height:38px;line-height:38px;border-radius:50%;background:#e7f7ec;color:#1e8e3e;font-weight:700;margin:0 auto 8px}
.tair-success-title{margin:0 0 4px;font-size:15px}
.tair-success-text{margin:0 0 12px;font-size:12px;color:#666}
.tair-recap{list-style:none;margin:0 0 14px;padding:0;text-align:left;border-top:1px solid #e4e4e4}
.tair-recap li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #e4e4e4;font-size:12px}
.tair-recap li span{color:#777}
.tair-recap li strong{text-align:right}
.tair-booking-again{width:100%;min-height:38px;border:1px solid #222;border-radius:8px;background:#fff;color:#222;font-weight:700;cursor:pointer;font-size:13px}

/* Narrow sidebar / mobile: tighten spacing further */
@media (max-width:360px){
	.tair-booking{padding:12px}
	.tair-cal-cell{height:26px;font-size:11px}
	.tair-quantity{max-width:140px}
}
