/* Scoped to the public homepage's two TEST services. */
.tb-test-service { color:#173a42; padding:6px 0 2px; }
.tb-test-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:8px; }
.tb-test-heading h2 { margin:0; font-size:20px; font-weight:750; line-height:1.4; }
.tb-test-badge { display:inline-flex; align-items:center; border-radius:6px; padding:4px 8px; background:#fff4db; color:#855900; font-size:10px; font-weight:800; letter-spacing:.06em; }
.tb-test-description { margin:0; color:#627d86; font-size:13px; line-height:1.6; }
.tb-test-service>p { margin-bottom:18px; }
.tb-test-service fieldset { border:0; margin:0; padding:0; min-width:0; }
.tb-test-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.tb-test-field { display:flex; flex-direction:column; gap:7px; min-width:0; margin:0; }
.tb-test-field>span { color:#42626c; font-size:12px; font-weight:700; }
.tb-test-field input,.tb-test-field select { width:100%; min-width:0; height:46px; padding:10px 12px; border:1px solid #cbdee4; border-radius:10px; background:#fff; color:#203d49; font-family:inherit; font-size:14px; box-sizing:border-box; }
.tb-test-field input:focus,.tb-test-field select:focus { outline:2px solid #afe3e9; outline-offset:2px; border-color:#009fb2; box-shadow:none; }
.cab-app .tb-test-field textarea { width:100%;min-width:0;padding:12px;border:1px solid #cbdee4;border-radius:10px;background:#fff;color:#203d49;font-family:inherit;font-size:14px;box-sizing:border-box;resize:vertical; }
.cab-app .tb-test-field textarea:focus { outline:2px solid #afe3e9;outline-offset:2px;border-color:#009fb2;box-shadow:none; }
.tb-test-service input:disabled,.tb-test-service select:disabled { background:#f5f8fa; color:#70828d; }
.tb-test-service [hidden] { display:none!important; }
.tb-test-travellers { display:flex; gap:12px; align-items:flex-start; margin-top:16px; }
.tb-test-count { flex:0 0 150px; }
.tb-test-dobs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex:1; gap:12px; min-width:0; }
.tb-test-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; }
.tb-test-submit { flex-shrink:0; padding:13px 22px; border:1px solid #105460; border-radius:10px; background:#105460; color:#fff; font-size:14px; font-weight:750; cursor:pointer; }
.tb-test-submit:hover:not(:disabled) { background:#087184; }
.tb-test-submit:disabled { opacity:.55; cursor:not-allowed; }
.tb-test-feedback { margin-top:14px; font-size:13px; line-height:1.6; color:#59737b; }
.tb-test-feedback.is-error { color:#ae3d27; }
.tb-test-retry { background:#fff; border:1px solid #cbdee4; border-radius:8px; padding:7px 11px; margin-top:8px; color:#105460; font-size:13px; font-weight:700; }
.tb-test-results { margin-top:18px; border-top:1px solid #dfebef; padding-top:18px; }
.tb-test-results h3 { font-size:17px; margin:0 0 5px; }
.tb-test-plan-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.tb-test-plan { border:1px solid #d8e7eb; border-radius:12px; padding:18px; background:#f8fbfc; overflow-wrap:anywhere; }
.tb-test-plan h4 { font-size:16px; font-weight:700; margin:0 0 10px; }
.tb-test-plan p { font-size:13px; color:#58727c; margin:6px 0; }
.tb-test-plan strong { display:block; font-size:24px; color:#145764; margin:14px 0 3px; }
@media(max-width:767.98px) {
  /* Five service tabs stay visible instead of overflowing the page. */
  .tb-home-reference #home-search .tb-service-tabs { position:relative!important; top:auto!important; left:auto!important; width:100%!important; max-width:100%!important; margin:-12px 0 18px!important; padding-bottom:5px!important; gap:5px!important; overflow-x:auto!important; }
  .tb-home-reference #home-search .tb-service-tab { flex:1 0 auto!important; padding:8px 10px!important; }
  .tb-test-fields,.tb-test-plan-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tb-test-travellers { display:block; }
  .tb-test-count { max-width:190px; margin-bottom:12px; }
  .tb-test-dobs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tb-test-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .tb-test-submit { width:100%; }
}
@media(max-width:420px) {
  .tb-home-reference #home-search .tb-service-tabs { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; overflow:visible!important; }
  .tb-home-reference #home-search .tb-service-tab { flex-direction:column!important; justify-content:center!important; height:48px!important; padding:6px 0!important; gap:5px!important; font-size:10px!important; border-radius:12px!important; }
  .tb-home-reference #home-search .tb-service-tab i { font-size:12px!important; }
  .tb-test-fields,.tb-test-dobs,.tb-test-plan-list { grid-template-columns:minmax(0,1fr); }
}

/* Insurance search follows the public Flight / Hotel palette and typography. */
#home-search .insurance-search{font-family:inherit;font-weight:400;color:#293248}.insurance-search .insurance-types{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.insurance-types label{position:relative;margin:0;cursor:pointer}.insurance-types input{position:absolute;opacity:0;width:1px;height:1px}.insurance-types span{display:block;border:1px solid #e2eaf5;border-radius:24px;background:#f7faff;padding:10px 18px;font-size:14px;font-weight:650;color:#234550}.insurance-types input:checked+span{background:#009fb2;border-color:#009fb2;color:#fff}.insurance-types input:focus-visible+span{outline:2px solid #124f57;outline-offset:3px}.insurance-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;background:#f1f7f8;border:1px solid #e0ecef;border-radius:12px;padding:14px 16px;margin-bottom:20px}.insurance-booking .tb-test-retry{height:46px;margin:0;padding:10px 22px}.insurance-booking small{font-size:12px;font-weight:400;color:#738096}.insurance-booking p{grid-column:1/-1;margin:0;color:#5a7680;font-size:12px}.insurance-destination h3{font-size:17px;font-weight:700;color:#153f48;margin:0 0 14px}.insurance-destination{margin-bottom:20px}.insurance-country-search{margin-bottom:12px}.insurance-destination .tb-test-fields{grid-template-columns:minmax(0,1fr)}.insurance-regions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.insurance-regions>span{font-size:12px;color:#738096;margin-right:6px}.insurance-regions button{font:inherit;font-size:12px;font-weight:600;border:1px solid #dce9ec;border-radius:20px;background:#fff;padding:7px 14px;color:#124f57;cursor:pointer}.insurance-regions button[aria-pressed=true]{border-color:#009fb2;background:#eaf7f8}.insurance-search .insurance-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.insurance-search .tb-test-travellers{display:block;border-top:1px solid #edf3f5;padding-top:18px;margin-top:18px}.insurance-search .tb-test-count{max-width:280px;margin-bottom:14px}.insurance-counter{display:flex;justify-content:space-between;align-items:center;height:46px;border:1px solid #cbdee4;border-radius:10px;padding:5px;background:#fff}.insurance-counter button{height:34px;width:34px;border:1px solid #dce9ec;border-radius:7px;background:#edf6f6;color:#124f57;font-size:21px;cursor:pointer}.insurance-counter button:disabled{opacity:.4;cursor:default}.insurance-counter output{font-size:14px;font-weight:650;color:#234550}.insurance-search .tb-test-dobs{grid-template-columns:repeat(3,minmax(0,1fr))}.insurance-search .tb-test-actions{gap:16px}.insurance-search .tb-test-submit{background:linear-gradient(120deg,#009fb2,#ef6b35);border:0;padding:14px 26px;border-radius:12px;font-size:14px}.insurance-search .tb-test-field input:focus,.insurance-search .tb-test-field select:focus{outline:none!important;box-shadow:none!important;border-color:#009fb2!important}.insurance-search .tb-test-field>span{font-size:12px;font-weight:600}.insurance-search .tb-test-field input,.insurance-search .tb-test-field select{font-size:14px;font-weight:400}.insurance-search button:focus-visible{outline:2px solid #124f57;outline-offset:2px}
@media(max-width:767.98px){.insurance-types span{padding:8px 12px;font-size:12px}.insurance-search .insurance-dates,.insurance-search .tb-test-dobs{grid-template-columns:minmax(0,1fr)}.insurance-booking{padding:12px;gap:10px}.insurance-booking .tb-test-retry{padding:10px 12px}.insurance-search .tb-test-actions{align-items:stretch;flex-direction:column}.insurance-search .tb-test-submit{width:100%}.insurance-search .tb-test-count{max-width:none}}
#home-search .insurance-search input,#home-search .insurance-search select{font-weight:400!important}#home-search .insurance-search .insurance-types span{font-weight:650!important}#home-search .insurance-search .tb-test-field>span{font-weight:600!important}
.insurance-search .insurance-annual{display:grid;gap:18px;margin:0 0 20px}.insurance-annual legend{display:block;float:none;width:auto;padding:0;margin:0 0 10px;color:#153f48;font:inherit;font-size:15px;font-weight:700}.insurance-choice-row{display:flex;flex-wrap:wrap;gap:10px}.insurance-choice-row label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #dce9ec;border-radius:10px;margin:0;font-size:13px;color:#234550;cursor:pointer;background:#fff}.insurance-choice-row label:has(input:checked){border-color:#009fb2;background:#edf8f9}.insurance-choice-row input{width:16px;height:16px;margin:0;accent-color:#009fb2}.insurance-search [data-insurance-annual-end] input{background:#f1f5f7;color:#738096}.insurance-search [hidden]{display:none!important}@media(max-width:767.98px){.insurance-choice-row label{padding:9px 11px;font-size:12px}}
.insurance-traveller-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:20px;align-items:start}.insurance-search .tb-test-dobs{grid-template-columns:minmax(0,1fr);gap:14px}.insurance-traveller-card{border:1px solid #dce9ec;border-radius:12px;padding:14px;background:#fff}.insurance-traveller-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.insurance-traveller-heading h4{font-size:14px;color:#153f48;margin:0;font-weight:700}.insurance-traveller-heading button{width:27px;height:27px;border:0;border-radius:50%;color:#5a7680;background:#edf5f5;font-size:20px;cursor:pointer}.insurance-traveller-heading button:disabled{opacity:.3;cursor:default}.insurance-dob-age{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}.insurance-or{height:46px;display:flex;align-items:center;color:#738096;font-size:12px}.insurance-traveller-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.insurance-passport{border:1px dashed #b9dce0;border-radius:12px;background:#f7fbfc;padding:18px}.insurance-passport h3{font-size:16px;color:#153f48;margin:0 0 8px}.insurance-passport p,.insurance-age-note{font-size:12px;color:#738096;line-height:1.6}.insurance-passport .tb-test-retry{width:100%;margin-top:12px}.insurance-ocr-dialog{width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;border:1px solid #dce9ec;border-radius:16px;padding:22px;color:#234550;font-family:inherit;box-shadow:0 20px 60px #163e482b}.insurance-ocr-dialog::backdrop{background:#153f4870}.insurance-ocr-dialog h3{font-size:19px;margin:0 0 12px}.insurance-ocr-dialog p{font-size:13px;line-height:1.6;color:#738096}.insurance-ocr-dialog .tb-test-field{margin:12px 0}.insurance-ocr-dialog .tb-test-actions{margin-top:18px;gap:10px}@media(max-width:767.98px){.insurance-traveller-layout{grid-template-columns:minmax(0,1fr)}.insurance-dob-age{gap:8px}.insurance-traveller-card{padding:12px}.insurance-ocr-dialog{padding:16px}}
@media(max-width:480px){.insurance-dob-age{grid-template-columns:minmax(0,1fr)}.insurance-or{height:auto;justify-content:center}.insurance-traveller-names{grid-template-columns:minmax(0,1fr)}}
.insurance-domestic .insurance-passport,.insurance-domestic .insurance-traveller-names{display:none!important}.insurance-domestic .insurance-traveller-layout{grid-template-columns:minmax(0,1fr)}.insurance-domestic .tb-test-travellers{border:1px solid #dce9ec;border-radius:12px;padding:16px}.insurance-domestic .tb-test-dobs{max-width:620px}.insurance-domestic .tb-test-count{max-width:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.insurance-domestic .insurance-counter{width:240px;max-width:65%}.insurance-domestic .tb-test-count>span{font-size:14px}.insurance-domestic .insurance-age-note{margin:14px 0 0}@media(max-width:767.98px){.insurance-domestic .tb-test-travellers{padding:12px}.insurance-domestic .insurance-counter{width:200px}}
/* Compact insurance form, retaining each category's existing inputs. */
#home-search .insurance-search .insurance-types{gap:8px;margin-bottom:12px}#home-search .insurance-search .insurance-types span{padding:8px 16px;font-size:13px}#home-search .insurance-search .insurance-booking{padding:10px 12px;margin-bottom:12px;gap:10px}#home-search .insurance-search .tb-test-field{gap:5px}#home-search .insurance-search .tb-test-field input,#home-search .insurance-search .tb-test-field select{height:40px;padding:8px 10px;font-size:13px;border-radius:8px}#home-search .insurance-search .insurance-booking .tb-test-retry{height:40px;padding:8px 18px;font-size:12px}#home-search .insurance-search .insurance-destination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-bottom:12px}#home-search .insurance-search .insurance-destination h3{grid-column:1/-1;margin:0;font-size:15px}#home-search .insurance-search .insurance-country-search{margin:0}#home-search .insurance-search .insurance-regions{grid-column:1/-1;gap:6px;margin:0}#home-search .insurance-search .insurance-regions button{padding:5px 11px;font-size:11px}#home-search .insurance-search .insurance-dates{gap:12px}#home-search .insurance-search .tb-test-travellers{margin-top:12px;padding-top:12px}#home-search .insurance-search .tb-test-count{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;max-width:none;margin-bottom:10px}#home-search .insurance-search .insurance-counter{height:38px;width:220px;max-width:65%;padding:3px}#home-search .insurance-search .insurance-counter button{height:30px;width:30px;font-size:19px}#home-search .insurance-search .insurance-counter output{font-size:13px}#home-search .insurance-search .insurance-traveller-layout{gap:14px;grid-template-columns:minmax(0,1fr) 280px}#home-search .insurance-search .tb-test-dobs{gap:10px}#home-search .insurance-search .insurance-traveller-card{padding:10px 12px}#home-search .insurance-search .insurance-traveller-heading{margin-bottom:8px}#home-search .insurance-search .insurance-traveller-heading h4{font-size:13px}#home-search .insurance-search .insurance-dob-age{gap:8px}#home-search .insurance-search .insurance-or{height:40px}#home-search .insurance-search .insurance-traveller-names{gap:10px;margin-top:8px}#home-search .insurance-search .insurance-passport{padding:12px}#home-search .insurance-search .insurance-passport h3{font-size:14px;margin-bottom:5px}#home-search .insurance-search .insurance-passport p{font-size:11px;line-height:1.5;margin:6px 0}#home-search .insurance-search .insurance-passport .tb-test-retry{padding:8px 10px;font-size:12px;margin-top:8px}#home-search .insurance-search .insurance-age-note{font-size:11px;margin:8px 0}#home-search .insurance-search .tb-test-actions{margin-top:12px;gap:12px}#home-search .insurance-search .tb-test-submit{padding:11px 22px;font-size:13px}#home-search .insurance-search .tb-test-description{font-size:11px}#home-search .insurance-search .insurance-annual{gap:12px;margin-bottom:12px}#home-search .insurance-search .insurance-annual legend{font-size:14px;margin-bottom:7px}#home-search .insurance-search .insurance-choice-row label{padding:7px 11px;font-size:12px}#home-search .insurance-domestic .insurance-traveller-layout{grid-template-columns:minmax(0,1fr)}#home-search .insurance-domestic .tb-test-travellers{padding:12px}#home-search .insurance-domestic .tb-test-dobs{max-width:620px}
@media(min-width:1200px){#home-search .insurance-search:not(.insurance-domestic) .insurance-traveller-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px}#home-search .insurance-search:not(.insurance-domestic) .insurance-traveller-heading{grid-column:1/-1;margin:0}#home-search .insurance-search:not(.insurance-domestic) .insurance-traveller-names{margin:0}#home-search .insurance-search .insurance-destination{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:991.98px){#home-search .insurance-search .insurance-traveller-layout{grid-template-columns:minmax(0,1fr)}#home-search .insurance-search .insurance-passport{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}#home-search .insurance-search .insurance-passport h3{margin:0}#home-search .insurance-search .insurance-passport .tb-test-retry{grid-column:2;grid-row:1/3;margin:0;width:auto}#home-search .insurance-search [data-insurance-passport-status]{grid-column:1/-1}}
@media(max-width:600px){#home-search .insurance-search .insurance-destination,#home-search .insurance-search .insurance-dates{grid-template-columns:minmax(0,1fr)}#home-search .insurance-search .insurance-passport{display:block}#home-search .insurance-search .insurance-passport .tb-test-retry{width:100%;margin-top:8px}#home-search .insurance-search .insurance-types span{padding:7px 12px;font-size:12px}}
@media(max-width:480px){#home-search .insurance-search .insurance-dob-age,#home-search .insurance-search .insurance-traveller-names{grid-template-columns:minmax(0,1fr)}#home-search .insurance-search .insurance-or{height:auto}}
#home-search .insurance-search input:focus,#home-search .insurance-search input:focus-visible,#home-search .insurance-search select:focus,#home-search .insurance-search select:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important;border-color:#70aab2!important}
