/*
 * Finobazaar property verification. Theme tokens with brand fallbacks; the
 * same form and notice language as the other Finobazaar tools. Method tags
 * (automated / manual / official) and outcome tags always carry their words;
 * colour only supports them. Works without verification.js.
 */
.fbv {
	--fbv-blue: var(--fb-brand-blue, #105de1);
	--fbv-blue-dark: var(--fb-brand-blue-dark, #0848b8);
	--fbv-surface: var(--fb-brand-blue-surface, #f3f7ff);
	--fbv-ink: var(--fb-brand-black, #111);
	--fbv-text: var(--fb-text, #202020);
	--fbv-muted: var(--fb-text-2, #5f6368);
	--fbv-line: var(--fb-border, #e3e8f0);
	--fbv-ok: #0b6b3a; --fbv-ok-bg: #e7f5ee;
	--fbv-warn: var(--fb-warn, #7f5200); --fbv-warn-bg: var(--fb-warn-bg, #fdf0d2);
	--fbv-err: var(--fb-error, #a12a2a); --fbv-err-bg: var(--fb-error-bg, #fbeaea);
	--fbv-gov: #3d4a5c; --fbv-gov-bg: #eef0f4;
	--fbv-r: 12px;
	color: var(--fbv-text);
	margin: 0 0 2rem;
	overflow-wrap: anywhere;
}
.fbv h2 { color: var(--fbv-ink); font-size: 1.25rem; line-height: 1.3; margin: 2rem 0 .75rem; }
.fbv h3 { color: var(--fbv-ink); font-size: 1.0625rem; margin: 0 0 .35rem; }
.fbv a:not(.fb-btn) { color: var(--fbv-blue-dark); text-underline-offset: 2px; }
.fbv a.fb-btn { text-decoration: none; }
.fbv a:focus-visible, .fbv button:focus-visible, .fbv input:focus-visible, .fbv select:focus-visible, .fbv textarea:focus-visible, .fbv summary:focus-visible, .fbv [tabindex]:focus-visible { outline: 3px solid var(--fbv-blue); outline-offset: 2px; }
.fbv-lead { font-size: 1.0625rem; margin: 0 0 1.25rem; max-width: 68ch; }
.fbv-help, .fbv-muted { font-size: .875rem; color: var(--fbv-muted); }
.fbv-help { display: block; margin-top: .25rem; }
.fbv a.fbv-tap { display: inline-flex; align-items: center; min-height: 44px; }
.fbv-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin: .75rem 0; }
.fbv .fb-btn { max-width: 100%; white-space: normal; text-align: center; height: auto; min-height: 44px; }

/* Notices */
.fbv-notice { border-radius: var(--fbv-r); padding: .75rem 1rem; margin: 0 0 1rem; border: 1px solid #cddcf8; background: var(--fbv-surface); }
.fbv-notice p { margin: 0 0 .35rem; } .fbv-notice p:last-child { margin: 0; }
.fbv-notice ul { margin: .4rem 0 0 1.1rem; padding: 0; }
.fbv-notice--ok { background: var(--fbv-ok-bg); border-color: #bfe3cf; color: var(--fbv-ok); }
.fbv-notice--warn { background: var(--fbv-warn-bg); border-color: #f0dca8; color: var(--fbv-warn); }
.fbv-notice--error { background: var(--fbv-err-bg); border-color: #efc4c4; color: var(--fbv-err); }
.fbv-err { display: block; color: var(--fbv-err); font-size: .875rem; margin-top: .25rem; }

/* Method and outcome tags */
.fbv-method, .fbv-outcome, .fbv-status { display: inline-block; font-size: .75rem; font-weight: 600; line-height: 1.3; padding: .15rem .5rem; border-radius: 999px; border: 1px solid transparent; white-space: nowrap; vertical-align: middle; }
.fbv-method--automated { background: #f1f3f6; color: #3d4a5c; border-color: #d7dce4; }
.fbv-method--manual { background: var(--fbv-surface); color: var(--fbv-blue-dark); border-color: #cddcf8; }
.fbv-method--official { background: var(--fbv-gov-bg); color: var(--fbv-gov); border-color: #c4cad5; }
.fbv-outcome--ok { background: var(--fbv-ok-bg); color: var(--fbv-ok); }
.fbv-outcome--warn { background: var(--fbv-warn-bg); color: var(--fbv-warn); }
.fbv-outcome--bad { background: var(--fbv-err-bg); color: var(--fbv-err); }
.fbv-outcome--info { background: #f1f3f6; color: #3d4a5c; }
.fbv-status { background: #f1f3f6; color: #3d4a5c; font-size: .8125rem; }
.fbv-status--completed { background: var(--fbv-ok-bg); color: var(--fbv-ok); }
.fbv-status--info_required, .fbv-status--documents_pending { background: var(--fbv-warn-bg); color: var(--fbv-warn); }
.fbv-status--under_review { background: var(--fbv-surface); color: var(--fbv-blue-dark); }
.fbv-status--unable, .fbv-status--cancelled { background: var(--fbv-err-bg); color: var(--fbv-err); }

/* Landing */
.fbv-methods { display: grid; gap: .75rem; margin: 0; }
.fbv-methods > div { display: grid; grid-template-columns: minmax(11rem, max-content) 1fr; gap: .25rem 1rem; align-items: baseline; }
.fbv-methods dd { margin: 0; }
.fbv ul.fbv-plans { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.fbv-plan { border: 1px solid var(--fbv-line); border-radius: var(--fbv-r); padding: 1rem; background: #fff; display: flex; flex-direction: column; }
.fbv-plan__name { font-size: 1.125rem; margin: 0; }
.fbv-plan__price { font-size: 1.375rem; font-weight: 700; color: var(--fbv-ink); margin: .25rem 0; font-variant-numeric: tabular-nums; }
.fbv-plan__summary { margin: 0 0 .5rem; }
.fbv-plan__label { font-weight: 600; font-size: .875rem; margin: .5rem 0 .25rem; color: var(--fbv-ink); }
.fbv-plan__list { margin: 0; padding-inline-start: 1.1rem; font-size: .9375rem; }
.fbv-plan__list li { margin: 0 0 .3rem; }
.fbv-plan__list--no { color: var(--fbv-muted); }
.fbv-plan__meta { font-size: .875rem; color: var(--fbv-muted); margin: .4rem 0 0; }
.fbv-plan .fbv-plan__go { margin-top: auto; }
.fbv-plan > p:last-child { margin-top: auto; padding-top: .75rem; margin-bottom: 0; }
.fbv-steps { padding-inline-start: 1.25rem; } .fbv-steps li, .fbv-list li { margin: 0 0 .5rem; max-width: 72ch; }
.fbv-list { padding-inline-start: 1.1rem; }

/* Form */
.fbv-form { margin: 0 0 1.25rem; }
.fbv-step { border: 1px solid var(--fbv-line); border-radius: var(--fbv-r); background: var(--fbv-surface); padding: 1rem; margin: 0 0 1rem; min-width: 0; }
.fbv-step > legend { font-weight: 700; color: var(--fbv-ink); padding: 0 .35rem; font-size: 1.0625rem; }
.fbv-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0 1rem; align-items: start; }
.fbv-field { margin: 0 0 .75rem; }
.fbv-field label, .fbv-field .fbl-sel__label { display: block; font-weight: 600; color: var(--fbv-ink); margin: 0 0 .3rem; }
.fbv-field input:not([type=checkbox]):not([type=radio]), .fbv-field select, .fbv-field textarea { min-height: 44px; padding: .5rem .75rem; border: 1px solid #c5ccd8; border-radius: 8px; background: #fff; font: inherit; width: 100%; max-width: 100%; box-sizing: border-box; }
.fbv-field input[type=file] { padding: .45rem; }
.fbv-field [aria-invalid="true"] { border-color: var(--fbv-err); }
.fbv-choices { display: grid; gap: .5rem; }
.fbv-choice { display: flex; gap: .75rem; align-items: flex-start; background: #fff; border: 1px solid var(--fbv-line); border-radius: 10px; padding: .75rem; cursor: pointer; }
.fbv-choice input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex: 0 0 auto; }
.fbv-choice:has(input:checked) { border-color: var(--fbv-blue); box-shadow: 0 0 0 1px var(--fbv-blue); }
.fbv-choice__body { display: flex; flex-direction: column; gap: .15rem; }
.fbv-choice__price { font-weight: 700; color: var(--fbv-ink); }
.fbv-choice__text { font-size: .875rem; color: var(--fbv-muted); }
.fbv-check label { display: flex; gap: .6rem; align-items: flex-start; min-height: 44px; }
.fbv-check input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex: 0 0 auto; }
.fbv-check.has-error label { color: var(--fbv-err); }
.fbv-alt { margin: .25rem 0 .75rem; }
.fbv-alt > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--fbv-blue-dark); font-weight: 600; }
.fbv-doc { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 0 1rem; background: #fff; border: 1px solid var(--fbv-line); border-radius: 10px; padding: .75rem .75rem 0; margin: 0 0 .6rem; }
.fbv-doc[hidden] { display: none; }
.fbv.is-js [data-fbv-ref][data-off] { display: none; }

/* Dashboard */
.fbv ul.fbv-requests { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.fbv-request { border: 1px solid var(--fbv-line); border-radius: var(--fbv-r); padding: .85rem 1rem; display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: center; background: #fff; }
.fbv-request__ref { font-weight: 700; font-variant-numeric: tabular-nums; }
.fbv-request__meta { flex-basis: 100%; font-size: .875rem; color: var(--fbv-muted); }
.fbv-card { border: 1px solid var(--fbv-line); border-radius: var(--fbv-r); padding: 1rem; margin: 0 0 1rem; background: #fff; }
.fbv-card h2 { margin-top: 0; font-size: 1.125rem; }
.fbv-card--ask { border-color: #f0dca8; background: var(--fbv-warn-bg); }
.fbv-big .fbv-status { font-size: 1rem; padding: .3rem .8rem; }
.fbv-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .5rem 1.25rem; margin: .75rem 0 0; }
.fbv-facts dt { font-size: .8125rem; color: var(--fbv-muted); }
.fbv-facts dd { margin: 0; font-weight: 600; color: var(--fbv-ink); }
.fbv-doclist { padding-inline-start: 1.1rem; margin: 0; } .fbv-doclist li { margin: 0 0 .4rem; }
.fbv-doclist a { display: inline-block; padding-block: 6px; }
.fbv-timeline { list-style: none; margin: 0; padding: 0 0 0 1rem; border-inline-start: 2px solid var(--fbv-line); }
.fbv-timeline li { margin: 0 0 .9rem; position: relative; }
.fbv-timeline li::before { content: ""; position: absolute; inset-inline-start: calc(-1rem - 6px); top: .45rem; width: 10px; height: 10px; border-radius: 50%; background: var(--fbv-blue); }
.fbv-timeline time { display: block; font-size: .8125rem; color: var(--fbv-muted); }
.fbv-timeline p { margin: .2rem 0 0; }
.fbv-cancel { margin: 0 0 .5rem; }

/* Report */
.fbv-report { max-width: 860px; }
.fbv-report__kind { font-size: .875rem; font-weight: 600; color: var(--fbv-muted); margin: 0; }
.fbv-report__head { border-bottom: 2px solid var(--fbv-ink); padding-bottom: .75rem; margin: 0 0 1rem; }
.fbv-overall { border-radius: var(--fbv-r); padding: .85rem 1rem; font-weight: 600; margin: 0 0 1rem; border: 1px solid transparent; }
.fbv-overall--ok { background: var(--fbv-ok-bg); color: var(--fbv-ok); border-color: #bfe3cf; }
.fbv-overall--warn { background: var(--fbv-warn-bg); color: var(--fbv-warn); border-color: #f0dca8; }
.fbv-overall--bad { background: var(--fbv-err-bg); color: var(--fbv-err); border-color: #efc4c4; }
.fbv-table { border-collapse: collapse; width: 100%; margin: 0 0 1rem; }
.fbv-table th, .fbv-table td { text-align: start; padding: .5rem .6rem; border-bottom: 1px solid var(--fbv-line); vertical-align: top; }
.fbv-table thead th { font-size: .8125rem; color: var(--fbv-muted); }
.fbv-findings { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.fbv-finding { border: 1px solid var(--fbv-line); border-inline-start: 5px solid #c4cad5; border-radius: 10px; padding: .75rem 1rem; break-inside: avoid; }
.fbv-finding--ok { border-inline-start-color: var(--fbv-ok); }
.fbv-finding--warn { border-inline-start-color: #c58a10; }
.fbv-finding--bad { border-inline-start-color: var(--fbv-err); }
.fbv-finding p { margin: .35rem 0 0; }
.fbv-finding__tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.fbv-finding__covers { font-size: .8125rem; }
.fbv-source { font-size: .875rem; }
.fbv-limits { border-top: 1px solid var(--fbv-line); margin-top: 1.5rem; font-size: .9375rem; }

@media (max-width: 640px) {
	.fbv-step { padding: .85rem; }
	.fbv-row { grid-template-columns: 1fr; }
	.fbv-doc { grid-template-columns: 1fr; }
	.fbv-methods > div { grid-template-columns: 1fr; }
	.fbv-table thead { display: none; }
	.fbv-table tr { display: block; border-bottom: 1px solid var(--fbv-line); padding: .4rem 0; }
	.fbv-table td { display: block; border: 0; padding: .1rem 0; }
}
@media print {
	.site-header, .site-footer, .fb-header, .fb-footer, .fbv-noprint, .fbv-actions { display: none !important; }
	.fbv-finding, .fbv-overall { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.fbv a { color: #000; }
}
.fbv .fbv-row > *, .fbv .fbv-step > * + * { margin-top: 0; }
/* Theme link colours must not reach the buttons; theme spacing not between grid items. */
.fbv a.fb-btn--primary, .fbv a.fb-btn--primary:hover, .fbv a.fb-btn--primary:visited { color: #fff; }
.fbv ul.fbv-plans > li, .fbv ul.fbv-requests > li, .fbv .fbv-findings > li { margin: 0; }
.fbv .fbv-finding h3 { margin-top: 0; }
.fbv-js-only { display: none; } .fbv.is-js .fbv-js-only { display: inline; }
