/*
 * Finobazaar Insurance. Built on the theme's tokens and components
 * (fb-card colours, fb-badge, fb-notice, fb-table, fb-field); brand values
 * are fallbacks only. Mobile first, no script needed.
 */
.fbi {
	--fbi-green: var(--fb-brand-green, #0b5f55);
	--fbi-green-dark: var(--fb-brand-green-dark, #084a42);
	--fbi-green-light: var(--fb-brand-green-light, #e3f0ed);
	--fbi-surface: var(--fb-brand-green-surface, #f1f7f5);
	--fbi-navy: var(--fb-heading, #13303f);
	--fbi-gold: var(--fb-brand-gold, #c68a2e);
	--fbi-text: var(--fb-text, #1e2a30);
	--fbi-muted: var(--fb-text-2, #56626a);
	--fbi-line: var(--fb-border, #e6e1d7);
	--fbi-r: var(--fb-r-md, 12px);
	color: var(--fbi-text);
	font-family: var(--fb-font, "IBM Plex Sans", "IBM Plex Sans Devanagari", "Noto Sans Devanagari", system-ui, sans-serif);
	font-size: 1rem;
	line-height: 1.6;
}
.fbi p { margin: 0 0 .75rem; }
.fbi h2 { font-size: 1.3125rem; line-height: 1.3; color: var(--fbi-navy); margin: 0 0 .75rem; }
.fbi h3 { font-size: 1.0625rem; line-height: 1.35; color: var(--fbi-navy); margin: 1.25rem 0 .5rem; }
.fbi-lead { font-size: 1.0625rem; color: var(--fbi-muted); max-width: 46rem; }
.fbi-muted { color: var(--fbi-muted); }
.fbi-small { font-size: .875rem; }
.fbi-optional { font-weight: 400; color: var(--fbi-muted); font-size: .875em; }
.fbi-sec { margin: 2rem 0; }
.fbi-more { font-weight: 600; color: var(--fbi-green); text-underline-offset: 3px; }

/* Lists */
.fbi-list { margin: 0 0 1rem; padding-inline-start: 1.25rem; }
.fbi-list li { margin: 0 0 .4rem; padding-inline-start: .15rem; }
.fbi-list li::marker { color: var(--fbi-green); }
ol.fbi-list li::marker { font-weight: 600; }

/* Cards (links) */
.fbi-cards { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .fbi-cards--2, .fbi-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fbi-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fbi-cards li { margin: 0; }
.fbi-card { display: grid; grid-template-columns: auto 1fr; column-gap: .75rem; row-gap: .2rem; align-items: start; height: 100%; padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--fbi-line); border-radius: var(--fbi-r); color: var(--fbi-text); text-decoration: none; box-sizing: border-box; }
.fbi-card:hover { border-color: var(--fb-brand-green-line, #bfd9d3); box-shadow: var(--fb-sh-1, 0 1px 2px rgba(17, 34, 68, .06)); }
.fbi-card:focus-visible { outline: 3px solid var(--fb-focus, #084a42); outline-offset: 2px; }
.fbi-card__icon { grid-row: span 2; display: inline-flex; width: 2.25rem; height: 2.25rem; border-radius: 10px; background: var(--fbi-green-light); color: var(--fbi-green-dark); align-items: center; justify-content: center; }
.fbi-card__icon .fb-icon, .fbi-card__icon svg { width: 1.2rem; height: 1.2rem; }
.fbi-card__title { font-weight: 600; color: var(--fbi-green-dark); line-height: 1.35; }
.fbi-card__text { grid-column: 2; font-size: .9rem; color: var(--fbi-muted); line-height: 1.45; }
.fbi-card:not(:has(.fbi-card__icon)) { grid-template-columns: 1fr; }
.fbi-card:not(:has(.fbi-card__icon)) .fbi-card__text { grid-column: 1; }

/* Boxes */
.fbi-two { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 48em) { .fbi-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fbi-box { background: var(--fbi-surface); border-radius: var(--fbi-r); padding: 1rem 1.25rem; margin: 0; }
.fbi-two .fbi-sec { margin: 0; }

/* Key terms */
.fbi-terms { margin: 0; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 48em) { .fbi-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fbi-terms > div { border-inline-start: 3px solid var(--fbi-gold); padding: .25rem 0 .25rem .85rem; }
.fbi-terms dt { font-weight: 600; color: var(--fbi-navy); }
.fbi-terms dd { margin: 0; color: var(--fbi-text); }

/* Facts and rules */
.fbi-ref { font-size: .8125rem; font-weight: 600; text-decoration: none; color: var(--fbi-green); }
.fbi-rules { border-top: 1px solid var(--fbi-line); margin-top: 1rem; padding-top: .5rem; font-size: .9rem; }
.fbi-rules h3 { margin-top: .5rem; font-size: .9375rem; }
.fbi-rules ol { margin: 0 0 .5rem; padding-inline-start: 1.25rem; }
.fbi-rules li { margin-bottom: .4rem; }
.fbi-rules li:target { background: var(--fb-brand-gold-light, #faf0df); }

/* Official resources */
.fbi-reslist { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fbi-reslist li { display: grid; gap: .1rem; padding: .75rem 1rem; border: 1px solid var(--fbi-line); border-radius: var(--fbi-r); background: #fff; }
.fbi-reslist a { font-weight: 600; color: var(--fbi-green-dark); overflow-wrap: anywhere; }
.fbi-reslist__what { color: var(--fbi-text); font-size: .9375rem; }
.fbi-reslist__extra { color: var(--fbi-muted); font-size: .875rem; }

/* Notices */
.fbi-disclaimer { margin-top: 2rem; }
.fbi-disclaimer p:last-child { margin-bottom: 0; }
.fbi-ok { border-inline-start-color: var(--fb-ok, #1e6b3f); background: var(--fb-ok-bg, #e9f5ee); }
.fbi-bad { border-inline-start-color: var(--fb-error, #a12a2a); background: var(--fb-error-bg, #fbeaea); }
.fbi-warn { border-inline-start-color: var(--fb-warn-dot, #b97800); background: var(--fb-warn-bg, #fdf0d2); }
.fbi-empty { flex-direction: column; gap: 0; }
.fb-notice p:last-child { margin-bottom: 0; }

/* Forms */
.fbi-form { background: #fff; border: 1px solid var(--fbi-line); border-radius: var(--fbi-r); padding: 1rem; margin: 1rem 0 1.5rem; }
@media (min-width: 40em) { .fbi-form { padding: 1.25rem 1.5rem; } }
.fbi-grid2 { display: grid; gap: 0 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 48em) { .fbi-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fbi-grid5 { display: grid; gap: 0 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .fbi-grid5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fbi-grid5 { grid-template-columns: 2fr repeat(4, minmax(0, 1fr)); } }
.fbi-field { margin-bottom: 1rem; }
.fbi-field .fb-input, .fbi-field .fb-select { width: 100%; box-sizing: border-box; }
.fbi-field--checks { grid-column: 1 / -1; }
.fbi-checks { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.fbi-checks legend { width: 100%; margin-bottom: .35rem; }
.fbi-quote { border: 1px solid var(--fbi-line); border-radius: 10px; padding: .75rem 1rem 0; margin: 0 0 1rem; }
.fbi-quote legend { font-weight: 600; padding: 0 .35rem; color: var(--fbi-navy); }
.fbi-error { color: var(--fb-error, #a12a2a); font-size: .875rem; margin: .35rem 0 0; font-weight: 500; }
.fbi-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: .25rem 0 .75rem; }
.fbi-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fbi-pick { border: 0; margin: 0 0 1rem; padding: 0; display: grid; gap: .4rem; }
.fbi-form--compare .fb-field { max-width: 24rem; }

/* Result */
.fbi-result { border: 1px solid var(--fbi-line); border-top: 3px solid var(--fbi-green); border-radius: var(--fbi-r); background: #fff; padding: 1rem 1.1rem 1.25rem; margin: 0 0 2rem; }
@media (min-width: 40em) { .fbi-result { padding: 1.25rem 1.5rem 1.5rem; } }
.fbi-result:focus { outline: none; }
.fbi-result h2 { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.fbi-summary { margin: 0 0 1rem; display: grid; gap: .6rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .fbi-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fbi-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fbi-summary > div { background: var(--fbi-surface); border-radius: 10px; padding: .7rem .85rem; }
.fbi-summary dt { font-size: .8125rem; color: var(--fbi-muted); line-height: 1.35; }
.fbi-summary dd { margin: .15rem 0 0; font-weight: 600; font-size: 1.125rem; color: var(--fbi-navy); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fbi-summary .is-main { background: var(--fbi-green); }
.fbi-summary .is-main dt { color: rgba(255, 255, 255, .85); }
.fbi-summary .is-main dd { color: #fff; font-size: 1.3125rem; }

/* Tables */
.fbi .fb-table-wrap { margin: 0 0 .75rem; position: relative; }
.fbi .fb-table th, .fbi .fb-table td { vertical-align: top; text-align: start; }
.fbi-table tbody th { font-weight: 600; color: var(--fbi-navy); }
.fbi-kv { min-width: 0; }
.fbi-kv th { width: 40%; }
.fbi-ctable thead th { min-width: 12rem; }
.fbi-ctable thead tr > :first-child { position: sticky; left: 0; z-index: 2; background: var(--fb-ivory, #faf8f4); min-width: 9rem; box-shadow: 1px 0 0 var(--fbi-line); }
.fbi-ctable tbody th { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 9rem; box-shadow: 1px 0 0 var(--fbi-line); }
.fbi-na { color: var(--fbi-muted); font-style: italic; }
.fbi .fb-table-wrap:focus-visible { outline: 3px solid var(--fb-focus, #084a42); outline-offset: 2px; }

/* Directory */
.fbi-filter .fb-chips { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fbi-dir { list-style: none; margin: 0 0 1rem; padding: 0; border-top: 1px solid var(--fbi-line); }
.fbi-dir__item { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--fbi-line); }
.fbi-dir__name { font-weight: 600; color: var(--fbi-green-dark); flex: 1 1 100%; }
@media (min-width: 48em) { .fbi-dir__name { flex: 1 1 auto; } }
.fbi-pages { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin: 1rem 0; }

/* Inside the theme's article: a wider column for tools and tables. */
@media (min-width: 64rem) {
	.fb-article--solo:has(.fbi) { grid-template-columns: minmax(0, 72rem); }
}
.fb-prose .fbi p, .fb-prose .fbi * + p { margin-block: 0 .75rem; }
.fb-prose .fbi h2 { margin: 0 0 .75rem; }
.fb-prose .fbi h3 { margin: 1.25rem 0 .5rem; }
.fb-prose .fbi .fbi-cards, .fb-prose .fbi .fbi-reslist, .fb-prose .fbi .fbi-dir, .fb-prose .fbi .fb-chips { padding-inline-start: 0; }
.fb-prose .fbi li + li { margin-block-start: 0; }
.fb-prose .fbi .fbi-list li + li { margin-block-start: .4rem; }
.fb-prose .fbi a.fbi-card, .fb-prose .fbi a.fb-btn, .fb-prose .fbi a.fb-chip { text-decoration: none; }
.fb-prose .fbi .fb-field__hint, .fb-prose .fbi .fbi-error { margin-block: .35rem 0; }
.fb-prose .fbi dl, .fb-prose .fbi dd { margin-inline-start: 0; }
/* The focusable .fb-table-wrap scrolls; the theme's prose rule would make the table a second, unfocusable scroll box. */
.fb-prose .fbi .fb-table-wrap > .fb-table { display: table; max-width: none; overflow: visible; }

/* Catalog: product lists and cards */
.fbi-filters { display: grid; gap: 0 1rem; grid-template-columns: minmax(0, 1fr); align-items: end; }
@media (min-width: 40em) { .fbi-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fbi-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fbi-filters__go { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; padding-bottom: 1rem; }
.fbi-plist { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 48em) { .fbi-plist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fbi-pcard > article { height: 100%; box-sizing: border-box; padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--fbi-line); border-radius: var(--fbi-r); display: flex; flex-direction: column; }
.fbi .fbi-pcard__title { margin: 0 0 .2rem; font-size: 1.0625rem; }
.fbi-pcard__title a { color: var(--fbi-navy); text-underline-offset: 3px; }
.fbi-pcard__meta, .fbi-pmeta { color: var(--fbi-muted); margin: 0 0 .5rem; }
.fbi-pcard__type { display: inline-block; margin-inline-start: .35rem; padding: 0 .5rem; border-radius: 999px; background: var(--fbi-green-light); color: var(--fbi-green-dark); font-size: .8125rem; }
.fbi-pcard__desc { font-size: .9375rem; }
.fbi-pcard__facts { margin: 0 0 .5rem; display: grid; gap: .25rem; }
.fbi-pcard__facts > div { display: flex; flex-wrap: wrap; gap: 0 .5rem; }
.fbi-pcard__facts dt { color: var(--fbi-muted); min-width: 7rem; }
.fbi-pcard__facts dd { margin: 0; font-weight: 600; }
.fbi-pcard__actions { margin: auto 0 0; padding-top: .5rem; display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.fbi-badges { margin: 0 0 .5rem; display: flex; flex-wrap: wrap; gap: .35rem; }
.fbi-na { color: var(--fbi-muted); font-style: italic; font-weight: 400; }
.fbi-pager { display: flex; gap: 1rem; align-items: center; margin: 0 0 1rem; }
.fbi-cmpbar { margin: 0 0 1rem; }
.fbi-plist--small { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 64em) { .fbi-plist--small { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Product page */
dl.fbi-kv { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--fbi-line); }
dl.fbi-kv > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: .1rem 1rem; padding: .55rem 0; border-bottom: 1px solid var(--fbi-line); }
@media (min-width: 40em) { dl.fbi-kv > div { grid-template-columns: minmax(10rem, 2fr) minmax(0, 3fr); } }
dl.fbi-kv dt { color: var(--fbi-muted); }
dl.fbi-kv dd { margin: 0; }
.fbi-prov { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fbi-prov li { display: grid; gap: .25rem; }
.fbi-prov .fb-badge { justify-self: start; }
.fbi-acts { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fbi-journey .fbi-form h3 { margin-top: 0; }
.fb-prose .fbi a.fb-btn { color: var(--fb-btn-fg); }

/* Partner area */
.fbi-tabs ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--fbi-line); }
.fbi-tabs a { display: block; padding: .5rem .85rem; color: var(--fbi-text); text-decoration: none; border-bottom: 3px solid transparent; }
.fbi-tabs a[aria-current="page"] { border-bottom-color: var(--fbi-green); color: var(--fbi-green-dark); font-weight: 600; }
.fbi-tabs a:focus-visible { outline: 3px solid var(--fb-focus, #1a73e8); outline-offset: 2px; }
.fbi-wide { grid-column: 1 / -1; }
.fbi-fset { border: 0; margin: 0 0 1.25rem; padding: 0; min-width: 0; }
.fbi-fset > legend { font-weight: 600; color: var(--fbi-navy); font-size: 1.0625rem; margin-bottom: .5rem; padding: 0; }
.fbi-form > fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.fbi-checks--cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .25rem 1rem; }
.fbi-checks--cols legend { grid-column: 1 / -1; }
.fbi-btns { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0 0; }
.fbi-inline { display: inline; margin: 0; padding: 0; border: 0; background: none; }
.fbi-linkbtn { background: none; border: 0; padding: 0; color: var(--fbi-green); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; }
.fbi-linkbtn:focus-visible { outline: 3px solid var(--fb-focus, #1a73e8); outline-offset: 2px; }
.fbi-ro { margin: 0 0 1rem; padding: .5rem .75rem; background: var(--fbi-surface); border-radius: 8px; }
.fbi-timeline { margin: 0; padding-inline-start: 1.25rem; }
.fbi-timeline li { margin: 0 0 .75rem; }
[data-roles][hidden] { display: none; }

@media print {
	.fbi-form, .fbi-enquiry, .fbi-cards, .fbi-filter, .fbi-pages { display: none; }
	.fbi .fb-table-wrap { overflow: visible; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.fbi * { transition: none !important; }
}

/* Long status labels wrap on small screens (the theme badge does not). */
.fbi .fb-badge { white-space: normal; max-width: 100%; }
