/* Setmore Booking — Public Booking Form */
.smb-booking-wrap { font-family: system-ui, -apple-system, sans-serif; max-width: 680px; margin: 0 auto; }
.smb-booking-wrap * { box-sizing: border-box; }
.smb-step { margin-bottom: 28px; }
.smb-step-title { font-size: 15px; font-weight: 700; margin-bottom: 12px; }
.smb-pick-card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1.5px solid #e2e8f0; border-radius: 8px; cursor: pointer; margin-bottom: 8px; transition: border-color .15s; }
.smb-pick-card:hover, .smb-pick-card.selected { border-color: #4353ff; background: #eef2ff; }
.smb-slots-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.smb-slot { padding: 10px; text-align: center; border: 1.5px solid #e2e8f0; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600; transition: all .15s; }
.smb-slot:hover { border-color: #4353ff; color: #4353ff; }
.smb-slot.selected { background: #4353ff; color: #fff; border-color: #4353ff; }
.smb-slot.busy { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.smb-form-group { margin-bottom: 14px; }
.smb-form-group label { display: block; font-size: 12px; font-weight: 600; color: #64748b; margin-bottom: 4px; }
.smb-form-group input, .smb-form-group select, .smb-form-group textarea { width: 100%; padding: 9px 12px; border: 1.5px solid #e2e8f0; border-radius: 6px; font-family: inherit; font-size: 13px; outline: none; transition: border-color .15s; }
.smb-form-group input:focus, .smb-form-group select:focus { border-color: #4353ff; box-shadow: 0 0 0 3px rgba(67,83,255,.1); }
.smb-btn-primary { background: #4353ff; color: #fff; border: none; border-radius: 7px; padding: 11px 24px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: inherit; width: 100%; transition: background .15s; }
.smb-btn-primary:hover { background: #2f3fd4; }
.smb-success { background: #dcfce7; border: 1.5px solid #86efac; border-radius: 10px; padding: 20px; text-align: center; color: #15803d; font-weight: 600; }
