/* Blood test module — listing, compare, detail, booking wizard, status */
.bt { --bt-navy:#1F3B73; --bt-navy-d:#16294f; --bt-accent:#E11D48; --bt-gold:#F5C86A; --bt-bg:#F4F6FA; --bt-line:#E2E8F0; --bt-text:#0F172A; --bt-muted:#64748B; --bt-ok:#059669; --bt-bad:#DC2626; color:var(--bt-text); }
.bt *, .bt *::before, .bt *::after { box-sizing:border-box; }
.bt a { color:var(--bt-navy); }
.bt-muted { color:var(--bt-muted); }
.bt-center { text-align:center; }
.bt-error { display:block; color:var(--bt-bad); font-size:12.5px; margin-top:4px; }
.bt-yes { color:var(--bt-ok); font-weight:600; } .bt-no { color:var(--bt-bad); }
.bt-rating i { color:#F59E0B; }
.bt-note, .bt-note-inline { font-size:13px; color:var(--bt-muted); }
.bt-note-inline { background:#EFF6FF; border:1px solid #DBEAFE; border-radius:8px; padding:10px 12px; color:#1E3A8A; }

/* Buttons */
.bt-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; border-radius:10px; padding:11px 20px; font-weight:600; font-size:14px; cursor:pointer; text-decoration:none; transition:.15s; min-height:44px; }
.bt-btn-primary { background:var(--bt-navy); color:#fff !important; } .bt-btn-primary:hover { background:var(--bt-navy-d); }
.bt-btn-outline { background:#fff; border-color:var(--bt-navy); color:var(--bt-navy) !important; } .bt-btn-outline:hover { background:#EEF2FF; }
.bt-btn-ghost { background:transparent; color:var(--bt-muted) !important; } .bt-btn-ghost:hover { background:#F1F5F9; }
.bt-btn-sm { padding:8px 14px; min-height:36px; font-size:13px; }
.bt-btn[disabled], .bt-btn:disabled { opacity:.5; cursor:not-allowed; }
.bt-block { display:flex; width:100%; margin-top:10px; }
.bt-link { background:none; border:0; color:var(--bt-accent); font-size:12px; cursor:pointer; margin-left:8px; padding:0; }
.bt :focus-visible { outline:3px solid #93C5FD; outline-offset:2px; }

/* Hero */
.bt-hero { background:linear-gradient(135deg,#EEF2FF,#FFF1F2); padding:56px 0 40px; text-align:center; }
.bt-hero h1 { font-size:clamp(26px,4vw,40px); margin:8px 0; color:var(--bt-navy); }
.bt-hero p { color:var(--bt-muted); max-width:620px; margin:0 auto 22px; }
.bt-search { position:relative; max-width:640px; margin:0 auto; display:flex; align-items:center; background:#fff; border:1px solid var(--bt-line); border-radius:14px; box-shadow:0 8px 24px rgba(31,59,115,.08); }
.bt-search > i { position:absolute; left:16px; color:var(--bt-muted); }
.bt-search input { flex:1; border:0; background:transparent; padding:16px 44px; font-size:15px; border-radius:14px; outline:none; min-width:0; }
.bt-search:focus-within { border-color:var(--bt-navy); }
.bt-search-clear { position:absolute; right:10px; border:0; background:transparent; color:var(--bt-muted); cursor:pointer; padding:8px; }
.bt-search-inline { margin:14px 0; max-width:none; box-shadow:none; }
.bt-steps-hint { display:flex; justify-content:center; align-items:center; gap:10px; margin:20px 0 8px; font-size:13px; color:var(--bt-muted); flex-wrap:wrap; }
.bt-steps-hint b { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--bt-navy); color:#fff; font-size:12px; margin-right:4px; }
.bt-partner-labs { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-top:20px; }
.bt-partner-labs small { color:var(--bt-muted); }
.bt-partner-lab { background:#fff; border:1px solid var(--bt-line); border-radius:10px; padding:6px 14px; font-size:13px; font-weight:600; min-height:42px; display:inline-flex; align-items:center; }
.bt-partner-lab img { height:30px; width:auto; max-width:110px; object-fit:contain; }

/* Listing */
.bt-listing { background:var(--bt-bg); padding:28px 0 56px; min-height:360px; }
.bt-toolbar { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:20px; }
.bt-chips { display:flex; gap:8px; flex-wrap:wrap; }
.bt-chip { border:1px solid var(--bt-line); background:#fff; border-radius:999px; padding:8px 16px; font-size:13px; font-weight:600; color:var(--bt-text); cursor:pointer; }
.bt-chip.is-active { background:var(--bt-navy); border-color:var(--bt-navy); color:#fff; }
.bt-toolbar-right { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.bt-toolbar select, .bt-field select, .bt-field input, .bt-field textarea, .bt-otp-row input { border:1px solid var(--bt-line); border-radius:10px; padding:11px 12px; font-size:14px; background:#fff; width:100%; font-family:inherit; }
.bt-toolbar select { width:auto; }
.bt-toggle { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; cursor:pointer; }
.bt-toggle input { width:18px; height:18px; accent-color:var(--bt-navy); }
.bt-loading { text-align:center; color:var(--bt-navy); padding:8px; font-size:13px; }
.bt-section { margin-bottom:34px; }
.bt-section-title { font-size:22px; color:#374151; margin:0 0 16px; }
.bt-result-count { color:var(--bt-muted); font-size:13px; margin:0 0 12px; }
.bt-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:20px; }
.bt-card { background:#fff; border-radius:16px; box-shadow:0 2px 10px rgba(15,23,42,.07); overflow:hidden; display:flex; flex-direction:column; transition:.15s; }
.bt-card:hover { box-shadow:0 8px 22px rgba(15,23,42,.12); transform:translateY(-2px); }
.bt-card-head { background:var(--bt-gold); padding:16px 18px; display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.bt-card-head h3 { margin:0; font-size:14px; text-transform:uppercase; letter-spacing:.2px; color:#1F2937; line-height:1.35; }
.bt-badge-pop { background:#fff; color:var(--bt-accent); font-size:10px; font-weight:700; padding:3px 8px; border-radius:999px; white-space:nowrap; }
.bt-card-body { padding:16px 18px 6px; flex:1; }
.bt-card-body p { margin:0 0 10px; font-size:13.5px; color:#374151; display:flex; gap:10px; align-items:flex-start; }
.bt-card-body p i { color:#94A3B8; width:16px; margin-top:3px; text-align:center; }
.bt-price { font-size:24px; font-weight:700; color:var(--bt-navy); margin-top:14px; }
.bt-price small { font-size:12px; color:var(--bt-muted); font-weight:500; margin-right:2px; }
.bt-price s { font-size:14px; color:var(--bt-muted); font-weight:400; margin-left:6px; }
.bt-card-foot { display:flex; justify-content:space-between; align-items:center; padding:12px 18px 18px; gap:10px; }
.bt-book { display:inline-flex; align-items:center; gap:10px; background:var(--bt-navy); color:#fff !important; padding:6px 6px 6px 18px; border-radius:999px; font-weight:600; font-size:14px; text-decoration:none; }
.bt-book span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--bt-gold); color:var(--bt-navy); font-size:11px; }
.bt-card-links { display:flex; flex-direction:column; align-items:flex-end; gap:4px; font-size:13px; }
.bt-card-links a { text-decoration:none; font-weight:600; }
.bt-empty { background:#fff; border-radius:16px; text-align:center; padding:48px 20px; color:var(--bt-muted); }
.bt-empty i { font-size:34px; color:#CBD5E1; }
.bt-empty h3 { color:var(--bt-text); }

/* How */
.bt-how { padding:48px 0; background:#fff; text-align:center; }
.bt-how-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:20px; text-align:left; }
.bt-how-grid > div { background:var(--bt-bg); border-radius:14px; padding:20px; }
.bt-how-grid b { display:inline-grid; place-items:center; width:30px; height:30px; background:var(--bt-navy); color:#fff; border-radius:50%; }
.bt-how-grid h4 { margin:10px 0 4px; } .bt-how-grid p { margin:0; font-size:13.5px; color:var(--bt-muted); }
.bt-track-link { margin-top:22px; }

/* Page head / crumbs / panels */
.bt-page-head { background:#fff; border-bottom:1px solid var(--bt-line); padding:22px 0 16px; }
.bt-page-head h1 { margin:6px 0 12px; font-size:clamp(22px,3vw,30px); color:var(--bt-navy); }
.bt-lead { color:var(--bt-muted); max-width:760px; }
.bt-crumbs { font-size:13px; color:var(--bt-muted); display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.bt-crumbs a { text-decoration:none; } .bt-crumbs i { font-size:9px; }
.bt-panel { background:#fff; border:1px solid var(--bt-line); border-radius:16px; padding:22px; }
.bt-narrow { max-width:520px; margin:40px auto; padding:0 16px; } .bt-narrow.bt-wide { max-width:720px; } .bt-narrow .bt-panel + .bt-panel { margin-top:18px; }
.bt-big-icon { font-size:34px; color:var(--bt-navy); }

/* Detail */
.bt-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:26px; padding-top:26px; padding-bottom:56px; align-items:start; }
.bt-facts dl { margin:0; } .bt-facts dl > div { display:grid; grid-template-columns:minmax(150px,230px) 1fr; gap:12px; padding:11px 0; border-bottom:1px solid #F1F5F9; align-items:center; }
.bt-facts dl > div:last-child { border:0; }
.bt-facts dt { color:var(--bt-navy); font-weight:600; font-size:14px; } .bt-facts dt i { width:22px; color:#7C93C3; }
.bt-facts dd { margin:0; font-weight:600; color:#1E3A6E; } .bt-facts dd s { color:var(--bt-muted); font-weight:400; } .bt-facts dd small { color:var(--bt-muted); font-weight:400; }
.bt-seg { display:inline-flex; background:#ECFEFF; border:1px solid #CFFAFE; border-radius:10px; padding:4px; gap:2px; }
.bt-seg span { padding:6px 12px; border-radius:8px; font-size:13px; color:var(--bt-muted); } .bt-seg span.is-on { background:var(--bt-navy); color:#fff; }
.bt-includes { margin-top:30px; } .bt-includes h2 { color:var(--bt-navy); font-size:20px; } .bt-includes h2 span { text-decoration:underline; }
.bt-acc { border-bottom:2px solid var(--bt-navy); } .bt-acc summary { list-style:none; cursor:pointer; padding:18px 4px; font-weight:700; font-size:16px; display:flex; align-items:center; gap:8px; }
.bt-acc summary::-webkit-details-marker { display:none; } .bt-acc summary small { font-weight:600; } .bt-acc summary i { margin-left:auto; transition:.2s; } .bt-acc[open] summary i { transform:rotate(180deg); }
.bt-acc ol { margin:0 0 16px; padding-left:34px; columns:2; font-size:14px; color:#374151; line-height:1.9; }
.bt-lab-list { list-style:none; margin:0 0 6px; padding:0; } .bt-lab-list li { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:12px 0; border-bottom:1px solid #F1F5F9; }
.bt-lab-list small { display:block; color:var(--bt-muted); font-size:12px; } .bt-lab-list-price { font-weight:700; color:var(--bt-navy); }
.bt-tag { display:inline-block; font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:999px; margin-left:6px; text-transform:uppercase; letter-spacing:.3px; }
.bt-tag-green { background:#DCFCE7; color:#166534; } .bt-tag-blue { background:#DBEAFE; color:#1E40AF; } .bt-tag-gold { background:#FEF3C7; color:#92400E; }

/* Compare */
.bt-tabs { display:flex; gap:8px; flex-wrap:wrap; } .bt-tabs button { border:1px solid var(--bt-line); background:#fff; padding:10px 18px; border-radius:10px; font-weight:600; cursor:pointer; }
.bt-tabs button.is-active { background:var(--bt-navy); color:#fff; border-color:var(--bt-navy); }
.bt-compare { background:var(--bt-bg); padding:24px 0 56px; min-height:420px; }
.bt-compare-controls { display:grid; grid-template-columns:minmax(220px,1fr) 2fr auto; gap:18px; align-items:end; margin-bottom:20px; }
.bt-field label { display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:#334155; }
.bt-table-wrap { overflow-x:auto; background:#fff; border:1px solid var(--bt-line); border-radius:16px; -webkit-overflow-scrolling:touch; }
.bt-compare-table { width:100%; border-collapse:separate; border-spacing:0; min-width:560px; }
.bt-compare-table th, .bt-compare-table td { padding:14px 16px; border-bottom:1px solid #F1F5F9; text-align:center; font-size:14px; vertical-align:middle; }
.bt-compare-table thead th { position:sticky; top:0; background:#fff; z-index:2; vertical-align:top; border-bottom:2px solid var(--bt-line); }
.bt-compare-table .bt-sticky-col { position:sticky; left:0; background:#fff; text-align:left; z-index:1; font-weight:600; min-width:150px; }
.bt-compare-table thead .bt-sticky-col { z-index:3; } .bt-sticky-col small { display:block; font-weight:400; color:var(--bt-muted); }
.bt-compare-table tr.is-diff td, .bt-compare-table tr.is-diff th { background:#FFFBEB; }
.bt-lab-col { min-width:190px; } .bt-lab-badges { min-height:22px; } .bt-lab-badges .bt-tag { margin:0 2px 4px; }
.bt-lab-logo { height:34px; max-width:120px; object-fit:contain; display:block; margin:6px auto; }
.bt-lab-name { font-weight:700; } .bt-lab-price { font-size:22px; font-weight:700; color:var(--bt-navy); margin:4px 0 10px; } .bt-lab-price s { font-size:13px; color:var(--bt-muted); font-weight:400; }
.bt-actions-inline { display:flex; gap:6px; justify-content:center; margin-top:8px; }

/* Wizard */
.bt-stepper { list-style:none; margin:6px 0 0; padding:0; display:flex; gap:6px; overflow-x:auto; }
.bt-stepper li { flex:1; min-width:96px; } .bt-stepper button { width:100%; border:0; background:transparent; padding:10px 6px; border-bottom:3px solid var(--bt-line); display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--bt-muted); cursor:pointer; }
.bt-stepper button:disabled { cursor:default; opacity:.7; }
.bt-stepper span { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#E2E8F0; color:#475569; font-size:12px; flex:none; }
.bt-stepper .is-done button { border-color:var(--bt-ok); color:var(--bt-text); } .bt-stepper .is-done span { background:var(--bt-ok); color:#fff; }
.bt-stepper .is-current button { border-color:var(--bt-navy); color:var(--bt-navy); } .bt-stepper .is-current span { background:var(--bt-navy); color:#fff; }
.bt-wizard { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; padding-top:24px; padding-bottom:64px; align-items:start; }
.bt-wizard-main h2 { margin:0 0 6px; font-size:21px; color:var(--bt-navy); } .bt-wizard-main h3 { font-size:15px; margin:22px 0 10px; }
.bt-pick-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px; }
.bt-pick-list button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px 16px; border:1.5px solid var(--bt-line); border-radius:12px; background:#fff; cursor:pointer; text-align:left; font-family:inherit; }
.bt-pick-list button:hover, .bt-pick-list button.is-selected { border-color:var(--bt-navy); background:#F5F8FF; }
.bt-pick-list small { display:block; color:var(--bt-muted); font-size:12.5px; margin-top:3px; } .bt-pick-list em { font-style:normal; font-weight:700; color:var(--bt-navy); white-space:nowrap; } .bt-pick-list s { color:var(--bt-muted); font-weight:400; font-size:12px; }
.bt-form { display:grid; gap:14px; margin-top:14px; } .bt-grid-2 { grid-template-columns:1fr 1fr; } .bt-span-2 { grid-column:span 2; }
.bt-radio-row { display:flex; gap:14px; padding-top:10px; } .bt-radio { display:inline-flex; align-items:center; gap:6px; font-weight:500 !important; margin:0 !important; } .bt-radio input { width:auto; accent-color:var(--bt-navy); }
.bt-choice-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.bt-choice { border:1.5px solid var(--bt-line); border-radius:12px; padding:16px; cursor:pointer; display:grid; gap:4px; position:relative; }
.bt-choice input { position:absolute; opacity:0; } .bt-choice i { color:var(--bt-navy); font-size:20px; } .bt-choice small { color:var(--bt-muted); }
.bt-choice.is-selected { border-color:var(--bt-navy); background:#F5F8FF; box-shadow:0 0 0 3px rgba(31,59,115,.1); } .bt-choice.is-disabled { opacity:.55; cursor:not-allowed; }
.bt-date-row { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; } .bt-date { flex:none; width:64px; border:1.5px solid var(--bt-line); background:#fff; border-radius:12px; padding:8px 0; display:grid; gap:2px; cursor:pointer; font-family:inherit; }
.bt-date small { color:var(--bt-muted); font-size:11px; } .bt-date strong { font-size:19px; } .bt-date.is-selected, .bt-slot.is-selected { background:var(--bt-navy); border-color:var(--bt-navy); color:#fff; } .bt-date.is-selected small { color:#CBD5E1; }
.bt-slot-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; } .bt-slot { border:1.5px solid var(--bt-line); background:#fff; border-radius:10px; padding:11px; cursor:pointer; font-weight:600; font-size:13px; font-family:inherit; }
.bt-summary-list { margin:14px 0 0; } .bt-summary-list > div { display:grid; grid-template-columns:150px 1fr; gap:12px; padding:11px 0; border-bottom:1px solid #F1F5F9; font-size:14px; } .bt-summary-list dt { color:var(--bt-muted); } .bt-summary-list dd { margin:0; }
.bt-otp { margin-top:20px; background:#F8FAFC; border:1px dashed #CBD5E1; border-radius:12px; padding:16px; } .bt-otp h3 { margin:0 0 6px; }
.bt-otp-row { display:flex; gap:8px; flex-wrap:wrap; } .bt-otp-row input { max-width:200px; letter-spacing:4px; text-align:center; font-weight:700; }
.bt-wizard-foot { display:flex; justify-content:space-between; align-items:center; margin-top:26px; padding-top:18px; border-top:1px solid #F1F5F9; gap:10px; }
.bt-sticky { position:sticky; top:96px; } .bt-sticky h3 { margin:0 0 10px; } .bt-sum-test { font-weight:700; margin:0 0 4px; }
.bt-price-lines { margin:14px 0; } .bt-price-lines > div { display:flex; justify-content:space-between; padding:6px 0; font-size:14px; } .bt-price-lines dd, .bt-price-lines dt { margin:0; } .bt-save { color:var(--bt-ok); }
.bt-price-lines .bt-total { border-top:1px solid var(--bt-line); margin-top:6px; padding-top:12px; font-size:18px; font-weight:700; color:var(--bt-navy); }

/* Status */
.bt-status-head { text-align:center; } .bt-status-head > i { font-size:40px; } .bt-status-head h1 { font-size:22px; margin:8px 0; }
.bt-status-head.is-ok > i { color:var(--bt-ok); } .bt-status-head.is-fail > i { color:var(--bt-bad); } .bt-status-head.is-wait > i { color:#F59E0B; }
.bt-code { margin:10px 0 16px; background:#F1F5F9; display:inline-block; padding:8px 16px; border-radius:999px; font-size:14px; }
.bt-timeline { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:0; } .bt-timeline li { position:relative; padding:8px 0 8px 30px; color:var(--bt-muted); font-size:14px; }
.bt-timeline li::before { content:''; position:absolute; left:6px; top:12px; width:14px; height:14px; border-radius:50%; background:#E2E8F0; } .bt-timeline li.is-done { color:var(--bt-text); font-weight:600; } .bt-timeline li.is-done::before { background:var(--bt-ok); }

@media (max-width: 900px) {
  .bt-detail-layout, .bt-wizard { grid-template-columns:1fr; }
  .bt-wizard-side { order:-1; } .bt-sticky { position:static; }
  .bt-compare-controls { grid-template-columns:1fr; }
  .bt-acc ol { columns:1; } .bt-facts dl > div { grid-template-columns:1fr; gap:4px; }
}
@media (max-width: 600px) {
  .bt-grid-2, .bt-choice-row { grid-template-columns:1fr; } .bt-span-2 { grid-column:auto; }
  .bt-summary-list > div { grid-template-columns:1fr; gap:2px; }
  .bt-wizard-foot { position:sticky; bottom:0; background:#fff; margin:22px -22px -22px; padding:14px 22px; border-top:1px solid var(--bt-line); border-radius:0 0 16px 16px; z-index:5; }
  .bt-hero { padding:36px 0 28px; }
}

/* --- layout & control fixes (override global form styles) --- */
.bt .bt-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); align-items:stretch; }
.bt .bt-card { height:100%; }
.bt .bt-card-head { min-height:84px; align-items:flex-start; }
.bt .bt-card-head > div { min-width:0; }
.bt .bt-card-cat { display:block; font-size:10.5px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:rgba(31,41,55,.65); margin-bottom:4px; }
.bt .bt-card-body p { line-height:1.4; }
.bt .bt-card-foot { margin-top:auto; border-top:1px solid #F1F5F9; padding-top:14px; }
.bt .bt-toolbar { align-items:center; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid #E2E8F0; }
.bt .bt-chip { font-size:13px; line-height:1; padding:10px 16px; font-family:inherit; }
.bt .bt-toolbar-right { margin-left:auto; gap:14px; }
.bt .bt-toolbar select { width:auto; min-width:170px; height:40px; padding:0 34px 0 12px; font-size:13.5px; font-weight:600; color:#334155; border:1px solid #E2E8F0; border-radius:10px; background-color:#fff; line-height:1; }
.bt .bt-toggle { height:40px; padding:0 14px; background:#fff; border:1px solid #E2E8F0; border-radius:10px; font-size:13.5px; gap:8px; white-space:nowrap; user-select:none; }
.bt .bt-toggle input { width:16px; height:16px; min-width:16px; margin:0; padding:0; flex:none; }
.bt .bt-toggle span { display:inline-flex; align-items:center; gap:6px; color:#334155; }
.bt .bt-toggle:has(input:checked) { border-color:var(--bt-navy); background:#F5F8FF; }
.bt .bt-chip:focus { outline:none; } .bt .bt-chip:focus-visible { outline:2px solid #93C5FD; outline-offset:2px; }
.bt .bt-result-count { margin:0 0 14px; }
@media (max-width: 700px) {
  .bt .bt-toolbar { flex-direction:column; align-items:stretch; }
  .bt .bt-chips { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
  .bt .bt-chip { flex:none; }
  .bt .bt-toolbar-right { margin-left:0; }
  .bt .bt-toolbar select { flex:1; }
  .bt .bt-grid { grid-template-columns:1fr; }
}

/* --- compare & wizard alignment polish --- */
.bt .bt-compare-table { table-layout:fixed; min-width:640px; }
.bt .bt-compare-table .bt-sticky-col { width:210px; }
.bt .bt-compare-table thead th { vertical-align:top; padding-top:16px; }
.bt .bt-compare-table thead .bt-sticky-col { vertical-align:middle; }
.bt .bt-lab-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; min-height:26px; margin-bottom:6px; }
.bt .bt-lab-badges .bt-tag { margin:0; }
.bt .bt-lab-logo { height:34px; margin:0 auto 8px; }
.bt .bt-lab-name { min-height:20px; margin-bottom:2px; }
.bt .bt-compare-table tbody th i { width:22px; text-align:center; color:#7C93C3; margin-right:4px; }
.bt .bt-compare-controls { align-items:start; }
.bt .bt-compare-controls .bt-toggle { align-self:end; }
.bt .bt-radio-row { gap:20px; align-items:center; padding-top:8px; flex-wrap:wrap; }
.bt .bt-radio { gap:8px; font-size:14px; }
.bt .bt-radio input, .bt .bt-choice input { width:16px; height:16px; min-width:16px; padding:0; margin:0; }
.bt .bt-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.bt .bt-sum-test { font-size:16px; margin-bottom:6px; }
.bt .bt-wizard-side .bt-muted { line-height:1.5; margin:0 0 12px; }
.bt .bt-wizard-side p { margin:0 0 10px; display:flex; gap:8px; align-items:center; }
.bt .bt-wizard-side p.bt-muted, .bt .bt-wizard-side p.bt-sum-test { display:block; }
.bt .bt-wizard-main .bt-field label { display:block; }
.bt .bt-note-inline { margin:12px 0 18px; }
@media (max-width: 700px) {
  .bt .bt-compare-table .bt-sticky-col { width:130px; min-width:130px; }
  .bt .bt-lab-col { min-width:150px; }
}

/* --- read more --- */
.bt .bt-more { display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:30px; }
.bt .bt-more-progress { width:180px; height:4px; border-radius:99px; background:#E2E8F0; overflow:hidden; }
.bt .bt-more-progress span { display:block; height:100%; background:var(--bt-navy); border-radius:99px; transition:width .3s; }
.bt .bt-more-btn { min-width:230px; border-radius:999px; padding:12px 28px; }
.bt .bt-more-btn small { opacity:.7; font-weight:500; }
.bt .bt-more-btn i { font-size:11px; }
.bt .bt-card-body { display:flex; flex-direction:column; }
.bt .bt-card-body .bt-price { margin-top:auto; padding-top:14px; }
.bt .bt-more-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.bt .bt-more .bt-btn-ghost.bt-more-btn { min-width:0; border:1px solid var(--bt-line); background:#fff; }

/* --- compare: controls, rows, legend --- */
.bt .bt-compare-controls { display:block; padding:20px 22px; }
.bt .bt-controls-row { display:flex; gap:16px; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; }
.bt .bt-field-test { flex:1 1 300px; max-width:420px; }
.bt .bt-field-test select { height:44px; font-size:14px; }
.bt .bt-compare-controls .bt-toggle { margin:0; height:44px; }
.bt .bt-compare-controls > .bt-field { margin-top:18px; padding-top:18px; border-top:1px solid #F1F5F9; }
.bt .bt-lab-pick { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; }
.bt .bt-lab-chip { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid var(--bt-line); border-radius:12px; background:#fff; cursor:pointer; font-family:inherit; text-align:left; transition:.15s; }
.bt .bt-lab-chip:hover { border-color:#94A3B8; }
.bt .bt-lab-chip-check { width:20px; height:20px; border-radius:6px; border:1.5px solid #CBD5E1; display:grid; place-items:center; font-size:10px; color:transparent; flex:none; }
.bt .bt-lab-chip-name { flex:1; font-weight:600; font-size:13.5px; color:var(--bt-text); line-height:1.3; }
.bt .bt-lab-chip-price { font-weight:700; color:var(--bt-navy); font-size:14px; }
.bt .bt-lab-chip.is-active { border-color:var(--bt-navy); background:#F5F8FF; }
.bt .bt-lab-chip.is-active .bt-lab-chip-check { background:var(--bt-navy); border-color:var(--bt-navy); color:#fff; }

.bt .bt-compare-table tr.is-diff td, .bt .bt-compare-table tr.is-diff th { background:transparent; }
.bt .bt-compare-table tbody tr:hover td, .bt .bt-compare-table tbody tr:hover th { background:#F8FAFC; }
.bt .bt-compare-table tbody tr:last-child td, .bt .bt-compare-table tbody tr:last-child th { border-bottom:0; }
.bt .bt-compare-table tbody td { color:#1E293B; }
.bt .bt-compare-table td.is-best span { display:inline-flex; align-items:center; gap:6px; background:#ECFDF5; color:#047857; font-weight:700; padding:5px 14px; border-radius:999px; }
.bt .bt-compare-table td.is-best .bt-muted { color:#047857; }
.bt .bt-diff-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#F5A524; margin-left:8px; vertical-align:middle; }
.bt .bt-compare-table thead th { padding:20px 16px 18px; }
.bt .bt-lab-badges { min-height:28px; margin-bottom:10px; }
.bt .bt-lab-badges .bt-tag { display:inline-flex; align-items:center; gap:4px; font-size:10px; padding:4px 9px; }
.bt .bt-lab-badges .bt-tag i { font-size:9px; }
.bt .bt-legend { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; margin-top:14px; font-size:12.5px; color:var(--bt-muted); }
.bt .bt-legend .bt-diff-dot { margin:0 6px 0 0; }
.bt .bt-legend .bt-note { margin-left:auto; }
@media (max-width: 700px) { .bt .bt-legend .bt-note { margin-left:0; flex-basis:100%; } .bt .bt-controls-row { align-items:stretch; } .bt .bt-field-test { max-width:none; } }

/* --- card header: site theme (navy + pink) instead of yellow --- */
.bt .bt-card { border:1px solid #E8EDF5; box-shadow:0 2px 12px rgba(31,59,115,.06); position:relative; }
.bt .bt-card::before { content:''; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--bt-navy),var(--bt-accent)); }
.bt .bt-card-head { background:linear-gradient(180deg,#F4F7FD 0%,#fff 100%); padding:22px 18px 14px; min-height:0; display:flex; align-items:center; gap:12px; border-bottom:1px solid #F1F5F9; }
.bt .bt-card-icon { flex:none; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:#E8EEFB; color:var(--bt-navy); font-size:17px; }
.bt .bt-card-title { flex:1; min-width:0; }
.bt .bt-card-head h3 { text-transform:none; letter-spacing:0; font-size:16px; line-height:1.3; color:var(--bt-navy); font-weight:700; margin:0; }
.bt .bt-card-cat { display:inline-block; font-size:10.5px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:#64748B; background:#fff; border:1px solid #E2E8F0; padding:2px 8px; border-radius:999px; margin-bottom:6px; }
.bt .bt-badge-pop { align-self:flex-start; background:#FFF1F2; color:var(--bt-accent); font-size:10.5px; font-weight:700; padding:4px 9px; border-radius:999px; display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.bt .bt-badge-pop i { font-size:9px; }
.bt .bt-card-body { padding:14px 18px 6px; }
.bt .bt-card-body p i { color:#8CA0C6; }
.bt .bt-book span { background:var(--bt-accent); color:#fff; }
.bt .bt-card:hover { border-color:#CBD5E1; }
.bt .bt-card-head { align-items:flex-start; }
.bt .bt-card-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; min-height:22px; }
.bt .bt-card-meta .bt-card-cat { margin-bottom:0; }
.bt .bt-card-meta .bt-badge-pop { align-self:center; margin-left:auto; }

/* --- multiple patients --- */
.bt .bt-patient { border:1.5px solid var(--bt-line); border-radius:14px; padding:6px 18px 18px; margin:14px 0 0; background:#FCFDFF; }
.bt .bt-patient legend { padding:0 8px; font-weight:700; font-size:14px; color:var(--bt-navy); display:flex; align-items:center; gap:8px; }
.bt .bt-patient-no { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--bt-navy); color:#fff; font-size:12px; }
.bt .bt-grid-3 { grid-template-columns:2fr 1fr; } .bt .bt-grid-3 .bt-span-3 { grid-column:1 / -1; } .bt .bt-grid-3 .bt-span-2 { grid-column:auto; }
.bt .bt-add-patient { margin-top:14px; width:100%; border:1.5px dashed #94A3B8; background:#fff; color:var(--bt-navy); border-radius:12px; padding:13px; font-weight:600; cursor:pointer; font-family:inherit; }
.bt .bt-add-patient:hover { border-color:var(--bt-navy); background:#F5F8FF; }
.bt .bt-hint { font-size:12px; color:#047857; background:#ECFDF5; border-radius:8px; padding:8px 10px; margin:6px 0 0; display:block; }
.bt .bt-price-lines dt small { font-weight:400; }
@media (max-width: 600px) { .bt .bt-grid-3 { grid-template-columns:1fr; } }

/* --- compare tests / packages --- */
.bt .bt-panel-title { font-size:18px; margin:0 0 4px; color:var(--bt-navy); }
.bt .bt-panel-sub { margin:0; font-size:13.5px; }
.bt .bt-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.bt .bt-slot-card { position:relative; border-radius:14px; padding:16px; min-height:128px; display:flex; flex-direction:column; gap:4px; }
.bt .bt-slot-card.is-filled { border:1.5px solid var(--bt-navy); background:linear-gradient(180deg,#F4F7FD,#fff); }
.bt .bt-slot-card.is-filled strong { color:var(--bt-navy); font-size:15.5px; line-height:1.3; padding-right:26px; }
.bt .bt-slot-card .bt-card-cat { align-self:flex-start; margin-bottom:6px; }
.bt .bt-slot-meta { font-size:12.5px; color:var(--bt-muted); }
.bt .bt-slot-price { margin-top:auto; font-size:20px; font-weight:700; color:var(--bt-navy); }
.bt .bt-slot-price small { font-size:12px; font-weight:500; color:var(--bt-muted); margin-right:3px; }
.bt .bt-slot-remove { position:absolute; top:10px; right:10px; width:26px; height:26px; border-radius:50%; border:0; background:#fff; color:var(--bt-muted); cursor:pointer; box-shadow:0 1px 4px rgba(15,23,42,.15); display:grid; place-items:center; font-size:12px; }
.bt .bt-slot-remove:hover { background:#FFF1F2; color:var(--bt-accent); }
.bt .bt-slot-card.is-add { border:2px dashed var(--bt-navy); background:#F9FBFF; align-items:center; justify-content:center; text-align:center; gap:8px; }
.bt .bt-slot-card.is-add > i { width:34px; height:34px; border-radius:50%; background:var(--bt-navy); color:#fff; display:grid; place-items:center; font-size:14px; }
.bt .bt-slot-card.is-add label { font-weight:700; color:var(--bt-navy); font-size:14px; }
.bt .bt-slot-card.is-add select { width:100%; height:42px; border:1px solid var(--bt-line); border-radius:10px; padding:0 10px; font-size:13.5px; background:#fff; }
.bt .bt-slot-card.is-empty { border:2px dashed #E2E8F0; align-items:center; justify-content:center; color:#CBD5E1; font-weight:600; font-size:13px; }
.bt .bt-tests-table .bt-section-row th { background:#F4F7FD; text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--bt-navy); padding:10px 16px; }
.bt .bt-tests-table .bt-section-row th span { background:var(--bt-navy); color:#fff; border-radius:999px; padding:1px 8px; margin-left:6px; font-size:11px; letter-spacing:0; }
.bt .bt-tests-table tbody th.bt-sticky-col { font-weight:500; }
.bt .bt-tests-table .bt-lab-col { min-width:0; }
.bt .bt-tick, .bt .bt-cross { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; font-size:11px; }
.bt .bt-tick { background:#DCFCE7; color:#15803D; } .bt .bt-cross { background:#F1F5F9; color:#94A3B8; }
.bt .bt-note-inline i { margin-right:6px; }
@media (max-width: 800px) { .bt .bt-slots { grid-template-columns:1fr; } .bt .bt-slot-card { min-height:0; } }

/* ===================== Responsive pass ===================== */
.bt .bt-swipe-hint, .bt .bt-foot-total { display:none; }
.bt .bt-tests-table { min-width:0; }
.bt-narrow .bt-panel h1 { font-size:26px; margin:0 0 8px; line-height:1.2; }
.bt img { max-width:100%; }

/* tablet */
@media (max-width: 1024px) {
  .bt .bt-grid { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
  .bt .bt-detail-layout { grid-template-columns:minmax(0,1fr) 300px; gap:20px; }
  .bt .bt-wizard { grid-template-columns:minmax(0,1fr) 290px; gap:18px; }
  .bt .bt-lab-col { min-width:170px; }
}
@media (max-width: 900px) {
  .bt .bt-detail-layout, .bt .bt-wizard { grid-template-columns:minmax(0,1fr); }
  .bt .bt-wizard-side { order:2; }
  .bt .bt-wizard-side .bt-sticky { position:static; }
  .bt .bt-toolbar-right { width:100%; margin-left:0; }
  .bt .bt-toolbar-right select { flex:1; min-width:0; }
  .bt .bt-slots { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
}

/* phone */
@media (max-width: 700px) {
  .bt .hb-container, .bt.hb-container { padding-left:16px; padding-right:16px; }
  .bt-hero { padding:28px 0 22px; }
  .bt-hero h1 { line-height:1.25; }
  .bt .bt-search input { padding:15px 40px 15px 44px; font-size:14px; text-overflow:ellipsis; }
  .bt .bt-steps-hint { font-size:12px; gap:6px; }
  .bt .bt-partner-labs { gap:8px; }
  .bt .bt-partner-labs small { flex-basis:100%; text-align:center; }
  .bt .bt-toolbar-right { display:grid; grid-template-columns:auto 1fr; gap:10px; }
  .bt .bt-toolbar-right .bt-toggle, .bt .bt-toolbar-right select { min-width:0; width:100%; }
  .bt .bt-card-foot { flex-wrap:wrap; }
  .bt .bt-card-links { flex-direction:row; gap:14px; align-items:center; }
  .bt .bt-more-actions { width:100%; } .bt .bt-more-actions .bt-btn { flex:1; min-width:0; }

  /* detail */
  .bt .bt-page-head { padding:16px 0 12px; }
  .bt .bt-facts dl > div { grid-template-columns:1fr; gap:3px; padding:10px 0; }
  .bt .bt-acc summary { font-size:15px; }
  .bt .bt-acc ol { padding-left:26px; }
  .bt .bt-lab-list li { grid-template-columns:1fr auto; }
  .bt .bt-lab-list li .bt-btn { grid-column:1 / -1; }

  /* compare */
  .bt .bt-swipe-hint { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--bt-muted); margin:0 0 8px; }
  .bt .bt-compare { padding:16px 0 40px; }
  .bt .bt-compare-controls { padding:16px; }
  .bt .bt-controls-row { flex-direction:column; align-items:stretch; gap:12px; }
  .bt .bt-field-test { flex:none; width:100%; max-width:none; }
  .bt .bt-lab-pick { grid-template-columns:1fr; }
  .bt .bt-compare-table { min-width:0; table-layout:auto; }
  .bt .bt-compare-table .bt-sticky-col { width:104px; min-width:104px; max-width:104px; font-size:12.5px; padding:10px 8px; }
  .bt .bt-compare-table th, .bt .bt-compare-table td { padding:10px 8px; font-size:13px; }
  .bt .bt-compare-table:not(.bt-tests-table) .bt-lab-col { min-width:150px; }
  .bt .bt-compare-table tbody th i { display:none; }
  .bt .bt-lab-price { font-size:18px; } .bt .bt-lab-logo { height:26px; }
  .bt .bt-lab-badges .bt-tag { font-size:9px; padding:3px 7px; }
  .bt .bt-tests-table .bt-lab-col .bt-lab-name { font-size:13px; }
  .bt .bt-tests-table .bt-btn-sm { padding:7px 10px; font-size:12px; }

  /* wizard */
  .bt .bt-stepper { gap:4px; overflow:visible; }
  .bt .bt-stepper li { min-width:0; flex:1; }
  .bt .bt-stepper button { justify-content:center; padding:10px 0; font-size:12px; }
  .bt .bt-stepper li:not(.is-current) button { font-size:0; gap:0; }
  .bt .bt-stepper li:not(.is-current) button span { font-size:12px; }
  .bt .bt-stepper li.is-current { flex:2.4; }
  .bt .bt-wizard { padding-top:16px; padding-bottom:96px; }
  .bt .bt-wizard-main { padding:18px 16px; }
  .bt .bt-date { width:58px; }
  .bt .bt-pick-list button { flex-direction:column; align-items:flex-start; gap:6px; }
  .bt .bt-wizard-foot { position:fixed; left:0; right:0; bottom:0; margin:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--bt-line); box-shadow:0 -6px 18px rgba(15,23,42,.08); border-radius:0; z-index:50; }
  .bt .bt-foot-total { display:flex; flex-direction:column; line-height:1.15; font-weight:700; color:var(--bt-navy); font-size:17px; }
  .bt .bt-foot-total small { font-size:11px; font-weight:500; color:var(--bt-muted); }
  .bt .bt-wizard-foot .bt-btn { padding:11px 16px; }
  .bt .bt-otp-row input { max-width:none; flex:1; }
  .bt .bt-otp-row .bt-btn { flex:1; }

  /* status / track */
  .bt-narrow { margin:20px auto; }
  .bt .bt-status-head h1 { font-size:20px; }
  .bt .bt-status-head .bt-btn { width:100%; margin-top:8px; }
}

/* very small phones */
@media (max-width: 380px) {
  .bt .bt-chip { padding:9px 13px; font-size:12.5px; }
  .bt .bt-toolbar-right { grid-template-columns:1fr; }
  .bt .bt-card-foot .bt-book { padding-left:14px; }
  .bt .bt-compare-table .bt-sticky-col { width:92px; min-width:92px; max-width:92px; }
}

/* --- admin-driven slots --- */
.bt .bt-slot { display:flex; flex-direction:column; align-items:center; gap:2px; }
.bt .bt-slot small { font-size:11px; font-weight:600; color:var(--bt-muted); }
.bt .bt-slot small.bt-few { color:#B45309; }
.bt .bt-slot.is-selected small { color:#CBD5E1; }
.bt .bt-slot.is-disabled { opacity:.5; cursor:not-allowed; background:#F8FAFC; text-decoration:line-through; }
.bt .bt-slot.is-disabled small { text-decoration:none; }
.bt .bt-date { text-align:center; }

/* --- month calendar + slot states --- */
.bt .bt-cal { border:1.5px solid var(--bt-line); border-radius:16px; padding:16px; background:#fff; max-width:460px; }
.bt .bt-cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.bt .bt-cal-head strong { font-size:16px; color:var(--bt-navy); }
.bt .bt-cal-head button { width:34px; height:34px; border-radius:50%; border:1px solid var(--bt-line); background:#fff; cursor:pointer; color:var(--bt-navy); }
.bt .bt-cal-head button:hover:not(:disabled) { background:#F5F8FF; } .bt .bt-cal-head button:disabled { opacity:.35; cursor:not-allowed; }
.bt .bt-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.bt .bt-cal-dow span { text-align:center; font-size:11.5px; font-weight:600; color:var(--bt-muted); text-transform:uppercase; padding-bottom:4px; }
.bt .bt-cal-day { position:relative; aspect-ratio:1; min-height:44px; border-radius:12px; border:1.5px solid transparent; background:#F8FAFC; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; font-family:inherit; padding:0; }
.bt .bt-cal-num { font-size:15px; font-weight:600; color:#334155; }
.bt .bt-cal-day small { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.2px; }
.bt .bt-cal-day.is-available { background:#ECFDF5; border-color:#A7F3D0; } .bt .bt-cal-day.is-available .bt-cal-num { color:#047857; font-weight:700; }
.bt .bt-cal-day.is-available:hover { background:#D1FAE5; border-color:#34D399; }
.bt .bt-cal-dot { position:absolute; bottom:6px; width:5px; height:5px; border-radius:50%; background:#10B981; }
.bt .bt-cal-day.is-full { background:#FEF2F2; border-color:#FECACA; cursor:not-allowed; } .bt .bt-cal-day.is-full .bt-cal-num { color:#B91C1C; } .bt .bt-cal-day.is-full small { color:#B91C1C; }
.bt .bt-cal-day.is-closed { background:repeating-linear-gradient(45deg,#F1F5F9,#F1F5F9 6px,#E8EDF3 6px,#E8EDF3 12px); cursor:not-allowed; } .bt .bt-cal-day.is-closed small { color:#64748B; }
.bt .bt-cal-day.is-none, .bt .bt-cal-day.is-off { background:transparent; cursor:not-allowed; } .bt .bt-cal-day.is-none .bt-cal-num, .bt .bt-cal-day.is-off .bt-cal-num { color:#CBD5E1; font-weight:500; }
.bt .bt-cal-day.is-today:not(.is-selected) { box-shadow:inset 0 0 0 1.5px var(--bt-navy); }
.bt .bt-cal-day.is-selected { background:var(--bt-navy); border-color:var(--bt-navy); } .bt .bt-cal-day.is-selected .bt-cal-num { color:#fff; } .bt .bt-cal-day.is-selected .bt-cal-dot { background:#fff; }
.bt .bt-cal-legend { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px; font-size:12px; color:var(--bt-muted); }
.bt .bt-cal-legend span { display:inline-flex; align-items:center; gap:6px; }
.bt .bt-lg { display:inline-block; width:10px; height:10px; border-radius:50%; flex:none; }
.bt .bt-lg-available, .bt .bt-lg-free { background:#10B981; } .bt .bt-lg-full, .bt .bt-lg-booked { background:#EF4444; } .bt .bt-lg-closed, .bt .bt-lg-soon { background:#CBD5E1; } .bt .bt-lg-few { background:#F59E0B; }
.bt .bt-slot-period { margin:14px 0 6px; font-size:12px; font-weight:700; color:var(--bt-muted); text-transform:uppercase; letter-spacing:.5px; }
.bt .bt-slot-row { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); }
.bt .bt-slot { display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; padding:12px 14px; border-radius:12px; }
.bt .bt-slot strong { font-size:13.5px; color:var(--bt-text); }
.bt .bt-slot small { display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; }
.bt .bt-slot.is-free { border-color:#A7F3D0; background:#F0FDF9; } .bt .bt-slot.is-free small { color:#047857; }
.bt .bt-slot.is-few { border-color:#FDE68A; background:#FFFBEB; } .bt .bt-slot.is-few small { color:#B45309; }
.bt .bt-slot.is-booked { border-color:#FECACA; background:#FEF2F2; opacity:1; cursor:not-allowed; text-decoration:none; } .bt .bt-slot.is-booked strong { color:#94A3B8; text-decoration:line-through; } .bt .bt-slot.is-booked small { color:#B91C1C; }
.bt .bt-slot.is-soon { background:#F8FAFC; opacity:.7; cursor:not-allowed; text-decoration:none; } .bt .bt-slot.is-soon small { color:var(--bt-muted); }
.bt .bt-slot.is-selected { background:var(--bt-navy); border-color:var(--bt-navy); } .bt .bt-slot.is-selected strong, .bt .bt-slot.is-selected small { color:#fff; }
.bt .bt-slot.is-selected .bt-lg { background:#fff; }
@media (max-width: 700px) { .bt .bt-cal { max-width:none; padding:12px; } .bt .bt-cal-grid { gap:4px; } .bt .bt-cal-day { min-height:40px; border-radius:10px; } .bt .bt-slot-row { grid-template-columns:1fr 1fr; } }

/* ===== step 4 layout: calendar left, times right ===== */
.bt .bt-address-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:14px; align-items:start; }
.bt .bt-address-row textarea { min-height:84px; resize:vertical; }
.bt .bt-schedule { display:grid; grid-template-columns:minmax(300px,380px) minmax(0,1fr); border:1.5px solid var(--bt-line); border-radius:16px; overflow:hidden; background:#fff; }
.bt .bt-schedule-cal { padding:20px; border-right:1.5px solid var(--bt-line); }
.bt .bt-schedule-times { padding:20px; background:#FBFCFE; min-height:100%; }
.bt .bt-schedule .bt-cal { border:0; padding:0; max-width:none; border-radius:0; }
.bt .bt-schedule .bt-cal-grid { gap:6px; }
.bt .bt-schedule .bt-cal-day { aspect-ratio:1 / 1; min-height:0; width:100%; border-radius:50%; }
.bt .bt-schedule .bt-cal-day.is-available { border-radius:50%; }
.bt .bt-schedule .bt-cal-day.is-full, .bt .bt-schedule .bt-cal-day.is-closed { border-radius:50%; }
.bt .bt-schedule .bt-cal-day.is-selected { border-radius:50%; box-shadow:0 4px 10px rgba(31,59,115,.3); }
.bt .bt-schedule .bt-cal-day.is-today:not(.is-selected) { border-radius:50%; }
.bt .bt-schedule .bt-cal-dot { bottom:7px; }
.bt .bt-schedule .bt-cal-num { font-size:14px; }
.bt .bt-cal-day small { font-size:8.5px; line-height:1; }
.bt .bt-times-head { display:flex; flex-direction:column; margin-bottom:6px; padding-bottom:12px; border-bottom:1px solid var(--bt-line); }
.bt .bt-times-head strong { font-size:17px; color:var(--bt-navy); } .bt .bt-times-head span { font-size:13px; color:var(--bt-muted); }
.bt .bt-times-empty { height:100%; min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; color:var(--bt-muted); }
.bt .bt-times-empty i { font-size:34px; color:#CBD5E1; margin-bottom:6px; } .bt .bt-times-empty strong { color:var(--bt-text); font-size:15px; } .bt .bt-times-empty span { font-size:13px; max-width:220px; }
.bt .bt-slot-list { display:grid; gap:8px; }
.bt .bt-slot-list .bt-slot { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; width:100%; }
.bt .bt-slot-list .bt-slot strong { font-size:14px; }
.bt .bt-slot-list .bt-slot small { font-size:12px; white-space:nowrap; }
@media (max-width: 800px) {
  .bt .bt-schedule { grid-template-columns:1fr; }
  .bt .bt-schedule-cal { border-right:0; border-bottom:1.5px solid var(--bt-line); padding:16px; }
  .bt .bt-schedule-times { padding:16px; }
  .bt .bt-times-empty { min-height:140px; }
  .bt .bt-address-row { grid-template-columns:1fr; }
}

/* ===== popup date & time picker ===== */
.bt .bt-picker-field { width:100%; display:flex; align-items:center; gap:14px; padding:14px 16px; border:1.5px solid var(--bt-line); border-radius:14px; background:#fff; cursor:pointer; text-align:left; font-family:inherit; transition:.15s; }
.bt .bt-picker-field:hover { border-color:var(--bt-navy); background:#F9FBFF; }
.bt .bt-picker-field.has-value { border-color:#A7F3D0; background:#F0FDF9; }
.bt .bt-picker-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:#E8EEFB; color:var(--bt-navy); font-size:19px; flex:none; }
.bt .bt-picker-field.has-value .bt-picker-icon { background:#D1FAE5; color:#047857; }
.bt .bt-picker-text { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.bt .bt-picker-text small { font-size:11.5px; color:var(--bt-muted); font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
.bt .bt-picker-text strong { font-size:15px; color:var(--bt-text); }
.bt .bt-picker-text strong.bt-placeholder { color:#94A3B8; font-weight:500; }
.bt .bt-picker-action { font-size:13px; font-weight:700; color:var(--bt-navy); white-space:nowrap; }
.bt .bt-picker-action i { font-size:10px; margin-left:4px; }

.bt-modal-backdrop { position:fixed; inset:0; z-index:1000; background:rgba(15,23,42,.55); display:flex; align-items:center; justify-content:center; padding:20px; animation:btFade .15s ease; }
.bt-modal-backdrop .bt-modal { background:#fff; width:100%; max-width:520px; max-height:calc(100vh - 40px); border-radius:20px; box-shadow:0 24px 60px rgba(15,23,42,.35); display:flex; flex-direction:column; overflow:hidden; animation:btPop .18s ease; color:#0F172A; }
.bt-modal-backdrop .bt-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:20px 22px 12px; }
.bt-modal-backdrop .bt-modal-head h3 { margin:0; font-size:19px; color:#1F3B73; }
.bt-modal-backdrop .bt-modal-head p { margin:4px 0 0; font-size:13px; color:#64748B; }
.bt-modal-backdrop .bt-modal-close { width:34px; height:34px; border-radius:50%; border:0; background:#F1F5F9; color:#475569; cursor:pointer; flex:none; }
.bt-modal-backdrop .bt-modal-close:hover { background:#E2E8F0; }
.bt-modal-backdrop .bt-modal-body { padding:4px 22px 22px; overflow-y:auto; }
.bt-modal-backdrop .bt-modal-times { margin-top:18px; padding-top:18px; border-top:1px solid #E2E8F0; }
.bt-modal-backdrop .bt-modal-times h4 { margin:0 0 4px; font-size:16px; color:#0F172A; }
.bt-modal-backdrop .bt-modal-times p { margin:0 0 8px; font-size:13px; color:#64748B; }
.bt-modal-backdrop .bt-slot-period { margin:12px 0 6px; font-size:11.5px; font-weight:700; color:#64748B; text-transform:uppercase; letter-spacing:.5px; }

/* calendar inside popup (reference style: pill header, plain numbers, filled selection) */
.bt-modal-backdrop .bt-cal { border:0; padding:0; max-width:none; }
.bt-modal-backdrop .bt-cal-head { background:#F5F7FB; border-radius:999px; padding:6px; margin-bottom:10px; }
.bt-modal-backdrop .bt-cal-head strong { font-size:16px; color:#0F172A; }
.bt-modal-backdrop .bt-cal-head button { width:34px; height:34px; border-radius:50%; border:0; background:#fff; box-shadow:0 1px 3px rgba(15,23,42,.12); cursor:pointer; color:#0F172A; }
.bt-modal-backdrop .bt-cal-head button:disabled { opacity:.35; cursor:not-allowed; }
.bt-modal-backdrop .bt-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px 2px; }
.bt-modal-backdrop .bt-cal-dow span { text-align:center; font-size:11.5px; font-weight:600; color:#64748B; text-transform:uppercase; padding:6px 0; }
.bt-modal-backdrop .bt-cal-day { position:relative; height:46px; border-radius:14px; border:0; background:transparent; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; font-family:inherit; padding:0; }
.bt-modal-backdrop .bt-cal-num { font-size:15px; font-weight:600; color:#0F172A; }
.bt-modal-backdrop .bt-cal-day small { font-size:8.5px; font-weight:700; text-transform:uppercase; line-height:1; }
.bt-modal-backdrop .bt-cal-day.is-available { background:#ECFDF5; } .bt-modal-backdrop .bt-cal-day.is-available .bt-cal-num { color:#047857; }
.bt-modal-backdrop .bt-cal-day.is-available:hover { background:#D1FAE5; }
.bt-modal-backdrop .bt-cal-dot { position:absolute; bottom:6px; width:4px; height:4px; border-radius:50%; background:#10B981; }
.bt-modal-backdrop .bt-cal-day.is-full { background:#FEF2F2; cursor:not-allowed; } .bt-modal-backdrop .bt-cal-day.is-full .bt-cal-num, .bt-modal-backdrop .bt-cal-day.is-full small { color:#B91C1C; }
.bt-modal-backdrop .bt-cal-day.is-closed { background:repeating-linear-gradient(45deg,#F1F5F9,#F1F5F9 5px,#E8EDF3 5px,#E8EDF3 10px); cursor:not-allowed; } .bt-modal-backdrop .bt-cal-day.is-closed small { color:#64748B; }
.bt-modal-backdrop .bt-cal-day.is-none, .bt-modal-backdrop .bt-cal-day.is-off { cursor:not-allowed; } .bt-modal-backdrop .bt-cal-day.is-none .bt-cal-num, .bt-modal-backdrop .bt-cal-day.is-off .bt-cal-num { color:#CBD5E1; font-weight:500; }
.bt-modal-backdrop .bt-cal-day.is-today:not(.is-selected) { box-shadow:inset 0 0 0 1.5px #1F3B73; }
.bt-modal-backdrop .bt-cal-day.is-selected { background:#1F3B73; box-shadow:0 6px 14px rgba(31,59,115,.35); } .bt-modal-backdrop .bt-cal-day.is-selected .bt-cal-num { color:#fff; } .bt-modal-backdrop .bt-cal-day.is-selected .bt-cal-dot { background:#fff; }
.bt-modal-backdrop .bt-cal-legend { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; font-size:12px; color:#64748B; }
.bt-modal-backdrop .bt-cal-legend span { display:inline-flex; align-items:center; gap:6px; }
.bt-modal-backdrop .bt-lg { display:inline-block; width:9px; height:9px; border-radius:50%; }
.bt-modal-backdrop .bt-lg-available { background:#10B981; } .bt-modal-backdrop .bt-lg-full { background:#EF4444; } .bt-modal-backdrop .bt-lg-closed { background:#CBD5E1; }

/* time chips */
.bt-modal-backdrop .bt-chip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bt-modal-backdrop .bt-time-chip { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:52px; padding:8px 10px; border-radius:14px; border:1.5px solid #E2E8F0; background:#fff; cursor:pointer; font-family:inherit; font-size:14px; font-weight:600; color:#0F172A; transition:.12s; }
.bt-modal-backdrop .bt-time-chip em { font-style:normal; font-size:11.5px; font-weight:600; }
.bt-modal-backdrop .bt-time-chip:hover:not(:disabled) { border-color:#1F3B73; background:#F5F8FF; }
.bt-modal-backdrop .bt-time-chip.is-few em { color:#B45309; }
.bt-modal-backdrop .bt-time-chip.is-booked, .bt-modal-backdrop .bt-time-chip.is-soon { background:#F1F2F4; border-color:#F1F2F4; color:#9AA3AF; cursor:not-allowed; }
.bt-modal-backdrop .bt-time-chip.is-booked span { text-decoration:line-through; } .bt-modal-backdrop .bt-time-chip.is-booked em, .bt-modal-backdrop .bt-time-chip.is-soon em { color:#9AA3AF; }
.bt-modal-backdrop .bt-time-chip.is-selected { background:#1F3B73; border-color:#1F3B73; color:#fff; } .bt-modal-backdrop .bt-time-chip.is-selected em { color:#CBD5E1; }
@keyframes btFade { from { opacity:0; } to { opacity:1; } }
@keyframes btPop { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width: 600px) {
  .bt-modal-backdrop { align-items:flex-end; padding:0; }
  .bt-modal-backdrop .bt-modal { max-width:none; border-radius:20px 20px 0 0; max-height:92vh; animation:btSheet .22s ease; }
  .bt-modal-backdrop .bt-modal-body { padding:4px 16px calc(20px + env(safe-area-inset-bottom)); }
  .bt-modal-backdrop .bt-modal-head { padding:16px 16px 10px; }
}
@keyframes btSheet { from { transform:translateY(100%); } to { transform:none; } }
.bt-modal-backdrop .bt-modal-times > p.bt-muted { margin-bottom:14px; }
.bt-modal-backdrop .bt-slot-period { margin-top:14px; }

/* ===== OTP verification ===== */
.bt .bt-otp { margin-top:22px; padding:18px; background:#F8FAFC; border:1px dashed #CBD5E1; border-radius:16px; }
.bt .bt-otp-head { display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.bt .bt-otp-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:#E8EEFB; color:var(--bt-navy); font-size:18px; flex:none; }
.bt .bt-otp-head h3 { margin:0 0 4px; font-size:16px; color:var(--bt-navy); }
.bt .bt-otp-head p { margin:0; font-size:13.5px; line-height:1.5; color:var(--bt-muted); word-break:break-word; }
.bt .bt-otp-head p strong { color:var(--bt-text); }
.bt .bt-link-inline { margin-left:2px; font-weight:600; text-decoration:underline; }
.bt .bt-otp-send { width:auto; }
.bt .bt-otp-label { display:block; font-size:13px; font-weight:600; color:#334155; margin-bottom:10px; }
.bt .bt-otp-digits { display:flex; gap:10px; }
.bt .bt-otp-digits input { width:48px; height:56px; padding:0; text-align:center; font-size:22px; font-weight:700; color:var(--bt-navy); border:1.5px solid var(--bt-line); border-radius:12px; background:#fff; letter-spacing:0; font-family:inherit; caret-color:var(--bt-navy); }
.bt .bt-otp-digits input:focus { outline:none; border-color:var(--bt-navy); box-shadow:0 0 0 3px rgba(31,59,115,.15); }
.bt .bt-otp-digits input:not(:placeholder-shown), .bt .bt-otp-digits input:valid:not(:placeholder-shown) { border-color:var(--bt-navy); background:#F5F8FF; }
.bt .bt-otp .bt-error { margin-top:10px; display:flex; gap:6px; align-items:flex-start; }
.bt .bt-otp-actions { display:flex; gap:10px; align-items:center; margin-top:16px; flex-wrap:wrap; }
.bt .bt-otp-actions .bt-btn-primary { min-width:120px; }
.bt .bt-otp-actions .bt-btn-ghost { font-weight:600; }
@media (max-width: 480px) {
  .bt .bt-otp { padding:14px; }
  .bt .bt-otp-digits { gap:6px; }
  .bt .bt-otp-digits input { width:calc((100% - 30px) / 6); min-width:0; height:50px; font-size:20px; }
  .bt .bt-otp-actions .bt-btn { flex:1; }
}

/* ===== booking status page ===== */
.bt-status { max-width:1000px; margin:32px auto 56px; padding:0 20px; display:grid; gap:18px; }
.bt-status .bt-panel { margin:0; }
.bt-status-hero { display:flex; align-items:center; gap:20px; padding:22px 26px; border-left:5px solid #F59E0B; }
.bt-status-hero.is-ok { border-left-color:var(--bt-ok); } .bt-status-hero.is-fail { border-left-color:var(--bt-bad); }
.bt-status-icon { width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-size:26px; flex:none; background:#FEF3C7; color:#D97706; }
.bt-status-hero.is-ok .bt-status-icon { background:#DCFCE7; color:var(--bt-ok); } .bt-status-hero.is-fail .bt-status-icon { background:#FEE2E2; color:var(--bt-bad); }
.bt-status-copy { flex:1; min-width:0; }
.bt-status-copy h1 { font-size:21px; margin:0 0 4px; color:var(--bt-navy); line-height:1.3; }
.bt-status-copy p { margin:0; color:var(--bt-muted); font-size:14px; line-height:1.5; }
.bt-notice { display:block; margin-top:6px; color:#B45309; font-weight:600; }
.bt-status-side { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex:none; }
.bt-status .bt-code { margin:0; background:#F1F5F9; padding:8px 16px; border-radius:999px; font-size:13.5px; white-space:nowrap; }
.bt-status-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

.bt-progress-card { padding:22px 18px 18px; overflow-x:auto; }
.bt-hsteps { list-style:none; margin:0; padding:0; display:flex; min-width:560px; }
.bt-hsteps li { flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; position:relative; text-align:center; }
.bt-hsteps li::before { content:''; position:absolute; top:15px; right:50%; width:100%; height:3px; background:#E2E8F0; z-index:0; }
.bt-hsteps li:first-child::before { display:none; }
.bt-hsteps li.is-done::before, .bt-hsteps li.is-current::before { background:var(--bt-ok); }
.bt-hstep-dot { position:relative; z-index:1; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:#E2E8F0; color:#64748B; font-size:13px; font-weight:700; }
.bt-hsteps li.is-done .bt-hstep-dot { background:var(--bt-ok); color:#fff; }
.bt-hsteps li.is-current .bt-hstep-dot { background:var(--bt-navy); color:#fff; box-shadow:0 0 0 5px rgba(31,59,115,.15); }
.bt-hstep-label { font-size:12.5px; font-weight:600; color:#94A3B8; line-height:1.25; }
.bt-hsteps li.is-done .bt-hstep-label { color:var(--bt-text); } .bt-hsteps li.is-current .bt-hstep-label { color:var(--bt-navy); }

.bt-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.bt-info-card { padding:18px 20px; }
.bt-info-card h3 { margin:0 0 10px; font-size:15px; color:var(--bt-navy); display:flex; align-items:center; gap:10px; padding-bottom:10px; border-bottom:1px solid #F1F5F9; }
.bt-info-card h3 i { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#E8EEFB; font-size:13px; }
.bt-info-card dl { margin:0; }
.bt-info-card dl > div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:8px 0; font-size:14px; align-items:start; }
.bt-info-card dt { color:var(--bt-muted); font-size:13px; }
.bt-info-card dd { margin:0; font-weight:600; color:var(--bt-text); }
.bt-info-card .bt-break { word-break:break-all; font-weight:500; }
.bt-people { display:flex; flex-direction:column; gap:6px; }
.bt-people span { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; }
.bt-people small { font-weight:500; color:var(--bt-muted); font-size:12.5px; }
.bt-pill { display:inline-block; padding:3px 12px; border-radius:999px; font-size:12px; font-weight:700; }
.bt-pill-ok { background:#DCFCE7; color:#166534; } .bt-pill-wait { background:#FEF3C7; color:#92400E; } .bt-pill-bad { background:#FEE2E2; color:#991B1B; }
.bt-status-links { display:flex; justify-content:center; gap:22px; flex-wrap:wrap; margin:6px 0 0; }
.bt-status-links a { font-weight:600; text-decoration:none; font-size:14px; } .bt-status-links a i { margin-right:6px; font-size:12px; }

@media (max-width: 760px) {
  .bt-status { margin:18px auto 40px; padding:0 16px; }
  .bt-status-hero { flex-direction:column; align-items:flex-start; text-align:left; gap:14px; padding:20px; border-left-width:0; border-top:5px solid #F59E0B; }
  .bt-status-hero.is-ok { border-top-color:var(--bt-ok); } .bt-status-hero.is-fail { border-top-color:var(--bt-bad); }
  .bt-status-side { align-items:stretch; width:100%; } .bt-status-actions .bt-btn { flex:1; }
  .bt-info-grid { grid-template-columns:1fr; }
  .bt-info-card dl > div { grid-template-columns:78px minmax(0,1fr); }
}
.bt .bt-dev-otp { margin:10px 0 0; padding:8px 12px; background:#FFFBEB; border:1px dashed #F59E0B; border-radius:10px; font-size:12.5px; color:#92400E; }
.bt .bt-dev-otp strong { letter-spacing:2px; font-size:14px; }

/* Searchable lab-branch dropdown (booking wizard, collection step) */
.bt-combo { margin-bottom:6px; }
.bt-combo-anchor { position:relative; z-index:30; }
.bt-combo-button { width:100%; display:flex; align-items:center; gap:12px; padding:12px 14px; text-align:left; background:#fff; border:1.5px solid var(--bt-line); border-radius:12px; cursor:pointer; font-family:inherit; transition:border-color .15s, box-shadow .15s; }
.bt-combo-button:hover { border-color:#94A3B8; }
.bt-combo-button:focus-visible, .bt-combo-button[aria-expanded="true"] { outline:none; border-color:var(--bt-navy); box-shadow:0 0 0 3px rgba(31,59,115,.12); }
.bt-combo-icon { flex:none; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#FFF1F2; color:var(--bt-accent); }
.bt-combo-value { flex:1; min-width:0; }
.bt-combo-value strong { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:14.5px; color:var(--bt-text); }
.bt-combo-value small { display:block; margin-top:2px; font-size:12.5px; color:var(--bt-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bt-combo-value .bt-placeholder { color:var(--bt-muted); font-weight:600; }
.bt-combo-caret { flex:none; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--bt-navy); }
.bt-combo-caret i { transition:transform .2s; } .bt-combo-caret i.is-up { transform:rotate(180deg); }
.bt-combo-tag { font-style:normal; font-size:10.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; padding:2px 7px; border-radius:999px; background:#ECFDF5; color:var(--bt-ok); }
.bt-combo-dist { font-style:normal; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:999px; background:#EEF2FF; color:var(--bt-navy); white-space:nowrap; }
.bt-combo-panel { position:absolute; z-index:40; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid var(--bt-line); border-radius:14px; box-shadow:0 18px 40px -12px rgba(15,23,42,.28); overflow:hidden; }
.bt-combo-search { position:relative; display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--bt-line); background:#F8FAFC; }
.bt-combo-search i { color:var(--bt-muted); font-size:13px; }
.bt-combo-search input { flex:1; border:0; background:transparent; font-size:14px; padding:4px 0; outline:none; font-family:inherit; }
.bt-combo-count { font-size:11px; color:var(--bt-muted); white-space:nowrap; }
.bt-combo-list { list-style:none; margin:0; padding:6px; max-height:300px; overflow-y:auto; }
.bt-combo-list li { display:flex; align-items:center; gap:10px; padding:10px 10px; border-radius:10px; cursor:pointer; }
.bt-combo-list li.is-active { background:#F1F5FF; }
.bt-combo-list li.is-selected { background:#EEF2FF; }
.bt-combo-main { flex:1; min-width:0; }
.bt-combo-main strong { display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:13.5px; color:var(--bt-text); }
.bt-combo-main small { display:block; margin-top:2px; font-size:12px; color:var(--bt-muted); }
.bt-combo-list mark { background:#FEF08A; color:inherit; padding:0 1px; border-radius:3px; }
.bt-combo-side { flex:none; display:flex; align-items:center; gap:8px; }
.bt-combo-side .fa-circle-check { color:var(--bt-ok); }
.bt-combo-list .bt-combo-empty { cursor:default; color:var(--bt-muted); font-size:13px; justify-content:center; padding:18px 10px; }
.bt-combo-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin:8px 2px 0; font-size:12.5px; color:var(--bt-muted); }
.bt-combo-foot span { color:var(--bt-ok); font-weight:600; }
.bt-combo-foot a { font-weight:700; margin-left:auto; }
@media (max-width:560px) { .bt-combo-caret span { display:none; } .bt-combo-list { max-height:260px; } }
.bt-combo-list .bt-hit { background:#FEF08A; border-radius:3px; }
.bt-combo-caret i { font-size:12px; line-height:1; display:inline-block; width:12px; text-align:center; }
