/* Smart Lab Booking – Public Styles */
.slb-public-wrap { max-width: 860px; margin: 0 auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #1a1a2e; }
.slb-public-wrap h2 { font-size: 24px; font-weight: 700; margin-bottom: 8px; color: #1a1a2e; }
.slb-desc { color: #6b7280; margin-bottom: 20px; }

/* Steps */
.slb-steps { display: flex; align-items: center; margin-bottom: 32px; }
.slb-step { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.slb-step span { width: 36px; height: 36px; border-radius: 50%; background: #e5e7eb; color: #6b7280; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; transition: .3s; }
.slb-step em { font-style: normal; font-size: 11px; color: #9ca3af; white-space: nowrap; }
.slb-step.active span { background: #1d6ae5; color: #fff; box-shadow: 0 0 0 4px rgba(29,106,229,.2); }
.slb-step.done span   { background: #10b981; color: #fff; }
.slb-step.active em, .slb-step.done em { color: #1d6ae5; font-weight: 600; }
.slb-step-line { flex: 1; height: 2px; background: #e5e7eb; margin: 0 6px 18px; }

/* Step content */
.slb-step-content { display: none; }
.slb-step-content.active { display: block; }

/* Search */
.slb-search-box { margin-bottom: 16px; }
.slb-search-box input { width: 100%; padding: 10px 16px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; outline: none; }
.slb-search-box input:focus { border-color: #1d6ae5; box-shadow: 0 0 0 3px rgba(29,106,229,.15); }

/* Tests grid */
.slb-tests-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-bottom: 16px; }
.slb-test-item { border: 2px solid #e5e7eb; border-radius: 10px; padding: 14px 16px; cursor: pointer; transition: .2s; }
.slb-test-item:hover { border-color: #93c5fd; background: #eff6ff; }
.slb-test-item.selected { border-color: #1d6ae5; background: #eff6ff; }
.slb-test-item input[type=checkbox] { margin-right: 8px; accent-color: #1d6ae5; width: 16px; height: 16px; }
.slb-test-name { font-weight: 600; font-size: 14px; }
.slb-test-category { font-size: 12px; color: #6b7280; margin: 2px 0; }
.slb-test-price { font-size: 14px; font-weight: 700; color: #1d6ae5; }
.slb-test-price s { font-weight: 400; color: #9ca3af; font-size: 12px; margin-right: 4px; }
.slb-test-home { font-size: 11px; color: #10b981; margin-top: 4px; }
.slb-loading { text-align: center; padding: 30px; color: #9ca3af; }

/* Summary bar */
.slb-summary-bar { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; font-size: 14px; }

/* Form */
.slb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.slb-field { display: flex; flex-direction: column; gap: 6px; }
.slb-field-full { grid-column: 1 / -1; }
.slb-field label { font-size: 13px; font-weight: 600; color: #374151; }
.slb-field input, .slb-field textarea, .slb-field select { padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 14px; outline: none; color: #111827; font-family: inherit; }
.slb-field input:focus, .slb-field textarea:focus { border-color: #1d6ae5; box-shadow: 0 0 0 3px rgba(29,106,229,.15); }
.req { color: #ef4444; }

/* Time Slots */
.slb-slots-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.slb-slot { padding: 8px 18px; border: 2px solid #e5e7eb; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 500; transition: .2s; }
.slb-slot:hover { border-color: #93c5fd; }
.slb-slot.selected { border-color: #1d6ae5; background: #eff6ff; color: #1d4ed8; }

/* Home Collection toggle */
.slb-toggle-options { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.slb-toggle-option { flex: 1; min-width: 200px; }
.slb-toggle-option input { display: none; }
.slb-toggle-card { border: 2px solid #e5e7eb; border-radius: 12px; padding: 20px; text-align: center; cursor: pointer; transition: .2s; display: flex; flex-direction: column; gap: 6px; }
.slb-toggle-option input:checked + .slb-toggle-card { border-color: #1d6ae5; background: #eff6ff; }
.slb-toggle-icon { font-size: 36px; }
.slb-toggle-card strong { font-size: 15px; display: block; }
.slb-toggle-card small { color: #6b7280; font-size: 12px; }

/* Review card */
.slb-review-card { border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; margin-bottom: 20px; }
.slb-review-section { padding: 16px 20px; border-bottom: 1px solid #f0f0f0; }
.slb-review-section:last-child { border-bottom: none; }
.slb-review-section h4 { margin: 0 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .5px; color: #6b7280; }
.slb-review-row { display: flex; gap: 8px; margin-bottom: 6px; font-size: 14px; }
.slb-review-row label { font-weight: 600; min-width: 120px; color: #374151; }
.slb-review-total { margin-top: 12px; font-size: 17px; font-weight: 700; color: #1d6ae5; }
.slb-test-tag { display: inline-block; background: #eff6ff; color: #1d4ed8; border-radius: 6px; padding: 3px 10px; margin: 3px; font-size: 13px; }

/* Buttons */
.slb-step-nav { display: flex; gap: 12px; margin-top: 24px; justify-content: flex-end; }
.slb-btn { padding: 10px 24px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; border: 2px solid transparent; transition: .2s; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.slb-btn-primary  { background: #1d6ae5; color: #fff; }
.slb-btn-primary:hover  { background: #1559c7; }
.slb-btn-outline  { background: transparent; color: #374151; border-color: #d1d5db; }
.slb-btn-outline:hover  { background: #f9fafb; }
.slb-btn-success  { background: #10b981; color: #fff; }
.slb-btn-success:hover  { background: #059669; }
.slb-btn-whatsapp { background: #25d366; color: #fff; }
.slb-btn-whatsapp:hover { background: #1da851; }

/* Success */
.slb-success-box { text-align: center; padding: 48px 24px; }
.slb-success-icon { font-size: 72px; margin-bottom: 16px; }
.slb-booking-id { font-size: 36px; font-weight: 800; color: #1d6ae5; letter-spacing: 2px; background: #eff6ff; display: inline-block; padding: 12px 32px; border-radius: 12px; margin: 12px 0; }
.slb-success-note { color: #6b7280; font-size: 14px; }

/* Report download */
.slb-report-form { display: flex; flex-direction: column; gap: 14px; max-width: 420px; margin-bottom: 20px; }
.slb-result-card { border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px; max-width: 480px; }
.slb-result-card h3 { margin: 0 0 14px; }
.slb-message { padding: 12px 16px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.slb-message.error   { background: #fee2e2; color: #991b1b; }
.slb-message.success { background: #d1fae5; color: #065f46; }

/* Responsive */
@media (max-width: 600px) {
	.slb-form-grid { grid-template-columns: 1fr; }
	.slb-steps em { display: none; }
	.slb-step span { width: 28px; height: 28px; font-size: 13px; }
	.slb-toggle-options { flex-direction: column; }
	.slb-step-nav { justify-content: space-between; }
}
