.insurance-page { padding-top:30px; padding-bottom:36px; color:#25445e; }
.insurance-heading > span { color:#c87318; font-size:11px; font-weight:800; letter-spacing:1px; }
.insurance-heading h1 { color:#164b78; font-size:30px; margin:8px 0; }
.insurance-heading p { margin:0 0 20px; font-size:14px; color:#587188; }
.insurance-search { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:22px; border:1px solid #d7e4ef; border-radius:14px; background:#fff; }
.insurance-search label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:600; color:#526b82; min-width:0; }
.insurance-search .home-field-wide { grid-column:span 2; }
.insurance-search input,.insurance-search select,.insurance-search .calendar-trigger { width:100%; min-width:0; height:46px; border:1px solid #d7e3ef; border-radius:9px; background:#f8fafc; color:#203e58; padding:10px 12px; font:inherit; font-size:13px; box-sizing:border-box; }
.insurance-search .calendar-trigger { display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
.insurance-search .calendar-trigger::after { content:'▦'; color:#668099; }
.insurance-search input:focus,.insurance-search select:focus,.insurance-search button:focus-visible { outline:2px solid #83afd2; outline-offset:1px; }
.insurance-search > .btn-tour-search { grid-column:1/-1; justify-self:end; font-size:13px; padding:12px 20px; }
.insurance-providers { display:flex; gap:10px; margin:16px 0 24px; flex-wrap:wrap; }
.insurance-providers > span { display:flex; gap:9px; align-items:center; border:1px solid #dbe5ed; background:#fff; padding:8px 12px; border-radius:8px; }
.insurance-providers strong { color:#254f72; font-size:13px; }.insurance-providers small { font-size:10px; color:#64798c; }
.insurance-error { background:#fff3eb; color:#9c4116; padding:14px 18px; border-radius:9px; font-size:13px; }
.insurance-results-heading h2 { font-size:20px; margin:0 0 6px; color:#174d7a; }.insurance-results-heading p { font-size:12px; color:#5b7488; margin:0 0 16px; }
.insurance-offers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:start; }
.insurance-offer { background:#fff; border:1px solid #d5e3ef; border-radius:12px; padding:18px; min-width:0; }
.insurance-offer-brand { display:flex; align-items:center; gap:7px; color:#437565; font-size:10px; }.insurance-offer-brand i { font-size:17px; }
.insurance-offer h3 { margin:13px 0; color:#174d78; font-size:18px; }.insurance-limit { margin:0 0 14px; padding:12px; border-radius:8px; background:#f0f6fb; font-size:11px; color:#526f87; }.insurance-limit strong { display:block; margin-top:5px; font-size:18px; color:#164a75; }
.insurance-offer dl { margin:0; }.insurance-offer dl > div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #edf2f6; font-size:10px; line-height:1.6; }.insurance-offer dt { color:#567088; }.insurance-offer dd { margin:0; text-align:right; font-weight:700; white-space:nowrap; }
.insurance-offer details { font-size:11px; line-height:1.8; margin-top:12px; }.insurance-offer summary,.insurance-notes summary { cursor:pointer; color:#1c5d8b; font-weight:600; }.insurance-offer details p { color:#536c80; margin:8px 0; }.insurance-offer details a,.insurance-notes a { color:#17628f; text-decoration:underline; }
.insurance-offer-price { margin:16px 0 12px; display:flex; flex-direction:column; gap:4px; }.insurance-offer-price small,.insurance-offer-price span { color:#617b8d; font-size:10px; }.insurance-offer-price strong { color:#d96b1a; font-size:24px; }
.insurance-select { display:flex; justify-content:space-between; align-items:center; gap:8px; border-radius:7px; background:#174e7b; color:#fff; padding:11px 12px; font-size:11px; font-weight:700; }.insurance-select:hover { background:#103c60; color:#fff; }
.insurance-notes { margin-top:24px; padding:18px 20px; background:#f0f5fa; border:1px solid #dce7f0; border-radius:12px; font-size:12px; line-height:1.9; color:#4f687e; }.insurance-notes h2 { font-size:15px; color:#244f70; margin:0 0 9px; }.insurance-notes p { margin:7px 0; }.insurance-notes > a { display:inline-block; margin-top:10px; }
@media(max-width:1000px) { .insurance-offers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .insurance-page { padding-top:20px; }.insurance-heading h1 { font-size:23px; }.insurance-heading p { font-size:12px; line-height:1.8; }.insurance-search { padding:14px; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }.insurance-search > .btn-tour-search { width:100%; }.insurance-providers { gap:7px; margin-bottom:18px; }.insurance-providers > span { flex:1 1 40%; padding:8px; gap:7px; }.insurance-offer { padding:14px; }.insurance-offer h3 { font-size:16px; }.insurance-limit { padding:10px; }.insurance-limit strong { font-size:16px; }.insurance-offer-price strong { font-size:21px; }.insurance-offer dl > div { flex-direction:column; gap:2px; }.insurance-offer dd { text-align:left; }.insurance-select { font-size:10px; padding:10px 8px; }.insurance-notes { padding:14px; } }
@media(max-width:360px) { .insurance-offers { grid-template-columns:1fr; } }
.insurance-country-menu { position:fixed; z-index:2600; overflow-y:auto; overscroll-behavior:contain; background:#fff; color:#23435e; border:1px solid #d5e3ef; box-shadow:0 12px 32px #163f6326; border-radius:11px; padding:5px; box-sizing:border-box; }
.insurance-country-menu[hidden] { display:none; }
.insurance-country-menu > button { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; text-align:left; border:0; background:#fff; color:#23435e; border-radius:7px; padding:10px 11px; font:inherit; cursor:pointer; }
.insurance-country-menu > button:hover,.insurance-country-menu > button[aria-selected=true] { background:#edf5fc; }
.insurance-country-menu button > span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.insurance-country-menu strong { font-size:13px; font-weight:600; line-height:1.5; }.insurance-country-menu small { font-size:11px; color:#657d91; line-height:1.5; }.insurance-country-menu b { font-size:11px; padding:5px 7px; border-radius:5px; background:#eff4f9; color:#275f87; }
.insurance-country-message { padding:14px 10px; font-size:12px; line-height:1.7; color:#5c748b; }
@media(max-width:760px) { [data-insurance-form] input[name=dob],[data-insurance-form] input[name=destination] { font-size:16px!important; } }
/* Result flow: a real asynchronous lookup, compact rows and expandable benefits. */
.insurance-edit-search { border:1px solid #d8e5ef; background:#fff; border-radius:10px; margin-bottom:16px; }
.insurance-edit-search > summary { padding:14px 18px; display:flex; justify-content:space-between; align-items:center; gap:15px; list-style:none; cursor:pointer; font-size:13px; color:#214f74; }
.insurance-edit-search > summary::-webkit-details-marker { display:none; }.insurance-edit-search summary b { font-size:11px; padding:8px 10px; background:#edf5fc; border:1px solid #d8e7f3; border-radius:6px; white-space:nowrap; }.insurance-edit-search summary b i { margin-left:6px; font-size:9px; }.insurance-edit-search .insurance-search { border:0; border-top:1px solid #e5edf4; border-radius:0 0 10px 10px; }
.insurance-pending .insurance-providers,.insurance-pending .insurance-notes,.insurance-pending .insurance-edit-search { display:none; }
.insurance-loading { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; padding:35px 16px; text-align:center; background:radial-gradient(ellipse,#eef6fd,transparent 65%); }
.insurance-loading-icon { position:relative; width:72px; height:72px; display:grid; place-items:center; color:#1c6898; font-size:29px; margin-bottom:18px; }.insurance-loading-icon > span { position:absolute; inset:0; border:2px solid #d7e8f4; border-top-color:#ed942a; border-radius:50%; animation:insurance-lookup-spin 1.7s linear infinite; }.insurance-loading h2 { font-size:16px; color:#234f72; margin:0 0 8px; }.insurance-loading p { font-size:12px; color:#668298; margin:0; }.insurance-loading-bar { width:190px; height:3px; border-radius:3px; background:#deebf5; overflow:hidden; margin-top:20px; }.insurance-loading-bar span { display:block; height:100%; width:40%; background:#2d739f; animation:insurance-lookup-sweep 2s ease-in-out infinite; }
.insurance-result-rows { display:flex; flex-direction:column; gap:10px; }
.insurance-result-rows .insurance-offer { width:100%; box-sizing:border-box; display:grid; grid-template-columns:minmax(140px,1fr) minmax(145px,1.1fr) minmax(180px,1.3fr) minmax(120px,1fr) 80px; align-items:center; column-gap:22px; padding:16px 20px 10px; border-radius:9px; }
.insurance-result-rows .insurance-offer-brand { font-size:11px; gap:10px; }.insurance-result-rows .insurance-offer-brand > i { font-size:26px; }.insurance-result-rows .insurance-offer-brand > div { display:flex; flex-direction:column; gap:4px; }.insurance-result-rows .insurance-offer-brand strong { font-size:15px; }.insurance-result-rows .insurance-offer-brand span { font-size:10px; color:#6b8295; }
.insurance-result-rows h3 { margin:0 0 6px; font-size:15px; }.insurance-plan-name > span { font-size:10px; color:#6b8295; }.insurance-result-rows .insurance-limit { margin:0; padding:0; background:none; font-size:10px; }.insurance-result-rows .insurance-limit strong { font-size:17px; }.insurance-result-rows .insurance-offer-price { margin:0; text-align:right; }.insurance-result-rows .insurance-offer-price strong { font-size:21px; }.insurance-result-rows .insurance-select { justify-content:center; gap:8px; padding:10px; }
.insurance-row-details { grid-column:1/-1; margin-top:8px!important; }.insurance-row-details > summary { width:max-content; font-size:10px; padding:3px 0; }.insurance-row-details summary > i { font-size:8px; margin-left:5px; }.insurance-row-details[open] summary > i { transform:rotate(180deg); }.insurance-row-benefits { margin-top:10px; border-top:1px solid #e7eef4; padding-top:8px; }.insurance-row-benefits dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.insurance-row-benefits dl > div { font-size:11px; }.insurance-row-benefits p { font-size:11px; }.insurance-retry { width:max-content; }
@keyframes insurance-lookup-spin { to { transform:rotate(360deg); } }@keyframes insurance-lookup-sweep { from { transform:translateX(-110%); }to { transform:translateX(360%); } }
@media(max-width:1000px) and (min-width:761px) { .insurance-result-rows .insurance-offer { column-gap:12px; grid-template-columns:120px 130px minmax(150px,1fr) 110px 65px; padding:14px; }.insurance-result-rows .insurance-offer-price strong { font-size:18px; }.insurance-result-rows .insurance-limit strong { font-size:15px; } }
@media(max-width:760px) { .insurance-loading { min-height:260px; }.insurance-loading h2 { font-size:14px; max-width:290px; line-height:1.7; }.insurance-edit-search > summary { padding:12px; font-size:12px; }.insurance-result-rows .insurance-offer { grid-template-columns:minmax(0,1fr) auto; padding:14px; gap:12px; }.insurance-result-rows .insurance-offer-brand { grid-column:1; }.insurance-plan-name { grid-column:2; grid-row:1; text-align:right; }.insurance-result-rows .insurance-limit { grid-column:1; grid-row:2; }.insurance-result-rows .insurance-offer-price { grid-column:2; grid-row:2; }.insurance-result-rows .insurance-limit strong { font-size:15px; }.insurance-result-rows .insurance-offer-price strong { font-size:20px; }.insurance-result-rows .insurance-select { grid-column:2; grid-row:3; min-width:70px; justify-self:end; }.insurance-result-rows .insurance-row-details { grid-column:1/-1; grid-row:4; margin-top:0!important; }.insurance-row-benefits dl { display:block; }.insurance-row-benefits dl > div { flex-direction:row; }.insurance-row-benefits dd { text-align:right; } }
@media(prefers-reduced-motion:reduce) { .insurance-loading-icon > span,.insurance-loading-bar span { animation:none; } }
/* Clear hierarchy, readable metadata and destination/duration at a glance. */
.insurance-banner { position:relative; isolation:isolate; overflow:hidden; background:#103f63; }
.insurance-banner picture { position:absolute; inset:0; z-index:-2; }.insurance-banner img { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.insurance-banner::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,42,67,.95),rgba(12,51,78,.82) 42%,rgba(12,51,78,.2)); }
.insurance-banner-content { padding-top:38px; padding-bottom:40px; }.insurance-banner-content > span { color:#ffd39a; font-size:10px; letter-spacing:1.1px; font-weight:800; display:flex; align-items:center; gap:8px; }.insurance-banner h1 { margin:12px 0 9px; color:#fff; font-size:30px; line-height:1.3; }.insurance-banner p { margin:0; color:#e2edf5; font-size:13px; }
.insurance-page { padding-top:22px; }.insurance-edit-search { box-shadow:0 3px 13px #1b4c7006; border-color:#d0dfec; }.insurance-edit-search > summary { padding:17px 20px; }.insurance-trip-summary { display:flex; flex:1; align-items:center; gap:36px; min-width:0; }.insurance-trip-summary > span { display:flex; flex-direction:column; gap:6px; min-width:0; }.insurance-trip-summary small { color:#536b7e; font-size:11px; font-weight:500; }.insurance-trip-summary strong { color:#153f60; font-size:14px; font-weight:700; overflow-wrap:anywhere; }.insurance-trip-summary .insurance-trip-destination { flex-direction:row; align-items:center; gap:12px; flex:1; }.insurance-trip-destination > i { display:grid; place-items:center; width:38px; height:38px; background:#edf5fb; color:#27698f; border-radius:10px; flex-shrink:0; font-size:17px; }.insurance-trip-destination > span { display:flex; flex-direction:column; gap:6px; }.insurance-trip-dates strong > span { color:#70889b; padding:0 5px; }.insurance-trip-summary .insurance-trip-duration { margin-right:20px; }.insurance-trip-duration strong { color:#92530c; background:#fff3df; padding:4px 9px; border-radius:6px; width:max-content; }
.insurance-pending .insurance-edit-search { display:block; }.insurance-results-heading { margin-top:20px; margin-bottom:12px; }.insurance-results-heading h2 { font-size:19px; }.insurance-results-heading p { font-size:12px; color:#516d82; line-height:1.7; margin-bottom:0; }
.insurance-providers { margin:14px 0 18px; }.insurance-providers small { color:#536b7f; }.insurance-providers > span { padding:8px 11px; }
.insurance-results-columns { display:grid; grid-template-columns:minmax(140px,1fr) minmax(145px,1.1fr) minmax(180px,1.3fr) minmax(120px,1fr) 80px; gap:22px; padding:0 20px 1px; color:#516a7d; font-size:10px; font-weight:600; }.insurance-results-columns > span:nth-child(4) { text-align:right; }
.insurance-result-rows .insurance-offer { padding-top:15px; padding-bottom:9px; border-color:#d6e2ed; box-shadow:0 2px 6px #123d6104; transition:border-color .18s ease,box-shadow .18s ease; }.insurance-result-rows .insurance-offer:hover { border-color:#a5c4dd; box-shadow:0 4px 14px #123d610a; }.insurance-result-rows .insurance-offer-brand span { color:#4d687d; font-size:10px; line-height:1.5; }.insurance-result-rows .insurance-plan-name > span { display:inline-block; color:#365b77; font-size:11px; font-weight:600; line-height:1.6; background:#eef4f9; padding:3px 7px; border-radius:5px; }.insurance-result-rows h3 { margin-bottom:7px; font-size:15px; }.insurance-result-rows .insurance-limit { color:#526a7d; font-size:11px; }.insurance-result-rows .insurance-limit strong { margin-top:6px; font-size:17px; }.insurance-result-rows .insurance-offer-price small { color:#5b7184; font-size:10px; }.insurance-result-rows .insurance-offer-price strong { font-size:21px; color:#bd550c; }.insurance-row-details > summary { color:#245f88; font-size:11px; padding:5px 0; }.insurance-result-rows .insurance-select { min-height:35px; box-sizing:border-box; }
@media(max-width:1000px) and (min-width:761px) { .insurance-trip-summary { gap:18px; }.insurance-trip-summary strong { font-size:12px; }.insurance-trip-summary .insurance-trip-duration { margin-right:0; }.insurance-results-columns { grid-template-columns:120px 130px minmax(150px,1fr) 110px 65px; gap:12px; padding-left:14px; padding-right:14px; } }
@media(max-width:760px) { .insurance-banner-content { padding-top:25px; padding-bottom:28px; }.insurance-banner h1 { font-size:23px; margin:10px 0 8px; }.insurance-banner-content > span { font-size:9px; letter-spacing:.6px; }.insurance-banner p { font-size:12px; max-width:250px; line-height:1.7; }.insurance-banner::after { background:linear-gradient(90deg,rgba(9,42,67,.94),rgba(12,51,78,.62)); }.insurance-page { padding-top:16px; }.insurance-edit-search > summary { flex-wrap:wrap; padding:14px; gap:13px; }.insurance-trip-summary { width:100%; flex:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:13px 15px; }.insurance-trip-summary .insurance-trip-destination { grid-column:1/-1; }.insurance-trip-summary .insurance-trip-duration { margin:0; }.insurance-trip-summary strong { font-size:12px; }.insurance-trip-summary small { font-size:10px; }.insurance-trip-dates strong > span { padding:0 1px; }.insurance-edit-search > summary > b { margin-left:auto; padding:7px 9px; }.insurance-results-columns { display:none; }.insurance-results-heading h2 { font-size:17px; }.insurance-results-heading p { font-size:11px; }.insurance-result-rows .insurance-plan-name > span { font-size:10px; padding:3px 5px; }.insurance-result-rows .insurance-limit strong { font-size:15px; }.insurance-result-rows .insurance-offer-price strong { font-size:20px; }.insurance-result-rows .insurance-offer-brand span { max-width:130px; }.insurance-providers { gap:6px; } }
.insurance-providers > span { min-height:48px; gap:13px; padding:7px 13px; }.insurance-supplier-logo { display:block; width:105px; height:34px; object-fit:contain; object-position:left center; }.insurance-providers [data-provider=mic] .insurance-supplier-logo { width:78px; }.insurance-providers [data-provider=pvi] .insurance-supplier-logo { width:85px; }.insurance-providers [data-provider=aig] .insurance-supplier-logo { width:58px; height:34px; padding:4px 7px; box-sizing:border-box; background:#153c70; border-radius:4px; }
.insurance-result-rows .insurance-result-logo { display:block; width:124px; height:44px; object-fit:contain; object-position:left center; }.insurance-result-rows [data-provider=mic] .insurance-result-logo { width:94px; height:42px; }
@media(max-width:760px) { .insurance-providers > span { gap:9px; padding:7px 9px; flex:1 1 40%; min-width:0; }.insurance-supplier-logo { width:88px; height:31px; }.insurance-providers small { font-size:9px; line-height:1.5; }.insurance-providers [data-provider=mic] .insurance-supplier-logo { width:68px; }.insurance-providers [data-provider=pvi] .insurance-supplier-logo { width:72px; }.insurance-providers [data-provider=aig] .insurance-supplier-logo { width:54px; height:31px; }.insurance-result-rows .insurance-result-logo { width:114px; height:37px; }.insurance-result-rows [data-provider=mic] .insurance-result-logo { width:85px; height:38px; } }
/* Compact spacing and a single column definition for headings and result rows. */
.insurance-banner-content { padding-top:27px; padding-bottom:28px; }.insurance-banner h1 { font-size:28px; margin:9px 0 7px; }.insurance-page { padding-top:18px; }
.insurance-edit-search { margin-bottom:12px; }.insurance-edit-search > summary { padding:12px 18px; }
.insurance-trip-summary { display:grid; grid-template-columns:minmax(180px,1fr) minmax(230px,auto) 104px; align-items:center; gap:24px; }
.insurance-trip-summary > .insurance-trip-dates,.insurance-trip-summary > .insurance-trip-duration,.insurance-trip-destination > span { display:grid; grid-template-rows:16px 28px; align-items:center; gap:3px; margin:0; }
.insurance-trip-summary small { display:block; font-size:11px; line-height:16px; margin:0; }.insurance-trip-summary strong { display:flex; align-items:center; min-height:28px; line-height:20px; margin:0; font-size:13px; box-sizing:border-box; }.insurance-trip-summary .insurance-trip-destination { align-items:center; gap:10px; }.insurance-trip-destination > i { width:34px; height:34px; font-size:15px; }.insurance-trip-duration strong { height:28px; padding:0 9px; }.insurance-trip-summary .insurance-trip-duration { margin-right:0; }
.insurance-providers { gap:8px; margin:12px 0 15px; }.insurance-providers > span { min-height:40px; padding:5px 10px; gap:10px; }.insurance-supplier-logo { height:28px; width:98px; }.insurance-providers [data-provider=aig] .insurance-supplier-logo { height:29px; }.insurance-results-heading { margin-top:15px; margin-bottom:10px; }.insurance-results-heading h2 { font-size:18px; margin-bottom:4px; }
.insurance-result-rows { --insurance-result-columns:minmax(120px,.85fr) minmax(180px,1.3fr) minmax(155px,1.15fr) minmax(120px,1fr) 76px; --insurance-result-gap:20px; --insurance-result-inset:16px; gap:8px; }
@media(min-width:761px) {
 .insurance-result-rows .insurance-results-columns,.insurance-result-rows .insurance-offer { grid-template-columns:var(--insurance-result-columns); column-gap:var(--insurance-result-gap); width:100%; box-sizing:border-box; }
 .insurance-result-rows .insurance-results-columns { padding:0 var(--insurance-result-inset) 1px; border-left:1px solid transparent; border-right:1px solid transparent; }
 .insurance-result-rows .insurance-offer { padding:10px var(--insurance-result-inset) 7px; }
 .insurance-result-rows .insurance-limit > span { display:none; }.insurance-result-rows .insurance-limit strong { margin:0; font-size:16px; }
 .insurance-result-rows .insurance-offer-price strong { font-size:20px; line-height:1.5; }.insurance-result-rows .insurance-select { padding:8px 10px; min-height:32px; }
 .insurance-result-rows .insurance-result-logo { width:116px; height:34px; }.insurance-result-rows [data-provider=mic] .insurance-result-logo { width:84px; height:34px; }
 .insurance-result-rows h3 { font-size:14px; margin-bottom:4px; }.insurance-result-rows .insurance-plan-name > span { padding:2px 6px; font-size:11px; line-height:1.5; }
 .insurance-result-rows .insurance-row-details { margin-top:3px!important; }.insurance-row-details > summary { padding:1px 0; font-size:10px; line-height:1.6; }
}
.insurance-notes { margin-top:18px; padding:14px 17px; font-size:11px; line-height:1.8; }.insurance-notes h2 { margin-bottom:6px; font-size:14px; }.insurance-notes p { margin:5px 0; }
@media(max-width:1000px) and (min-width:761px) { .insurance-result-rows { --insurance-result-columns:110px minmax(145px,1.15fr) minmax(145px,1fr) 105px 65px; --insurance-result-gap:12px; --insurance-result-inset:12px; }.insurance-trip-summary { grid-template-columns:minmax(120px,1fr) minmax(205px,auto) 90px; gap:14px; }.insurance-trip-summary strong { font-size:12px; }.insurance-trip-summary small { font-size:10px; } }
@media(max-width:760px) { .insurance-banner-content { padding-top:21px; padding-bottom:23px; }.insurance-banner h1 { font-size:22px; }.insurance-page { padding-top:13px; }.insurance-edit-search > summary { padding:12px; gap:10px; }.insurance-trip-summary { grid-template-columns:minmax(0,1fr) 88px; gap:10px 12px; }.insurance-trip-summary .insurance-trip-destination { grid-column:1/-1; }.insurance-trip-summary strong { font-size:12px; }.insurance-trip-summary small { font-size:10px; }.insurance-trip-dates strong { font-size:11px; }.insurance-trip-dates strong > span { padding:0 3px; }.insurance-providers > span { min-height:37px; padding:5px 8px; gap:8px; }.insurance-supplier-logo { height:26px; width:88px; }.insurance-result-rows .insurance-offer { padding:12px; gap:9px; }.insurance-result-rows .insurance-limit > span { display:block; }.insurance-result-rows .insurance-row-details { margin-top:0!important; }.insurance-results-heading h2 { font-size:17px; } }
/* Keep the insurance banner attached below the live header height while scrolling. */
.insurance-banner { position:sticky; top:var(--tour-header-height,72px); z-index:900; box-shadow:0 3px 12px #123c5814; }
@media(max-width:760px) { .insurance-banner { top:var(--tour-header-height,58px); } }
/* Keep journey information and insurer logos below the pinned banner. */
.insurance-sticky-overview { position:sticky; top:calc(var(--tour-header-height,72px) + var(--insurance-banner-height,143px)); z-index:850; background:#f7f9fb; padding:8px 0; }
.insurance-sticky-overview .insurance-edit-search { margin-bottom:8px; }.insurance-sticky-overview .insurance-providers { margin:0; }
.insurance-sticky-overview:has(.insurance-edit-search[open]) { position:relative; top:auto; }
@media(max-width:760px) { .insurance-sticky-overview { top:calc(var(--tour-header-height,58px) + var(--insurance-banner-height,126px)); padding:6px 0; }.insurance-sticky-overview .insurance-providers { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; padding-bottom:3px; }.insurance-sticky-overview .insurance-providers > span { flex:0 0 auto; }.insurance-sticky-overview .insurance-edit-search { margin-bottom:6px; } }
/* Keep the result count immediately beneath the pinned journey summary. */
.insurance-results-heading { position:sticky; top:calc(var(--tour-header-height,72px) + var(--insurance-banner-height,143px) + var(--insurance-overview-height,0px)); z-index:840; background:#f7f9fb; padding:8px 0 10px; margin:0 0 6px; }
@media(max-width:760px) { .insurance-results-heading { top:calc(var(--tour-header-height,58px) + var(--insurance-banner-height,126px) + var(--insurance-overview-height,0px)); padding:6px 0 8px; } }
@media(min-width:761px) {
 .insurance-result-rows .insurance-results-columns { position:sticky; top:calc(var(--tour-header-height,72px) + var(--insurance-banner-height,143px) + var(--insurance-overview-height,0px) + var(--insurance-results-heading-height,62px)); z-index:830; background:#f7f9fb; padding-top:7px; padding-bottom:8px; border-bottom:1px solid #dce6ee; }
}
/* Return insurance content to normal document scrolling. */
.insurance-banner,.insurance-sticky-overview,.insurance-results-heading,.insurance-result-rows .insurance-results-columns { position:relative; top:auto; z-index:auto; }
.insurance-result-rows .insurance-offer-price .insurance-price-pending { color:#295f83; font-size:13px; line-height:1.6; font-weight:700; }
.insurance-result-rows [data-provider=baoviet] .insurance-result-logo { width:124px; height:36px; }
@media(max-width:760px) { .insurance-result-rows .insurance-offer-price .insurance-price-pending { font-size:12px; }.insurance-result-rows [data-provider=baoviet] .insurance-result-logo { width:112px; height:34px; } }
.insurance-result-rows .insurance-select { white-space:nowrap; flex-wrap:nowrap; }.insurance-result-rows .insurance-offer-price .insurance-price-pending { font-size:14px; color:#456a85; font-weight:600; }
