/*
 * Finobazaar Property rates – locality price pages, comparison, home.
 * Uses the theme's tokens when present, with brand values as fallbacks.
 * The four kinds of price information each keep their own look so they are
 * never read as one figure: asking prices (plain), the observed indicator
 * (blue surface), imported figures (neutral) and government DLC records
 * (an official panel with a heavy left rule). Works without rates.js.
 */
.fbr {
	--fbr-blue: var(--fb-brand-blue, #105de1);
	--fbr-blue-dark: var(--fb-brand-blue-dark, #0848b8);
	--fbr-surface: var(--fb-brand-blue-surface, #f3f7ff);
	--fbr-ink: var(--fb-brand-black, #111);
	--fbr-text: var(--fb-text, #202020);
	--fbr-muted: var(--fb-text-2, #5f6368);
	--fbr-line: var(--fb-border, #e3e8f0);
	--fbr-ok: var(--fb-ok, #1e6b3f);
	--fbr-ok-bg: var(--fb-ok-bg, #e9f5ee);
	--fbr-warn: var(--fb-warn, #7f5200);
	--fbr-warn-bg: var(--fb-warn-bg, #fdf0d2);
	--fbr-err: var(--fb-error, #a12a2a);
	--fbr-err-bg: var(--fb-error-bg, #fbeaea);
	--fbr-gov: #3d4a5c;
	--fbr-gov-bg: #f4f5f7;
	--fbr-r: 12px;
	color: var(--fbr-text);
	margin: 0 0 2rem;
	overflow-wrap: anywhere;
}
.fbr h2 { color: var(--fbr-ink); font-size: 1.25rem; line-height: 1.3; margin: 2rem 0 .75rem; }
.fbr h3 { font-size: 1.0625rem; margin: 0; }
.fbr a:not(.fb-btn) { color: var(--fbr-blue-dark); text-underline-offset: 2px; }
.fbr a.fb-btn { color: var(--fb-btn-fg, #fff); text-decoration: none; }
.fbr a.fb-btn--outline { color: var(--fb-btn-fg, var(--fbr-blue-dark)); }
.fbr a:focus-visible, .fbr button:focus-visible, .fbr input:focus-visible, .fbr select:focus-visible, .fbr textarea:focus-visible, .fbr summary:focus-visible, .fbr [tabindex]:focus-visible { outline: 3px solid var(--fbr-blue); outline-offset: 2px; }
.fbr-lead { font-size: 1.0625rem; margin: 0 0 1.25rem; max-width: 62ch; }
.fbr-note { color: var(--fbr-muted); margin: 0 0 1rem; max-width: 70ch; }
.fbr-small { font-size: .875rem; color: var(--fbr-muted); margin: .4rem 0 0; }
.fbr-empty { background: #eef0f3; border-radius: var(--fbr-r); padding: .75rem 1rem; margin: 0 0 1rem; }
.fbr-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.fbr a.fbr-tap { display: inline-flex; align-items: center; min-height: 44px; }

/* Trail */
.fbr .fbr-trail ol, .fbr ul.fbr-chips, .fbr ul.fbr-places, .fbr ul.fbr-list { list-style: none; margin: 0; padding: 0; padding-inline-start: 0; margin-inline-start: 0; }
.fbr-trail ol { display: flex; flex-wrap: wrap; gap: 0 .4rem; font-size: .875rem; margin: 0 0 .5rem; }
.fbr-trail li:not(:last-child)::after { content: "›"; margin-inline-start: .4rem; color: var(--fbr-muted); }
.fbr-trail a.fbr-tap { min-height: 32px; }

/* Notices */
.fbr-notice { border-radius: var(--fbr-r); padding: .75rem 1rem; margin: 0 0 1rem; border: 1px solid; }
.fbr-notice p { margin: 0; }
.fbr .fbr-notice ul { margin: .5rem 0 0 1.25rem; padding-inline-start: 0; }
.fbr-notice--ok { background: var(--fbr-ok-bg); border-color: #bfe0cc; color: var(--fbr-ok); }
.fbr-notice--error { background: var(--fbr-err-bg); border-color: #efc4c4; color: var(--fbr-err); }

/* Ledger: what the page is built on */
.fbr-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid var(--fbr-line); border-radius: var(--fbr-r); margin: 0 0 1.25rem; overflow: hidden; }
.fbr-ledger__row { padding: .75rem 1rem; border-top: 1px solid var(--fbr-line); }
.fbr-ledger__row:nth-child(-n+2) { border-top: 0; }
.fbr-ledger__row:nth-child(even) { border-inline-start: 1px solid var(--fbr-line); }
.fbr-ledger dt { font-size: .875rem; color: var(--fbr-muted); margin: 0; }
.fbr-ledger dd { margin: .15rem 0 0; }
.fbr-ledger dd strong { display: block; color: var(--fbr-ink); font-size: 1.125rem; }
.fbr-ledger dd span { display: block; font-size: .875rem; color: var(--fbr-muted); }

/* Filters and forms */
.fbr-filter, .fbr-pick { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: flex-end; background: var(--fbr-surface); border: 1px solid var(--fbr-line); border-radius: var(--fbr-r); padding: 1rem; margin: 0 0 1.5rem; }
.fbr-pick { display: block; }
.fbr-pick p { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin: .75rem 0 0; }
.fbr-pick__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.fbr-filter label, .fbr-field label { display: block; font-weight: 600; color: var(--fbr-ink); margin: 0 0 .3rem; }
.fbr-filter select, .fbr-field input, .fbr-field select, .fbr-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; }
.fbr-filter select { width: auto; min-width: 14rem; }
.fbr-field { margin: 0 0 1rem; max-width: 40rem; }
.fbr-field textarea { min-height: 6rem; }
.fbr .fbl-sel__btn { white-space: nowrap; flex: 0 0 auto; }
.fbr .fbl-sel__pinrow input { min-width: 0; }

/* Sections */
.fbr-sec { margin: 0 0 2rem; }
.fbr-group { border: 1px solid var(--fbr-line); border-radius: var(--fbr-r); padding: 1rem; margin: 0 0 1rem; background: #fff; }
.fbr-group.is-thin { background: #fafbfc; }
.fbr-group__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem 1rem; margin: 0 0 .75rem; }
.fbr-group__head p { margin: 0; color: var(--fbr-muted); font-size: .875rem; }
.fbr-insufficient { margin: 0 0 .75rem; }
.fbr-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem 1.25rem; margin: 0 0 .75rem; }
.fbr-figures dt { font-size: .875rem; color: var(--fbr-muted); }
.fbr-figures dd { margin: .1rem 0 0; font-size: 1.25rem; font-weight: 700; color: var(--fbr-ink); font-variant-numeric: tabular-nums; }
.fbr-figures dd span { display: block; font-size: .8125rem; font-weight: 400; color: var(--fbr-muted); }
.fbr-figures dd.fbr-na { font-size: 1rem; color: var(--fbr-warn); }

/* Observed indicator */
.fbr-indicator { border-radius: 10px; padding: .75rem 1rem; margin: 0 0 .75rem; background: #f6f7f9; }
.fbr-indicator.is-on { background: var(--fbr-surface); box-shadow: inset 0 0 0 1px #cddcf8; }
.fbr-indicator p { margin: 0; }
.fbr-indicator__title { font-weight: 600; color: var(--fbr-ink); }
.fbr-indicator__value { font-size: 1.5rem; font-weight: 700; color: var(--fbr-blue-dark); font-variant-numeric: tabular-nums; margin: .2rem 0 !important; }
.fbr-indicator__value span { font-size: .9375rem; font-weight: 400; color: var(--fbr-muted); }

/* Trends and tables */
.fbr-trend { margin: 0 0 .75rem; }
.fbr-trend__title { font-weight: 600; margin: 0 0 .4rem; }
.fbr-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 .5rem; }
.fbr-table { border-collapse: collapse; width: 100%; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.fbr-table th, .fbr-table td { text-align: start; padding: .5rem .6rem; border-bottom: 1px solid var(--fbr-line); vertical-align: top; }
.fbr-table thead th { font-size: .875rem; color: var(--fbr-muted); font-weight: 600; white-space: nowrap; }
.fbr-basis { font-size: .875rem; color: var(--fbr-muted); margin: .5rem 0; }

/* Government DLC: its own panel */
.fbr-official { background: var(--fbr-gov-bg); border-inline-start: 6px solid var(--fbr-gov); border-radius: 0 var(--fbr-r) var(--fbr-r) 0; padding: .25rem 1rem 1rem; }
.fbr-official h2 { margin-top: 1rem; }
.fbr-official .fbr-note { color: var(--fbr-text); }
.fbr-dlc { background: #fff; border: 1px solid var(--fbr-line); border-radius: 10px; padding: .75rem 1rem; margin: 0 0 1rem; }
.fbr-dlc h3 { margin: 0 0 .25rem; }
.fbr-dlc tr.is-match td { background: #fff7dc; font-weight: 600; }

/* Area, places, chips */
.fbr-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem !important; }
.fbr-chips li { margin: 0; }
.fbr-chips a.fbr-tap, .fbr-chips span { padding: 0 .9rem; border: 1px solid var(--fbr-line); border-radius: 999px; background: #fff; text-decoration: none; }
.fbr-chips span { display: inline-flex; align-items: center; min-height: 36px; color: var(--fbr-text); }
.fbr-list li { padding: .25rem 0; border-bottom: 1px solid var(--fbr-line); }
.fbr-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0 1.25rem; }
.fbr-places li { display: flex; align-items: center; justify-content: space-between; gap: .5rem; border-bottom: 1px solid var(--fbr-line); }
.fbr-places li > span { font-size: .8125rem; color: var(--fbr-muted); text-align: end; }
.fbr-places .fbr-yes { color: var(--fbr-ok); }
.fbr .fbr-listings { margin: 1.5rem 0 2rem; }
.fbr-chips li { display: flex; }

/* Method and report */
details.fbr-sec { border: 1px solid var(--fbr-line); border-radius: var(--fbr-r); padding: 0 1rem; }
details.fbr-sec > summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; color: var(--fbr-ink); }
details.fbr-sec[open] { padding-bottom: 1rem; }
.fbr-method ul, .fbr-method ol { margin: .5rem 0 0 1.25rem; padding-inline-start: 0; }
.fbr-method li { margin: 0 0 .4rem; max-width: 72ch; }

/* Home: the four kinds */
.fbr-kinds dl { display: grid; grid-template-columns: minmax(10rem, 14rem) 1fr; gap: .6rem 1.25rem; margin: 0; }
.fbr-kinds dt { font-weight: 700; color: var(--fbr-ink); }
.fbr-kinds dd { margin: 0; max-width: 62ch; }

/* Compare */
.fbr-compare th[scope="row"] { font-weight: 600; color: var(--fbr-ink); min-width: 10rem; }
.fbr-compare thead th { color: var(--fbr-ink); font-size: .9375rem; min-width: 10rem; }
.fbr-compare td.is-none, .fbr-compare td.is-thin { color: var(--fbr-muted); }
.fbr-compare td.is-thin { color: var(--fbr-warn); }

@media (max-width: 640px) {
	.fbr-ledger { grid-template-columns: 1fr; }
	.fbr-ledger__row:nth-child(2) { border-top: 1px solid var(--fbr-line); }
	.fbr-ledger__row:nth-child(even) { border-inline-start: 0; }
	.fbr-filter { display: block; }
	.fbr-filter select { width: 100%; min-width: 0; }
	.fbr-filter > * + * { margin-top: .5rem; }
	.fbr-kinds dl { grid-template-columns: 1fr; gap: .2rem; }
	.fbr-kinds dd { margin-bottom: .6rem; }
	.fbr-official { padding-inline: .75rem; }
	.fbr-group { padding: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .fbr * { scroll-behavior: auto !important; } }
/* Links inside text and lists: at least 24px tall to tap. */
.fbr-trail a, .fbr-ledger a, .fbr-dlc a, .fbr-list a, .fbr-basis a, .fbr-imported a { display: inline-block; padding-block: 4px; }
.fbr-list a { padding-block: 6px; }
.fbr .fbr-group__head h3, .fbr .fbr-group__head p { margin: 0; }
